
001package org.hl7.fhir.convertors.conv10_30.resources10_30; 002 003import org.hl7.fhir.convertors.context.ConversionContext10_30; 004import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; 005import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; 006import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; 007import org.hl7.fhir.dstu2.model.Condition; 008import org.hl7.fhir.dstu2.model.Enumeration; 009import org.hl7.fhir.exceptions.FHIRException; 010 011public class Condition10_30 { 012 013 public static org.hl7.fhir.dstu3.model.Condition convertCondition(org.hl7.fhir.dstu2.model.Condition src) throws FHIRException { 014 if (src == null || src.isEmpty()) 015 return null; 016 org.hl7.fhir.dstu3.model.Condition tgt = new org.hl7.fhir.dstu3.model.Condition(); 017 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 018 for (org.hl7.fhir.dstu2.model.Identifier t : src.getIdentifier()) 019 tgt.addIdentifier(Identifier10_30.convertIdentifier(t)); 020 if (src.hasPatient()) 021 tgt.setSubject(Reference10_30.convertReference(src.getPatient())); 022 if (src.hasEncounter()) 023 tgt.setContext(Reference10_30.convertReference(src.getEncounter())); 024 if (src.hasAsserter()) 025 tgt.setAsserter(Reference10_30.convertReference(src.getAsserter())); 026 if (src.hasDateRecorded()) 027 tgt.setAssertedDate(src.getDateRecorded()); 028 if (src.hasCode()) 029 tgt.setCode(CodeableConcept10_30.convertCodeableConcept(src.getCode())); 030 if (src.hasCategory()) 031 tgt.addCategory(CodeableConcept10_30.convertCodeableConcept(src.getCategory())); 032 try { 033 if (src.hasClinicalStatus()) 034 tgt.setClinicalStatus(org.hl7.fhir.dstu3.model.Condition.ConditionClinicalStatus.fromCode(src.getClinicalStatus())); 035 } catch (org.hl7.fhir.exceptions.FHIRException e) { 036 throw new FHIRException(e); 037 } 038 if (src.hasVerificationStatus()) 039 tgt.setVerificationStatusElement(convertConditionVerificationStatus(src.getVerificationStatusElement())); 040 if (src.hasSeverity()) 041 tgt.setSeverity(CodeableConcept10_30.convertCodeableConcept(src.getSeverity())); 042 if (src.hasOnset()) 043 tgt.setOnset(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getOnset())); 044 if (src.hasAbatement()) 045 tgt.setAbatement(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getAbatement())); 046 if (src.hasStage()) 047 tgt.setStage(convertConditionStageComponent(src.getStage())); 048 for (org.hl7.fhir.dstu2.model.Condition.ConditionEvidenceComponent t : src.getEvidence()) 049 tgt.addEvidence(convertConditionEvidenceComponent(t)); 050 for (org.hl7.fhir.dstu2.model.CodeableConcept t : src.getBodySite()) 051 tgt.addBodySite(CodeableConcept10_30.convertCodeableConcept(t)); 052 return tgt; 053 } 054 055 public static org.hl7.fhir.dstu2.model.Condition convertCondition(org.hl7.fhir.dstu3.model.Condition src) throws FHIRException { 056 if (src == null || src.isEmpty()) 057 return null; 058 org.hl7.fhir.dstu2.model.Condition tgt = new org.hl7.fhir.dstu2.model.Condition(); 059 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 060 for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) 061 tgt.addIdentifier(Identifier10_30.convertIdentifier(t)); 062 if (src.hasSubject()) 063 tgt.setPatient(Reference10_30.convertReference(src.getSubject())); 064 if (src.hasContext()) 065 tgt.setEncounter(Reference10_30.convertReference(src.getContext())); 066 if (src.hasAsserter()) 067 tgt.setAsserter(Reference10_30.convertReference(src.getAsserter())); 068 if (src.hasAssertedDate()) 069 tgt.setDateRecorded(src.getAssertedDate()); 070 if (src.hasCode()) 071 tgt.setCode(CodeableConcept10_30.convertCodeableConcept(src.getCode())); 072 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getCategory()) 073 tgt.setCategory(CodeableConcept10_30.convertCodeableConcept(t)); 074 tgt.setClinicalStatus(src.getClinicalStatus().toCode()); 075 if (src.hasVerificationStatus()) 076 tgt.setVerificationStatusElement(convertConditionVerificationStatus(src.getVerificationStatusElement())); 077 if (src.hasSeverity()) 078 tgt.setSeverity(CodeableConcept10_30.convertCodeableConcept(src.getSeverity())); 079 if (src.hasOnset()) 080 tgt.setOnset(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getOnset())); 081 if (src.hasAbatement()) 082 tgt.setAbatement(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getAbatement())); 083 if (src.hasStage()) 084 tgt.setStage(convertConditionStageComponent(src.getStage())); 085 for (org.hl7.fhir.dstu3.model.Condition.ConditionEvidenceComponent t : src.getEvidence()) 086 tgt.addEvidence(convertConditionEvidenceComponent(t)); 087 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getBodySite()) 088 tgt.addBodySite(CodeableConcept10_30.convertCodeableConcept(t)); 089 return tgt; 090 } 091 092 public static org.hl7.fhir.dstu2.model.Condition.ConditionEvidenceComponent convertConditionEvidenceComponent(org.hl7.fhir.dstu3.model.Condition.ConditionEvidenceComponent src) throws FHIRException { 093 if (src == null || src.isEmpty()) 094 return null; 095 org.hl7.fhir.dstu2.model.Condition.ConditionEvidenceComponent tgt = new org.hl7.fhir.dstu2.model.Condition.ConditionEvidenceComponent(); 096 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 097 for (org.hl7.fhir.dstu3.model.CodeableConcept cc : src.getCode()) 098 tgt.setCode(CodeableConcept10_30.convertCodeableConcept(cc)); 099 for (org.hl7.fhir.dstu3.model.Reference t : src.getDetail()) tgt.addDetail(Reference10_30.convertReference(t)); 100 return tgt; 101 } 102 103 public static org.hl7.fhir.dstu3.model.Condition.ConditionEvidenceComponent convertConditionEvidenceComponent(org.hl7.fhir.dstu2.model.Condition.ConditionEvidenceComponent src) throws FHIRException { 104 if (src == null || src.isEmpty()) 105 return null; 106 org.hl7.fhir.dstu3.model.Condition.ConditionEvidenceComponent tgt = new org.hl7.fhir.dstu3.model.Condition.ConditionEvidenceComponent(); 107 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 108 if (src.hasCode()) 109 tgt.addCode(CodeableConcept10_30.convertCodeableConcept(src.getCode())); 110 for (org.hl7.fhir.dstu2.model.Reference t : src.getDetail()) tgt.addDetail(Reference10_30.convertReference(t)); 111 return tgt; 112 } 113 114 public static org.hl7.fhir.dstu3.model.Condition.ConditionStageComponent convertConditionStageComponent(org.hl7.fhir.dstu2.model.Condition.ConditionStageComponent src) throws FHIRException { 115 if (src == null || src.isEmpty()) 116 return null; 117 org.hl7.fhir.dstu3.model.Condition.ConditionStageComponent tgt = new org.hl7.fhir.dstu3.model.Condition.ConditionStageComponent(); 118 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 119 if (src.hasSummary()) 120 tgt.setSummary(CodeableConcept10_30.convertCodeableConcept(src.getSummary())); 121 for (org.hl7.fhir.dstu2.model.Reference t : src.getAssessment()) 122 tgt.addAssessment(Reference10_30.convertReference(t)); 123 return tgt; 124 } 125 126 public static org.hl7.fhir.dstu2.model.Condition.ConditionStageComponent convertConditionStageComponent(org.hl7.fhir.dstu3.model.Condition.ConditionStageComponent src) throws FHIRException { 127 if (src == null || src.isEmpty()) 128 return null; 129 org.hl7.fhir.dstu2.model.Condition.ConditionStageComponent tgt = new org.hl7.fhir.dstu2.model.Condition.ConditionStageComponent(); 130 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 131 if (src.hasSummary()) 132 tgt.setSummary(CodeableConcept10_30.convertCodeableConcept(src.getSummary())); 133 for (org.hl7.fhir.dstu3.model.Reference t : src.getAssessment()) 134 tgt.addAssessment(Reference10_30.convertReference(t)); 135 return tgt; 136 } 137 138 static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Condition.ConditionVerificationStatus> convertConditionVerificationStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Condition.ConditionVerificationStatus> src) throws FHIRException { 139 if (src == null || src.isEmpty()) 140 return null; 141 Enumeration<Condition.ConditionVerificationStatus> tgt = new Enumeration<>(new Condition.ConditionVerificationStatusEnumFactory()); 142 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 143 if (src.getValue() == null) { 144 tgt.setValue(null); 145 } else { 146 switch (src.getValue()) { 147 case PROVISIONAL: 148 tgt.setValue(Condition.ConditionVerificationStatus.PROVISIONAL); 149 break; 150 case DIFFERENTIAL: 151 tgt.setValue(Condition.ConditionVerificationStatus.DIFFERENTIAL); 152 break; 153 case CONFIRMED: 154 tgt.setValue(Condition.ConditionVerificationStatus.CONFIRMED); 155 break; 156 case REFUTED: 157 tgt.setValue(Condition.ConditionVerificationStatus.REFUTED); 158 break; 159 case ENTEREDINERROR: 160 tgt.setValue(Condition.ConditionVerificationStatus.ENTEREDINERROR); 161 break; 162 case UNKNOWN: 163 tgt.setValue(Condition.ConditionVerificationStatus.UNKNOWN); 164 break; 165 default: 166 tgt.setValue(Condition.ConditionVerificationStatus.NULL); 167 break; 168 } 169 } 170 return tgt; 171 } 172 173 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Condition.ConditionVerificationStatus> convertConditionVerificationStatus(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Condition.ConditionVerificationStatus> src) throws FHIRException { 174 if (src == null || src.isEmpty()) 175 return null; 176 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Condition.ConditionVerificationStatus> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.Condition.ConditionVerificationStatusEnumFactory()); 177 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 178 if (src.getValue() == null) { 179 tgt.setValue(null); 180 } else { 181 switch (src.getValue()) { 182 case PROVISIONAL: 183 tgt.setValue(org.hl7.fhir.dstu3.model.Condition.ConditionVerificationStatus.PROVISIONAL); 184 break; 185 case DIFFERENTIAL: 186 tgt.setValue(org.hl7.fhir.dstu3.model.Condition.ConditionVerificationStatus.DIFFERENTIAL); 187 break; 188 case CONFIRMED: 189 tgt.setValue(org.hl7.fhir.dstu3.model.Condition.ConditionVerificationStatus.CONFIRMED); 190 break; 191 case REFUTED: 192 tgt.setValue(org.hl7.fhir.dstu3.model.Condition.ConditionVerificationStatus.REFUTED); 193 break; 194 case ENTEREDINERROR: 195 tgt.setValue(org.hl7.fhir.dstu3.model.Condition.ConditionVerificationStatus.ENTEREDINERROR); 196 break; 197 case UNKNOWN: 198 tgt.setValue(org.hl7.fhir.dstu3.model.Condition.ConditionVerificationStatus.UNKNOWN); 199 break; 200 default: 201 tgt.setValue(org.hl7.fhir.dstu3.model.Condition.ConditionVerificationStatus.NULL); 202 break; 203 } 204 } 205 return tgt; 206 } 207}