001package org.hl7.fhir.convertors.conv10_50.resources10_50; 002 003import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_50; 004import org.hl7.fhir.convertors.context.ConversionContext10_50; 005import org.hl7.fhir.convertors.conv10_50.datatypes10_50.Extension10_50; 006import org.hl7.fhir.convertors.conv10_50.datatypes10_50.Meta10_50; 007import org.hl7.fhir.convertors.conv10_50.datatypes10_50.Narrative10_50; 008import org.hl7.fhir.dstu2.model.Extension; 009import org.hl7.fhir.exceptions.FHIRException; 010 011public class Resource10_50 { 012 013 public final BaseAdvisor_10_50 advisor; 014 015 public Resource10_50(BaseAdvisor_10_50 advisor) { 016 this.advisor = advisor; 017 } 018 019 public void copyResource(org.hl7.fhir.dstu2.model.Resource src, org.hl7.fhir.r5.model.Resource tgt) throws FHIRException { 020 if (src.hasId()) tgt.setId(src.getId()); 021 if (src.hasMeta()) tgt.setMeta(Meta10_50.convertMeta(src.getMeta())); 022 if (src.hasImplicitRules()) tgt.setImplicitRules(src.getImplicitRules()); 023 if (src.hasLanguage()) tgt.setLanguage(src.getLanguage()); 024 } 025 026 public void copyResource(org.hl7.fhir.r5.model.Resource src, org.hl7.fhir.dstu2.model.Resource tgt) throws FHIRException { 027 tgt.setId(src.getId()); 028 if (src.hasMeta()) tgt.setMeta(Meta10_50.convertMeta(src.getMeta())); 029 if (src.hasImplicitRules()) tgt.setImplicitRules(src.getImplicitRules()); 030 if (src.hasLanguage()) tgt.setLanguage(src.getLanguage()); 031 } 032 033 public org.hl7.fhir.r5.model.Resource convertResource(org.hl7.fhir.dstu2.model.Resource src) throws FHIRException { 034 if (src == null || src.isEmpty()) return null; 035 if (src instanceof org.hl7.fhir.dstu2.model.Parameters) 036 return Parameters10_50.convertParameters((org.hl7.fhir.dstu2.model.Parameters) src); 037 if (src instanceof org.hl7.fhir.dstu2.model.Appointment) 038 return Appointment10_50.convertAppointment((org.hl7.fhir.dstu2.model.Appointment) src); 039 if (src instanceof org.hl7.fhir.dstu2.model.AppointmentResponse) 040 return AppointmentResponse10_50.convertAppointmentResponse((org.hl7.fhir.dstu2.model.AppointmentResponse) src); 041 if (src instanceof org.hl7.fhir.dstu2.model.AuditEvent) 042 return AuditEvent10_50.convertAuditEvent((org.hl7.fhir.dstu2.model.AuditEvent) src); 043 if (src instanceof org.hl7.fhir.dstu2.model.Basic) 044 return Basic10_50.convertBasic((org.hl7.fhir.dstu2.model.Basic) src); 045 if (src instanceof org.hl7.fhir.dstu2.model.Binary) 046 return Binary10_50.convertBinary((org.hl7.fhir.dstu2.model.Binary) src); 047 if (src instanceof org.hl7.fhir.dstu2.model.Bundle) 048 return Bundle10_50.convertBundle((org.hl7.fhir.dstu2.model.Bundle) src); 049 if (src instanceof org.hl7.fhir.dstu2.model.CarePlan) 050 return CarePlan10_50.convertCarePlan((org.hl7.fhir.dstu2.model.CarePlan) src); 051 if (src instanceof org.hl7.fhir.dstu2.model.Communication) 052 return Communication10_50.convertCommunication((org.hl7.fhir.dstu2.model.Communication) src); 053 if (src instanceof org.hl7.fhir.dstu2.model.CommunicationRequest) 054 return CommunicationRequest10_50.convertCommunicationRequest((org.hl7.fhir.dstu2.model.CommunicationRequest) src); 055 if (src instanceof org.hl7.fhir.dstu2.model.Composition) 056 return Composition10_50.convertComposition((org.hl7.fhir.dstu2.model.Composition) src); 057 if (src instanceof org.hl7.fhir.dstu2.model.ConceptMap) 058 return ConceptMap10_50.convertConceptMap((org.hl7.fhir.dstu2.model.ConceptMap) src); 059 if (src instanceof org.hl7.fhir.dstu2.model.Condition) 060 return Condition10_50.convertCondition((org.hl7.fhir.dstu2.model.Condition) src); 061 if (src instanceof org.hl7.fhir.dstu2.model.Conformance) 062 return Conformance10_50.convertConformance((org.hl7.fhir.dstu2.model.Conformance) src); 063 if (src instanceof org.hl7.fhir.dstu2.model.DataElement) 064 return DataElement10_50.convertDataElement((org.hl7.fhir.dstu2.model.DataElement) src); 065 if (src instanceof org.hl7.fhir.dstu2.model.DetectedIssue) 066 return DetectedIssue10_50.convertDetectedIssue((org.hl7.fhir.dstu2.model.DetectedIssue) src); 067 if (src instanceof org.hl7.fhir.dstu2.model.DeviceMetric) 068 return DeviceMetric10_50.convertDeviceMetric((org.hl7.fhir.dstu2.model.DeviceMetric) src); 069 if (src instanceof org.hl7.fhir.dstu2.model.DeviceUseStatement) 070 return DeviceUseStatement10_50.convertDeviceUseStatement((org.hl7.fhir.dstu2.model.DeviceUseStatement) src); 071 if (src instanceof org.hl7.fhir.dstu2.model.DiagnosticReport) 072 return DiagnosticReport10_50.convertDiagnosticReport((org.hl7.fhir.dstu2.model.DiagnosticReport) src); 073 if (src instanceof org.hl7.fhir.dstu2.model.DocumentReference) 074 return DocumentReference10_50.convertDocumentReference((org.hl7.fhir.dstu2.model.DocumentReference) src); 075 if (src instanceof org.hl7.fhir.dstu2.model.Encounter) 076 return Encounter10_50.convertEncounter((org.hl7.fhir.dstu2.model.Encounter) src); 077 if (src instanceof org.hl7.fhir.dstu2.model.EnrollmentRequest) 078 return EnrollmentRequest10_50.convertEnrollmentRequest((org.hl7.fhir.dstu2.model.EnrollmentRequest) src); 079 if (src instanceof org.hl7.fhir.dstu2.model.EnrollmentResponse) 080 return EnrollmentResponse10_50.convertEnrollmentResponse((org.hl7.fhir.dstu2.model.EnrollmentResponse) src); 081 if (src instanceof org.hl7.fhir.dstu2.model.EpisodeOfCare) 082 return EpisodeOfCare10_50.convertEpisodeOfCare((org.hl7.fhir.dstu2.model.EpisodeOfCare) src); 083 if (src instanceof org.hl7.fhir.dstu2.model.FamilyMemberHistory) 084 return FamilyMemberHistory10_50.convertFamilyMemberHistory((org.hl7.fhir.dstu2.model.FamilyMemberHistory) src); 085 if (src instanceof org.hl7.fhir.dstu2.model.Flag) 086 return Flag10_50.convertFlag((org.hl7.fhir.dstu2.model.Flag) src); 087 if (src instanceof org.hl7.fhir.dstu2.model.Group) 088 return Group10_50.convertGroup((org.hl7.fhir.dstu2.model.Group) src); 089 if (src instanceof org.hl7.fhir.dstu2.model.HealthcareService) 090 return HealthcareService10_50.convertHealthcareService((org.hl7.fhir.dstu2.model.HealthcareService) src); 091 if (src instanceof org.hl7.fhir.dstu2.model.ImplementationGuide) 092 return ImplementationGuide10_50.convertImplementationGuide((org.hl7.fhir.dstu2.model.ImplementationGuide) src); 093 if (src instanceof org.hl7.fhir.dstu2.model.List_) 094 return List10_50.convertList((org.hl7.fhir.dstu2.model.List_) src); 095 if (src instanceof org.hl7.fhir.dstu2.model.Location) 096 return Location10_50.convertLocation((org.hl7.fhir.dstu2.model.Location) src); 097 if (src instanceof org.hl7.fhir.dstu2.model.MedicationDispense) 098 return MedicationDispense10_50.convertMedicationDispense((org.hl7.fhir.dstu2.model.MedicationDispense) src); 099 if (src instanceof org.hl7.fhir.dstu2.model.MedicationStatement) 100 return MedicationStatement10_50.convertMedicationStatement((org.hl7.fhir.dstu2.model.MedicationStatement) src); 101 if (src instanceof org.hl7.fhir.dstu2.model.MessageHeader) 102 return MessageHeader10_50.convertMessageHeader((org.hl7.fhir.dstu2.model.MessageHeader) src); 103 if (src instanceof org.hl7.fhir.dstu2.model.NamingSystem) 104 return NamingSystem10_50.convertNamingSystem((org.hl7.fhir.dstu2.model.NamingSystem) src); 105 if (src instanceof org.hl7.fhir.dstu2.model.Observation) 106 return Observation10_50.convertObservation((org.hl7.fhir.dstu2.model.Observation) src); 107 if (src instanceof org.hl7.fhir.dstu2.model.OperationDefinition) 108 return OperationDefinition10_50.convertOperationDefinition((org.hl7.fhir.dstu2.model.OperationDefinition) src); 109 if (src instanceof org.hl7.fhir.dstu2.model.OperationOutcome) 110 return OperationOutcome10_50.convertOperationOutcome((org.hl7.fhir.dstu2.model.OperationOutcome) src); 111 if (src instanceof org.hl7.fhir.dstu2.model.Organization) 112 return Organization10_50.convertOrganization((org.hl7.fhir.dstu2.model.Organization) src); 113 if (src instanceof org.hl7.fhir.dstu2.model.Patient) 114 return Patient10_50.convertPatient((org.hl7.fhir.dstu2.model.Patient) src); 115 if (src instanceof org.hl7.fhir.dstu2.model.Person) 116 return Person10_50.convertPerson((org.hl7.fhir.dstu2.model.Person) src); 117 if (src instanceof org.hl7.fhir.dstu2.model.Practitioner) 118 return Practitioner10_50.convertPractitioner((org.hl7.fhir.dstu2.model.Practitioner) src); 119 if (src instanceof org.hl7.fhir.dstu2.model.Provenance) 120 return Provenance10_50.convertProvenance((org.hl7.fhir.dstu2.model.Provenance) src); 121 if (src instanceof org.hl7.fhir.dstu2.model.Questionnaire) 122 return Questionnaire10_50.convertQuestionnaire((org.hl7.fhir.dstu2.model.Questionnaire) src); 123 if (src instanceof org.hl7.fhir.dstu2.model.QuestionnaireResponse) 124 return QuestionnaireResponse10_50.convertQuestionnaireResponse((org.hl7.fhir.dstu2.model.QuestionnaireResponse) src); 125 if (src instanceof org.hl7.fhir.dstu2.model.RiskAssessment) 126 return RiskAssessment10_50.convertRiskAssessment((org.hl7.fhir.dstu2.model.RiskAssessment) src); 127 if (src instanceof org.hl7.fhir.dstu2.model.Schedule) 128 return Schedule10_50.convertSchedule((org.hl7.fhir.dstu2.model.Schedule) src); 129 if (src instanceof org.hl7.fhir.dstu2.model.SearchParameter) 130 return SearchParameter10_50.convertSearchParameter((org.hl7.fhir.dstu2.model.SearchParameter) src); 131 if (src instanceof org.hl7.fhir.dstu2.model.Slot) 132 return Slot10_50.convertSlot((org.hl7.fhir.dstu2.model.Slot) src); 133 if (src instanceof org.hl7.fhir.dstu2.model.StructureDefinition) 134 return StructureDefinition10_50.convertStructureDefinition((org.hl7.fhir.dstu2.model.StructureDefinition) src); 135 if (src instanceof org.hl7.fhir.dstu2.model.Substance) 136 return Substance10_50.convertSubstance((org.hl7.fhir.dstu2.model.Substance) src); 137 if (src instanceof org.hl7.fhir.dstu2.model.SupplyDelivery) 138 return SupplyDelivery10_50.convertSupplyDelivery((org.hl7.fhir.dstu2.model.SupplyDelivery) src); 139 if (src instanceof org.hl7.fhir.dstu2.model.SupplyRequest) 140 return SupplyRequest10_50.convertSupplyRequest((org.hl7.fhir.dstu2.model.SupplyRequest) src); 141 if (src instanceof org.hl7.fhir.dstu2.model.TestScript) 142 return TestScript10_50.convertTestScript((org.hl7.fhir.dstu2.model.TestScript) src); 143 if (src instanceof org.hl7.fhir.dstu2.model.ValueSet) 144 return ValueSet10_50.convertValueSet((org.hl7.fhir.dstu2.model.ValueSet) src, advisor); 145 if (advisor.failFastOnNullOrUnknownEntry()) { 146 throw new FHIRException("Unknown resource " + src.fhirType()); 147 } else { 148 return null; 149 } 150 } 151 152 public org.hl7.fhir.dstu2.model.Resource convertResource(org.hl7.fhir.r5.model.Resource src) throws FHIRException { 153 if (src == null || src.isEmpty()) return null; 154 if (src instanceof org.hl7.fhir.r5.model.Parameters) 155 return Parameters10_50.convertParameters((org.hl7.fhir.r5.model.Parameters) src); 156 if (src instanceof org.hl7.fhir.r5.model.Appointment) 157 return Appointment10_50.convertAppointment((org.hl7.fhir.r5.model.Appointment) src); 158 if (src instanceof org.hl7.fhir.r5.model.AppointmentResponse) 159 return AppointmentResponse10_50.convertAppointmentResponse((org.hl7.fhir.r5.model.AppointmentResponse) src); 160 if (src instanceof org.hl7.fhir.r5.model.AuditEvent) 161 return AuditEvent10_50.convertAuditEvent((org.hl7.fhir.r5.model.AuditEvent) src); 162 if (src instanceof org.hl7.fhir.r5.model.Basic) 163 return Basic10_50.convertBasic((org.hl7.fhir.r5.model.Basic) src); 164 if (src instanceof org.hl7.fhir.r5.model.Binary) 165 return Binary10_50.convertBinary((org.hl7.fhir.r5.model.Binary) src); 166 if (src instanceof org.hl7.fhir.r5.model.Bundle) 167 return Bundle10_50.convertBundle((org.hl7.fhir.r5.model.Bundle) src, advisor); 168 if (src instanceof org.hl7.fhir.r5.model.CarePlan) 169 return CarePlan10_50.convertCarePlan((org.hl7.fhir.r5.model.CarePlan) src); 170 if (src instanceof org.hl7.fhir.r5.model.Communication) 171 return Communication10_50.convertCommunication((org.hl7.fhir.r5.model.Communication) src); 172 if (src instanceof org.hl7.fhir.r5.model.CommunicationRequest) 173 return CommunicationRequest10_50.convertCommunicationRequest((org.hl7.fhir.r5.model.CommunicationRequest) src); 174 if (src instanceof org.hl7.fhir.r5.model.Composition) 175 return Composition10_50.convertComposition((org.hl7.fhir.r5.model.Composition) src); 176 if (src instanceof org.hl7.fhir.r5.model.ConceptMap) 177 return ConceptMap10_50.convertConceptMap((org.hl7.fhir.r5.model.ConceptMap) src); 178 if (src instanceof org.hl7.fhir.r5.model.Condition) 179 return Condition10_50.convertCondition((org.hl7.fhir.r5.model.Condition) src); 180 if (src instanceof org.hl7.fhir.r5.model.CapabilityStatement) 181 return Conformance10_50.convertConformance((org.hl7.fhir.r5.model.CapabilityStatement) src); 182 if (src instanceof org.hl7.fhir.r5.model.DetectedIssue) 183 return DetectedIssue10_50.convertDetectedIssue((org.hl7.fhir.r5.model.DetectedIssue) src); 184 if (src instanceof org.hl7.fhir.r5.model.DeviceMetric) 185 return DeviceMetric10_50.convertDeviceMetric((org.hl7.fhir.r5.model.DeviceMetric) src); 186 if (src instanceof org.hl7.fhir.r5.model.DeviceUsage) 187 return DeviceUseStatement10_50.convertDeviceUseStatement((org.hl7.fhir.r5.model.DeviceUsage) src); 188 if (src instanceof org.hl7.fhir.r5.model.DiagnosticReport) 189 return DiagnosticReport10_50.convertDiagnosticReport((org.hl7.fhir.r5.model.DiagnosticReport) src); 190 if (src instanceof org.hl7.fhir.r5.model.DocumentReference) 191 return DocumentReference10_50.convertDocumentReference((org.hl7.fhir.r5.model.DocumentReference) src); 192 if (src instanceof org.hl7.fhir.r5.model.Encounter) 193 return Encounter10_50.convertEncounter((org.hl7.fhir.r5.model.Encounter) src); 194 if (src instanceof org.hl7.fhir.r5.model.EnrollmentRequest) 195 return EnrollmentRequest10_50.convertEnrollmentRequest((org.hl7.fhir.r5.model.EnrollmentRequest) src); 196 if (src instanceof org.hl7.fhir.r5.model.EnrollmentResponse) 197 return EnrollmentResponse10_50.convertEnrollmentResponse((org.hl7.fhir.r5.model.EnrollmentResponse) src); 198 if (src instanceof org.hl7.fhir.r5.model.EpisodeOfCare) 199 return EpisodeOfCare10_50.convertEpisodeOfCare((org.hl7.fhir.r5.model.EpisodeOfCare) src); 200 if (src instanceof org.hl7.fhir.r5.model.FamilyMemberHistory) 201 return FamilyMemberHistory10_50.convertFamilyMemberHistory((org.hl7.fhir.r5.model.FamilyMemberHistory) src); 202 if (src instanceof org.hl7.fhir.r5.model.Flag) return Flag10_50.convertFlag((org.hl7.fhir.r5.model.Flag) src); 203 if (src instanceof org.hl7.fhir.r5.model.Group) 204 return Group10_50.convertGroup((org.hl7.fhir.r5.model.Group) src); 205 if (src instanceof org.hl7.fhir.r5.model.HealthcareService) 206 return HealthcareService10_50.convertHealthcareService((org.hl7.fhir.r5.model.HealthcareService) src); 207 if (src instanceof org.hl7.fhir.r5.model.ImplementationGuide) 208 return ImplementationGuide10_50.convertImplementationGuide((org.hl7.fhir.r5.model.ImplementationGuide) src); 209 if (src instanceof org.hl7.fhir.r5.model.ListResource) 210 return List10_50.convertList((org.hl7.fhir.r5.model.ListResource) src); 211 if (src instanceof org.hl7.fhir.r5.model.Location) 212 return Location10_50.convertLocation((org.hl7.fhir.r5.model.Location) src); 213 if (src instanceof org.hl7.fhir.r5.model.MedicationDispense) 214 return MedicationDispense10_50.convertMedicationDispense((org.hl7.fhir.r5.model.MedicationDispense) src); 215 if (src instanceof org.hl7.fhir.r5.model.MedicationUsage) 216 return MedicationStatement10_50.convertMedicationStatement((org.hl7.fhir.r5.model.MedicationUsage) src); 217 if (src instanceof org.hl7.fhir.r5.model.MessageHeader) 218 return MessageHeader10_50.convertMessageHeader((org.hl7.fhir.r5.model.MessageHeader) src); 219 if (src instanceof org.hl7.fhir.r5.model.NamingSystem) 220 return NamingSystem10_50.convertNamingSystem((org.hl7.fhir.r5.model.NamingSystem) src); 221 if (src instanceof org.hl7.fhir.r5.model.Observation) 222 return Observation10_50.convertObservation((org.hl7.fhir.r5.model.Observation) src); 223 if (src instanceof org.hl7.fhir.r5.model.OperationDefinition) 224 return OperationDefinition10_50.convertOperationDefinition((org.hl7.fhir.r5.model.OperationDefinition) src); 225 if (src instanceof org.hl7.fhir.r5.model.OperationOutcome) 226 return OperationOutcome10_50.convertOperationOutcome((org.hl7.fhir.r5.model.OperationOutcome) src); 227 if (src instanceof org.hl7.fhir.r5.model.Organization) 228 return Organization10_50.convertOrganization((org.hl7.fhir.r5.model.Organization) src); 229 if (src instanceof org.hl7.fhir.r5.model.Patient) 230 return Patient10_50.convertPatient((org.hl7.fhir.r5.model.Patient) src); 231 if (src instanceof org.hl7.fhir.r5.model.Person) 232 return Person10_50.convertPerson((org.hl7.fhir.r5.model.Person) src); 233 if (src instanceof org.hl7.fhir.r5.model.Practitioner) 234 return Practitioner10_50.convertPractitioner((org.hl7.fhir.r5.model.Practitioner) src); 235 if (src instanceof org.hl7.fhir.r5.model.Provenance) 236 return Provenance10_50.convertProvenance((org.hl7.fhir.r5.model.Provenance) src); 237 if (src instanceof org.hl7.fhir.r5.model.Questionnaire) 238 return Questionnaire10_50.convertQuestionnaire((org.hl7.fhir.r5.model.Questionnaire) src); 239 if (src instanceof org.hl7.fhir.r5.model.QuestionnaireResponse) 240 return QuestionnaireResponse10_50.convertQuestionnaireResponse((org.hl7.fhir.r5.model.QuestionnaireResponse) src); 241 if (src instanceof org.hl7.fhir.r5.model.RiskAssessment) 242 return RiskAssessment10_50.convertRiskAssessment((org.hl7.fhir.r5.model.RiskAssessment) src); 243 if (src instanceof org.hl7.fhir.r5.model.Schedule) 244 return Schedule10_50.convertSchedule((org.hl7.fhir.r5.model.Schedule) src); 245 if (src instanceof org.hl7.fhir.r5.model.SearchParameter) 246 return SearchParameter10_50.convertSearchParameter((org.hl7.fhir.r5.model.SearchParameter) src); 247 if (src instanceof org.hl7.fhir.r5.model.Slot) return Slot10_50.convertSlot((org.hl7.fhir.r5.model.Slot) src); 248 if (src instanceof org.hl7.fhir.r5.model.StructureDefinition) 249 return StructureDefinition10_50.convertStructureDefinition((org.hl7.fhir.r5.model.StructureDefinition) src); 250 if (src instanceof org.hl7.fhir.r5.model.Substance) 251 return Substance10_50.convertSubstance((org.hl7.fhir.r5.model.Substance) src); 252 if (src instanceof org.hl7.fhir.r5.model.SupplyDelivery) 253 return SupplyDelivery10_50.convertSupplyDelivery((org.hl7.fhir.r5.model.SupplyDelivery) src); 254 if (src instanceof org.hl7.fhir.r5.model.SupplyRequest) 255 return SupplyRequest10_50.convertSupplyRequest((org.hl7.fhir.r5.model.SupplyRequest) src); 256 if (src instanceof org.hl7.fhir.r5.model.TestScript) 257 return TestScript10_50.convertTestScript((org.hl7.fhir.r5.model.TestScript) src); 258 if (src instanceof org.hl7.fhir.r5.model.ValueSet) 259 return ValueSet10_50.convertValueSet((org.hl7.fhir.r5.model.ValueSet) src, advisor); 260 if (advisor.failFastOnNullOrUnknownEntry()) { 261 throw new FHIRException("Unknown resource " + src.fhirType()); 262 } else { 263 return null; 264 } 265 } 266 267 public void copyDomainResource(org.hl7.fhir.dstu2.model.DomainResource src, org.hl7.fhir.r5.model.DomainResource tgt) throws FHIRException { 268 copyResource(src, tgt); 269 if (src.hasText()) tgt.setText(Narrative10_50.convertNarrative(src.getText())); 270 src.getContained().stream() 271 .map(this::convertResource) 272 .forEach(tgt::addContained); 273 src.getExtension().forEach(extension -> { 274 if (advisor.useAdvisorForExtension(ConversionContext10_50.INSTANCE.path(), extension)) { 275 org.hl7.fhir.r5.model.Extension convertExtension = new org.hl7.fhir.r5.model.Extension(); 276 advisor.handleExtension(ConversionContext10_50.INSTANCE.path(), extension, convertExtension); 277 tgt.addExtension(convertExtension); 278 } else if (!advisor.ignoreExtension(ConversionContext10_50.INSTANCE.path(), extension)) { 279 tgt.addExtension(Extension10_50.convertExtension(extension)); 280 } 281 }); 282 src.getModifierExtension().stream() 283 .filter(extension -> !advisor.ignoreExtension(ConversionContext10_50.INSTANCE.path(), extension)) 284 .map(Extension10_50::convertExtension) 285 .forEach(tgt::addModifierExtension); 286 } 287 288 public void copyDomainResource(org.hl7.fhir.r5.model.DomainResource src, org.hl7.fhir.dstu2.model.DomainResource tgt) throws FHIRException { 289 copyResource(src, tgt); 290 if (src.hasText()) tgt.setText(Narrative10_50.convertNarrative(src.getText())); 291 src.getContained().stream() 292 .map(this::convertResource) 293 .forEach(tgt::addContained); 294 src.getExtension().forEach(extension -> { 295 if (advisor.useAdvisorForExtension(ConversionContext10_50.INSTANCE.path(), extension)) { 296 Extension convertExtension = new Extension(); 297 advisor.handleExtension(ConversionContext10_50.INSTANCE.path(), extension, convertExtension); 298 tgt.addExtension(convertExtension); 299 } else if (!advisor.ignoreExtension(ConversionContext10_50.INSTANCE.path(), extension)) { 300 tgt.addExtension(Extension10_50.convertExtension(extension)); 301 } 302 }); 303 src.getModifierExtension().stream() 304 .filter(extension -> !advisor.ignoreExtension(ConversionContext10_50.INSTANCE.path(), extension)) 305 .map(Extension10_50::convertExtension) 306 .forEach(tgt::addModifierExtension); 307 } 308}