
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.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30; 008import org.hl7.fhir.dstu3.model.Enumeration; 009import org.hl7.fhir.dstu3.model.ProcedureRequest; 010import org.hl7.fhir.exceptions.FHIRException; 011 012public class ProcedureRequest10_30 { 013 014 public static org.hl7.fhir.dstu3.model.ProcedureRequest convertProcedureRequest(org.hl7.fhir.dstu2.model.ProcedureRequest src) throws FHIRException { 015 if (src == null || src.isEmpty()) 016 return null; 017 org.hl7.fhir.dstu3.model.ProcedureRequest tgt = new org.hl7.fhir.dstu3.model.ProcedureRequest(); 018 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 019 for (org.hl7.fhir.dstu2.model.Identifier t : src.getIdentifier()) 020 tgt.addIdentifier(Identifier10_30.convertIdentifier(t)); 021 if (src.hasSubject()) 022 tgt.setSubject(Reference10_30.convertReference(src.getSubject())); 023 if (src.hasCode()) 024 tgt.setCode(CodeableConcept10_30.convertCodeableConcept(src.getCode())); 025 for (org.hl7.fhir.dstu2.model.CodeableConcept t : src.getBodySite()) 026 tgt.addBodySite(CodeableConcept10_30.convertCodeableConcept(t)); 027 if (src.hasReasonCodeableConcept()) 028 tgt.addReasonCode(CodeableConcept10_30.convertCodeableConcept(src.getReasonCodeableConcept())); 029 if (src.hasScheduled()) 030 tgt.setOccurrence(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getScheduled())); 031 if (src.hasEncounter()) 032 tgt.setContext(Reference10_30.convertReference(src.getEncounter())); 033 if (src.hasPerformer()) 034 tgt.setPerformer(Reference10_30.convertReference(src.getPerformer())); 035 if (src.hasStatus()) 036 tgt.setStatusElement(convertProcedureRequestStatus(src.getStatusElement())); 037 if (src.hasAsNeeded()) 038 tgt.setAsNeeded(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getAsNeeded())); 039 if (src.hasOrderedOnElement()) 040 tgt.setAuthoredOnElement(DateTime10_30.convertDateTime(src.getOrderedOnElement())); 041 if (src.hasPriority()) 042 tgt.setPriorityElement(convertProcedureRequestPriority(src.getPriorityElement())); 043 return tgt; 044 } 045 046 public static org.hl7.fhir.dstu2.model.ProcedureRequest convertProcedureRequest(org.hl7.fhir.dstu3.model.ProcedureRequest src) throws FHIRException { 047 if (src == null || src.isEmpty()) 048 return null; 049 org.hl7.fhir.dstu2.model.ProcedureRequest tgt = new org.hl7.fhir.dstu2.model.ProcedureRequest(); 050 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 051 for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) 052 tgt.addIdentifier(Identifier10_30.convertIdentifier(t)); 053 if (src.hasSubject()) 054 tgt.setSubject(Reference10_30.convertReference(src.getSubject())); 055 if (src.hasCode()) 056 tgt.setCode(CodeableConcept10_30.convertCodeableConcept(src.getCode())); 057 for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getBodySite()) 058 tgt.addBodySite(CodeableConcept10_30.convertCodeableConcept(t)); 059 if (src.hasReasonCode()) 060 tgt.setReason(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getReasonCodeFirstRep())); 061 if (src.hasOccurrence()) 062 tgt.setScheduled(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getOccurrence())); 063 if (src.hasContext()) 064 tgt.setEncounter(Reference10_30.convertReference(src.getContext())); 065 if (src.hasPerformer()) 066 tgt.setPerformer(Reference10_30.convertReference(src.getPerformer())); 067 if (src.hasStatus()) 068 tgt.setStatusElement(convertProcedureRequestStatus(src.getStatusElement())); 069 if (src.hasAsNeeded()) 070 tgt.setAsNeeded(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getAsNeeded())); 071 if (src.hasAuthoredOnElement()) 072 tgt.setOrderedOnElement(DateTime10_30.convertDateTime(src.getAuthoredOnElement())); 073 if (src.hasPriority()) 074 tgt.setPriorityElement(convertProcedureRequestPriority(src.getPriorityElement())); 075 return tgt; 076 } 077 078 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ProcedureRequest.ProcedureRequestPriority> convertProcedureRequestPriority(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.ProcedureRequest.ProcedureRequestPriority> src) throws FHIRException { 079 if (src == null || src.isEmpty()) 080 return null; 081 Enumeration<ProcedureRequest.ProcedureRequestPriority> tgt = new Enumeration<>(new ProcedureRequest.ProcedureRequestPriorityEnumFactory()); 082 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 083 if (src.getValue() == null) { 084 tgt.setValue(null); 085 } else { 086 switch (src.getValue()) { 087 case ROUTINE: 088 tgt.setValue(ProcedureRequest.ProcedureRequestPriority.ROUTINE); 089 break; 090 case URGENT: 091 tgt.setValue(ProcedureRequest.ProcedureRequestPriority.URGENT); 092 break; 093 case STAT: 094 tgt.setValue(ProcedureRequest.ProcedureRequestPriority.STAT); 095 break; 096 case ASAP: 097 tgt.setValue(ProcedureRequest.ProcedureRequestPriority.ASAP); 098 break; 099 default: 100 tgt.setValue(ProcedureRequest.ProcedureRequestPriority.NULL); 101 break; 102 } 103 } 104 return tgt; 105 } 106 107 static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.ProcedureRequest.ProcedureRequestPriority> convertProcedureRequestPriority(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ProcedureRequest.ProcedureRequestPriority> src) throws FHIRException { 108 if (src == null || src.isEmpty()) 109 return null; 110 org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.ProcedureRequest.ProcedureRequestPriority> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.ProcedureRequest.ProcedureRequestPriorityEnumFactory()); 111 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 112 if (src.getValue() == null) { 113 tgt.setValue(null); 114 } else { 115 switch (src.getValue()) { 116 case ROUTINE: 117 tgt.setValue(org.hl7.fhir.dstu2.model.ProcedureRequest.ProcedureRequestPriority.ROUTINE); 118 break; 119 case URGENT: 120 tgt.setValue(org.hl7.fhir.dstu2.model.ProcedureRequest.ProcedureRequestPriority.URGENT); 121 break; 122 case STAT: 123 tgt.setValue(org.hl7.fhir.dstu2.model.ProcedureRequest.ProcedureRequestPriority.STAT); 124 break; 125 case ASAP: 126 tgt.setValue(org.hl7.fhir.dstu2.model.ProcedureRequest.ProcedureRequestPriority.ASAP); 127 break; 128 default: 129 tgt.setValue(org.hl7.fhir.dstu2.model.ProcedureRequest.ProcedureRequestPriority.NULL); 130 break; 131 } 132 } 133 return tgt; 134 } 135 136 static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.ProcedureRequest.ProcedureRequestStatus> convertProcedureRequestStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ProcedureRequest.ProcedureRequestStatus> src) throws FHIRException { 137 if (src == null || src.isEmpty()) 138 return null; 139 org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.ProcedureRequest.ProcedureRequestStatus> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.ProcedureRequest.ProcedureRequestStatusEnumFactory()); 140 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 141 if (src.getValue() == null) { 142 tgt.setValue(null); 143 } else { 144 switch (src.getValue()) { 145 case DRAFT: 146 tgt.setValue(org.hl7.fhir.dstu2.model.ProcedureRequest.ProcedureRequestStatus.DRAFT); 147 break; 148 case ACTIVE: 149 tgt.setValue(org.hl7.fhir.dstu2.model.ProcedureRequest.ProcedureRequestStatus.INPROGRESS); 150 break; 151 case COMPLETED: 152 tgt.setValue(org.hl7.fhir.dstu2.model.ProcedureRequest.ProcedureRequestStatus.COMPLETED); 153 break; 154 case SUSPENDED: 155 tgt.setValue(org.hl7.fhir.dstu2.model.ProcedureRequest.ProcedureRequestStatus.SUSPENDED); 156 break; 157 case ENTEREDINERROR: 158 tgt.setValue(org.hl7.fhir.dstu2.model.ProcedureRequest.ProcedureRequestStatus.ABORTED); 159 break; 160 default: 161 tgt.setValue(org.hl7.fhir.dstu2.model.ProcedureRequest.ProcedureRequestStatus.NULL); 162 break; 163 } 164 } 165 return tgt; 166 } 167 168 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.ProcedureRequest.ProcedureRequestStatus> convertProcedureRequestStatus(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.ProcedureRequest.ProcedureRequestStatus> src) throws FHIRException { 169 if (src == null || src.isEmpty()) 170 return null; 171 Enumeration<ProcedureRequest.ProcedureRequestStatus> tgt = new Enumeration<>(new ProcedureRequest.ProcedureRequestStatusEnumFactory()); 172 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 173 if (src.getValue() == null) { 174 tgt.setValue(null); 175 } else { 176 switch (src.getValue()) { 177 case PROPOSED: 178 tgt.setValue(ProcedureRequest.ProcedureRequestStatus.DRAFT); 179 break; 180 case DRAFT: 181 tgt.setValue(ProcedureRequest.ProcedureRequestStatus.DRAFT); 182 break; 183 case REQUESTED: 184 tgt.setValue(ProcedureRequest.ProcedureRequestStatus.ACTIVE); 185 break; 186 case RECEIVED: 187 tgt.setValue(ProcedureRequest.ProcedureRequestStatus.ACTIVE); 188 break; 189 case ACCEPTED: 190 tgt.setValue(ProcedureRequest.ProcedureRequestStatus.ACTIVE); 191 break; 192 case INPROGRESS: 193 tgt.setValue(ProcedureRequest.ProcedureRequestStatus.ACTIVE); 194 break; 195 case COMPLETED: 196 tgt.setValue(ProcedureRequest.ProcedureRequestStatus.COMPLETED); 197 break; 198 case SUSPENDED: 199 tgt.setValue(ProcedureRequest.ProcedureRequestStatus.SUSPENDED); 200 break; 201 case ABORTED: 202 tgt.setValue(ProcedureRequest.ProcedureRequestStatus.ENTEREDINERROR); 203 break; 204 default: 205 tgt.setValue(ProcedureRequest.ProcedureRequestStatus.NULL); 206 break; 207 } 208 } 209 return tgt; 210 } 211}