
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.Identifier30_40; 009import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; 010import org.hl7.fhir.exceptions.FHIRException; 011 012public class MedicationStatement30_40 { 013 014 public static org.hl7.fhir.dstu3.model.MedicationStatement convertMedicationStatement(org.hl7.fhir.r4.model.MedicationStatement src) throws FHIRException { 015 if (src == null) 016 return null; 017 org.hl7.fhir.dstu3.model.MedicationStatement tgt = new org.hl7.fhir.dstu3.model.MedicationStatement(); 018 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt); 019 for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier()) 020 tgt.addIdentifier(Identifier30_40.convertIdentifier(t)); 021 for (org.hl7.fhir.r4.model.Reference t : src.getBasedOn()) tgt.addBasedOn(Reference30_40.convertReference(t)); 022 for (org.hl7.fhir.r4.model.Reference t : src.getPartOf()) tgt.addPartOf(Reference30_40.convertReference(t)); 023 if (src.hasContext()) 024 tgt.setContext(Reference30_40.convertReference(src.getContext())); 025 if (src.hasStatus()) 026 tgt.setStatusElement(convertMedicationStatementStatus(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.hasEffective()) 032 tgt.setEffective(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getEffective())); 033 if (src.hasDateAsserted()) 034 tgt.setDateAssertedElement(DateTime30_40.convertDateTime(src.getDateAssertedElement())); 035 if (src.hasInformationSource()) 036 tgt.setInformationSource(Reference30_40.convertReference(src.getInformationSource())); 037 if (src.hasSubject()) 038 tgt.setSubject(Reference30_40.convertReference(src.getSubject())); 039 for (org.hl7.fhir.r4.model.Reference t : src.getDerivedFrom()) 040 tgt.addDerivedFrom(Reference30_40.convertReference(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 for (org.hl7.fhir.r4.model.Annotation t : src.getNote()) tgt.addNote(Annotation30_40.convertAnnotation(t)); 046 for (org.hl7.fhir.r4.model.Dosage t : src.getDosage()) tgt.addDosage(Dosage30_40.convertDosage(t)); 047 return tgt; 048 } 049 050 public static org.hl7.fhir.r4.model.MedicationStatement convertMedicationStatement(org.hl7.fhir.dstu3.model.MedicationStatement src) throws FHIRException { 051 if (src == null) 052 return null; 053 org.hl7.fhir.r4.model.MedicationStatement tgt = new org.hl7.fhir.r4.model.MedicationStatement(); 054 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyDomainResource(src, tgt); 055 for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) 056 tgt.addIdentifier(Identifier30_40.convertIdentifier(t)); 057 for (org.hl7.fhir.dstu3.model.Reference t : src.getBasedOn()) tgt.addBasedOn(Reference30_40.convertReference(t)); 058 for (org.hl7.fhir.dstu3.model.Reference t : src.getPartOf()) tgt.addPartOf(Reference30_40.convertReference(t)); 059 if (src.hasContext()) 060 tgt.setContext(Reference30_40.convertReference(src.getContext())); 061 if (src.hasStatus()) 062 tgt.setStatusElement(convertMedicationStatementStatus(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.hasEffective()) 068 tgt.setEffective(ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().convertType(src.getEffective())); 069 if (src.hasDateAsserted()) 070 tgt.setDateAssertedElement(DateTime30_40.convertDateTime(src.getDateAssertedElement())); 071 if (src.hasInformationSource()) 072 tgt.setInformationSource(Reference30_40.convertReference(src.getInformationSource())); 073 if (src.hasSubject()) 074 tgt.setSubject(Reference30_40.convertReference(src.getSubject())); 075 for (org.hl7.fhir.dstu3.model.Reference t : src.getDerivedFrom()) 076 tgt.addDerivedFrom(Reference30_40.convertReference(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 for (org.hl7.fhir.dstu3.model.Annotation t : src.getNote()) tgt.addNote(Annotation30_40.convertAnnotation(t)); 082 for (org.hl7.fhir.dstu3.model.Dosage t : src.getDosage()) tgt.addDosage(Dosage30_40.convertDosage(t)); 083 return tgt; 084 } 085 086 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.MedicationStatement.MedicationStatementStatus> convertMedicationStatementStatus(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.MedicationStatement.MedicationStatementStatus> src) throws FHIRException { 087 if (src == null || src.isEmpty()) 088 return null; 089 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.MedicationStatement.MedicationStatementStatus> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.MedicationStatement.MedicationStatementStatusEnumFactory()); 090 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 091 switch (src.getValue()) { 092 case ACTIVE: 093 tgt.setValue(org.hl7.fhir.dstu3.model.MedicationStatement.MedicationStatementStatus.ACTIVE); 094 break; 095 case COMPLETED: 096 tgt.setValue(org.hl7.fhir.dstu3.model.MedicationStatement.MedicationStatementStatus.COMPLETED); 097 break; 098 case ENTEREDINERROR: 099 tgt.setValue(org.hl7.fhir.dstu3.model.MedicationStatement.MedicationStatementStatus.ENTEREDINERROR); 100 break; 101 case INTENDED: 102 tgt.setValue(org.hl7.fhir.dstu3.model.MedicationStatement.MedicationStatementStatus.INTENDED); 103 break; 104 case STOPPED: 105 tgt.setValue(org.hl7.fhir.dstu3.model.MedicationStatement.MedicationStatementStatus.STOPPED); 106 break; 107 case ONHOLD: 108 tgt.setValue(org.hl7.fhir.dstu3.model.MedicationStatement.MedicationStatementStatus.ONHOLD); 109 break; 110 default: 111 tgt.setValue(org.hl7.fhir.dstu3.model.MedicationStatement.MedicationStatementStatus.NULL); 112 break; 113 } 114 return tgt; 115 } 116 117 static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.MedicationStatement.MedicationStatementStatus> convertMedicationStatementStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.MedicationStatement.MedicationStatementStatus> src) throws FHIRException { 118 if (src == null || src.isEmpty()) 119 return null; 120 org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.MedicationStatement.MedicationStatementStatus> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.MedicationStatement.MedicationStatementStatusEnumFactory()); 121 ConversionContext30_40.INSTANCE.getVersionConvertor_30_40().copyElement(src, tgt); 122 switch (src.getValue()) { 123 case ACTIVE: 124 tgt.setValue(org.hl7.fhir.r4.model.MedicationStatement.MedicationStatementStatus.ACTIVE); 125 break; 126 case COMPLETED: 127 tgt.setValue(org.hl7.fhir.r4.model.MedicationStatement.MedicationStatementStatus.COMPLETED); 128 break; 129 case ENTEREDINERROR: 130 tgt.setValue(org.hl7.fhir.r4.model.MedicationStatement.MedicationStatementStatus.ENTEREDINERROR); 131 break; 132 case INTENDED: 133 tgt.setValue(org.hl7.fhir.r4.model.MedicationStatement.MedicationStatementStatus.INTENDED); 134 break; 135 case STOPPED: 136 tgt.setValue(org.hl7.fhir.r4.model.MedicationStatement.MedicationStatementStatus.STOPPED); 137 break; 138 case ONHOLD: 139 tgt.setValue(org.hl7.fhir.r4.model.MedicationStatement.MedicationStatementStatus.ONHOLD); 140 break; 141 default: 142 tgt.setValue(org.hl7.fhir.r4.model.MedicationStatement.MedicationStatementStatus.NULL); 143 break; 144 } 145 return tgt; 146 } 147}