001package org.hl7.fhir.convertors.conv30_40.resources30_40; 002 003import org.hl7.fhir.convertors.context.ConversionContext30_40; 004import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; 005import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Annotation30_40; 006import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; 007import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; 008import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Quantity30_40; 009import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.SimpleQuantity30_40; 010import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; 011import org.hl7.fhir.dstu3.model.SimpleQuantity; 012import org.hl7.fhir.exceptions.FHIRException; 013 014public class MedicationAdministration30_40 { 015 016 public static org.hl7.fhir.dstu3.model.MedicationAdministration convertMedicationAdministration(org.hl7.fhir.r4.model.MedicationAdministration src) throws FHIRException { 017 if (src == null) 018 return null; 019 org.hl7.fhir.dstu3.model.MedicationAdministration tgt = new org.hl7.fhir.dstu3.model.MedicationAdministration(); 020 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt); 021 for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier()) 022 tgt.addIdentifier(Identifier30_40.convertIdentifier(t)); 023 for (org.hl7.fhir.r4.model.UriType t : src.getInstantiates()) tgt.addDefinition().setReference(t.getValue()); 024 for (org.hl7.fhir.r4.model.Reference t : src.getPartOf()) tgt.addPartOf(Reference30_40.convertReference(t)); 025 if (src.hasStatus()) 026 tgt.setStatusElement(convertMedicationAdministrationStatus(src.getStatusElement())); 027 if (src.hasCategory()) 028 tgt.setCategory(CodeableConcept30_40.convertCodeableConcept(src.getCategory())); 029 if (src.hasMedication()) 030 tgt.setMedication(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getMedication())); 031 if (src.hasSubject()) 032 tgt.setSubject(Reference30_40.convertReference(src.getSubject())); 033 if (src.hasContext()) 034 tgt.setContext(Reference30_40.convertReference(src.getContext())); 035 for (org.hl7.fhir.r4.model.Reference t : src.getSupportingInformation()) 036 tgt.addSupportingInformation(Reference30_40.convertReference(t)); 037 if (src.hasEffective()) 038 tgt.setEffective(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getEffective())); 039 for (org.hl7.fhir.r4.model.MedicationAdministration.MedicationAdministrationPerformerComponent t : src.getPerformer()) 040 tgt.addPerformer(convertMedicationAdministrationPerformerComponent(t)); 041 for (org.hl7.fhir.r4.model.CodeableConcept t : src.getReasonCode()) 042 tgt.addReasonCode(CodeableConcept30_40.convertCodeableConcept(t)); 043 for (org.hl7.fhir.r4.model.Reference t : src.getReasonReference()) 044 tgt.addReasonReference(Reference30_40.convertReference(t)); 045 if (src.hasRequest()) 046 tgt.setPrescription(Reference30_40.convertReference(src.getRequest())); 047 for (org.hl7.fhir.r4.model.Reference t : src.getDevice()) tgt.addDevice(Reference30_40.convertReference(t)); 048 for (org.hl7.fhir.r4.model.Annotation t : src.getNote()) tgt.addNote(Annotation30_40.convertAnnotation(t)); 049 if (src.hasDosage()) 050 tgt.setDosage(convertMedicationAdministrationDosageComponent(src.getDosage())); 051 for (org.hl7.fhir.r4.model.Reference t : src.getEventHistory()) 052 tgt.addEventHistory(Reference30_40.convertReference(t)); 053 return tgt; 054 } 055 056 public static org.hl7.fhir.r4.model.MedicationAdministration convertMedicationAdministration(org.hl7.fhir.dstu3.model.MedicationAdministration src) throws FHIRException { 057 if (src == null) 058 return null; 059 org.hl7.fhir.r4.model.MedicationAdministration tgt = new org.hl7.fhir.r4.model.MedicationAdministration(); 060 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt); 061 for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) 062 tgt.addIdentifier(Identifier30_40.convertIdentifier(t)); 063 for (org.hl7.fhir.dstu3.model.Reference t : src.getDefinition()) tgt.addInstantiates(t.getReference()); 064 for (org.hl7.fhir.dstu3.model.Reference t : src.getPartOf()) tgt.addPartOf(Reference30_40.convertReference(t)); 065 if (src.hasStatus()) 066 tgt.setStatusElement(convertMedicationAdministrationStatus(src.getStatusElement())); 067 if (src.hasCategory()) 068 tgt.setCategory(CodeableConcept30_40.convertCodeableConcept(src.getCategory())); 069 if (src.hasMedication()) 070 tgt.setMedication(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getMedication())); 071 if (src.hasSubject()) 072 tgt.setSubject(Reference30_40.convertReference(src.getSubject())); 073 if (src.hasContext()) 074 tgt.setContext(Reference30_40.convertReference(src.getContext())); 075 for (org.hl7.fhir.dstu3.model.Reference t : src.getSupportingInformation()) 076 tgt.addSupportingInformation(Reference30_40.convertReference(t)); 077 if (src.hasEffective()) 078 tgt.setEffective(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getEffective())); 079 for (org.hl7.fhir.dstu3.model.MedicationAdministration.MedicationAdministrationPerformerComponent t : src.getPerformer()) 080 tgt.addPerformer(convertMedicationAdministrationPerformerComponent(t)); 081 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getReasonCode()) 082 tgt.addReasonCode(CodeableConcept30_40.convertCodeableConcept(t)); 083 for (org.hl7.fhir.dstu3.model.Reference t : src.getReasonReference()) 084 tgt.addReasonReference(Reference30_40.convertReference(t)); 085 if (src.hasPrescription()) 086 tgt.setRequest(Reference30_40.convertReference(src.getPrescription())); 087 for (org.hl7.fhir.dstu3.model.Reference t : src.getDevice()) tgt.addDevice(Reference30_40.convertReference(t)); 088 for (org.hl7.fhir.dstu3.model.Annotation t : src.getNote()) tgt.addNote(Annotation30_40.convertAnnotation(t)); 089 if (src.hasDosage()) 090 tgt.setDosage(convertMedicationAdministrationDosageComponent(src.getDosage())); 091 for (org.hl7.fhir.dstu3.model.Reference t : src.getEventHistory()) 092 tgt.addEventHistory(Reference30_40.convertReference(t)); 093 return tgt; 094 } 095 096 public static org.hl7.fhir.r4.model.MedicationAdministration.MedicationAdministrationDosageComponent convertMedicationAdministrationDosageComponent(org.hl7.fhir.dstu3.model.MedicationAdministration.MedicationAdministrationDosageComponent src) throws FHIRException { 097 if (src == null) 098 return null; 099 org.hl7.fhir.r4.model.MedicationAdministration.MedicationAdministrationDosageComponent tgt = new org.hl7.fhir.r4.model.MedicationAdministration.MedicationAdministrationDosageComponent(); 100 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 101 if (src.hasText()) 102 tgt.setTextElement(String30_40.convertString(src.getTextElement())); 103 if (src.hasSite()) 104 tgt.setSite(CodeableConcept30_40.convertCodeableConcept(src.getSite())); 105 if (src.hasRoute()) 106 tgt.setRoute(CodeableConcept30_40.convertCodeableConcept(src.getRoute())); 107 if (src.hasMethod()) 108 tgt.setMethod(CodeableConcept30_40.convertCodeableConcept(src.getMethod())); 109 if (src.hasDose()) 110 tgt.setDose(SimpleQuantity30_40.convertSimpleQuantity(src.getDose())); 111 if (src.hasRate()) 112 tgt.setRate(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getRate())); 113 return tgt; 114 } 115 116 public static org.hl7.fhir.dstu3.model.MedicationAdministration.MedicationAdministrationDosageComponent convertMedicationAdministrationDosageComponent(org.hl7.fhir.r4.model.MedicationAdministration.MedicationAdministrationDosageComponent src) throws FHIRException { 117 if (src == null) 118 return null; 119 org.hl7.fhir.dstu3.model.MedicationAdministration.MedicationAdministrationDosageComponent tgt = new org.hl7.fhir.dstu3.model.MedicationAdministration.MedicationAdministrationDosageComponent(); 120 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 121 if (src.hasText()) 122 tgt.setTextElement(String30_40.convertString(src.getTextElement())); 123 if (src.hasSite()) 124 tgt.setSite(CodeableConcept30_40.convertCodeableConcept(src.getSite())); 125 if (src.hasRoute()) 126 tgt.setRoute(CodeableConcept30_40.convertCodeableConcept(src.getRoute())); 127 if (src.hasMethod()) 128 tgt.setMethod(CodeableConcept30_40.convertCodeableConcept(src.getMethod())); 129 if (src.hasDose()) 130 tgt.setDose(SimpleQuantity30_40.convertSimpleQuantity(src.getDose())); 131 if (src.hasRate()) { 132 if (src.hasRateQuantity()) { 133 tgt.setRate(new SimpleQuantity()); 134 Quantity30_40.copyQuantity(src.getRateQuantity(), tgt.getRateSimpleQuantity()); 135 } else { 136 tgt.setRate(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getRate())); 137 } 138 } 139 return tgt; 140 } 141 142 public static org.hl7.fhir.r4.model.MedicationAdministration.MedicationAdministrationPerformerComponent convertMedicationAdministrationPerformerComponent(org.hl7.fhir.dstu3.model.MedicationAdministration.MedicationAdministrationPerformerComponent src) throws FHIRException { 143 if (src == null) 144 return null; 145 org.hl7.fhir.r4.model.MedicationAdministration.MedicationAdministrationPerformerComponent tgt = new org.hl7.fhir.r4.model.MedicationAdministration.MedicationAdministrationPerformerComponent(); 146 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 147 if (src.hasActor()) 148 tgt.setActor(Reference30_40.convertReference(src.getActor())); 149 return tgt; 150 } 151 152 public static org.hl7.fhir.dstu3.model.MedicationAdministration.MedicationAdministrationPerformerComponent convertMedicationAdministrationPerformerComponent(org.hl7.fhir.r4.model.MedicationAdministration.MedicationAdministrationPerformerComponent src) throws FHIRException { 153 if (src == null) 154 return null; 155 org.hl7.fhir.dstu3.model.MedicationAdministration.MedicationAdministrationPerformerComponent tgt = new org.hl7.fhir.dstu3.model.MedicationAdministration.MedicationAdministrationPerformerComponent(); 156 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 157 if (src.hasActor()) 158 tgt.setActor(Reference30_40.convertReference(src.getActor())); 159 return tgt; 160 } 161 162 private static org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.MedicationAdministration.MedicationAdministrationStatus> convertMedicationAdministrationStatus(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.MedicationAdministration.MedicationAdministrationStatus> src) { 163 if (src == null) 164 return null; 165 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.MedicationAdministration.MedicationAdministrationStatus> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.MedicationAdministration.MedicationAdministrationStatusEnumFactory()); 166 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 167 // 168 switch (src.getValue()) { 169 case COMPLETED: 170 tgt.setValue(org.hl7.fhir.dstu3.model.MedicationAdministration.MedicationAdministrationStatus.COMPLETED); 171 break; 172 case ENTEREDINERROR: 173 tgt.setValue(org.hl7.fhir.dstu3.model.MedicationAdministration.MedicationAdministrationStatus.ENTEREDINERROR); 174 break; 175 case INPROGRESS: 176 tgt.setValue(org.hl7.fhir.dstu3.model.MedicationAdministration.MedicationAdministrationStatus.INPROGRESS); 177 break; 178 case NOTDONE: 179 tgt.setValue(org.hl7.fhir.dstu3.model.MedicationAdministration.MedicationAdministrationStatus.STOPPED); 180 break; 181 case NULL: 182 tgt.setValue(org.hl7.fhir.dstu3.model.MedicationAdministration.MedicationAdministrationStatus.NULL); 183 break; 184 case ONHOLD: 185 tgt.setValue(org.hl7.fhir.dstu3.model.MedicationAdministration.MedicationAdministrationStatus.ONHOLD); 186 break; 187 case STOPPED: 188 tgt.setValue(org.hl7.fhir.dstu3.model.MedicationAdministration.MedicationAdministrationStatus.STOPPED); 189 break; 190 case UNKNOWN: 191 tgt.setValue(org.hl7.fhir.dstu3.model.MedicationAdministration.MedicationAdministrationStatus.UNKNOWN); 192 break; 193 } 194 return tgt; 195 } 196 197 private static org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.MedicationAdministration.MedicationAdministrationStatus> convertMedicationAdministrationStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.MedicationAdministration.MedicationAdministrationStatus> src) { 198 if (src == null) 199 return null; 200 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.MedicationAdministration.MedicationAdministrationStatus> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.MedicationAdministration.MedicationAdministrationStatusEnumFactory()); 201 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 202 // 203 switch (src.getValue()) { 204 case COMPLETED: 205 tgt.setValue(org.hl7.fhir.r4.model.MedicationAdministration.MedicationAdministrationStatus.COMPLETED); 206 break; 207 case ENTEREDINERROR: 208 tgt.setValue(org.hl7.fhir.r4.model.MedicationAdministration.MedicationAdministrationStatus.ENTEREDINERROR); 209 break; 210 case INPROGRESS: 211 tgt.setValue(org.hl7.fhir.r4.model.MedicationAdministration.MedicationAdministrationStatus.INPROGRESS); 212 break; 213 case NULL: 214 tgt.setValue(org.hl7.fhir.r4.model.MedicationAdministration.MedicationAdministrationStatus.NULL); 215 break; 216 case ONHOLD: 217 tgt.setValue(org.hl7.fhir.r4.model.MedicationAdministration.MedicationAdministrationStatus.ONHOLD); 218 break; 219 case STOPPED: 220 tgt.setValue(org.hl7.fhir.r4.model.MedicationAdministration.MedicationAdministrationStatus.STOPPED); 221 break; 222 case UNKNOWN: 223 tgt.setValue(org.hl7.fhir.r4.model.MedicationAdministration.MedicationAdministrationStatus.UNKNOWN); 224 break; 225 } 226 return tgt; 227 } 228}