
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.Dosage30_50; 005import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; 006import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Annotation30_50; 007import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; 008import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; 009import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.SimpleQuantity30_50; 010import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; 011import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; 012import org.hl7.fhir.dstu3.model.Enumeration; 013import org.hl7.fhir.dstu3.model.MedicationDispense; 014import org.hl7.fhir.exceptions.FHIRException; 015 016public class MedicationDispense30_50 { 017 018 public static org.hl7.fhir.dstu3.model.MedicationDispense convertMedicationDispense(org.hl7.fhir.r5.model.MedicationDispense src) throws FHIRException { 019 if (src == null) 020 return null; 021 org.hl7.fhir.dstu3.model.MedicationDispense tgt = new org.hl7.fhir.dstu3.model.MedicationDispense(); 022 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyDomainResource(src, tgt); 023 for (org.hl7.fhir.r5.model.Identifier t : src.getIdentifier()) 024 tgt.addIdentifier(Identifier30_50.convertIdentifier(t)); 025 for (org.hl7.fhir.r5.model.Reference t : src.getPartOf()) tgt.addPartOf(Reference30_50.convertReference(t)); 026 if (src.hasStatus()) 027 tgt.setStatusElement(convertMedicationDispenseStatus(src.getStatusElement())); 028 if (src.hasCategory()) 029 tgt.setCategory(CodeableConcept30_50.convertCodeableConcept(src.getCategoryFirstRep())); 030 if (src.getMedication().hasConcept()) 031 tgt.setMedication(ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().convertType(src.getMedication().getConcept())); 032 if (src.getMedication().hasReference()) 033 tgt.setMedication(ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().convertType(src.getMedication().getReference())); 034 if (src.hasSubject()) 035 tgt.setSubject(Reference30_50.convertReference(src.getSubject())); 036 if (src.hasEncounter()) 037 tgt.setContext(Reference30_50.convertReference(src.getEncounter())); 038 for (org.hl7.fhir.r5.model.Reference t : src.getSupportingInformation()) 039 tgt.addSupportingInformation(Reference30_50.convertReference(t)); 040 for (org.hl7.fhir.r5.model.MedicationDispense.MedicationDispensePerformerComponent t : src.getPerformer()) 041 tgt.addPerformer(convertMedicationDispensePerformerComponent(t)); 042 for (org.hl7.fhir.r5.model.Reference t : src.getAuthorizingPrescription()) 043 tgt.addAuthorizingPrescription(Reference30_50.convertReference(t)); 044 if (src.hasType()) 045 tgt.setType(CodeableConcept30_50.convertCodeableConcept(src.getType())); 046 if (src.hasQuantity()) 047 tgt.setQuantity(SimpleQuantity30_50.convertSimpleQuantity(src.getQuantity())); 048 if (src.hasDaysSupply()) 049 tgt.setDaysSupply(SimpleQuantity30_50.convertSimpleQuantity(src.getDaysSupply())); 050 if (src.hasWhenPrepared()) 051 tgt.setWhenPreparedElement(DateTime30_50.convertDateTime(src.getWhenPreparedElement())); 052 if (src.hasWhenHandedOver()) 053 tgt.setWhenHandedOverElement(DateTime30_50.convertDateTime(src.getWhenHandedOverElement())); 054 if (src.hasDestination()) 055 tgt.setDestination(Reference30_50.convertReference(src.getDestination())); 056 for (org.hl7.fhir.r5.model.Reference t : src.getReceiver()) tgt.addReceiver(Reference30_50.convertReference(t)); 057 for (org.hl7.fhir.r5.model.Annotation t : src.getNote()) tgt.addNote(Annotation30_50.convertAnnotation(t)); 058 for (org.hl7.fhir.r5.model.Dosage t : src.getDosageInstruction()) 059 tgt.addDosageInstruction(Dosage30_50.convertDosage(t)); 060 if (src.hasSubstitution()) 061 tgt.setSubstitution(convertMedicationDispenseSubstitutionComponent(src.getSubstitution())); 062// for (org.hl7.fhir.r5.model.Reference t : src.getDetectedIssue()) 063// tgt.addDetectedIssue(Reference30_50.convertReference(t)); 064 for (org.hl7.fhir.r5.model.Reference t : src.getEventHistory()) 065 tgt.addEventHistory(Reference30_50.convertReference(t)); 066 return tgt; 067 } 068 069 public static org.hl7.fhir.r5.model.MedicationDispense convertMedicationDispense(org.hl7.fhir.dstu3.model.MedicationDispense src) throws FHIRException { 070 if (src == null) 071 return null; 072 org.hl7.fhir.r5.model.MedicationDispense tgt = new org.hl7.fhir.r5.model.MedicationDispense(); 073 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyDomainResource(src, tgt); 074 for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) 075 tgt.addIdentifier(Identifier30_50.convertIdentifier(t)); 076 for (org.hl7.fhir.dstu3.model.Reference t : src.getPartOf()) tgt.addPartOf(Reference30_50.convertReference(t)); 077 if (src.hasStatus()) 078 tgt.setStatusElement(convertMedicationDispenseStatus(src.getStatusElement())); 079 if (src.hasCategory()) 080 tgt.addCategory(CodeableConcept30_50.convertCodeableConcept(src.getCategory())); 081 if (src.hasMedicationCodeableConcept()) 082 tgt.getMedication().setConcept(CodeableConcept30_50.convertCodeableConcept(src.getMedicationCodeableConcept())); 083 if (src.hasMedicationReference()) 084 tgt.getMedication().setReference(Reference30_50.convertReference(src.getMedicationReference())); 085 if (src.hasSubject()) 086 tgt.setSubject(Reference30_50.convertReference(src.getSubject())); 087 if (src.hasContext()) 088 tgt.setEncounter(Reference30_50.convertReference(src.getContext())); 089 for (org.hl7.fhir.dstu3.model.Reference t : src.getSupportingInformation()) 090 tgt.addSupportingInformation(Reference30_50.convertReference(t)); 091 for (org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispensePerformerComponent t : src.getPerformer()) 092 tgt.addPerformer(convertMedicationDispensePerformerComponent(t)); 093 for (org.hl7.fhir.dstu3.model.Reference t : src.getAuthorizingPrescription()) 094 tgt.addAuthorizingPrescription(Reference30_50.convertReference(t)); 095 if (src.hasType()) 096 tgt.setType(CodeableConcept30_50.convertCodeableConcept(src.getType())); 097 if (src.hasQuantity()) 098 tgt.setQuantity(SimpleQuantity30_50.convertSimpleQuantity(src.getQuantity())); 099 if (src.hasDaysSupply()) 100 tgt.setDaysSupply(SimpleQuantity30_50.convertSimpleQuantity(src.getDaysSupply())); 101 if (src.hasWhenPrepared()) 102 tgt.setWhenPreparedElement(DateTime30_50.convertDateTime(src.getWhenPreparedElement())); 103 if (src.hasWhenHandedOver()) 104 tgt.setWhenHandedOverElement(DateTime30_50.convertDateTime(src.getWhenHandedOverElement())); 105 if (src.hasDestination()) 106 tgt.setDestination(Reference30_50.convertReference(src.getDestination())); 107 for (org.hl7.fhir.dstu3.model.Reference t : src.getReceiver()) tgt.addReceiver(Reference30_50.convertReference(t)); 108 for (org.hl7.fhir.dstu3.model.Annotation t : src.getNote()) tgt.addNote(Annotation30_50.convertAnnotation(t)); 109 for (org.hl7.fhir.dstu3.model.Dosage t : src.getDosageInstruction()) 110 tgt.addDosageInstruction(Dosage30_50.convertDosage(t)); 111 if (src.hasSubstitution()) 112 tgt.setSubstitution(convertMedicationDispenseSubstitutionComponent(src.getSubstitution())); 113// for (org.hl7.fhir.dstu3.model.Reference t : src.getDetectedIssue()) 114// tgt.addDetectedIssue(Reference30_50.convertReference(t)); 115 for (org.hl7.fhir.dstu3.model.Reference t : src.getEventHistory()) 116 tgt.addEventHistory(Reference30_50.convertReference(t)); 117 return tgt; 118 } 119 120 public static org.hl7.fhir.r5.model.MedicationDispense.MedicationDispensePerformerComponent convertMedicationDispensePerformerComponent(org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispensePerformerComponent src) throws FHIRException { 121 if (src == null) 122 return null; 123 org.hl7.fhir.r5.model.MedicationDispense.MedicationDispensePerformerComponent tgt = new org.hl7.fhir.r5.model.MedicationDispense.MedicationDispensePerformerComponent(); 124 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 125 if (src.hasActor()) 126 tgt.setActor(Reference30_50.convertReference(src.getActor())); 127 return tgt; 128 } 129 130 public static org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispensePerformerComponent convertMedicationDispensePerformerComponent(org.hl7.fhir.r5.model.MedicationDispense.MedicationDispensePerformerComponent src) throws FHIRException { 131 if (src == null) 132 return null; 133 org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispensePerformerComponent tgt = new org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispensePerformerComponent(); 134 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 135 if (src.hasActor()) 136 tgt.setActor(Reference30_50.convertReference(src.getActor())); 137 return tgt; 138 } 139 140 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispenseStatus> convertMedicationDispenseStatus(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.MedicationDispense.MedicationDispenseStatusCodes> src) throws FHIRException { 141 if (src == null) 142 return null; 143 Enumeration<MedicationDispense.MedicationDispenseStatus> tgt = new Enumeration<MedicationDispense.MedicationDispenseStatus>(); 144 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 145 if (src.getValue() == null) { 146 tgt.setValue(null); 147 } else { 148 switch (src.getValue()) { 149 case PREPARATION: 150 tgt.setValue(MedicationDispense.MedicationDispenseStatus.PREPARATION); 151 break; 152 case INPROGRESS: 153 tgt.setValue(MedicationDispense.MedicationDispenseStatus.INPROGRESS); 154 break; 155 case ONHOLD: 156 tgt.setValue(MedicationDispense.MedicationDispenseStatus.ONHOLD); 157 break; 158 case COMPLETED: 159 tgt.setValue(MedicationDispense.MedicationDispenseStatus.COMPLETED); 160 break; 161 case ENTEREDINERROR: 162 tgt.setValue(MedicationDispense.MedicationDispenseStatus.ENTEREDINERROR); 163 break; 164 case STOPPED: 165 tgt.setValue(MedicationDispense.MedicationDispenseStatus.STOPPED); 166 break; 167 case DECLINED: 168 tgt.setValue(MedicationDispense.MedicationDispenseStatus.STOPPED); 169 break; 170 case NULL: 171 tgt.setValue(MedicationDispense.MedicationDispenseStatus.NULL); 172 break; 173 } 174 } 175 return tgt; 176 } 177 178 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.MedicationDispense.MedicationDispenseStatusCodes> convertMedicationDispenseStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispenseStatus> src) throws FHIRException { 179 if (src == null) 180 return null; 181 org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.MedicationDispense.MedicationDispenseStatusCodes> tgt = new org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.MedicationDispense.MedicationDispenseStatusCodes>(new org.hl7.fhir.r5.model.MedicationDispense.MedicationDispenseStatusCodesEnumFactory()); 182 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 183 if (src.getValue() == null) { 184 tgt.setValue(null); 185 } else { 186 switch (src.getValue()) { 187 case PREPARATION: 188 tgt.setValue(org.hl7.fhir.r5.model.MedicationDispense.MedicationDispenseStatusCodes.PREPARATION); 189 break; 190 case INPROGRESS: 191 tgt.setValue(org.hl7.fhir.r5.model.MedicationDispense.MedicationDispenseStatusCodes.INPROGRESS); 192 break; 193 case ONHOLD: 194 tgt.setValue(org.hl7.fhir.r5.model.MedicationDispense.MedicationDispenseStatusCodes.ONHOLD); 195 break; 196 case COMPLETED: 197 tgt.setValue(org.hl7.fhir.r5.model.MedicationDispense.MedicationDispenseStatusCodes.COMPLETED); 198 break; 199 case ENTEREDINERROR: 200 tgt.setValue(org.hl7.fhir.r5.model.MedicationDispense.MedicationDispenseStatusCodes.ENTEREDINERROR); 201 break; 202 case STOPPED: 203 tgt.setValue(org.hl7.fhir.r5.model.MedicationDispense.MedicationDispenseStatusCodes.STOPPED); 204 break; 205 case NULL: 206 tgt.setValue(org.hl7.fhir.r5.model.MedicationDispense.MedicationDispenseStatusCodes.NULL); 207 break; 208 } 209 } 210 return tgt; 211 } 212 213 public static org.hl7.fhir.r5.model.MedicationDispense.MedicationDispenseSubstitutionComponent convertMedicationDispenseSubstitutionComponent(org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispenseSubstitutionComponent src) throws FHIRException { 214 if (src == null) 215 return null; 216 org.hl7.fhir.r5.model.MedicationDispense.MedicationDispenseSubstitutionComponent tgt = new org.hl7.fhir.r5.model.MedicationDispense.MedicationDispenseSubstitutionComponent(); 217 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 218 if (src.hasWasSubstituted()) 219 tgt.setWasSubstitutedElement(Boolean30_50.convertBoolean(src.getWasSubstitutedElement())); 220 if (src.hasType()) 221 tgt.setType(CodeableConcept30_50.convertCodeableConcept(src.getType())); 222 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getReason()) 223 tgt.addReason(CodeableConcept30_50.convertCodeableConcept(t)); 224 for (org.hl7.fhir.dstu3.model.Reference t : src.getResponsibleParty()) 225 tgt.setResponsibleParty(Reference30_50.convertReference(t)); 226 return tgt; 227 } 228 229 public static org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispenseSubstitutionComponent convertMedicationDispenseSubstitutionComponent(org.hl7.fhir.r5.model.MedicationDispense.MedicationDispenseSubstitutionComponent src) throws FHIRException { 230 if (src == null) 231 return null; 232 org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispenseSubstitutionComponent tgt = new org.hl7.fhir.dstu3.model.MedicationDispense.MedicationDispenseSubstitutionComponent(); 233 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 234 if (src.hasWasSubstituted()) 235 tgt.setWasSubstitutedElement(Boolean30_50.convertBoolean(src.getWasSubstitutedElement())); 236 if (src.hasType()) 237 tgt.setType(CodeableConcept30_50.convertCodeableConcept(src.getType())); 238 for (org.hl7.fhir.r5.model.CodeableConcept t : src.getReason()) 239 tgt.addReason(CodeableConcept30_50.convertCodeableConcept(t)); 240 if (src.hasResponsibleParty()) 241 tgt.addResponsibleParty(Reference30_50.convertReference(src.getResponsibleParty())); 242 return tgt; 243 } 244}