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