
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.Annotation10_30; 006import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; 007import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; 008import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Boolean10_30; 009import org.hl7.fhir.dstu3.model.Enumeration; 010import org.hl7.fhir.dstu3.model.Procedure; 011import org.hl7.fhir.exceptions.FHIRException; 012 013public class Procedure10_30 { 014 015 public static org.hl7.fhir.dstu2.model.Procedure convertProcedure(org.hl7.fhir.dstu3.model.Procedure src) throws FHIRException { 016 if (src == null || src.isEmpty()) 017 return null; 018 org.hl7.fhir.dstu2.model.Procedure tgt = new org.hl7.fhir.dstu2.model.Procedure(); 019 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 020 for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) 021 tgt.addIdentifier(Identifier10_30.convertIdentifier(t)); 022 if (src.hasSubject()) 023 tgt.setSubject(Reference10_30.convertReference(src.getSubject())); 024 if (src.hasStatus()) 025 tgt.setStatusElement(convertProcedureStatus(src.getStatusElement())); 026 if (src.hasCategory()) 027 tgt.setCategory(CodeableConcept10_30.convertCodeableConcept(src.getCategory())); 028 if (src.hasCode()) 029 tgt.setCode(CodeableConcept10_30.convertCodeableConcept(src.getCode())); 030 if (src.hasNotDoneElement()) 031 tgt.setNotPerformedElement(Boolean10_30.convertBoolean(src.getNotDoneElement())); 032 if (src.hasNotDoneReason()) 033 tgt.addReasonNotPerformed(CodeableConcept10_30.convertCodeableConcept(src.getNotDoneReason())); 034 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getBodySite()) 035 tgt.addBodySite(CodeableConcept10_30.convertCodeableConcept(t)); 036 if (src.hasReasonCode()) 037 tgt.setReason(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getReasonCodeFirstRep())); 038 for (org.hl7.fhir.dstu3.model.Procedure.ProcedurePerformerComponent t : src.getPerformer()) 039 tgt.addPerformer(convertProcedurePerformerComponent(t)); 040 if (src.hasPerformed()) 041 tgt.setPerformed(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getPerformed())); 042 if (src.hasContext()) 043 tgt.setEncounter(Reference10_30.convertReference(src.getContext())); 044 if (src.hasLocation()) 045 tgt.setLocation(Reference10_30.convertReference(src.getLocation())); 046 if (src.hasOutcome()) 047 tgt.setOutcome(CodeableConcept10_30.convertCodeableConcept(src.getOutcome())); 048 for (org.hl7.fhir.dstu3.model.Reference t : src.getReport()) tgt.addReport(Reference10_30.convertReference(t)); 049 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getComplication()) 050 tgt.addComplication(CodeableConcept10_30.convertCodeableConcept(t)); 051 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getFollowUp()) 052 tgt.addFollowUp(CodeableConcept10_30.convertCodeableConcept(t)); 053 if (src.hasBasedOn()) 054 tgt.setRequest(Reference10_30.convertReference(src.getBasedOnFirstRep())); 055 for (org.hl7.fhir.dstu3.model.Procedure.ProcedureFocalDeviceComponent t : src.getFocalDevice()) 056 tgt.addFocalDevice(convertProcedureFocalDeviceComponent(t)); 057 for (org.hl7.fhir.dstu3.model.Annotation note : src.getNote()) 058 tgt.addNotes(Annotation10_30.convertAnnotation(note)); 059 for (org.hl7.fhir.dstu3.model.Reference r : src.getUsedReference()) tgt.addUsed(Reference10_30.convertReference(r)); 060 return tgt; 061 } 062 063 public static org.hl7.fhir.dstu3.model.Procedure convertProcedure(org.hl7.fhir.dstu2.model.Procedure src) throws FHIRException { 064 if (src == null || src.isEmpty()) 065 return null; 066 org.hl7.fhir.dstu3.model.Procedure tgt = new org.hl7.fhir.dstu3.model.Procedure(); 067 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 068 for (org.hl7.fhir.dstu2.model.Identifier t : src.getIdentifier()) 069 tgt.addIdentifier(Identifier10_30.convertIdentifier(t)); 070 if (src.hasSubject()) 071 tgt.setSubject(Reference10_30.convertReference(src.getSubject())); 072 if (src.hasStatus()) 073 tgt.setStatusElement(convertProcedureStatus(src.getStatusElement())); 074 if (src.hasCategory()) 075 tgt.setCategory(CodeableConcept10_30.convertCodeableConcept(src.getCategory())); 076 if (src.hasCode()) 077 tgt.setCode(CodeableConcept10_30.convertCodeableConcept(src.getCode())); 078 if (src.hasNotPerformedElement()) 079 tgt.setNotDoneElement(Boolean10_30.convertBoolean(src.getNotPerformedElement())); 080 if (src.hasReasonNotPerformed()) 081 tgt.setNotDoneReason(CodeableConcept10_30.convertCodeableConcept(src.getReasonNotPerformed().get(0))); 082 for (org.hl7.fhir.dstu2.model.CodeableConcept t : src.getBodySite()) 083 tgt.addBodySite(CodeableConcept10_30.convertCodeableConcept(t)); 084 if (src.hasReasonCodeableConcept()) 085 tgt.addReasonCode(CodeableConcept10_30.convertCodeableConcept(src.getReasonCodeableConcept())); 086 for (org.hl7.fhir.dstu2.model.Procedure.ProcedurePerformerComponent t : src.getPerformer()) 087 tgt.addPerformer(convertProcedurePerformerComponent(t)); 088 if (src.hasPerformed()) 089 tgt.setPerformed(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getPerformed())); 090 if (src.hasEncounter()) 091 tgt.setContext(Reference10_30.convertReference(src.getEncounter())); 092 if (src.hasLocation()) 093 tgt.setLocation(Reference10_30.convertReference(src.getLocation())); 094 if (src.hasOutcome()) 095 tgt.setOutcome(CodeableConcept10_30.convertCodeableConcept(src.getOutcome())); 096 for (org.hl7.fhir.dstu2.model.Reference t : src.getReport()) tgt.addReport(Reference10_30.convertReference(t)); 097 for (org.hl7.fhir.dstu2.model.CodeableConcept t : src.getComplication()) 098 tgt.addComplication(CodeableConcept10_30.convertCodeableConcept(t)); 099 for (org.hl7.fhir.dstu2.model.CodeableConcept t : src.getFollowUp()) 100 tgt.addFollowUp(CodeableConcept10_30.convertCodeableConcept(t)); 101 if (src.hasRequest()) 102 tgt.addBasedOn(Reference10_30.convertReference(src.getRequest())); 103 for (org.hl7.fhir.dstu2.model.Procedure.ProcedureFocalDeviceComponent t : src.getFocalDevice()) 104 tgt.addFocalDevice(convertProcedureFocalDeviceComponent(t)); 105 for (org.hl7.fhir.dstu2.model.Annotation note : src.getNotes()) 106 tgt.addNote(Annotation10_30.convertAnnotation(note)); 107 for (org.hl7.fhir.dstu2.model.Reference r : src.getUsed()) tgt.addUsedReference(Reference10_30.convertReference(r)); 108 return tgt; 109 } 110 111 public static org.hl7.fhir.dstu3.model.Procedure.ProcedureFocalDeviceComponent convertProcedureFocalDeviceComponent(org.hl7.fhir.dstu2.model.Procedure.ProcedureFocalDeviceComponent src) throws FHIRException { 112 if (src == null || src.isEmpty()) 113 return null; 114 org.hl7.fhir.dstu3.model.Procedure.ProcedureFocalDeviceComponent tgt = new org.hl7.fhir.dstu3.model.Procedure.ProcedureFocalDeviceComponent(); 115 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 116 if (src.hasAction()) 117 tgt.setAction(CodeableConcept10_30.convertCodeableConcept(src.getAction())); 118 if (src.hasManipulated()) 119 tgt.setManipulated(Reference10_30.convertReference(src.getManipulated())); 120 return tgt; 121 } 122 123 public static org.hl7.fhir.dstu2.model.Procedure.ProcedureFocalDeviceComponent convertProcedureFocalDeviceComponent(org.hl7.fhir.dstu3.model.Procedure.ProcedureFocalDeviceComponent src) throws FHIRException { 124 if (src == null || src.isEmpty()) 125 return null; 126 org.hl7.fhir.dstu2.model.Procedure.ProcedureFocalDeviceComponent tgt = new org.hl7.fhir.dstu2.model.Procedure.ProcedureFocalDeviceComponent(); 127 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 128 if (src.hasAction()) 129 tgt.setAction(CodeableConcept10_30.convertCodeableConcept(src.getAction())); 130 if (src.hasManipulated()) 131 tgt.setManipulated(Reference10_30.convertReference(src.getManipulated())); 132 return tgt; 133 } 134 135 public static org.hl7.fhir.dstu2.model.Procedure.ProcedurePerformerComponent convertProcedurePerformerComponent(org.hl7.fhir.dstu3.model.Procedure.ProcedurePerformerComponent src) throws FHIRException { 136 if (src == null || src.isEmpty()) 137 return null; 138 org.hl7.fhir.dstu2.model.Procedure.ProcedurePerformerComponent tgt = new org.hl7.fhir.dstu2.model.Procedure.ProcedurePerformerComponent(); 139 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 140 if (src.hasActor()) 141 tgt.setActor(Reference10_30.convertReference(src.getActor())); 142 if (src.hasRole()) 143 tgt.setRole(CodeableConcept10_30.convertCodeableConcept(src.getRole())); 144 return tgt; 145 } 146 147 public static org.hl7.fhir.dstu3.model.Procedure.ProcedurePerformerComponent convertProcedurePerformerComponent(org.hl7.fhir.dstu2.model.Procedure.ProcedurePerformerComponent src) throws FHIRException { 148 if (src == null || src.isEmpty()) 149 return null; 150 org.hl7.fhir.dstu3.model.Procedure.ProcedurePerformerComponent tgt = new org.hl7.fhir.dstu3.model.Procedure.ProcedurePerformerComponent(); 151 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 152 if (src.hasActor()) 153 tgt.setActor(Reference10_30.convertReference(src.getActor())); 154 if (src.hasRole()) 155 tgt.setRole(CodeableConcept10_30.convertCodeableConcept(src.getRole())); 156 return tgt; 157 } 158 159 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Procedure.ProcedureStatus> convertProcedureStatus(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Procedure.ProcedureStatus> src) throws FHIRException { 160 if (src == null || src.isEmpty()) 161 return null; 162 Enumeration<Procedure.ProcedureStatus> tgt = new Enumeration<>(new Procedure.ProcedureStatusEnumFactory()); 163 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 164 if (src.getValue() == null) { 165 tgt.setValue(null); 166 } else { 167 switch (src.getValue()) { 168 case INPROGRESS: 169 tgt.setValue(Procedure.ProcedureStatus.INPROGRESS); 170 break; 171 case ABORTED: 172 tgt.setValue(Procedure.ProcedureStatus.ABORTED); 173 break; 174 case COMPLETED: 175 tgt.setValue(Procedure.ProcedureStatus.COMPLETED); 176 break; 177 case ENTEREDINERROR: 178 tgt.setValue(Procedure.ProcedureStatus.ENTEREDINERROR); 179 break; 180 default: 181 tgt.setValue(Procedure.ProcedureStatus.NULL); 182 break; 183 } 184 } 185 return tgt; 186 } 187 188 static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Procedure.ProcedureStatus> convertProcedureStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Procedure.ProcedureStatus> src) throws FHIRException { 189 if (src == null || src.isEmpty()) 190 return null; 191 org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Procedure.ProcedureStatus> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.Procedure.ProcedureStatusEnumFactory()); 192 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 193 if (src.getValue() == null) { 194 tgt.setValue(null); 195 } else { 196 switch (src.getValue()) { 197 case INPROGRESS: 198 tgt.setValue(org.hl7.fhir.dstu2.model.Procedure.ProcedureStatus.INPROGRESS); 199 break; 200 case ABORTED: 201 tgt.setValue(org.hl7.fhir.dstu2.model.Procedure.ProcedureStatus.ABORTED); 202 break; 203 case COMPLETED: 204 tgt.setValue(org.hl7.fhir.dstu2.model.Procedure.ProcedureStatus.COMPLETED); 205 break; 206 case ENTEREDINERROR: 207 tgt.setValue(org.hl7.fhir.dstu2.model.Procedure.ProcedureStatus.ENTEREDINERROR); 208 break; 209 default: 210 tgt.setValue(org.hl7.fhir.dstu2.model.Procedure.ProcedureStatus.NULL); 211 break; 212 } 213 } 214 return tgt; 215 } 216}