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