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.primitivetypes10_30.DateTime10_30; 007import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; 008import org.hl7.fhir.dstu3.model.UriType; 009import org.hl7.fhir.exceptions.FHIRException; 010 011public class ClinicalImpression10_30 { 012 013 public static org.hl7.fhir.dstu3.model.ClinicalImpression convertClinicalImpression(org.hl7.fhir.dstu2.model.ClinicalImpression src) throws FHIRException { 014 if (src == null || src.isEmpty()) 015 return null; 016 org.hl7.fhir.dstu3.model.ClinicalImpression tgt = new org.hl7.fhir.dstu3.model.ClinicalImpression(); 017 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 018 if (src.hasPatient()) 019 tgt.setSubject(Reference10_30.convertReference(src.getPatient())); 020 if (src.hasAssessor()) 021 tgt.setAssessor(Reference10_30.convertReference(src.getAssessor())); 022 if (src.hasStatus()) 023 tgt.setStatusElement(convertClinicalImpressionStatus(src.getStatusElement())); 024 if (src.hasDate()) 025 tgt.setDateElement(DateTime10_30.convertDateTime(src.getDateElement())); 026 if (src.hasDescriptionElement()) 027 tgt.setDescriptionElement(String10_30.convertString(src.getDescriptionElement())); 028 if (src.hasPrevious()) 029 tgt.setPrevious(Reference10_30.convertReference(src.getPrevious())); 030 for (org.hl7.fhir.dstu2.model.Reference t : src.getProblem()) tgt.addProblem(Reference10_30.convertReference(t)); 031 tgt.addProtocol(src.getProtocol()); 032 if (src.hasSummaryElement()) 033 tgt.setSummaryElement(String10_30.convertString(src.getSummaryElement())); 034 for (org.hl7.fhir.dstu2.model.ClinicalImpression.ClinicalImpressionFindingComponent t : src.getFinding()) 035 tgt.addFinding(convertClinicalImpressionFindingComponent(t)); 036 if (src.hasPrognosis()) 037 tgt.addPrognosisCodeableConcept().setText(src.getPrognosis()); 038 for (org.hl7.fhir.dstu2.model.Reference t : src.getAction()) tgt.addAction(Reference10_30.convertReference(t)); 039 return tgt; 040 } 041 042 public static org.hl7.fhir.dstu2.model.ClinicalImpression convertClinicalImpression(org.hl7.fhir.dstu3.model.ClinicalImpression src) throws FHIRException { 043 if (src == null || src.isEmpty()) 044 return null; 045 org.hl7.fhir.dstu2.model.ClinicalImpression tgt = new org.hl7.fhir.dstu2.model.ClinicalImpression(); 046 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 047 if (src.hasSubject()) 048 tgt.setPatient(Reference10_30.convertReference(src.getSubject())); 049 if (src.hasAssessor()) 050 tgt.setAssessor(Reference10_30.convertReference(src.getAssessor())); 051 if (src.hasStatus()) 052 tgt.setStatusElement(convertClinicalImpressionStatus(src.getStatusElement())); 053 if (src.hasDate()) 054 tgt.setDateElement(DateTime10_30.convertDateTime(src.getDateElement())); 055 if (src.hasDescriptionElement()) 056 tgt.setDescriptionElement(String10_30.convertString(src.getDescriptionElement())); 057 if (src.hasPrevious()) 058 tgt.setPrevious(Reference10_30.convertReference(src.getPrevious())); 059 for (org.hl7.fhir.dstu3.model.Reference t : src.getProblem()) tgt.addProblem(Reference10_30.convertReference(t)); 060 for (UriType t : src.getProtocol()) tgt.setProtocol(t.asStringValue()); 061 if (src.hasSummaryElement()) 062 tgt.setSummaryElement(String10_30.convertString(src.getSummaryElement())); 063 for (org.hl7.fhir.dstu3.model.ClinicalImpression.ClinicalImpressionFindingComponent t : src.getFinding()) 064 tgt.addFinding(convertClinicalImpressionFindingComponent(t)); 065 if (src.hasText()) 066 tgt.setPrognosis(src.getPrognosisCodeableConceptFirstRep().getText()); 067 for (org.hl7.fhir.dstu3.model.Reference t : src.getAction()) tgt.addAction(Reference10_30.convertReference(t)); 068 return tgt; 069 } 070 071 public static org.hl7.fhir.dstu3.model.ClinicalImpression.ClinicalImpressionFindingComponent convertClinicalImpressionFindingComponent(org.hl7.fhir.dstu2.model.ClinicalImpression.ClinicalImpressionFindingComponent src) throws FHIRException { 072 if (src == null || src.isEmpty()) 073 return null; 074 org.hl7.fhir.dstu3.model.ClinicalImpression.ClinicalImpressionFindingComponent tgt = new org.hl7.fhir.dstu3.model.ClinicalImpression.ClinicalImpressionFindingComponent(); 075 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 076 if (src.hasItem()) 077 tgt.setItem(CodeableConcept10_30.convertCodeableConcept(src.getItem())); 078 return tgt; 079 } 080 081 public static org.hl7.fhir.dstu2.model.ClinicalImpression.ClinicalImpressionFindingComponent convertClinicalImpressionFindingComponent(org.hl7.fhir.dstu3.model.ClinicalImpression.ClinicalImpressionFindingComponent src) throws FHIRException { 082 if (src == null || src.isEmpty()) 083 return null; 084 org.hl7.fhir.dstu2.model.ClinicalImpression.ClinicalImpressionFindingComponent tgt = new org.hl7.fhir.dstu2.model.ClinicalImpression.ClinicalImpressionFindingComponent(); 085 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 086 if (src.hasItemCodeableConcept()) 087 try { 088 if (src.hasItemCodeableConcept()) 089 tgt.setItem(CodeableConcept10_30.convertCodeableConcept(src.getItemCodeableConcept())); 090 } catch (org.hl7.fhir.exceptions.FHIRException e) { 091 } 092 return tgt; 093 } 094 095 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ClinicalImpression.ClinicalImpressionStatus> convertClinicalImpressionStatus(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.ClinicalImpression.ClinicalImpressionStatus> src) throws FHIRException { 096 if (src == null || src.isEmpty()) 097 return null; 098 org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ClinicalImpression.ClinicalImpressionStatus> tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.ClinicalImpression.ClinicalImpressionStatusEnumFactory()); 099 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 100 switch (src.getValue()) { 101 case INPROGRESS: 102 tgt.setValue(org.hl7.fhir.dstu3.model.ClinicalImpression.ClinicalImpressionStatus.DRAFT); 103 break; 104 case COMPLETED: 105 tgt.setValue(org.hl7.fhir.dstu3.model.ClinicalImpression.ClinicalImpressionStatus.COMPLETED); 106 break; 107 case ENTEREDINERROR: 108 tgt.setValue(org.hl7.fhir.dstu3.model.ClinicalImpression.ClinicalImpressionStatus.ENTEREDINERROR); 109 break; 110 default: 111 tgt.setValue(org.hl7.fhir.dstu3.model.ClinicalImpression.ClinicalImpressionStatus.NULL); 112 break; 113 } 114 return tgt; 115 } 116 117 static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.ClinicalImpression.ClinicalImpressionStatus> convertClinicalImpressionStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ClinicalImpression.ClinicalImpressionStatus> src) throws FHIRException { 118 if (src == null || src.isEmpty()) 119 return null; 120 org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.ClinicalImpression.ClinicalImpressionStatus> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.ClinicalImpression.ClinicalImpressionStatusEnumFactory()); 121 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 122 switch (src.getValue()) { 123 case DRAFT: 124 tgt.setValue(org.hl7.fhir.dstu2.model.ClinicalImpression.ClinicalImpressionStatus.INPROGRESS); 125 break; 126 case COMPLETED: 127 tgt.setValue(org.hl7.fhir.dstu2.model.ClinicalImpression.ClinicalImpressionStatus.COMPLETED); 128 break; 129 case ENTEREDINERROR: 130 tgt.setValue(org.hl7.fhir.dstu2.model.ClinicalImpression.ClinicalImpressionStatus.ENTEREDINERROR); 131 break; 132 default: 133 tgt.setValue(org.hl7.fhir.dstu2.model.ClinicalImpression.ClinicalImpressionStatus.NULL); 134 break; 135 } 136 return tgt; 137 } 138}