
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.Reference30_50; 005import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; 006import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; 007import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Period30_50; 008import org.hl7.fhir.exceptions.FHIRException; 009import org.hl7.fhir.r5.model.Enumeration; 010import org.hl7.fhir.r5.model.EpisodeOfCare; 011 012public class EpisodeOfCare30_50 { 013 014 public static org.hl7.fhir.dstu3.model.EpisodeOfCare convertEpisodeOfCare(org.hl7.fhir.r5.model.EpisodeOfCare src) throws FHIRException { 015 if (src == null) 016 return null; 017 org.hl7.fhir.dstu3.model.EpisodeOfCare tgt = new org.hl7.fhir.dstu3.model.EpisodeOfCare(); 018 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyDomainResource(src, tgt); 019 for (org.hl7.fhir.r5.model.Identifier t : src.getIdentifier()) 020 tgt.addIdentifier(Identifier30_50.convertIdentifier(t)); 021 if (src.hasStatus()) 022 tgt.setStatusElement(convertEpisodeOfCareStatus(src.getStatusElement())); 023 for (org.hl7.fhir.r5.model.EpisodeOfCare.EpisodeOfCareStatusHistoryComponent t : src.getStatusHistory()) 024 tgt.addStatusHistory(convertEpisodeOfCareStatusHistoryComponent(t)); 025 for (org.hl7.fhir.r5.model.CodeableConcept t : src.getType()) 026 tgt.addType(CodeableConcept30_50.convertCodeableConcept(t)); 027 for (org.hl7.fhir.r5.model.EpisodeOfCare.DiagnosisComponent t : src.getDiagnosis()) 028 tgt.addDiagnosis(convertDiagnosisComponent(t)); 029 if (src.hasPatient()) 030 tgt.setPatient(Reference30_50.convertReference(src.getPatient())); 031 if (src.hasManagingOrganization()) 032 tgt.setManagingOrganization(Reference30_50.convertReference(src.getManagingOrganization())); 033 if (src.hasPeriod()) 034 tgt.setPeriod(Period30_50.convertPeriod(src.getPeriod())); 035 for (org.hl7.fhir.r5.model.Reference t : src.getReferralRequest()) 036 tgt.addReferralRequest(Reference30_50.convertReference(t)); 037 if (src.hasCareManager()) 038 tgt.setCareManager(Reference30_50.convertReference(src.getCareManager())); 039 for (org.hl7.fhir.r5.model.Reference t : src.getCareTeam()) tgt.addTeam(Reference30_50.convertReference(t)); 040 for (org.hl7.fhir.r5.model.Reference t : src.getAccount()) tgt.addAccount(Reference30_50.convertReference(t)); 041 return tgt; 042 } 043 044 public static org.hl7.fhir.r5.model.EpisodeOfCare convertEpisodeOfCare(org.hl7.fhir.dstu3.model.EpisodeOfCare src) throws FHIRException { 045 if (src == null) 046 return null; 047 org.hl7.fhir.r5.model.EpisodeOfCare tgt = new org.hl7.fhir.r5.model.EpisodeOfCare(); 048 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyDomainResource(src, tgt); 049 for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) 050 tgt.addIdentifier(Identifier30_50.convertIdentifier(t)); 051 if (src.hasStatus()) 052 tgt.setStatusElement(convertEpisodeOfCareStatus(src.getStatusElement())); 053 for (org.hl7.fhir.dstu3.model.EpisodeOfCare.EpisodeOfCareStatusHistoryComponent t : src.getStatusHistory()) 054 tgt.addStatusHistory(convertEpisodeOfCareStatusHistoryComponent(t)); 055 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getType()) 056 tgt.addType(CodeableConcept30_50.convertCodeableConcept(t)); 057 for (org.hl7.fhir.dstu3.model.EpisodeOfCare.DiagnosisComponent t : src.getDiagnosis()) 058 tgt.addDiagnosis(convertDiagnosisComponent(t)); 059 if (src.hasPatient()) 060 tgt.setPatient(Reference30_50.convertReference(src.getPatient())); 061 if (src.hasManagingOrganization()) 062 tgt.setManagingOrganization(Reference30_50.convertReference(src.getManagingOrganization())); 063 if (src.hasPeriod()) 064 tgt.setPeriod(Period30_50.convertPeriod(src.getPeriod())); 065 for (org.hl7.fhir.dstu3.model.Reference t : src.getReferralRequest()) 066 tgt.addReferralRequest(Reference30_50.convertReference(t)); 067 if (src.hasCareManager()) 068 tgt.setCareManager(Reference30_50.convertReference(src.getCareManager())); 069 for (org.hl7.fhir.dstu3.model.Reference t : src.getTeam()) tgt.addCareTeam(Reference30_50.convertReference(t)); 070 for (org.hl7.fhir.dstu3.model.Reference t : src.getAccount()) tgt.addAccount(Reference30_50.convertReference(t)); 071 return tgt; 072 } 073 074 static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.EpisodeOfCare.EpisodeOfCareStatus> convertEpisodeOfCareStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.EpisodeOfCare.EpisodeOfCareStatus> src) throws FHIRException { 075 if (src == null || src.isEmpty()) 076 return null; 077 Enumeration<EpisodeOfCare.EpisodeOfCareStatus> tgt = new Enumeration<>(new EpisodeOfCare.EpisodeOfCareStatusEnumFactory()); 078 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 079 if (src.getValue() == null) { 080 tgt.setValue(null); 081 } else { 082 switch (src.getValue()) { 083 case PLANNED: 084 tgt.setValue(EpisodeOfCare.EpisodeOfCareStatus.PLANNED); 085 break; 086 case WAITLIST: 087 tgt.setValue(EpisodeOfCare.EpisodeOfCareStatus.WAITLIST); 088 break; 089 case ACTIVE: 090 tgt.setValue(EpisodeOfCare.EpisodeOfCareStatus.ACTIVE); 091 break; 092 case ONHOLD: 093 tgt.setValue(EpisodeOfCare.EpisodeOfCareStatus.ONHOLD); 094 break; 095 case FINISHED: 096 tgt.setValue(EpisodeOfCare.EpisodeOfCareStatus.FINISHED); 097 break; 098 case CANCELLED: 099 tgt.setValue(EpisodeOfCare.EpisodeOfCareStatus.CANCELLED); 100 break; 101 case ENTEREDINERROR: 102 tgt.setValue(EpisodeOfCare.EpisodeOfCareStatus.ENTEREDINERROR); 103 break; 104 default: 105 tgt.setValue(EpisodeOfCare.EpisodeOfCareStatus.NULL); 106 break; 107 } 108 } 109 return tgt; 110 } 111 112 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.EpisodeOfCare.EpisodeOfCareStatus> convertEpisodeOfCareStatus(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.EpisodeOfCare.EpisodeOfCareStatus> src) throws FHIRException { 113 if (src == null || src.isEmpty()) 114 return null; 115 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.EpisodeOfCare.EpisodeOfCareStatus> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.EpisodeOfCare.EpisodeOfCareStatusEnumFactory()); 116 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); 117 if (src.getValue() == null) { 118 tgt.setValue(null); 119 } else { 120 switch (src.getValue()) { 121 case PLANNED: 122 tgt.setValue(org.hl7.fhir.dstu3.model.EpisodeOfCare.EpisodeOfCareStatus.PLANNED); 123 break; 124 case WAITLIST: 125 tgt.setValue(org.hl7.fhir.dstu3.model.EpisodeOfCare.EpisodeOfCareStatus.WAITLIST); 126 break; 127 case ACTIVE: 128 tgt.setValue(org.hl7.fhir.dstu3.model.EpisodeOfCare.EpisodeOfCareStatus.ACTIVE); 129 break; 130 case ONHOLD: 131 tgt.setValue(org.hl7.fhir.dstu3.model.EpisodeOfCare.EpisodeOfCareStatus.ONHOLD); 132 break; 133 case FINISHED: 134 tgt.setValue(org.hl7.fhir.dstu3.model.EpisodeOfCare.EpisodeOfCareStatus.FINISHED); 135 break; 136 case CANCELLED: 137 tgt.setValue(org.hl7.fhir.dstu3.model.EpisodeOfCare.EpisodeOfCareStatus.CANCELLED); 138 break; 139 case ENTEREDINERROR: 140 tgt.setValue(org.hl7.fhir.dstu3.model.EpisodeOfCare.EpisodeOfCareStatus.ENTEREDINERROR); 141 break; 142 default: 143 tgt.setValue(org.hl7.fhir.dstu3.model.EpisodeOfCare.EpisodeOfCareStatus.NULL); 144 break; 145 } 146 } 147 return tgt; 148 } 149 150 public static org.hl7.fhir.dstu3.model.EpisodeOfCare.EpisodeOfCareStatusHistoryComponent convertEpisodeOfCareStatusHistoryComponent(org.hl7.fhir.r5.model.EpisodeOfCare.EpisodeOfCareStatusHistoryComponent src) throws FHIRException { 151 if (src == null) 152 return null; 153 org.hl7.fhir.dstu3.model.EpisodeOfCare.EpisodeOfCareStatusHistoryComponent tgt = new org.hl7.fhir.dstu3.model.EpisodeOfCare.EpisodeOfCareStatusHistoryComponent(); 154 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 155 if (src.hasStatus()) 156 tgt.setStatusElement(convertEpisodeOfCareStatus(src.getStatusElement())); 157 if (src.hasPeriod()) 158 tgt.setPeriod(Period30_50.convertPeriod(src.getPeriod())); 159 return tgt; 160 } 161 162 public static org.hl7.fhir.r5.model.EpisodeOfCare.EpisodeOfCareStatusHistoryComponent convertEpisodeOfCareStatusHistoryComponent(org.hl7.fhir.dstu3.model.EpisodeOfCare.EpisodeOfCareStatusHistoryComponent src) throws FHIRException { 163 if (src == null) 164 return null; 165 org.hl7.fhir.r5.model.EpisodeOfCare.EpisodeOfCareStatusHistoryComponent tgt = new org.hl7.fhir.r5.model.EpisodeOfCare.EpisodeOfCareStatusHistoryComponent(); 166 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 167 if (src.hasStatus()) 168 tgt.setStatusElement(convertEpisodeOfCareStatus(src.getStatusElement())); 169 if (src.hasPeriod()) 170 tgt.setPeriod(Period30_50.convertPeriod(src.getPeriod())); 171 return tgt; 172 } 173 174 public static org.hl7.fhir.r5.model.EpisodeOfCare.DiagnosisComponent convertDiagnosisComponent(org.hl7.fhir.dstu3.model.EpisodeOfCare.DiagnosisComponent src) throws FHIRException { 175 if (src == null) return null; 176 org.hl7.fhir.r5.model.EpisodeOfCare.DiagnosisComponent tgt = new org.hl7.fhir.r5.model.EpisodeOfCare.DiagnosisComponent(); 177 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 178 if (src.hasCondition()) tgt.addCondition(Reference30_50.convertReferenceToCodableReference(src.getCondition())); 179 if (src.hasRole()) tgt.setUse(CodeableConcept30_50.convertCodeableConcept(src.getRole())); 180// if (src.hasRank()) tgt.setRankElement(PositiveInt30_50.convertPositiveInt(src.getRankElement())); 181 return tgt; 182 } 183 184 public static org.hl7.fhir.dstu3.model.EpisodeOfCare.DiagnosisComponent convertDiagnosisComponent(org.hl7.fhir.r5.model.EpisodeOfCare.DiagnosisComponent src) throws FHIRException { 185 if (src == null) return null; 186 org.hl7.fhir.dstu3.model.EpisodeOfCare.DiagnosisComponent tgt = new org.hl7.fhir.dstu3.model.EpisodeOfCare.DiagnosisComponent(); 187 ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); 188 if (src.hasCondition()) tgt.setCondition(Reference30_50.convertCodeableReferenceToReference(src.getConditionFirstRep())); 189 if (src.hasUse()) tgt.setRole(CodeableConcept30_50.convertCodeableConcept(src.getUse())); 190// if (src.hasRank()) tgt.setRankElement(PositiveInt30_50.convertPositiveInt(src.getRankElement())); 191 return tgt; 192 } 193}