001package org.hl7.fhir.convertors.conv30_40.resources30_40; 002 003import org.hl7.fhir.convertors.context.ConversionContext30_40; 004import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; 005import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Annotation30_40; 006import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; 007import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; 008import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.SimpleQuantity30_40; 009import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; 010import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Date30_40; 011import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; 012import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; 013import org.hl7.fhir.exceptions.FHIRException; 014 015public class Immunization30_40 { 016 017 public static org.hl7.fhir.r4.model.Immunization convertImmunization(org.hl7.fhir.dstu3.model.Immunization src) throws FHIRException { 018 if (src == null) 019 return null; 020 org.hl7.fhir.r4.model.Immunization tgt = new org.hl7.fhir.r4.model.Immunization(); 021 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt); 022 for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) 023 tgt.addIdentifier(Identifier30_40.convertIdentifier(t)); 024 if (src.hasStatus()) 025 tgt.setStatusElement(convertImmunizationStatus(src.getStatusElement())); 026 if (src.hasVaccineCode()) 027 tgt.setVaccineCode(CodeableConcept30_40.convertCodeableConcept(src.getVaccineCode())); 028 if (src.hasPatient()) 029 tgt.setPatient(Reference30_40.convertReference(src.getPatient())); 030 if (src.hasEncounter()) 031 tgt.setEncounter(Reference30_40.convertReference(src.getEncounter())); 032 if (src.hasDateElement()) 033 tgt.setOccurrence(DateTime30_40.convertDateTime(src.getDateElement())); 034 if (src.hasPrimarySource()) 035 tgt.setPrimarySourceElement(Boolean30_40.convertBoolean(src.getPrimarySourceElement())); 036 if (src.hasReportOrigin()) 037 tgt.setReportOrigin(CodeableConcept30_40.convertCodeableConcept(src.getReportOrigin())); 038 if (src.hasLocation()) 039 tgt.setLocation(Reference30_40.convertReference(src.getLocation())); 040 if (src.hasManufacturer()) 041 tgt.setManufacturer(Reference30_40.convertReference(src.getManufacturer())); 042 if (src.hasLotNumber()) 043 tgt.setLotNumberElement(String30_40.convertString(src.getLotNumberElement())); 044 if (src.hasExpirationDate()) 045 tgt.setExpirationDateElement(Date30_40.convertDate(src.getExpirationDateElement())); 046 if (src.hasSite()) 047 tgt.setSite(CodeableConcept30_40.convertCodeableConcept(src.getSite())); 048 if (src.hasRoute()) 049 tgt.setRoute(CodeableConcept30_40.convertCodeableConcept(src.getRoute())); 050 if (src.hasDoseQuantity()) 051 tgt.setDoseQuantity(SimpleQuantity30_40.convertSimpleQuantity(src.getDoseQuantity())); 052 for (org.hl7.fhir.dstu3.model.Immunization.ImmunizationPractitionerComponent t : src.getPractitioner()) 053 tgt.addPerformer(convertImmunizationPractitionerComponent(t)); 054 for (org.hl7.fhir.dstu3.model.Annotation t : src.getNote()) tgt.addNote(Annotation30_40.convertAnnotation(t)); 055 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getExplanation().getReason()) 056 tgt.addReasonCode(CodeableConcept30_40.convertCodeableConcept(t)); 057 return tgt; 058 } 059 060 public static org.hl7.fhir.dstu3.model.Immunization convertImmunization(org.hl7.fhir.r4.model.Immunization src) throws FHIRException { 061 if (src == null) 062 return null; 063 org.hl7.fhir.dstu3.model.Immunization tgt = new org.hl7.fhir.dstu3.model.Immunization(); 064 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt); 065 for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier()) 066 tgt.addIdentifier(Identifier30_40.convertIdentifier(t)); 067 if (src.hasStatus()) 068 tgt.setStatusElement(convertImmunizationStatus(src.getStatusElement())); 069 if (src.hasVaccineCode()) 070 tgt.setVaccineCode(CodeableConcept30_40.convertCodeableConcept(src.getVaccineCode())); 071 if (src.hasPatient()) 072 tgt.setPatient(Reference30_40.convertReference(src.getPatient())); 073 if (src.hasEncounter()) 074 tgt.setEncounter(Reference30_40.convertReference(src.getEncounter())); 075 if (src.hasOccurrenceDateTimeType()) 076 tgt.setDateElement(DateTime30_40.convertDateTime(src.getOccurrenceDateTimeType())); 077 if (src.hasPrimarySource()) 078 tgt.setPrimarySourceElement(Boolean30_40.convertBoolean(src.getPrimarySourceElement())); 079 if (src.hasReportOrigin()) 080 tgt.setReportOrigin(CodeableConcept30_40.convertCodeableConcept(src.getReportOrigin())); 081 if (src.hasLocation()) 082 tgt.setLocation(Reference30_40.convertReference(src.getLocation())); 083 if (src.hasManufacturer()) 084 tgt.setManufacturer(Reference30_40.convertReference(src.getManufacturer())); 085 if (src.hasLotNumber()) 086 tgt.setLotNumberElement(String30_40.convertString(src.getLotNumberElement())); 087 if (src.hasExpirationDate()) 088 tgt.setExpirationDateElement(Date30_40.convertDate(src.getExpirationDateElement())); 089 if (src.hasSite()) 090 tgt.setSite(CodeableConcept30_40.convertCodeableConcept(src.getSite())); 091 if (src.hasRoute()) 092 tgt.setRoute(CodeableConcept30_40.convertCodeableConcept(src.getRoute())); 093 if (src.hasDoseQuantity()) 094 tgt.setDoseQuantity(SimpleQuantity30_40.convertSimpleQuantity(src.getDoseQuantity())); 095 for (org.hl7.fhir.r4.model.Immunization.ImmunizationPerformerComponent t : src.getPerformer()) 096 tgt.addPractitioner(convertImmunizationPractitionerComponent(t)); 097 for (org.hl7.fhir.r4.model.Annotation t : src.getNote()) tgt.addNote(Annotation30_40.convertAnnotation(t)); 098 for (org.hl7.fhir.r4.model.CodeableConcept t : src.getReasonCode()) 099 tgt.getExplanation().addReason(CodeableConcept30_40.convertCodeableConcept(t)); 100 return tgt; 101 } 102 103 public static org.hl7.fhir.dstu3.model.Immunization.ImmunizationPractitionerComponent convertImmunizationPractitionerComponent(org.hl7.fhir.r4.model.Immunization.ImmunizationPerformerComponent src) throws FHIRException { 104 if (src == null) 105 return null; 106 org.hl7.fhir.dstu3.model.Immunization.ImmunizationPractitionerComponent tgt = new org.hl7.fhir.dstu3.model.Immunization.ImmunizationPractitionerComponent(); 107 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 108 if (src.hasFunction()) 109 tgt.setRole(CodeableConcept30_40.convertCodeableConcept(src.getFunction())); 110 if (src.hasActor()) 111 tgt.setActor(Reference30_40.convertReference(src.getActor())); 112 return tgt; 113 } 114 115 public static org.hl7.fhir.r4.model.Immunization.ImmunizationPerformerComponent convertImmunizationPractitionerComponent(org.hl7.fhir.dstu3.model.Immunization.ImmunizationPractitionerComponent src) throws FHIRException { 116 if (src == null) 117 return null; 118 org.hl7.fhir.r4.model.Immunization.ImmunizationPerformerComponent tgt = new org.hl7.fhir.r4.model.Immunization.ImmunizationPerformerComponent(); 119 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 120 if (src.hasRole()) 121 tgt.setFunction(CodeableConcept30_40.convertCodeableConcept(src.getRole())); 122 if (src.hasActor()) 123 tgt.setActor(Reference30_40.convertReference(src.getActor())); 124 return tgt; 125 } 126 127 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Immunization.ImmunizationStatus> convertImmunizationStatus(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Immunization.ImmunizationStatus> src) throws FHIRException { 128 if (src == null || src.isEmpty()) 129 return null; 130 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Immunization.ImmunizationStatus> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.Immunization.ImmunizationStatusEnumFactory()); 131 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 132 switch (src.getValue()) { 133 case COMPLETED: 134 tgt.setValue(org.hl7.fhir.dstu3.model.Immunization.ImmunizationStatus.COMPLETED); 135 break; 136 case ENTEREDINERROR: 137 tgt.setValue(org.hl7.fhir.dstu3.model.Immunization.ImmunizationStatus.ENTEREDINERROR); 138 break; 139 default: 140 tgt.setValue(org.hl7.fhir.dstu3.model.Immunization.ImmunizationStatus.NULL); 141 break; 142 } 143 return tgt; 144 } 145 146 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Immunization.ImmunizationStatus> convertImmunizationStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Immunization.ImmunizationStatus> src) throws FHIRException { 147 if (src == null || src.isEmpty()) 148 return null; 149 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Immunization.ImmunizationStatus> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.Immunization.ImmunizationStatusEnumFactory()); 150 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 151 switch (src.getValue()) { 152 case COMPLETED: 153 tgt.setValue(org.hl7.fhir.r4.model.Immunization.ImmunizationStatus.COMPLETED); 154 break; 155 case ENTEREDINERROR: 156 tgt.setValue(org.hl7.fhir.r4.model.Immunization.ImmunizationStatus.ENTEREDINERROR); 157 break; 158 default: 159 tgt.setValue(org.hl7.fhir.r4.model.Immunization.ImmunizationStatus.NULL); 160 break; 161 } 162 return tgt; 163 } 164}