
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.Dosage30_40; 005import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; 006import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Annotation30_40; 007import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; 008import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Duration30_40; 009import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; 010import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Period30_40; 011import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.SimpleQuantity30_40; 012import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; 013import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; 014import org.hl7.fhir.dstu3.model.Enumeration; 015import org.hl7.fhir.dstu3.model.MedicationRequest; 016import org.hl7.fhir.exceptions.FHIRException; 017 018public class MedicationRequest30_40 { 019 020 public static org.hl7.fhir.dstu3.model.MedicationRequest convertMedicationRequest(org.hl7.fhir.r4.model.MedicationRequest src) throws FHIRException { 021 if (src == null) 022 return null; 023 org.hl7.fhir.dstu3.model.MedicationRequest tgt = new org.hl7.fhir.dstu3.model.MedicationRequest(); 024 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt); 025 for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier()) 026 tgt.addIdentifier(Identifier30_40.convertIdentifier(t)); 027 for (org.hl7.fhir.r4.model.Reference t : src.getBasedOn()) tgt.addBasedOn(Reference30_40.convertReference(t)); 028 if (src.hasGroupIdentifier()) 029 tgt.setGroupIdentifier(Identifier30_40.convertIdentifier(src.getGroupIdentifier())); 030 if (src.hasStatus()) 031 tgt.setStatusElement(convertMedicationRequestStatus(src.getStatusElement())); 032 if (src.hasIntent()) 033 tgt.setIntentElement(convertMedicationRequestIntent(src.getIntentElement())); 034 if (src.hasPriority()) 035 tgt.setPriorityElement(convertMedicationRequestPriority(src.getPriorityElement())); 036 if (src.hasMedication()) 037 tgt.setMedication(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getMedication())); 038 if (src.hasSubject()) 039 tgt.setSubject(Reference30_40.convertReference(src.getSubject())); 040 if (src.hasEncounter()) 041 tgt.setContext(Reference30_40.convertReference(src.getEncounter())); 042 for (org.hl7.fhir.r4.model.Reference t : src.getSupportingInformation()) 043 tgt.addSupportingInformation(Reference30_40.convertReference(t)); 044 if (src.hasAuthoredOn()) 045 tgt.setAuthoredOnElement(DateTime30_40.convertDateTime(src.getAuthoredOnElement())); 046 if (src.hasRecorder()) 047 tgt.setRecorder(Reference30_40.convertReference(src.getRecorder())); 048 for (org.hl7.fhir.r4.model.CodeableConcept t : src.getReasonCode()) 049 tgt.addReasonCode(CodeableConcept30_40.convertCodeableConcept(t)); 050 for (org.hl7.fhir.r4.model.Reference t : src.getReasonReference()) 051 tgt.addReasonReference(Reference30_40.convertReference(t)); 052 for (org.hl7.fhir.r4.model.Annotation t : src.getNote()) tgt.addNote(Annotation30_40.convertAnnotation(t)); 053 for (org.hl7.fhir.r4.model.Dosage t : src.getDosageInstruction()) 054 tgt.addDosageInstruction(Dosage30_40.convertDosage(t)); 055 if (src.hasDispenseRequest()) 056 tgt.setDispenseRequest(convertMedicationRequestDispenseRequestComponent(src.getDispenseRequest())); 057 if (src.hasSubstitution()) 058 tgt.setSubstitution(convertMedicationRequestSubstitutionComponent(src.getSubstitution())); 059 if (src.hasPriorPrescription()) 060 tgt.setPriorPrescription(Reference30_40.convertReference(src.getPriorPrescription())); 061 for (org.hl7.fhir.r4.model.Reference t : src.getDetectedIssue()) 062 tgt.addDetectedIssue(Reference30_40.convertReference(t)); 063 for (org.hl7.fhir.r4.model.Reference t : src.getEventHistory()) 064 tgt.addEventHistory(Reference30_40.convertReference(t)); 065 if (src.hasRequester()) { 066 tgt.getRequester().setAgent(Reference30_40.convertReference(src.getRequester())); 067 } 068 return tgt; 069 } 070 071 public static org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestDispenseRequestComponent convertMedicationRequestDispenseRequestComponent(org.hl7.fhir.dstu3.model.MedicationRequest.MedicationRequestDispenseRequestComponent src) throws FHIRException { 072 if (src == null) 073 return null; 074 org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestDispenseRequestComponent tgt = new org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestDispenseRequestComponent(); 075 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 076 if (src.hasValidityPeriod()) 077 tgt.setValidityPeriod(Period30_40.convertPeriod(src.getValidityPeriod())); 078 if (src.hasNumberOfRepeatsAllowed()) 079 tgt.setNumberOfRepeatsAllowed(src.getNumberOfRepeatsAllowed()); 080 if (src.hasQuantity()) 081 tgt.setQuantity(SimpleQuantity30_40.convertSimpleQuantity(src.getQuantity())); 082 if (src.hasExpectedSupplyDuration()) 083 tgt.setExpectedSupplyDuration(Duration30_40.convertDuration(src.getExpectedSupplyDuration())); 084 if (src.hasPerformer()) 085 tgt.setPerformer(Reference30_40.convertReference(src.getPerformer())); 086 return tgt; 087 } 088 089 public static org.hl7.fhir.dstu3.model.MedicationRequest.MedicationRequestDispenseRequestComponent convertMedicationRequestDispenseRequestComponent(org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestDispenseRequestComponent src) throws FHIRException { 090 if (src == null) 091 return null; 092 org.hl7.fhir.dstu3.model.MedicationRequest.MedicationRequestDispenseRequestComponent tgt = new org.hl7.fhir.dstu3.model.MedicationRequest.MedicationRequestDispenseRequestComponent(); 093 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 094 if (src.hasValidityPeriod()) 095 tgt.setValidityPeriod(Period30_40.convertPeriod(src.getValidityPeriod())); 096 if (src.hasNumberOfRepeatsAllowed()) 097 tgt.setNumberOfRepeatsAllowed(src.getNumberOfRepeatsAllowed()); 098 if (src.hasQuantity()) 099 tgt.setQuantity(SimpleQuantity30_40.convertSimpleQuantity(src.getQuantity())); 100 if (src.hasExpectedSupplyDuration()) 101 tgt.setExpectedSupplyDuration(Duration30_40.convertDuration(src.getExpectedSupplyDuration())); 102 if (src.hasPerformer()) 103 tgt.setPerformer(Reference30_40.convertReference(src.getPerformer())); 104 return tgt; 105 } 106 107 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.MedicationRequest.MedicationRequestIntent> convertMedicationRequestIntent(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestIntent> src) throws FHIRException { 108 if (src == null || src.isEmpty()) 109 return null; 110 Enumeration<MedicationRequest.MedicationRequestIntent> tgt = new Enumeration<>(new MedicationRequest.MedicationRequestIntentEnumFactory()); 111 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 112 if (src.getValue() == null) { 113 tgt.setValue(null); 114 } else { 115 switch (src.getValue()) { 116 case PROPOSAL: 117 tgt.setValue(MedicationRequest.MedicationRequestIntent.PROPOSAL); 118 break; 119 case PLAN: 120 tgt.setValue(MedicationRequest.MedicationRequestIntent.PLAN); 121 break; 122 case ORDER: 123 tgt.setValue(MedicationRequest.MedicationRequestIntent.ORDER); 124 break; 125 case INSTANCEORDER: 126 tgt.setValue(MedicationRequest.MedicationRequestIntent.INSTANCEORDER); 127 break; 128 default: 129 tgt.setValue(MedicationRequest.MedicationRequestIntent.NULL); 130 break; 131 } 132 } 133 return tgt; 134 } 135 136 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestIntent> convertMedicationRequestIntent(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.MedicationRequest.MedicationRequestIntent> src) throws FHIRException { 137 if (src == null || src.isEmpty()) 138 return null; 139 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestIntent> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestIntentEnumFactory()); 140 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 141 if (src.getValue() == null) { 142 tgt.setValue(null); 143 } else { 144 switch (src.getValue()) { 145 case PROPOSAL: 146 tgt.setValue(org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestIntent.PROPOSAL); 147 break; 148 case PLAN: 149 tgt.setValue(org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestIntent.PLAN); 150 break; 151 case ORDER: 152 tgt.setValue(org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestIntent.ORDER); 153 break; 154 case INSTANCEORDER: 155 tgt.setValue(org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestIntent.INSTANCEORDER); 156 break; 157 default: 158 tgt.setValue(org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestIntent.NULL); 159 break; 160 } 161 } 162 return tgt; 163 } 164 165 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestPriority> convertMedicationRequestPriority(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.MedicationRequest.MedicationRequestPriority> src) throws FHIRException { 166 if (src == null || src.isEmpty()) 167 return null; 168 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestPriority> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestPriorityEnumFactory()); 169 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 170 if (src.getValue() == null) { 171 tgt.setValue(null); 172 } else { 173 switch (src.getValue()) { 174 case ROUTINE: 175 tgt.setValue(org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestPriority.ROUTINE); 176 break; 177 case URGENT: 178 tgt.setValue(org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestPriority.URGENT); 179 break; 180 case STAT: 181 tgt.setValue(org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestPriority.STAT); 182 break; 183 case ASAP: 184 tgt.setValue(org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestPriority.ASAP); 185 break; 186 default: 187 tgt.setValue(org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestPriority.NULL); 188 break; 189 } 190 } 191 return tgt; 192 } 193 194 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.MedicationRequest.MedicationRequestPriority> convertMedicationRequestPriority(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestPriority> src) throws FHIRException { 195 if (src == null || src.isEmpty()) 196 return null; 197 Enumeration<MedicationRequest.MedicationRequestPriority> tgt = new Enumeration<>(new MedicationRequest.MedicationRequestPriorityEnumFactory()); 198 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 199 if (src.getValue() == null) { 200 tgt.setValue(null); 201 } else { 202 switch (src.getValue()) { 203 case ROUTINE: 204 tgt.setValue(MedicationRequest.MedicationRequestPriority.ROUTINE); 205 break; 206 case URGENT: 207 tgt.setValue(MedicationRequest.MedicationRequestPriority.URGENT); 208 break; 209 case STAT: 210 tgt.setValue(MedicationRequest.MedicationRequestPriority.STAT); 211 break; 212 case ASAP: 213 tgt.setValue(MedicationRequest.MedicationRequestPriority.ASAP); 214 break; 215 default: 216 tgt.setValue(MedicationRequest.MedicationRequestPriority.NULL); 217 break; 218 } 219 } 220 return tgt; 221 } 222 223 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestStatus> convertMedicationRequestStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.MedicationRequest.MedicationRequestStatus> src) throws FHIRException { 224 if (src == null || src.isEmpty()) 225 return null; 226 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestStatus> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestStatusEnumFactory()); 227 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 228 if (src.getValue() == null) { 229 tgt.setValue(null); 230 } else { 231 switch (src.getValue()) { 232 case ACTIVE: 233 tgt.setValue(org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestStatus.ACTIVE); 234 break; 235 case ONHOLD: 236 tgt.setValue(org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestStatus.ONHOLD); 237 break; 238 case CANCELLED: 239 tgt.setValue(org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestStatus.CANCELLED); 240 break; 241 case COMPLETED: 242 tgt.setValue(org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestStatus.COMPLETED); 243 break; 244 case ENTEREDINERROR: 245 tgt.setValue(org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestStatus.ENTEREDINERROR); 246 break; 247 case STOPPED: 248 tgt.setValue(org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestStatus.STOPPED); 249 break; 250 case DRAFT: 251 tgt.setValue(org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestStatus.DRAFT); 252 break; 253 case UNKNOWN: 254 tgt.setValue(org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestStatus.UNKNOWN); 255 break; 256 default: 257 tgt.setValue(org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestStatus.NULL); 258 break; 259 } 260 } 261 return tgt; 262 } 263 264 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.MedicationRequest.MedicationRequestStatus> convertMedicationRequestStatus(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestStatus> src) throws FHIRException { 265 if (src == null || src.isEmpty()) 266 return null; 267 Enumeration<MedicationRequest.MedicationRequestStatus> tgt = new Enumeration<>(new MedicationRequest.MedicationRequestStatusEnumFactory()); 268 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 269 if (src.getValue() == null) { 270 tgt.setValue(null); 271 } else { 272 switch (src.getValue()) { 273 case ACTIVE: 274 tgt.setValue(MedicationRequest.MedicationRequestStatus.ACTIVE); 275 break; 276 case ONHOLD: 277 tgt.setValue(MedicationRequest.MedicationRequestStatus.ONHOLD); 278 break; 279 case CANCELLED: 280 tgt.setValue(MedicationRequest.MedicationRequestStatus.CANCELLED); 281 break; 282 case COMPLETED: 283 tgt.setValue(MedicationRequest.MedicationRequestStatus.COMPLETED); 284 break; 285 case ENTEREDINERROR: 286 tgt.setValue(MedicationRequest.MedicationRequestStatus.ENTEREDINERROR); 287 break; 288 case STOPPED: 289 tgt.setValue(MedicationRequest.MedicationRequestStatus.STOPPED); 290 break; 291 case DRAFT: 292 tgt.setValue(MedicationRequest.MedicationRequestStatus.DRAFT); 293 break; 294 case UNKNOWN: 295 tgt.setValue(MedicationRequest.MedicationRequestStatus.UNKNOWN); 296 break; 297 default: 298 tgt.setValue(MedicationRequest.MedicationRequestStatus.NULL); 299 break; 300 } 301 } 302 return tgt; 303 } 304 305 public static org.hl7.fhir.dstu3.model.MedicationRequest.MedicationRequestSubstitutionComponent convertMedicationRequestSubstitutionComponent(org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestSubstitutionComponent src) throws FHIRException { 306 if (src == null) 307 return null; 308 org.hl7.fhir.dstu3.model.MedicationRequest.MedicationRequestSubstitutionComponent tgt = new org.hl7.fhir.dstu3.model.MedicationRequest.MedicationRequestSubstitutionComponent(); 309 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 310 if (src.hasAllowedBooleanType()) 311 tgt.setAllowedElement(Boolean30_40.convertBoolean(src.getAllowedBooleanType())); 312 if (src.hasReason()) 313 tgt.setReason(CodeableConcept30_40.convertCodeableConcept(src.getReason())); 314 return tgt; 315 } 316 317 public static org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestSubstitutionComponent convertMedicationRequestSubstitutionComponent(org.hl7.fhir.dstu3.model.MedicationRequest.MedicationRequestSubstitutionComponent src) throws FHIRException { 318 if (src == null) 319 return null; 320 org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestSubstitutionComponent tgt = new org.hl7.fhir.r4.model.MedicationRequest.MedicationRequestSubstitutionComponent(); 321 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyBackboneElement(src,tgt); 322 if (src.hasAllowed()) 323 tgt.setAllowed(Boolean30_40.convertBoolean(src.getAllowedElement())); 324 if (src.hasReason()) 325 tgt.setReason(CodeableConcept30_40.convertCodeableConcept(src.getReason())); 326 return tgt; 327 } 328}