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