
001package org.hl7.fhir.convertors.conv10_40.resources10_40; 002 003import java.util.Arrays; 004 005import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_40; 006import org.hl7.fhir.convertors.context.ConversionContext10_40; 007import org.hl7.fhir.convertors.conv10_40.datatypes10_40.Extension10_40; 008import org.hl7.fhir.convertors.conv10_40.datatypes10_40.Meta10_40; 009import org.hl7.fhir.convertors.conv10_40.datatypes10_40.Narrative10_40; 010import org.hl7.fhir.exceptions.FHIRException; 011import org.hl7.fhir.r4.model.Extension; 012 013public class Resource10_40 { 014 015 public final BaseAdvisor_10_40 advisor; 016 017 public Resource10_40(BaseAdvisor_10_40 advisor) { 018 this.advisor = advisor; 019 } 020 021 public void copyResource(org.hl7.fhir.dstu2.model.Resource src, org.hl7.fhir.r4.model.Resource tgt) throws FHIRException { 022 tgt.setId(src.getId()); 023 tgt.setMeta(Meta10_40.convertMeta(src.getMeta())); 024 tgt.setImplicitRules(src.getImplicitRules()); 025 tgt.setLanguage(src.getLanguage()); 026 } 027 028 public void copyResource(org.hl7.fhir.r4.model.Resource src, org.hl7.fhir.dstu2.model.Resource tgt) throws FHIRException { 029 tgt.setId(src.getId()); 030 if (src.hasMeta()) tgt.setMeta(Meta10_40.convertMeta(src.getMeta())); 031 if (src.hasImplicitRules()) tgt.setImplicitRules(src.getImplicitRules()); 032 if (src.hasLanguage()) tgt.setLanguage(src.getLanguage()); 033 } 034 035 public org.hl7.fhir.r4.model.Resource convertResource(org.hl7.fhir.dstu2.model.Resource src) throws FHIRException { 036 if (src == null || src.isEmpty()) return null; 037 if (src instanceof org.hl7.fhir.dstu2.model.Parameters) 038 return Parameters10_40.convertParameters((org.hl7.fhir.dstu2.model.Parameters) src); 039 if (src instanceof org.hl7.fhir.dstu2.model.Appointment) 040 return Appointment10_40.convertAppointment((org.hl7.fhir.dstu2.model.Appointment) src); 041 if (src instanceof org.hl7.fhir.dstu2.model.AllergyIntolerance) 042 return AllergyIntolerance10_40.convertAllergyIntolerance((org.hl7.fhir.dstu2.model.AllergyIntolerance) src); 043 if (src instanceof org.hl7.fhir.dstu2.model.AppointmentResponse) 044 return AppointmentResponse10_40.convertAppointmentResponse((org.hl7.fhir.dstu2.model.AppointmentResponse) src); 045 if (src instanceof org.hl7.fhir.dstu2.model.AuditEvent) 046 return AuditEvent10_40.convertAuditEvent((org.hl7.fhir.dstu2.model.AuditEvent) src); 047 if (src instanceof org.hl7.fhir.dstu2.model.Basic) 048 return Basic10_40.convertBasic((org.hl7.fhir.dstu2.model.Basic) src); 049 if (src instanceof org.hl7.fhir.dstu2.model.Binary) 050 return Binary10_40.convertBinary((org.hl7.fhir.dstu2.model.Binary) src); 051 if (src instanceof org.hl7.fhir.dstu2.model.Bundle) 052 return Bundle10_40.convertBundle((org.hl7.fhir.dstu2.model.Bundle) src); 053 if (src instanceof org.hl7.fhir.dstu2.model.CarePlan) 054 return CarePlan10_40.convertCarePlan((org.hl7.fhir.dstu2.model.CarePlan) src); 055 if (src instanceof org.hl7.fhir.dstu2.model.Communication) 056 return Communication10_40.convertCommunication((org.hl7.fhir.dstu2.model.Communication) src); 057 if (src instanceof org.hl7.fhir.dstu2.model.CommunicationRequest) 058 return CommunicationRequest10_40.convertCommunicationRequest((org.hl7.fhir.dstu2.model.CommunicationRequest) src); 059 if (src instanceof org.hl7.fhir.dstu2.model.Composition) 060 return Composition10_40.convertComposition((org.hl7.fhir.dstu2.model.Composition) src); 061 if (src instanceof org.hl7.fhir.dstu2.model.ConceptMap) 062 return ConceptMap10_40.convertConceptMap((org.hl7.fhir.dstu2.model.ConceptMap) src); 063 if (src instanceof org.hl7.fhir.dstu2.model.Condition) 064 return Condition10_40.convertCondition((org.hl7.fhir.dstu2.model.Condition) src); 065 if (src instanceof org.hl7.fhir.dstu2.model.Conformance) 066 return Conformance10_40.convertConformance((org.hl7.fhir.dstu2.model.Conformance) src); 067 if (src instanceof org.hl7.fhir.dstu2.model.DataElement) 068 return DataElement10_40.convertDataElement((org.hl7.fhir.dstu2.model.DataElement) src); 069 if (src instanceof org.hl7.fhir.dstu2.model.DetectedIssue) 070 return DetectedIssue10_40.convertDetectedIssue((org.hl7.fhir.dstu2.model.DetectedIssue) src); 071 if (src instanceof org.hl7.fhir.dstu2.model.DeviceMetric) 072 return DeviceMetric10_40.convertDeviceMetric((org.hl7.fhir.dstu2.model.DeviceMetric) src); 073 if (src instanceof org.hl7.fhir.dstu2.model.DeviceUseStatement) 074 return DeviceUseStatement10_40.convertDeviceUseStatement((org.hl7.fhir.dstu2.model.DeviceUseStatement) src); 075 if (src instanceof org.hl7.fhir.dstu2.model.DiagnosticReport) 076 return DiagnosticReport10_40.convertDiagnosticReport((org.hl7.fhir.dstu2.model.DiagnosticReport) src); 077 if (src instanceof org.hl7.fhir.dstu2.model.DocumentReference) 078 return DocumentReference10_40.convertDocumentReference((org.hl7.fhir.dstu2.model.DocumentReference) src); 079 if (src instanceof org.hl7.fhir.dstu2.model.Encounter) 080 return Encounter10_40.convertEncounter((org.hl7.fhir.dstu2.model.Encounter) src); 081 if (src instanceof org.hl7.fhir.dstu2.model.EnrollmentRequest) 082 return EnrollmentRequest10_40.convertEnrollmentRequest((org.hl7.fhir.dstu2.model.EnrollmentRequest) src); 083 if (src instanceof org.hl7.fhir.dstu2.model.EnrollmentResponse) 084 return EnrollmentResponse10_40.convertEnrollmentResponse((org.hl7.fhir.dstu2.model.EnrollmentResponse) src); 085 if (src instanceof org.hl7.fhir.dstu2.model.EpisodeOfCare) 086 return EpisodeOfCare10_40.convertEpisodeOfCare((org.hl7.fhir.dstu2.model.EpisodeOfCare) src); 087 if (src instanceof org.hl7.fhir.dstu2.model.FamilyMemberHistory) 088 return FamilyMemberHistory10_40.convertFamilyMemberHistory((org.hl7.fhir.dstu2.model.FamilyMemberHistory) src); 089 if (src instanceof org.hl7.fhir.dstu2.model.Flag) 090 return Flag10_40.convertFlag((org.hl7.fhir.dstu2.model.Flag) src); 091 if (src instanceof org.hl7.fhir.dstu2.model.Group) 092 return Group10_40.convertGroup((org.hl7.fhir.dstu2.model.Group) src); 093 if (src instanceof org.hl7.fhir.dstu2.model.HealthcareService) 094 return HealthcareService10_40.convertHealthcareService((org.hl7.fhir.dstu2.model.HealthcareService) src); 095 if (src instanceof org.hl7.fhir.dstu2.model.ImplementationGuide) 096 return ImplementationGuide10_40.convertImplementationGuide((org.hl7.fhir.dstu2.model.ImplementationGuide) src); 097 if (src instanceof org.hl7.fhir.dstu2.model.List_) 098 return List10_40.convertList((org.hl7.fhir.dstu2.model.List_) src); 099 if (src instanceof org.hl7.fhir.dstu2.model.Location) 100 return Location10_40.convertLocation((org.hl7.fhir.dstu2.model.Location) src); 101 if (src instanceof org.hl7.fhir.dstu2.model.MedicationDispense) 102 return MedicationDispense10_40.convertMedicationDispense((org.hl7.fhir.dstu2.model.MedicationDispense) src); 103 if (src instanceof org.hl7.fhir.dstu2.model.MedicationStatement) 104 return MedicationStatement10_40.convertMedicationStatement((org.hl7.fhir.dstu2.model.MedicationStatement) src); 105 if (src instanceof org.hl7.fhir.dstu2.model.MedicationOrder) 106 return MedicationRequest10_40.convertMedicationRequest((org.hl7.fhir.dstu2.model.MedicationOrder) src); 107 if (src instanceof org.hl7.fhir.dstu2.model.MessageHeader) 108 return MessageHeader10_40.convertMessageHeader((org.hl7.fhir.dstu2.model.MessageHeader) src); 109 if (src instanceof org.hl7.fhir.dstu2.model.NamingSystem) 110 return NamingSystem10_40.convertNamingSystem((org.hl7.fhir.dstu2.model.NamingSystem) src); 111 if (src instanceof org.hl7.fhir.dstu2.model.Observation) 112 return Observation10_40.convertObservation((org.hl7.fhir.dstu2.model.Observation) src); 113 if (src instanceof org.hl7.fhir.dstu2.model.OperationDefinition) 114 return OperationDefinition10_40.convertOperationDefinition((org.hl7.fhir.dstu2.model.OperationDefinition) src); 115 if (src instanceof org.hl7.fhir.dstu2.model.OperationOutcome) 116 return OperationOutcome10_40.convertOperationOutcome((org.hl7.fhir.dstu2.model.OperationOutcome) src); 117 if (src instanceof org.hl7.fhir.dstu2.model.Organization) 118 return Organization10_40.convertOrganization((org.hl7.fhir.dstu2.model.Organization) src); 119 if (src instanceof org.hl7.fhir.dstu2.model.Patient) 120 return Patient10_40.convertPatient((org.hl7.fhir.dstu2.model.Patient) src); 121 if (src instanceof org.hl7.fhir.dstu2.model.Person) 122 return Person10_40.convertPerson((org.hl7.fhir.dstu2.model.Person) src); 123 if (src instanceof org.hl7.fhir.dstu2.model.Practitioner) 124 return Practitioner10_40.convertPractitioner((org.hl7.fhir.dstu2.model.Practitioner) src); 125 if (src instanceof org.hl7.fhir.dstu2.model.Questionnaire) 126 return Questionnaire10_40.convertQuestionnaire((org.hl7.fhir.dstu2.model.Questionnaire) src); 127 if (src instanceof org.hl7.fhir.dstu2.model.QuestionnaireResponse) 128 return QuestionnaireResponse10_40.convertQuestionnaireResponse((org.hl7.fhir.dstu2.model.QuestionnaireResponse) src); 129 if (src instanceof org.hl7.fhir.dstu2.model.RiskAssessment) 130 return RiskAssessment10_40.convertRiskAssessment((org.hl7.fhir.dstu2.model.RiskAssessment) src); 131 if (src instanceof org.hl7.fhir.dstu2.model.Schedule) 132 return Schedule10_40.convertSchedule((org.hl7.fhir.dstu2.model.Schedule) src); 133 if (src instanceof org.hl7.fhir.dstu2.model.SearchParameter) 134 return SearchParameter10_40.convertSearchParameter((org.hl7.fhir.dstu2.model.SearchParameter) src); 135 if (src instanceof org.hl7.fhir.dstu2.model.Slot) 136 return Slot10_40.convertSlot((org.hl7.fhir.dstu2.model.Slot) src); 137 if (src instanceof org.hl7.fhir.dstu2.model.StructureDefinition) 138 return StructureDefinition10_40.convertStructureDefinition((org.hl7.fhir.dstu2.model.StructureDefinition) src); 139 if (src instanceof org.hl7.fhir.dstu2.model.Subscription) 140 return Subscription10_40.convertSubscription((org.hl7.fhir.dstu2.model.Subscription) src); 141 if (src instanceof org.hl7.fhir.dstu2.model.Substance) 142 return Substance10_40.convertSubstance((org.hl7.fhir.dstu2.model.Substance) src); 143 if (src instanceof org.hl7.fhir.dstu2.model.SupplyDelivery) 144 return SupplyDelivery10_40.convertSupplyDelivery((org.hl7.fhir.dstu2.model.SupplyDelivery) src); 145 if (src instanceof org.hl7.fhir.dstu2.model.SupplyRequest) 146 return SupplyRequest10_40.convertSupplyRequest((org.hl7.fhir.dstu2.model.SupplyRequest) src); 147 if (src instanceof org.hl7.fhir.dstu2.model.TestScript) 148 return TestScript10_40.convertTestScript((org.hl7.fhir.dstu2.model.TestScript) src); 149 if (src instanceof org.hl7.fhir.dstu2.model.ValueSet) 150 return ValueSet10_40.convertValueSet((org.hl7.fhir.dstu2.model.ValueSet) src, advisor); 151 if (src instanceof org.hl7.fhir.dstu2.model.Procedure) 152 return Procedure10_40.convertProcedure((org.hl7.fhir.dstu2.model.Procedure) src); 153 if (src instanceof org.hl7.fhir.dstu2.model.Medication) 154 return Medication10_40.convertMedication((org.hl7.fhir.dstu2.model.Medication) src); 155 if (advisor.failFastOnNullOrUnknownEntry()) { 156 throw new FHIRException("The resource " + src.fhirType()+" cannot be converted from R2 to R4"); 157 } else { 158 return null; 159 } 160 } 161 162 public org.hl7.fhir.dstu2.model.Resource convertResource(org.hl7.fhir.r4.model.Resource src) throws FHIRException { 163 if (src == null || src.isEmpty()) return null; 164 if (src instanceof org.hl7.fhir.r4.model.Parameters) 165 return Parameters10_40.convertParameters((org.hl7.fhir.r4.model.Parameters) src); 166 if (src instanceof org.hl7.fhir.r4.model.Appointment) 167 return Appointment10_40.convertAppointment((org.hl7.fhir.r4.model.Appointment) src); 168 if (src instanceof org.hl7.fhir.r4.model.AppointmentResponse) 169 return AppointmentResponse10_40.convertAppointmentResponse((org.hl7.fhir.r4.model.AppointmentResponse) src); 170 if (src instanceof org.hl7.fhir.r4.model.AuditEvent) 171 return AuditEvent10_40.convertAuditEvent((org.hl7.fhir.r4.model.AuditEvent) src); 172 if (src instanceof org.hl7.fhir.r4.model.Basic) 173 return Basic10_40.convertBasic((org.hl7.fhir.r4.model.Basic) src); 174 if (src instanceof org.hl7.fhir.r4.model.Binary) 175 return Binary10_40.convertBinary((org.hl7.fhir.r4.model.Binary) src); 176 if (src instanceof org.hl7.fhir.r4.model.Bundle) 177 return Bundle10_40.convertBundle((org.hl7.fhir.r4.model.Bundle) src, advisor); 178 if (src instanceof org.hl7.fhir.r4.model.CarePlan) 179 return CarePlan10_40.convertCarePlan((org.hl7.fhir.r4.model.CarePlan) src); 180 if (src instanceof org.hl7.fhir.r4.model.Communication) 181 return Communication10_40.convertCommunication((org.hl7.fhir.r4.model.Communication) src); 182 if (src instanceof org.hl7.fhir.r4.model.CommunicationRequest) 183 return CommunicationRequest10_40.convertCommunicationRequest((org.hl7.fhir.r4.model.CommunicationRequest) src); 184 if (src instanceof org.hl7.fhir.r4.model.Composition) 185 return Composition10_40.convertComposition((org.hl7.fhir.r4.model.Composition) src); 186 if (src instanceof org.hl7.fhir.r4.model.ConceptMap) 187 return ConceptMap10_40.convertConceptMap((org.hl7.fhir.r4.model.ConceptMap) src); 188 if (src instanceof org.hl7.fhir.r4.model.Condition) 189 return Condition10_40.convertCondition((org.hl7.fhir.r4.model.Condition) src); 190 if (src instanceof org.hl7.fhir.r4.model.CapabilityStatement) 191 return Conformance10_40.convertConformance((org.hl7.fhir.r4.model.CapabilityStatement) src, advisor); 192 if (src instanceof org.hl7.fhir.r4.model.DetectedIssue) 193 return DetectedIssue10_40.convertDetectedIssue((org.hl7.fhir.r4.model.DetectedIssue) src); 194 if (src instanceof org.hl7.fhir.r4.model.DeviceMetric) 195 return DeviceMetric10_40.convertDeviceMetric((org.hl7.fhir.r4.model.DeviceMetric) src); 196 if (src instanceof org.hl7.fhir.r4.model.DeviceUseStatement) 197 return DeviceUseStatement10_40.convertDeviceUseStatement((org.hl7.fhir.r4.model.DeviceUseStatement) src); 198 if (src instanceof org.hl7.fhir.r4.model.DiagnosticReport) 199 return DiagnosticReport10_40.convertDiagnosticReport((org.hl7.fhir.r4.model.DiagnosticReport) src); 200 if (src instanceof org.hl7.fhir.r4.model.DocumentReference) 201 return DocumentReference10_40.convertDocumentReference((org.hl7.fhir.r4.model.DocumentReference) src); 202 if (src instanceof org.hl7.fhir.r4.model.Encounter) 203 return Encounter10_40.convertEncounter((org.hl7.fhir.r4.model.Encounter) src); 204 if (src instanceof org.hl7.fhir.r4.model.EnrollmentRequest) 205 return EnrollmentRequest10_40.convertEnrollmentRequest((org.hl7.fhir.r4.model.EnrollmentRequest) src); 206 if (src instanceof org.hl7.fhir.r4.model.EnrollmentResponse) 207 return EnrollmentResponse10_40.convertEnrollmentResponse((org.hl7.fhir.r4.model.EnrollmentResponse) src); 208 if (src instanceof org.hl7.fhir.r4.model.EpisodeOfCare) 209 return EpisodeOfCare10_40.convertEpisodeOfCare((org.hl7.fhir.r4.model.EpisodeOfCare) src); 210 if (src instanceof org.hl7.fhir.r4.model.FamilyMemberHistory) 211 return FamilyMemberHistory10_40.convertFamilyMemberHistory((org.hl7.fhir.r4.model.FamilyMemberHistory) src); 212 if (src instanceof org.hl7.fhir.r4.model.Flag) return Flag10_40.convertFlag((org.hl7.fhir.r4.model.Flag) src); 213 if (src instanceof org.hl7.fhir.r4.model.Group) 214 return Group10_40.convertGroup((org.hl7.fhir.r4.model.Group) src); 215 if (src instanceof org.hl7.fhir.r4.model.HealthcareService) 216 return HealthcareService10_40.convertHealthcareService((org.hl7.fhir.r4.model.HealthcareService) src); 217 if (src instanceof org.hl7.fhir.r4.model.ImplementationGuide) 218 return ImplementationGuide10_40.convertImplementationGuide((org.hl7.fhir.r4.model.ImplementationGuide) src); 219 if (src instanceof org.hl7.fhir.r4.model.ListResource) 220 return List10_40.convertList((org.hl7.fhir.r4.model.ListResource) src); 221 if (src instanceof org.hl7.fhir.r4.model.Location) 222 return Location10_40.convertLocation((org.hl7.fhir.r4.model.Location) src); 223 if (src instanceof org.hl7.fhir.r4.model.MedicationDispense) 224 return MedicationDispense10_40.convertMedicationDispense((org.hl7.fhir.r4.model.MedicationDispense) src); 225 if (src instanceof org.hl7.fhir.r4.model.MedicationStatement) 226 return MedicationStatement10_40.convertMedicationStatement((org.hl7.fhir.r4.model.MedicationStatement) src); 227 if (src instanceof org.hl7.fhir.r4.model.MessageHeader) 228 return MessageHeader10_40.convertMessageHeader((org.hl7.fhir.r4.model.MessageHeader) src); 229 if (src instanceof org.hl7.fhir.r4.model.NamingSystem) 230 return NamingSystem10_40.convertNamingSystem((org.hl7.fhir.r4.model.NamingSystem) src); 231 if (src instanceof org.hl7.fhir.r4.model.Observation) 232 return Observation10_40.convertObservation((org.hl7.fhir.r4.model.Observation) src); 233 if (src instanceof org.hl7.fhir.r4.model.OperationDefinition) 234 return OperationDefinition10_40.convertOperationDefinition((org.hl7.fhir.r4.model.OperationDefinition) src); 235 if (src instanceof org.hl7.fhir.r4.model.OperationOutcome) 236 return OperationOutcome10_40.convertOperationOutcome((org.hl7.fhir.r4.model.OperationOutcome) src); 237 if (src instanceof org.hl7.fhir.r4.model.Organization) 238 return Organization10_40.convertOrganization((org.hl7.fhir.r4.model.Organization) src); 239 if (src instanceof org.hl7.fhir.r4.model.Patient) 240 return Patient10_40.convertPatient((org.hl7.fhir.r4.model.Patient) src); 241 if (src instanceof org.hl7.fhir.r4.model.Person) 242 return Person10_40.convertPerson((org.hl7.fhir.r4.model.Person) src); 243 if (src instanceof org.hl7.fhir.r4.model.Practitioner) 244 return Practitioner10_40.convertPractitioner((org.hl7.fhir.r4.model.Practitioner) src); 245 if (src instanceof org.hl7.fhir.r4.model.Questionnaire) 246 return Questionnaire10_40.convertQuestionnaire((org.hl7.fhir.r4.model.Questionnaire) src, advisor); 247 if (src instanceof org.hl7.fhir.r4.model.QuestionnaireResponse) 248 return QuestionnaireResponse10_40.convertQuestionnaireResponse((org.hl7.fhir.r4.model.QuestionnaireResponse) src); 249 if (src instanceof org.hl7.fhir.r4.model.RiskAssessment) 250 return RiskAssessment10_40.convertRiskAssessment((org.hl7.fhir.r4.model.RiskAssessment) src); 251 if (src instanceof org.hl7.fhir.r4.model.Schedule) 252 return Schedule10_40.convertSchedule((org.hl7.fhir.r4.model.Schedule) src); 253 if (src instanceof org.hl7.fhir.r4.model.SearchParameter) 254 return SearchParameter10_40.convertSearchParameter((org.hl7.fhir.r4.model.SearchParameter) src); 255 if (src instanceof org.hl7.fhir.r4.model.Slot) return Slot10_40.convertSlot((org.hl7.fhir.r4.model.Slot) src); 256 if (src instanceof org.hl7.fhir.r4.model.StructureDefinition) 257 return StructureDefinition10_40.convertStructureDefinition((org.hl7.fhir.r4.model.StructureDefinition) src); 258 if (src instanceof org.hl7.fhir.r4.model.Subscription) 259 return Subscription10_40.convertSubscription((org.hl7.fhir.r4.model.Subscription) src); 260 if (src instanceof org.hl7.fhir.r4.model.Substance) 261 return Substance10_40.convertSubstance((org.hl7.fhir.r4.model.Substance) src); 262 if (src instanceof org.hl7.fhir.r4.model.SupplyDelivery) 263 return SupplyDelivery10_40.convertSupplyDelivery((org.hl7.fhir.r4.model.SupplyDelivery) src); 264 if (src instanceof org.hl7.fhir.r4.model.SupplyRequest) 265 return SupplyRequest10_40.convertSupplyRequest((org.hl7.fhir.r4.model.SupplyRequest) src); 266 if (src instanceof org.hl7.fhir.r4.model.TestScript) 267 return TestScript10_40.convertTestScript((org.hl7.fhir.r4.model.TestScript) src); 268 if (src instanceof org.hl7.fhir.r4.model.ValueSet) 269 return ValueSet10_40.convertValueSet((org.hl7.fhir.r4.model.ValueSet) src, advisor); 270 if (advisor.failFastOnNullOrUnknownEntry()) { 271 throw new FHIRException("The resource " + src.fhirType()+" cannot be converted from R4 to R2"); 272 } else { 273 return null; 274 } 275 } 276 277 public void copyDomainResource( 278 org.hl7.fhir.dstu2.model.DomainResource src, 279 org.hl7.fhir.r4.model.DomainResource tgt, 280 String ... extensionUrlsToIgnore) throws FHIRException { 281 copyResource(src, tgt); 282 if (src.hasText()) tgt.setText(Narrative10_40.convertNarrative(src.getText())); 283 src.getContained().stream() 284 .map(this::convertResource) 285 .forEach(tgt::addContained); 286 src.getExtension().forEach(extension -> { 287 if (advisor.useAdvisorForExtension(ConversionContext10_40.INSTANCE.path(), extension)) { 288 Extension convertExtension = new Extension(); 289 advisor.handleExtension(ConversionContext10_40.INSTANCE.path(), extension, convertExtension); 290 tgt.addExtension(convertExtension); 291 } else if (!advisor.ignoreExtension(ConversionContext10_40.INSTANCE.path(), extension) && !Arrays.asList(extensionUrlsToIgnore).contains(extension.getUrl())) { 292 tgt.addExtension(Extension10_40.convertExtension(extension)); 293 } 294 }); 295 src.getModifierExtension().stream() 296 .filter(extension -> !advisor.ignoreExtension(ConversionContext10_40.INSTANCE.path(), extension)) 297 .map(Extension10_40::convertExtension) 298 .forEach(tgt::addModifierExtension); 299 } 300 301 public void copyDomainResource( 302 org.hl7.fhir.r4.model.DomainResource src, 303 org.hl7.fhir.dstu2.model.DomainResource tgt, 304 String ... extensionUrlsToIgnore) throws FHIRException { 305 copyResource(src, tgt); 306 if (src.hasText()) tgt.setText(Narrative10_40.convertNarrative(src.getText())); 307 src.getContained().stream() 308 .map(this::convertResource) 309 .forEach(tgt::addContained); 310 src.getExtension().forEach(extension -> { 311 if (advisor.useAdvisorForExtension(ConversionContext10_40.INSTANCE.path(), extension)) { 312 org.hl7.fhir.dstu2.model.Extension convertExtension = new org.hl7.fhir.dstu2.model.Extension(); 313 advisor.handleExtension(ConversionContext10_40.INSTANCE.path(), extension, convertExtension); 314 tgt.addExtension(convertExtension); 315 } else if (!advisor.ignoreExtension(ConversionContext10_40.INSTANCE.path(), extension)&& !Arrays.asList(extensionUrlsToIgnore).contains(extension.getUrl())) { 316 tgt.addExtension(Extension10_40.convertExtension(extension)); 317 } 318 }); 319 src.getModifierExtension().stream() 320 .filter(extension -> !advisor.ignoreExtension(ConversionContext10_40.INSTANCE.path(), extension)) 321 .map(Extension10_40::convertExtension) 322 .forEach(tgt::addModifierExtension); 323 } 324}