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