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