
001package org.hl7.fhir.convertors.conv10_30.resources10_30; 002 003import org.hl7.fhir.convertors.context.ConversionContext10_30; 004import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; 005import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; 006import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; 007import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Ratio10_30; 008import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.SimpleQuantity10_30; 009import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Timing10_30; 010import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30; 011import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; 012import org.hl7.fhir.dstu2.model.Enumeration; 013import org.hl7.fhir.dstu2.model.MedicationDispense; 014import org.hl7.fhir.dstu3.model.Dosage; 015import org.hl7.fhir.exceptions.FHIRException; 016 017public class MedicationDispense10_30 { 018 019 public static org.hl7.fhir.dstu3.model.MedicationDispense convertMedicationDispense(org.hl7.fhir.dstu2.model.MedicationDispense src) throws FHIRException { 020 if (src == null || src.isEmpty()) 021 return null; 022 org.hl7.fhir.dstu3.model.MedicationDispense tgt = new org.hl7.fhir.dstu3.model.MedicationDispense(); 023 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 024 if (src.hasIdentifier()) 025 tgt.addIdentifier(Identifier10_30.convertIdentifier(src.getIdentifier())); 026 if (src.hasStatus()) 027 tgt.setStatusElement(convertMedicationDispenseStatus(src.getStatusElement())); 028 if (src.hasMedication()) 029 tgt.setMedication(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getMedication())); 030 if (src.hasPatient()) 031 tgt.setSubject(Reference10_30.convertReference(src.getPatient())); 032 for (org.hl7.fhir.dstu2.model.Reference t : src.getAuthorizingPrescription()) 033 tgt.addAuthorizingPrescription(Reference10_30.convertReference(t)); 034 if (src.hasType()) 035 tgt.setType(CodeableConcept10_30.convertCodeableConcept(src.getType())); 036 if (src.hasQuantity()) 037 tgt.setQuantity(SimpleQuantity10_30.convertSimpleQuantity(src.getQuantity())); 038 if (src.hasDaysSupply()) 039 tgt.setDaysSupply(SimpleQuantity10_30.convertSimpleQuantity(src.getDaysSupply())); 040 if (src.hasWhenPreparedElement()) 041 tgt.setWhenPreparedElement(DateTime10_30.convertDateTime(src.getWhenPreparedElement())); 042 if (src.hasWhenHandedOverElement()) 043 tgt.setWhenHandedOverElement(DateTime10_30.convertDateTime(src.getWhenHandedOverElement())); 044 if (src.hasDestination()) 045 tgt.setDestination(Reference10_30.convertReference(src.getDestination())); 046 for (org.hl7.fhir.dstu2.model.Reference t : src.getReceiver()) tgt.addReceiver(Reference10_30.convertReference(t)); 047 if (src.hasNote()) 048 tgt.addNote().setText(src.getNote()); 049 for (org.hl7.fhir.dstu2.model.MedicationDispense.MedicationDispenseDosageInstructionComponent t : src.getDosageInstruction()) 050 tgt.addDosageInstruction(convertMedicationDispenseDosageInstructionComponent(t)); 051 if (src.hasSubstitution()) 052 tgt.setSubstitution(convertMedicationDispenseSubstitutionComponent(src.getSubstitution())); 053 return tgt; 054 } 055 056 public static org.hl7.fhir.dstu2.model.MedicationDispense convertMedicationDispense(org.hl7.fhir.dstu3.model.MedicationDispense src) throws FHIRException { 057 if (src == null || src.isEmpty()) 058 return null; 059 org.hl7.fhir.dstu2.model.MedicationDispense tgt = new org.hl7.fhir.dstu2.model.MedicationDispense(); 060 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 061 if (src.hasIdentifier()) 062 tgt.setIdentifier(Identifier10_30.convertIdentifier(src.getIdentifierFirstRep())); 063 if (src.hasStatus()) 064 tgt.setStatusElement(convertMedicationDispenseStatus(src.getStatusElement())); 065 if (src.hasMedication()) 066 tgt.setMedication(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getMedication())); 067 if (src.hasSubject()) 068 tgt.setPatient(Reference10_30.convertReference(src.getSubject())); 069 for (org.hl7.fhir.dstu3.model.Reference t : src.getAuthorizingPrescription()) 070 tgt.addAuthorizingPrescription(Reference10_30.convertReference(t)); 071 if (src.hasType()) 072 tgt.setType(CodeableConcept10_30.convertCodeableConcept(src.getType())); 073 if (src.hasQuantity()) 074 tgt.setQuantity(SimpleQuantity10_30.convertSimpleQuantity(src.getQuantity())); 075 if (src.hasDaysSupply()) 076 tgt.setDaysSupply(SimpleQuantity10_30.convertSimpleQuantity(src.getDaysSupply())); 077 if (src.hasWhenPreparedElement()) 078 tgt.setWhenPreparedElement(DateTime10_30.convertDateTime(src.getWhenPreparedElement())); 079 if (src.hasWhenHandedOverElement()) 080 tgt.setWhenHandedOverElement(DateTime10_30.convertDateTime(src.getWhenHandedOverElement())); 081 if (src.hasDestination()) 082 tgt.setDestination(Reference10_30.convertReference(src.getDestination())); 083 for (org.hl7.fhir.dstu3.model.Reference t : src.getReceiver()) tgt.addReceiver(Reference10_30.convertReference(t)); 084 for (org.hl7.fhir.dstu3.model.Annotation t : src.getNote()) tgt.setNote(t.getText()); 085 for (org.hl7.fhir.dstu3.model.Dosage t : src.getDosageInstruction()) 086 tgt.addDosageInstruction(convertMedicationDispenseDosageInstructionComponent(t)); 087 if (src.hasSubstitution()) 088 tgt.setSubstitution(convertMedicationDispenseSubstitutionComponent(src.getSubstitution())); 089 return tgt; 090 } 091 092 public static org.hl7.fhir.dstu3.model.Dosage convertMedicationDispenseDosageInstructionComponent(org.hl7.fhir.dstu2.model.MedicationDispense.MedicationDispenseDosageInstructionComponent src) throws FHIRException { 093 if (src == null || src.isEmpty()) 094 return null; 095 org.hl7.fhir.dstu3.model.Dosage tgt = new org.hl7.fhir.dstu3.model.Dosage(); 096 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 097 if (src.hasTextElement()) 098 tgt.setTextElement(String10_30.convertString(src.getTextElement())); 099 if (src.hasTiming()) 100 tgt.setTiming(Timing10_30.convertTiming(src.getTiming())); 101 if (src.hasAsNeeded()) 102 tgt.setAsNeeded(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getAsNeeded())); 103 if (src.hasSiteCodeableConcept()) 104 tgt.setSite(CodeableConcept10_30.convertCodeableConcept(src.getSiteCodeableConcept())); 105 if (src.hasRoute()) 106 tgt.setRoute(CodeableConcept10_30.convertCodeableConcept(src.getRoute())); 107 if (src.hasMethod()) 108 tgt.setMethod(CodeableConcept10_30.convertCodeableConcept(src.getMethod())); 109 if (src.hasDose()) 110 tgt.setDose(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getDose())); 111 if (src.hasRate()) 112 tgt.setRate(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getRate())); 113 if (src.hasMaxDosePerPeriod()) 114 tgt.setMaxDosePerPeriod(Ratio10_30.convertRatio(src.getMaxDosePerPeriod())); 115 return tgt; 116 } 117 118 public static org.hl7.fhir.dstu2.model.MedicationDispense.MedicationDispenseDosageInstructionComponent convertMedicationDispenseDosageInstructionComponent(Dosage src) throws FHIRException { 119 if (src == null || src.isEmpty()) 120 return null; 121 org.hl7.fhir.dstu2.model.MedicationDispense.MedicationDispenseDosageInstructionComponent tgt = new org.hl7.fhir.dstu2.model.MedicationDispense.MedicationDispenseDosageInstructionComponent(); 122 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 123 tgt.setText(src.getText()); 124 tgt.setTiming(Timing10_30.convertTiming(src.getTiming())); 125 tgt.setAsNeeded(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getAsNeeded())); 126 tgt.setSite(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getSite())); 127 tgt.setRoute(CodeableConcept10_30.convertCodeableConcept(src.getRoute())); 128 tgt.setMethod(CodeableConcept10_30.convertCodeableConcept(src.getMethod())); 129 tgt.setDose(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getDose())); 130 tgt.setRate(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getRate())); 131 tgt.setMaxDosePerPeriod(Ratio10_30.convertRatio(src.getMaxDosePerPeriod())); 132 return tgt; 133 } 134 135 static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.MedicationDispense.MedicationDispenseStatus> convertMedicationDispenseStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispenseStatus> src) throws FHIRException { 136 if (src == null || src.isEmpty()) 137 return null; 138 Enumeration<MedicationDispense.MedicationDispenseStatus> tgt = new Enumeration<>(new MedicationDispense.MedicationDispenseStatusEnumFactory()); 139 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 140 if (src.getValue() == null) { 141 tgt.setValue(null); 142 } else { 143 switch (src.getValue()) { 144 case INPROGRESS: 145 tgt.setValue(MedicationDispense.MedicationDispenseStatus.INPROGRESS); 146 break; 147 case ONHOLD: 148 tgt.setValue(MedicationDispense.MedicationDispenseStatus.ONHOLD); 149 break; 150 case COMPLETED: 151 tgt.setValue(MedicationDispense.MedicationDispenseStatus.COMPLETED); 152 break; 153 case ENTEREDINERROR: 154 tgt.setValue(MedicationDispense.MedicationDispenseStatus.ENTEREDINERROR); 155 break; 156 case STOPPED: 157 tgt.setValue(MedicationDispense.MedicationDispenseStatus.STOPPED); 158 break; 159 default: 160 tgt.setValue(MedicationDispense.MedicationDispenseStatus.NULL); 161 break; 162 } 163 } 164 return tgt; 165 } 166 167 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispenseStatus> convertMedicationDispenseStatus(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.MedicationDispense.MedicationDispenseStatus> src) throws FHIRException { 168 if (src == null || src.isEmpty()) 169 return null; 170 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispenseStatus> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispenseStatusEnumFactory()); 171 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 172 if (src.getValue() == null) { 173 tgt.setValue(null); 174 } else { 175 switch (src.getValue()) { 176 case INPROGRESS: 177 tgt.setValue(org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispenseStatus.INPROGRESS); 178 break; 179 case ONHOLD: 180 tgt.setValue(org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispenseStatus.ONHOLD); 181 break; 182 case COMPLETED: 183 tgt.setValue(org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispenseStatus.COMPLETED); 184 break; 185 case ENTEREDINERROR: 186 tgt.setValue(org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispenseStatus.ENTEREDINERROR); 187 break; 188 case STOPPED: 189 tgt.setValue(org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispenseStatus.STOPPED); 190 break; 191 default: 192 tgt.setValue(org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispenseStatus.NULL); 193 break; 194 } 195 } 196 return tgt; 197 } 198 199 public static org.hl7.fhir.dstu2.model.MedicationDispense.MedicationDispenseSubstitutionComponent convertMedicationDispenseSubstitutionComponent(org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispenseSubstitutionComponent src) throws FHIRException { 200 if (src == null || src.isEmpty()) 201 return null; 202 org.hl7.fhir.dstu2.model.MedicationDispense.MedicationDispenseSubstitutionComponent tgt = new org.hl7.fhir.dstu2.model.MedicationDispense.MedicationDispenseSubstitutionComponent(); 203 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 204 if (src.hasType()) 205 tgt.setType(CodeableConcept10_30.convertCodeableConcept(src.getType())); 206 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getReason()) 207 tgt.addReason(CodeableConcept10_30.convertCodeableConcept(t)); 208 for (org.hl7.fhir.dstu3.model.Reference t : src.getResponsibleParty()) 209 tgt.addResponsibleParty(Reference10_30.convertReference(t)); 210 return tgt; 211 } 212 213 public static org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispenseSubstitutionComponent convertMedicationDispenseSubstitutionComponent(org.hl7.fhir.dstu2.model.MedicationDispense.MedicationDispenseSubstitutionComponent src) throws FHIRException { 214 if (src == null || src.isEmpty()) 215 return null; 216 org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispenseSubstitutionComponent tgt = new org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispenseSubstitutionComponent(); 217 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 218 if (src.hasType()) 219 tgt.setType(CodeableConcept10_30.convertCodeableConcept(src.getType())); 220 for (org.hl7.fhir.dstu2.model.CodeableConcept t : src.getReason()) 221 tgt.addReason(CodeableConcept10_30.convertCodeableConcept(t)); 222 for (org.hl7.fhir.dstu2.model.Reference t : src.getResponsibleParty()) 223 tgt.addResponsibleParty(Reference10_30.convertReference(t)); 224 return tgt; 225 } 226}