001package org.hl7.fhir.convertors.conv10_30.resources10_30;
002
003import java.util.Arrays;
004
005import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_30;
006import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Extension10_30;
007import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Meta10_30;
008import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Narrative10_30;
009import org.hl7.fhir.exceptions.FHIRException;
010
011public class Resource10_30 {
012
013  public final BaseAdvisor_10_30 advisor;
014
015  public Resource10_30(BaseAdvisor_10_30 advisor) {
016    this.advisor = advisor;
017  }
018
019  public void copyDomainResource(
020    org.hl7.fhir.dstu2.model.DomainResource src,
021    org.hl7.fhir.dstu3.model.DomainResource tgt,
022    String ... extensionUrlsToIgnore) throws FHIRException {
023    copyResource(src, tgt);
024    tgt.setText(Narrative10_30.convertNarrative(src.getText()));
025    for (org.hl7.fhir.dstu2.model.Resource containedResource : src.getContained()) tgt.addContained(convertResource(containedResource));
026    for (org.hl7.fhir.dstu2.model.Extension extension : src.getExtension())
027      if (!Arrays.asList(extensionUrlsToIgnore).contains(extension.getUrl()))
028        tgt.addExtension(Extension10_30.convertExtension(extension));
029
030    for (org.hl7.fhir.dstu2.model.Extension modifierExtension : src.getModifierExtension())
031      tgt.addModifierExtension(Extension10_30.convertExtension(modifierExtension));
032  }
033
034  public void copyDomainResource(
035    org.hl7.fhir.dstu3.model.DomainResource src,
036    org.hl7.fhir.dstu2.model.DomainResource tgt,
037    String ... extensionUrlsToIgnore
038    ) throws FHIRException {
039    copyResource(src, tgt);
040    tgt.setText(Narrative10_30.convertNarrative(src.getText()));
041    for (org.hl7.fhir.dstu3.model.Resource containedResource : src.getContained()) tgt.addContained(convertResource(containedResource));
042    for (org.hl7.fhir.dstu3.model.Extension extension : src.getExtension())
043      if (!Arrays.asList(extensionUrlsToIgnore).contains(extension.getUrl()))
044      tgt.addExtension(Extension10_30.convertExtension(extension));
045    for (org.hl7.fhir.dstu3.model.Extension modifierExtension : src.getModifierExtension())
046      tgt.addModifierExtension(Extension10_30.convertExtension(modifierExtension));
047  }
048
049  public void copyResource(org.hl7.fhir.dstu2.model.Resource src, org.hl7.fhir.dstu3.model.Resource tgt) throws FHIRException {
050    tgt.setId(src.getId());
051    tgt.setMeta(Meta10_30.convertMeta(src.getMeta()));
052    tgt.setImplicitRules(src.getImplicitRules());
053    tgt.setLanguage(src.getLanguage());
054  }
055
056  public void copyResource(org.hl7.fhir.dstu3.model.Resource src, org.hl7.fhir.dstu2.model.Resource tgt) throws FHIRException {
057    tgt.setId(src.getId());
058    if (src.hasMeta()) tgt.setMeta(Meta10_30.convertMeta(src.getMeta()));
059    if (src.hasImplicitRules()) tgt.setImplicitRules(src.getImplicitRules());
060    if (src.hasLanguage()) tgt.setLanguage(src.getLanguage());
061  }
062
063  public org.hl7.fhir.dstu3.model.Resource convertResource(org.hl7.fhir.dstu2.model.Resource src) throws FHIRException {
064    if (src == null || src.isEmpty()) return null;
065    if (src instanceof org.hl7.fhir.dstu2.model.Parameters)
066      return Parameters10_30.convertParameters((org.hl7.fhir.dstu2.model.Parameters) src);
067    if (src instanceof org.hl7.fhir.dstu2.model.Account)
068      return Account10_30.convertAccount((org.hl7.fhir.dstu2.model.Account) src);
069    if (src instanceof org.hl7.fhir.dstu2.model.Appointment)
070      return Appointment10_30.convertAppointment((org.hl7.fhir.dstu2.model.Appointment) src);
071    if (src instanceof org.hl7.fhir.dstu2.model.AppointmentResponse)
072      return AppointmentResponse10_30.convertAppointmentResponse((org.hl7.fhir.dstu2.model.AppointmentResponse) src);
073    if (src instanceof org.hl7.fhir.dstu2.model.AllergyIntolerance)
074      return AllergyIntolerance10_30.convertAllergyIntolerance((org.hl7.fhir.dstu2.model.AllergyIntolerance) src);
075    if (src instanceof org.hl7.fhir.dstu2.model.AuditEvent)
076      return AuditEvent10_30.convertAuditEvent((org.hl7.fhir.dstu2.model.AuditEvent) src);
077    if (src instanceof org.hl7.fhir.dstu2.model.Basic)
078      return Basic10_30.convertBasic((org.hl7.fhir.dstu2.model.Basic) src);
079    if (src instanceof org.hl7.fhir.dstu2.model.Binary)
080      return Binary10_30.convertBinary((org.hl7.fhir.dstu2.model.Binary) src);
081    if (src instanceof org.hl7.fhir.dstu2.model.Bundle)
082      return Bundle10_30.convertBundle((org.hl7.fhir.dstu2.model.Bundle) src);
083    if (src instanceof org.hl7.fhir.dstu2.model.CarePlan)
084      return CarePlan10_30.convertCarePlan((org.hl7.fhir.dstu2.model.CarePlan) src);
085    if (src instanceof org.hl7.fhir.dstu2.model.ClinicalImpression)
086      return ClinicalImpression10_30.convertClinicalImpression((org.hl7.fhir.dstu2.model.ClinicalImpression) src);
087    if (src instanceof org.hl7.fhir.dstu2.model.Communication)
088      return Communication10_30.convertCommunication((org.hl7.fhir.dstu2.model.Communication) src);
089    if (src instanceof org.hl7.fhir.dstu2.model.CommunicationRequest)
090      return CommunicationRequest10_30.convertCommunicationRequest((org.hl7.fhir.dstu2.model.CommunicationRequest) src);
091    if (src instanceof org.hl7.fhir.dstu2.model.Composition)
092      return Composition10_30.convertComposition((org.hl7.fhir.dstu2.model.Composition) src);
093    if (src instanceof org.hl7.fhir.dstu2.model.ConceptMap)
094      return ConceptMap10_30.convertConceptMap((org.hl7.fhir.dstu2.model.ConceptMap) src);
095    if (src instanceof org.hl7.fhir.dstu2.model.Condition)
096      return Condition10_30.convertCondition((org.hl7.fhir.dstu2.model.Condition) src);
097    if (src instanceof org.hl7.fhir.dstu2.model.Conformance)
098      return Conformance10_30.convertConformance((org.hl7.fhir.dstu2.model.Conformance) src);
099    if (src instanceof org.hl7.fhir.dstu2.model.Contract)
100      return Contract10_30.convertContract((org.hl7.fhir.dstu2.model.Contract) src);
101    if (src instanceof org.hl7.fhir.dstu2.model.DataElement)
102      return DataElement10_30.convertDataElement((org.hl7.fhir.dstu2.model.DataElement) src);
103    if (src instanceof org.hl7.fhir.dstu2.model.DetectedIssue)
104      return DetectedIssue10_30.convertDetectedIssue((org.hl7.fhir.dstu2.model.DetectedIssue) src);
105    if (src instanceof org.hl7.fhir.dstu2.model.Device)
106      return Device10_30.convertDevice((org.hl7.fhir.dstu2.model.Device) src);
107    if (src instanceof org.hl7.fhir.dstu2.model.DeviceComponent)
108      return DeviceComponent10_30.convertDeviceComponent((org.hl7.fhir.dstu2.model.DeviceComponent) src);
109    if (src instanceof org.hl7.fhir.dstu2.model.DeviceMetric)
110      return DeviceMetric10_30.convertDeviceMetric((org.hl7.fhir.dstu2.model.DeviceMetric) src);
111    if (src instanceof org.hl7.fhir.dstu2.model.DeviceUseStatement)
112      return DeviceUseStatement10_30.convertDeviceUseStatement((org.hl7.fhir.dstu2.model.DeviceUseStatement) src);
113    if (src instanceof org.hl7.fhir.dstu2.model.DiagnosticReport)
114      return DiagnosticReport10_30.convertDiagnosticReport((org.hl7.fhir.dstu2.model.DiagnosticReport) src);
115    if (src instanceof org.hl7.fhir.dstu2.model.DocumentManifest)
116      return DocumentManifest10_30.convertDocumentManifest((org.hl7.fhir.dstu2.model.DocumentManifest) src);
117    if (src instanceof org.hl7.fhir.dstu2.model.DocumentReference)
118      return DocumentReference10_30.convertDocumentReference((org.hl7.fhir.dstu2.model.DocumentReference) src);
119    if (src instanceof org.hl7.fhir.dstu2.model.Encounter)
120      return Encounter10_30.convertEncounter((org.hl7.fhir.dstu2.model.Encounter) src);
121    if (src instanceof org.hl7.fhir.dstu2.model.EnrollmentRequest)
122      return EnrollmentRequest10_30.convertEnrollmentRequest((org.hl7.fhir.dstu2.model.EnrollmentRequest) src);
123    if (src instanceof org.hl7.fhir.dstu2.model.EnrollmentResponse)
124      return EnrollmentResponse10_30.convertEnrollmentResponse((org.hl7.fhir.dstu2.model.EnrollmentResponse) src);
125    if (src instanceof org.hl7.fhir.dstu2.model.EpisodeOfCare)
126      return EpisodeOfCare10_30.convertEpisodeOfCare((org.hl7.fhir.dstu2.model.EpisodeOfCare) src);
127    if (src instanceof org.hl7.fhir.dstu2.model.FamilyMemberHistory)
128      return FamilyMemberHistory10_30.convertFamilyMemberHistory((org.hl7.fhir.dstu2.model.FamilyMemberHistory) src);
129    if (src instanceof org.hl7.fhir.dstu2.model.Flag)
130      return Flag10_30.convertFlag((org.hl7.fhir.dstu2.model.Flag) src);
131    if (src instanceof org.hl7.fhir.dstu2.model.Group)
132      return Group10_30.convertGroup((org.hl7.fhir.dstu2.model.Group) src);
133    if (src instanceof org.hl7.fhir.dstu2.model.HealthcareService)
134      return HealthcareService10_30.convertHealthcareService((org.hl7.fhir.dstu2.model.HealthcareService) src);
135    if (src instanceof org.hl7.fhir.dstu2.model.ImagingStudy)
136      return ImagingStudy10_30.convertImagingStudy((org.hl7.fhir.dstu2.model.ImagingStudy) src);
137    if (src instanceof org.hl7.fhir.dstu2.model.Immunization)
138      return Immunization10_30.convertImmunization((org.hl7.fhir.dstu2.model.Immunization) src);
139    if (src instanceof org.hl7.fhir.dstu2.model.ImmunizationRecommendation)
140      return ImmunizationRecommendation10_30.convertImmunizationRecommendation((org.hl7.fhir.dstu2.model.ImmunizationRecommendation) src);
141    if (src instanceof org.hl7.fhir.dstu2.model.ImplementationGuide)
142      return ImplementationGuide10_30.convertImplementationGuide((org.hl7.fhir.dstu2.model.ImplementationGuide) src);
143    if (src instanceof org.hl7.fhir.dstu2.model.List_)
144      return List10_30.convertList((org.hl7.fhir.dstu2.model.List_) src);
145    if (src instanceof org.hl7.fhir.dstu2.model.Location)
146      return Location10_30.convertLocation((org.hl7.fhir.dstu2.model.Location) src);
147    if (src instanceof org.hl7.fhir.dstu2.model.Media)
148      return Media10_30.convertMedia((org.hl7.fhir.dstu2.model.Media) src);
149    if (src instanceof org.hl7.fhir.dstu2.model.Medication)
150      return Medication10_30.convertMedication((org.hl7.fhir.dstu2.model.Medication) src);
151    if (src instanceof org.hl7.fhir.dstu2.model.MedicationDispense)
152      return MedicationDispense10_30.convertMedicationDispense((org.hl7.fhir.dstu2.model.MedicationDispense) src);
153    if (src instanceof org.hl7.fhir.dstu2.model.MedicationOrder)
154      return MedicationRequest10_30.convertMedicationOrder((org.hl7.fhir.dstu2.model.MedicationOrder) src);
155    if (src instanceof org.hl7.fhir.dstu2.model.MedicationStatement)
156      return MedicationStatement10_30.convertMedicationStatement((org.hl7.fhir.dstu2.model.MedicationStatement) src);
157    if (src instanceof org.hl7.fhir.dstu2.model.MessageHeader)
158      return MessageHeader10_30.convertMessageHeader((org.hl7.fhir.dstu2.model.MessageHeader) src);
159    if (src instanceof org.hl7.fhir.dstu2.model.NamingSystem)
160      return NamingSystem10_30.convertNamingSystem((org.hl7.fhir.dstu2.model.NamingSystem) src);
161    if (src instanceof org.hl7.fhir.dstu2.model.Observation)
162      return Observation10_30.convertObservation((org.hl7.fhir.dstu2.model.Observation) src);
163    if (src instanceof org.hl7.fhir.dstu2.model.OperationDefinition)
164      return OperationDefinition10_30.convertOperationDefinition((org.hl7.fhir.dstu2.model.OperationDefinition) src);
165    if (src instanceof org.hl7.fhir.dstu2.model.OperationOutcome)
166      return OperationOutcome10_30.convertOperationOutcome((org.hl7.fhir.dstu2.model.OperationOutcome) src);
167    if (src instanceof org.hl7.fhir.dstu2.model.Organization)
168      return Organization10_30.convertOrganization((org.hl7.fhir.dstu2.model.Organization) src);
169    if (src instanceof org.hl7.fhir.dstu2.model.Patient)
170      return Patient10_30.convertPatient((org.hl7.fhir.dstu2.model.Patient) src);
171    if (src instanceof org.hl7.fhir.dstu2.model.Person)
172      return Person10_30.convertPerson((org.hl7.fhir.dstu2.model.Person) src);
173    if (src instanceof org.hl7.fhir.dstu2.model.Practitioner)
174      return Practitioner10_30.convertPractitioner((org.hl7.fhir.dstu2.model.Practitioner) src);
175    if (src instanceof org.hl7.fhir.dstu2.model.Procedure)
176      return Procedure10_30.convertProcedure((org.hl7.fhir.dstu2.model.Procedure) src);
177    if (src instanceof org.hl7.fhir.dstu2.model.ProcedureRequest)
178      return ProcedureRequest10_30.convertProcedureRequest((org.hl7.fhir.dstu2.model.ProcedureRequest) src);
179    if (src instanceof org.hl7.fhir.dstu2.model.Provenance)
180      return Provenance10_30.convertProvenance((org.hl7.fhir.dstu2.model.Provenance) src);
181    if (src instanceof org.hl7.fhir.dstu2.model.Questionnaire)
182      return Questionnaire10_30.convertQuestionnaire((org.hl7.fhir.dstu2.model.Questionnaire) src);
183    if (src instanceof org.hl7.fhir.dstu2.model.QuestionnaireResponse)
184      return QuestionnaireResponse10_30.convertQuestionnaireResponse((org.hl7.fhir.dstu2.model.QuestionnaireResponse) src);
185    if (src instanceof org.hl7.fhir.dstu2.model.ReferralRequest)
186      return ReferralRequest10_30.convertReferralRequest((org.hl7.fhir.dstu2.model.ReferralRequest) src);
187    if (src instanceof org.hl7.fhir.dstu2.model.RelatedPerson)
188      return RelatedPerson10_30.convertRelatedPerson((org.hl7.fhir.dstu2.model.RelatedPerson) src);
189    if (src instanceof org.hl7.fhir.dstu2.model.RiskAssessment)
190      return RiskAssessment10_30.convertRiskAssessment((org.hl7.fhir.dstu2.model.RiskAssessment) src);
191    if (src instanceof org.hl7.fhir.dstu2.model.Schedule)
192      return Schedule10_30.convertSchedule((org.hl7.fhir.dstu2.model.Schedule) src);
193    if (src instanceof org.hl7.fhir.dstu2.model.SearchParameter)
194      return SearchParameter10_30.convertSearchParameter((org.hl7.fhir.dstu2.model.SearchParameter) src);
195    if (src instanceof org.hl7.fhir.dstu2.model.Slot)
196      return Slot10_30.convertSlot((org.hl7.fhir.dstu2.model.Slot) src);
197    if (src instanceof org.hl7.fhir.dstu2.model.StructureDefinition)
198      return StructureDefinition10_30.convertStructureDefinition((org.hl7.fhir.dstu2.model.StructureDefinition) src);
199    if (src instanceof org.hl7.fhir.dstu2.model.Subscription)
200      return Subscription10_30.convertSubscription((org.hl7.fhir.dstu2.model.Subscription) src);
201    if (src instanceof org.hl7.fhir.dstu2.model.Substance)
202      return Substance10_30.convertSubstance((org.hl7.fhir.dstu2.model.Substance) src);
203    if (src instanceof org.hl7.fhir.dstu2.model.SupplyDelivery)
204      return SupplyDelivery10_30.convertSupplyDelivery((org.hl7.fhir.dstu2.model.SupplyDelivery) src);
205    if (src instanceof org.hl7.fhir.dstu2.model.SupplyRequest)
206      return SupplyRequest10_30.convertSupplyRequest((org.hl7.fhir.dstu2.model.SupplyRequest) src);
207    if (src instanceof org.hl7.fhir.dstu2.model.TestScript)
208      return TestScript10_30.convertTestScript((org.hl7.fhir.dstu2.model.TestScript) src);
209    if (src instanceof org.hl7.fhir.dstu2.model.ValueSet)
210      return ValueSet10_30.convertValueSet((org.hl7.fhir.dstu2.model.ValueSet) src, advisor);
211    if (advisor.failFastOnNullOrUnknownEntry()) {
212      throw new FHIRException("The resource " + src.fhirType()+" cannot be converted from R2 to R3");
213    } else {
214      return null;
215    }
216  }
217
218  public org.hl7.fhir.dstu2.model.Resource convertResource(org.hl7.fhir.dstu3.model.Resource src) throws FHIRException {
219    if (src == null || src.isEmpty()) return null;
220    if (src instanceof org.hl7.fhir.dstu3.model.Parameters)
221      return Parameters10_30.convertParameters((org.hl7.fhir.dstu3.model.Parameters) src);
222    if (src instanceof org.hl7.fhir.dstu3.model.Appointment)
223      return Appointment10_30.convertAppointment((org.hl7.fhir.dstu3.model.Appointment) src);
224    if (src instanceof org.hl7.fhir.dstu3.model.AppointmentResponse)
225      return AppointmentResponse10_30.convertAppointmentResponse((org.hl7.fhir.dstu3.model.AppointmentResponse) src);
226    if (src instanceof org.hl7.fhir.dstu3.model.AuditEvent)
227      return AuditEvent10_30.convertAuditEvent((org.hl7.fhir.dstu3.model.AuditEvent) src);
228    if (src instanceof org.hl7.fhir.dstu3.model.Basic)
229      return Basic10_30.convertBasic((org.hl7.fhir.dstu3.model.Basic) src);
230    if (src instanceof org.hl7.fhir.dstu3.model.Binary)
231      return Binary10_30.convertBinary((org.hl7.fhir.dstu3.model.Binary) src);
232    if (src instanceof org.hl7.fhir.dstu3.model.Bundle)
233      return Bundle10_30.convertBundle((org.hl7.fhir.dstu3.model.Bundle) src, advisor);
234    if (src instanceof org.hl7.fhir.dstu3.model.CarePlan)
235      return CarePlan10_30.convertCarePlan((org.hl7.fhir.dstu3.model.CarePlan) src);
236    if (src instanceof org.hl7.fhir.dstu3.model.ClinicalImpression)
237      return ClinicalImpression10_30.convertClinicalImpression((org.hl7.fhir.dstu3.model.ClinicalImpression) src);
238    if (src instanceof org.hl7.fhir.dstu3.model.Communication)
239      return Communication10_30.convertCommunication((org.hl7.fhir.dstu3.model.Communication) src);
240    if (src instanceof org.hl7.fhir.dstu3.model.CommunicationRequest)
241      return CommunicationRequest10_30.convertCommunicationRequest((org.hl7.fhir.dstu3.model.CommunicationRequest) src);
242    if (src instanceof org.hl7.fhir.dstu3.model.Composition)
243      return Composition10_30.convertComposition((org.hl7.fhir.dstu3.model.Composition) src);
244    if (src instanceof org.hl7.fhir.dstu3.model.ConceptMap)
245      return ConceptMap10_30.convertConceptMap((org.hl7.fhir.dstu3.model.ConceptMap) src);
246    if (src instanceof org.hl7.fhir.dstu3.model.Condition)
247      return Condition10_30.convertCondition((org.hl7.fhir.dstu3.model.Condition) src);
248    if (src instanceof org.hl7.fhir.dstu3.model.CapabilityStatement)
249      return Conformance10_30.convertConformance((org.hl7.fhir.dstu3.model.CapabilityStatement) src);
250    if (src instanceof org.hl7.fhir.dstu3.model.Contract)
251      return Contract10_30.convertContract((org.hl7.fhir.dstu3.model.Contract) src);
252    if (src instanceof org.hl7.fhir.dstu3.model.DataElement)
253      return DataElement10_30.convertDataElement((org.hl7.fhir.dstu3.model.DataElement) src);
254    if (src instanceof org.hl7.fhir.dstu3.model.DetectedIssue)
255      return DetectedIssue10_30.convertDetectedIssue((org.hl7.fhir.dstu3.model.DetectedIssue) src);
256    if (src instanceof org.hl7.fhir.dstu3.model.Device)
257      return Device10_30.convertDevice((org.hl7.fhir.dstu3.model.Device) src);
258    if (src instanceof org.hl7.fhir.dstu3.model.DeviceComponent)
259      return DeviceComponent10_30.convertDeviceComponent((org.hl7.fhir.dstu3.model.DeviceComponent) src);
260    if (src instanceof org.hl7.fhir.dstu3.model.DeviceMetric)
261      return DeviceMetric10_30.convertDeviceMetric((org.hl7.fhir.dstu3.model.DeviceMetric) src);
262    if (src instanceof org.hl7.fhir.dstu3.model.DeviceUseStatement)
263      return DeviceUseStatement10_30.convertDeviceUseStatement((org.hl7.fhir.dstu3.model.DeviceUseStatement) src);
264    if (src instanceof org.hl7.fhir.dstu3.model.DiagnosticReport)
265      return DiagnosticReport10_30.convertDiagnosticReport((org.hl7.fhir.dstu3.model.DiagnosticReport) src);
266    if (src instanceof org.hl7.fhir.dstu3.model.DocumentManifest)
267      return DocumentManifest10_30.convertDocumentManifest((org.hl7.fhir.dstu3.model.DocumentManifest) src);
268    if (src instanceof org.hl7.fhir.dstu3.model.DocumentReference)
269      return DocumentReference10_30.convertDocumentReference((org.hl7.fhir.dstu3.model.DocumentReference) src);
270    if (src instanceof org.hl7.fhir.dstu3.model.Encounter)
271      return Encounter10_30.convertEncounter((org.hl7.fhir.dstu3.model.Encounter) src);
272    if (src instanceof org.hl7.fhir.dstu3.model.EnrollmentRequest)
273      return EnrollmentRequest10_30.convertEnrollmentRequest((org.hl7.fhir.dstu3.model.EnrollmentRequest) src);
274    if (src instanceof org.hl7.fhir.dstu3.model.EnrollmentResponse)
275      return EnrollmentResponse10_30.convertEnrollmentResponse((org.hl7.fhir.dstu3.model.EnrollmentResponse) src);
276    if (src instanceof org.hl7.fhir.dstu3.model.EpisodeOfCare)
277      return EpisodeOfCare10_30.convertEpisodeOfCare((org.hl7.fhir.dstu3.model.EpisodeOfCare) src);
278    if (src instanceof org.hl7.fhir.dstu3.model.FamilyMemberHistory)
279      return FamilyMemberHistory10_30.convertFamilyMemberHistory((org.hl7.fhir.dstu3.model.FamilyMemberHistory) src);
280    if (src instanceof org.hl7.fhir.dstu3.model.Flag)
281      return Flag10_30.convertFlag((org.hl7.fhir.dstu3.model.Flag) src);
282    if (src instanceof org.hl7.fhir.dstu3.model.Group)
283      return Group10_30.convertGroup((org.hl7.fhir.dstu3.model.Group) src);
284    if (src instanceof org.hl7.fhir.dstu3.model.HealthcareService)
285      return HealthcareService10_30.convertHealthcareService((org.hl7.fhir.dstu3.model.HealthcareService) src);
286    if (src instanceof org.hl7.fhir.dstu3.model.ImagingStudy)
287      return ImagingStudy10_30.convertImagingStudy((org.hl7.fhir.dstu3.model.ImagingStudy) src);
288    if (src instanceof org.hl7.fhir.dstu3.model.Immunization)
289      return Immunization10_30.convertImmunization((org.hl7.fhir.dstu3.model.Immunization) src);
290    if (src instanceof org.hl7.fhir.dstu3.model.ImmunizationRecommendation)
291      return ImmunizationRecommendation10_30.convertImmunizationRecommendation((org.hl7.fhir.dstu3.model.ImmunizationRecommendation) src);
292    if (src instanceof org.hl7.fhir.dstu3.model.ImplementationGuide)
293      return ImplementationGuide10_30.convertImplementationGuide((org.hl7.fhir.dstu3.model.ImplementationGuide) src);
294    if (src instanceof org.hl7.fhir.dstu3.model.ListResource)
295      return List10_30.convertList((org.hl7.fhir.dstu3.model.ListResource) src);
296    if (src instanceof org.hl7.fhir.dstu3.model.Location)
297      return Location10_30.convertLocation((org.hl7.fhir.dstu3.model.Location) src);
298    if (src instanceof org.hl7.fhir.dstu3.model.Media)
299      return Media10_30.convertMedia((org.hl7.fhir.dstu3.model.Media) src);
300    if (src instanceof org.hl7.fhir.dstu3.model.Medication)
301      return Medication10_30.convertMedication((org.hl7.fhir.dstu3.model.Medication) src);
302    if (src instanceof org.hl7.fhir.dstu3.model.MedicationDispense)
303      return MedicationDispense10_30.convertMedicationDispense((org.hl7.fhir.dstu3.model.MedicationDispense) src);
304    if (src instanceof org.hl7.fhir.dstu3.model.MedicationStatement)
305      return MedicationStatement10_30.convertMedicationStatement((org.hl7.fhir.dstu3.model.MedicationStatement) src);
306    if (src instanceof org.hl7.fhir.dstu3.model.MessageHeader)
307      return MessageHeader10_30.convertMessageHeader((org.hl7.fhir.dstu3.model.MessageHeader) src);
308    if (src instanceof org.hl7.fhir.dstu3.model.NamingSystem)
309      return NamingSystem10_30.convertNamingSystem((org.hl7.fhir.dstu3.model.NamingSystem) src);
310    if (src instanceof org.hl7.fhir.dstu3.model.Observation)
311      return Observation10_30.convertObservation((org.hl7.fhir.dstu3.model.Observation) src);
312    if (src instanceof org.hl7.fhir.dstu3.model.OperationDefinition)
313      return OperationDefinition10_30.convertOperationDefinition((org.hl7.fhir.dstu3.model.OperationDefinition) src);
314    if (src instanceof org.hl7.fhir.dstu3.model.OperationOutcome)
315      return OperationOutcome10_30.convertOperationOutcome((org.hl7.fhir.dstu3.model.OperationOutcome) src);
316    if (src instanceof org.hl7.fhir.dstu3.model.Organization)
317      return Organization10_30.convertOrganization((org.hl7.fhir.dstu3.model.Organization) src);
318    if (src instanceof org.hl7.fhir.dstu3.model.Patient)
319      return Patient10_30.convertPatient((org.hl7.fhir.dstu3.model.Patient) src);
320    if (src instanceof org.hl7.fhir.dstu3.model.Person)
321      return Person10_30.convertPerson((org.hl7.fhir.dstu3.model.Person) src);
322    if (src instanceof org.hl7.fhir.dstu3.model.Practitioner)
323      return Practitioner10_30.convertPractitioner((org.hl7.fhir.dstu3.model.Practitioner) src);
324    if (src instanceof org.hl7.fhir.dstu3.model.Procedure)
325      return Procedure10_30.convertProcedure((org.hl7.fhir.dstu3.model.Procedure) src);
326    if (src instanceof org.hl7.fhir.dstu3.model.ProcedureRequest)
327      return ProcedureRequest10_30.convertProcedureRequest((org.hl7.fhir.dstu3.model.ProcedureRequest) src);
328    if (src instanceof org.hl7.fhir.dstu3.model.Provenance)
329      return Provenance10_30.convertProvenance((org.hl7.fhir.dstu3.model.Provenance) src);
330    if (src instanceof org.hl7.fhir.dstu3.model.Questionnaire)
331      return Questionnaire10_30.convertQuestionnaire((org.hl7.fhir.dstu3.model.Questionnaire) src);
332    if (src instanceof org.hl7.fhir.dstu3.model.QuestionnaireResponse)
333      return QuestionnaireResponse10_30.convertQuestionnaireResponse((org.hl7.fhir.dstu3.model.QuestionnaireResponse) src);
334    if (src instanceof org.hl7.fhir.dstu3.model.ReferralRequest)
335      return ReferralRequest10_30.convertReferralRequest((org.hl7.fhir.dstu3.model.ReferralRequest) src);
336    if (src instanceof org.hl7.fhir.dstu3.model.RelatedPerson)
337      return RelatedPerson10_30.convertRelatedPerson((org.hl7.fhir.dstu3.model.RelatedPerson) src);
338    if (src instanceof org.hl7.fhir.dstu3.model.RiskAssessment)
339      return RiskAssessment10_30.convertRiskAssessment((org.hl7.fhir.dstu3.model.RiskAssessment) src);
340    if (src instanceof org.hl7.fhir.dstu3.model.Schedule)
341      return Schedule10_30.convertSchedule((org.hl7.fhir.dstu3.model.Schedule) src);
342    if (src instanceof org.hl7.fhir.dstu3.model.SearchParameter)
343      return SearchParameter10_30.convertSearchParameter((org.hl7.fhir.dstu3.model.SearchParameter) src);
344    if (src instanceof org.hl7.fhir.dstu3.model.Slot)
345      return Slot10_30.convertSlot((org.hl7.fhir.dstu3.model.Slot) src);
346    if (src instanceof org.hl7.fhir.dstu3.model.Specimen)
347      return Specimen10_30.convertSpecimen((org.hl7.fhir.dstu3.model.Specimen) src);
348    if (src instanceof org.hl7.fhir.dstu3.model.StructureDefinition)
349      return StructureDefinition10_30.convertStructureDefinition((org.hl7.fhir.dstu3.model.StructureDefinition) src);
350    if (src instanceof org.hl7.fhir.dstu3.model.Subscription)
351      return Subscription10_30.convertSubscription((org.hl7.fhir.dstu3.model.Subscription) src);
352    if (src instanceof org.hl7.fhir.dstu3.model.Substance)
353      return Substance10_30.convertSubstance((org.hl7.fhir.dstu3.model.Substance) src);
354    if (src instanceof org.hl7.fhir.dstu3.model.SupplyDelivery)
355      return SupplyDelivery10_30.convertSupplyDelivery((org.hl7.fhir.dstu3.model.SupplyDelivery) src);
356    if (src instanceof org.hl7.fhir.dstu3.model.SupplyRequest)
357      return SupplyRequest10_30.convertSupplyRequest((org.hl7.fhir.dstu3.model.SupplyRequest) src);
358    if (src instanceof org.hl7.fhir.dstu3.model.TestScript)
359      return TestScript10_30.convertTestScript((org.hl7.fhir.dstu3.model.TestScript) src);
360    if (src instanceof org.hl7.fhir.dstu3.model.ValueSet)
361      return ValueSet10_30.convertValueSet((org.hl7.fhir.dstu3.model.ValueSet) src, advisor);
362    if (advisor.failFastOnNullOrUnknownEntry()) {
363      throw new FHIRException("The resource " + src.fhirType()+" cannot be converted from R3 to R2");
364    } else {
365      return null;
366    }
367  }
368}