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