
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.complextypes10_30.Range10_30; 008import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.SimpleQuantity10_30; 009import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Instant10_30; 010import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; 011import org.hl7.fhir.dstu3.model.Enumeration; 012import org.hl7.fhir.dstu3.model.Observation; 013import org.hl7.fhir.exceptions.FHIRException; 014 015public class Observation10_30 { 016 017 public static org.hl7.fhir.dstu3.model.Observation convertObservation(org.hl7.fhir.dstu2.model.Observation src) throws FHIRException { 018 if (src == null || src.isEmpty()) 019 return null; 020 org.hl7.fhir.dstu3.model.Observation tgt = new org.hl7.fhir.dstu3.model.Observation(); 021 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 022 for (org.hl7.fhir.dstu2.model.Identifier t : src.getIdentifier()) 023 tgt.addIdentifier(Identifier10_30.convertIdentifier(t)); 024 if (src.hasStatus()) 025 tgt.setStatusElement(convertObservationStatus(src.getStatusElement())); 026 if (src.hasCategory()) 027 tgt.addCategory(CodeableConcept10_30.convertCodeableConcept(src.getCategory())); 028 if (src.hasCode()) 029 tgt.setCode(CodeableConcept10_30.convertCodeableConcept(src.getCode())); 030 if (src.hasSubject()) 031 tgt.setSubject(Reference10_30.convertReference(src.getSubject())); 032 if (src.hasEncounter()) 033 tgt.setContext(Reference10_30.convertReference(src.getEncounter())); 034 if (src.hasEffective()) 035 tgt.setEffective(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getEffective())); 036 if (src.hasIssuedElement()) 037 tgt.setIssuedElement(Instant10_30.convertInstant(src.getIssuedElement())); 038 for (org.hl7.fhir.dstu2.model.Reference t : src.getPerformer()) 039 tgt.addPerformer(Reference10_30.convertReference(t)); 040 if (src.hasValue()) 041 tgt.setValue(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getValue())); 042 if (src.hasDataAbsentReason()) 043 tgt.setDataAbsentReason(CodeableConcept10_30.convertCodeableConcept(src.getDataAbsentReason())); 044 if (src.hasInterpretation()) 045 tgt.setInterpretation(CodeableConcept10_30.convertCodeableConcept(src.getInterpretation())); 046 if (src.hasCommentsElement()) 047 tgt.setCommentElement(String10_30.convertString(src.getCommentsElement())); 048 if (src.hasBodySite()) 049 tgt.setBodySite(CodeableConcept10_30.convertCodeableConcept(src.getBodySite())); 050 if (src.hasMethod()) 051 tgt.setMethod(CodeableConcept10_30.convertCodeableConcept(src.getMethod())); 052 if (src.hasSpecimen()) 053 tgt.setSpecimen(Reference10_30.convertReference(src.getSpecimen())); 054 if (src.hasDevice()) 055 tgt.setDevice(Reference10_30.convertReference(src.getDevice())); 056 for (org.hl7.fhir.dstu2.model.Observation.ObservationReferenceRangeComponent t : src.getReferenceRange()) 057 tgt.addReferenceRange(convertObservationReferenceRangeComponent(t)); 058 for (org.hl7.fhir.dstu2.model.Observation.ObservationRelatedComponent t : src.getRelated()) 059 tgt.addRelated(convertObservationRelatedComponent(t)); 060 for (org.hl7.fhir.dstu2.model.Observation.ObservationComponentComponent t : src.getComponent()) 061 tgt.addComponent(convertObservationComponentComponent(t)); 062 return tgt; 063 } 064 065 public static org.hl7.fhir.dstu2.model.Observation convertObservation(org.hl7.fhir.dstu3.model.Observation src) throws FHIRException { 066 if (src == null || src.isEmpty()) 067 return null; 068 org.hl7.fhir.dstu2.model.Observation tgt = new org.hl7.fhir.dstu2.model.Observation(); 069 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyDomainResource(src, tgt); 070 for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) 071 tgt.addIdentifier(Identifier10_30.convertIdentifier(t)); 072 if (src.hasStatus()) 073 tgt.setStatusElement(convertObservationStatus(src.getStatusElement())); 074 for (org.hl7.fhir.dstu3.model.CodeableConcept c : src.getCategory()) 075 tgt.setCategory(CodeableConcept10_30.convertCodeableConcept(c)); 076 if (src.hasCode()) 077 tgt.setCode(CodeableConcept10_30.convertCodeableConcept(src.getCode())); 078 if (src.hasSubject()) 079 tgt.setSubject(Reference10_30.convertReference(src.getSubject())); 080 if (src.hasContext()) 081 tgt.setEncounter(Reference10_30.convertReference(src.getContext())); 082 if (src.hasEffective()) 083 tgt.setEffective(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getEffective())); 084 if (src.hasIssuedElement()) 085 tgt.setIssuedElement(Instant10_30.convertInstant(src.getIssuedElement())); 086 for (org.hl7.fhir.dstu3.model.Reference t : src.getPerformer()) 087 tgt.addPerformer(Reference10_30.convertReference(t)); 088 if (src.hasValue()) 089 tgt.setValue(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getValue())); 090 if (src.hasDataAbsentReason()) 091 tgt.setDataAbsentReason(CodeableConcept10_30.convertCodeableConcept(src.getDataAbsentReason())); 092 if (src.hasInterpretation()) 093 tgt.setInterpretation(CodeableConcept10_30.convertCodeableConcept(src.getInterpretation())); 094 if (src.hasCommentElement()) 095 tgt.setCommentsElement(String10_30.convertString(src.getCommentElement())); 096 if (src.hasBodySite()) 097 tgt.setBodySite(CodeableConcept10_30.convertCodeableConcept(src.getBodySite())); 098 if (src.hasMethod()) 099 tgt.setMethod(CodeableConcept10_30.convertCodeableConcept(src.getMethod())); 100 if (src.hasSpecimen()) 101 tgt.setSpecimen(Reference10_30.convertReference(src.getSpecimen())); 102 if (src.hasDevice()) 103 tgt.setDevice(Reference10_30.convertReference(src.getDevice())); 104 for (org.hl7.fhir.dstu3.model.Observation.ObservationReferenceRangeComponent t : src.getReferenceRange()) 105 tgt.addReferenceRange(convertObservationReferenceRangeComponent(t)); 106 for (org.hl7.fhir.dstu3.model.Observation.ObservationRelatedComponent t : src.getRelated()) 107 tgt.addRelated(convertObservationRelatedComponent(t)); 108 for (org.hl7.fhir.dstu3.model.Observation.ObservationComponentComponent t : src.getComponent()) 109 tgt.addComponent(convertObservationComponentComponent(t)); 110 return tgt; 111 } 112 113 public static org.hl7.fhir.dstu2.model.Observation.ObservationComponentComponent convertObservationComponentComponent(org.hl7.fhir.dstu3.model.Observation.ObservationComponentComponent src) throws FHIRException { 114 if (src == null || src.isEmpty()) 115 return null; 116 org.hl7.fhir.dstu2.model.Observation.ObservationComponentComponent tgt = new org.hl7.fhir.dstu2.model.Observation.ObservationComponentComponent(); 117 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 118 if (src.hasCode()) 119 tgt.setCode(CodeableConcept10_30.convertCodeableConcept(src.getCode())); 120 if (src.hasValue()) 121 tgt.setValue(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getValue())); 122 if (src.hasDataAbsentReason()) 123 tgt.setDataAbsentReason(CodeableConcept10_30.convertCodeableConcept(src.getDataAbsentReason())); 124 for (org.hl7.fhir.dstu3.model.Observation.ObservationReferenceRangeComponent t : src.getReferenceRange()) 125 tgt.addReferenceRange(convertObservationReferenceRangeComponent(t)); 126 return tgt; 127 } 128 129 public static org.hl7.fhir.dstu3.model.Observation.ObservationComponentComponent convertObservationComponentComponent(org.hl7.fhir.dstu2.model.Observation.ObservationComponentComponent src) throws FHIRException { 130 if (src == null || src.isEmpty()) 131 return null; 132 org.hl7.fhir.dstu3.model.Observation.ObservationComponentComponent tgt = new org.hl7.fhir.dstu3.model.Observation.ObservationComponentComponent(); 133 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 134 if (src.hasCode()) 135 tgt.setCode(CodeableConcept10_30.convertCodeableConcept(src.getCode())); 136 if (src.hasValue()) 137 tgt.setValue(ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().convertType(src.getValue())); 138 if (src.hasDataAbsentReason()) 139 tgt.setDataAbsentReason(CodeableConcept10_30.convertCodeableConcept(src.getDataAbsentReason())); 140 for (org.hl7.fhir.dstu2.model.Observation.ObservationReferenceRangeComponent t : src.getReferenceRange()) 141 tgt.addReferenceRange(convertObservationReferenceRangeComponent(t)); 142 return tgt; 143 } 144 145 public static org.hl7.fhir.dstu3.model.Observation.ObservationReferenceRangeComponent convertObservationReferenceRangeComponent(org.hl7.fhir.dstu2.model.Observation.ObservationReferenceRangeComponent src) throws FHIRException { 146 if (src == null || src.isEmpty()) 147 return null; 148 org.hl7.fhir.dstu3.model.Observation.ObservationReferenceRangeComponent tgt = new org.hl7.fhir.dstu3.model.Observation.ObservationReferenceRangeComponent(); 149 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 150 if (src.hasLow()) 151 tgt.setLow(SimpleQuantity10_30.convertSimpleQuantity(src.getLow())); 152 if (src.hasHigh()) 153 tgt.setHigh(SimpleQuantity10_30.convertSimpleQuantity(src.getHigh())); 154 if (src.hasMeaning()) 155 tgt.setType(CodeableConcept10_30.convertCodeableConcept(src.getMeaning())); 156 if (src.hasAge()) 157 tgt.setAge(Range10_30.convertRange(src.getAge())); 158 if (src.hasTextElement()) 159 tgt.setTextElement(String10_30.convertString(src.getTextElement())); 160 return tgt; 161 } 162 163 public static org.hl7.fhir.dstu2.model.Observation.ObservationReferenceRangeComponent convertObservationReferenceRangeComponent(org.hl7.fhir.dstu3.model.Observation.ObservationReferenceRangeComponent src) throws FHIRException { 164 if (src == null || src.isEmpty()) 165 return null; 166 org.hl7.fhir.dstu2.model.Observation.ObservationReferenceRangeComponent tgt = new org.hl7.fhir.dstu2.model.Observation.ObservationReferenceRangeComponent(); 167 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 168 if (src.hasLow()) 169 tgt.setLow(SimpleQuantity10_30.convertSimpleQuantity(src.getLow())); 170 if (src.hasHigh()) 171 tgt.setHigh(SimpleQuantity10_30.convertSimpleQuantity(src.getHigh())); 172 if (src.hasType()) 173 tgt.setMeaning(CodeableConcept10_30.convertCodeableConcept(src.getType())); 174 if (src.hasAge()) 175 tgt.setAge(Range10_30.convertRange(src.getAge())); 176 if (src.hasTextElement()) 177 tgt.setTextElement(String10_30.convertString(src.getTextElement())); 178 return tgt; 179 } 180 181 public static org.hl7.fhir.dstu2.model.Observation.ObservationRelatedComponent convertObservationRelatedComponent(org.hl7.fhir.dstu3.model.Observation.ObservationRelatedComponent src) throws FHIRException { 182 if (src == null || src.isEmpty()) 183 return null; 184 org.hl7.fhir.dstu2.model.Observation.ObservationRelatedComponent tgt = new org.hl7.fhir.dstu2.model.Observation.ObservationRelatedComponent(); 185 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 186 if (src.hasType()) 187 tgt.setTypeElement(convertObservationRelationshipType(src.getTypeElement())); 188 if (src.hasTarget()) 189 tgt.setTarget(Reference10_30.convertReference(src.getTarget())); 190 return tgt; 191 } 192 193 public static org.hl7.fhir.dstu3.model.Observation.ObservationRelatedComponent convertObservationRelatedComponent(org.hl7.fhir.dstu2.model.Observation.ObservationRelatedComponent src) throws FHIRException { 194 if (src == null || src.isEmpty()) 195 return null; 196 org.hl7.fhir.dstu3.model.Observation.ObservationRelatedComponent tgt = new org.hl7.fhir.dstu3.model.Observation.ObservationRelatedComponent(); 197 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyBackboneElement(src,tgt); 198 if (src.hasType()) 199 tgt.setTypeElement(convertObservationRelationshipType(src.getTypeElement())); 200 if (src.hasTarget()) 201 tgt.setTarget(Reference10_30.convertReference(src.getTarget())); 202 return tgt; 203 } 204 205 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Observation.ObservationRelationshipType> convertObservationRelationshipType(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Observation.ObservationRelationshipType> src) throws FHIRException { 206 if (src == null || src.isEmpty()) 207 return null; 208 Enumeration<Observation.ObservationRelationshipType> tgt = new Enumeration<>(new Observation.ObservationRelationshipTypeEnumFactory()); 209 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 210 if (src.getValue() == null) { 211 tgt.setValue(null); 212 } else { 213 switch (src.getValue()) { 214 case HASMEMBER: 215 tgt.setValue(Observation.ObservationRelationshipType.HASMEMBER); 216 break; 217 case DERIVEDFROM: 218 tgt.setValue(Observation.ObservationRelationshipType.DERIVEDFROM); 219 break; 220 case SEQUELTO: 221 tgt.setValue(Observation.ObservationRelationshipType.SEQUELTO); 222 break; 223 case REPLACES: 224 tgt.setValue(Observation.ObservationRelationshipType.REPLACES); 225 break; 226 case QUALIFIEDBY: 227 tgt.setValue(Observation.ObservationRelationshipType.QUALIFIEDBY); 228 break; 229 case INTERFEREDBY: 230 tgt.setValue(Observation.ObservationRelationshipType.INTERFEREDBY); 231 break; 232 default: 233 tgt.setValue(Observation.ObservationRelationshipType.NULL); 234 break; 235 } 236 } 237 return tgt; 238 } 239 240 static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Observation.ObservationRelationshipType> convertObservationRelationshipType(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Observation.ObservationRelationshipType> src) throws FHIRException { 241 if (src == null || src.isEmpty()) 242 return null; 243 org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Observation.ObservationRelationshipType> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.Observation.ObservationRelationshipTypeEnumFactory()); 244 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 245 if (src.getValue() == null) { 246 tgt.setValue(null); 247 } else { 248 switch (src.getValue()) { 249 case HASMEMBER: 250 tgt.setValue(org.hl7.fhir.dstu2.model.Observation.ObservationRelationshipType.HASMEMBER); 251 break; 252 case DERIVEDFROM: 253 tgt.setValue(org.hl7.fhir.dstu2.model.Observation.ObservationRelationshipType.DERIVEDFROM); 254 break; 255 case SEQUELTO: 256 tgt.setValue(org.hl7.fhir.dstu2.model.Observation.ObservationRelationshipType.SEQUELTO); 257 break; 258 case REPLACES: 259 tgt.setValue(org.hl7.fhir.dstu2.model.Observation.ObservationRelationshipType.REPLACES); 260 break; 261 case QUALIFIEDBY: 262 tgt.setValue(org.hl7.fhir.dstu2.model.Observation.ObservationRelationshipType.QUALIFIEDBY); 263 break; 264 case INTERFEREDBY: 265 tgt.setValue(org.hl7.fhir.dstu2.model.Observation.ObservationRelationshipType.INTERFEREDBY); 266 break; 267 default: 268 tgt.setValue(org.hl7.fhir.dstu2.model.Observation.ObservationRelationshipType.NULL); 269 break; 270 } 271 } 272 return tgt; 273 } 274 275 static public org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Observation.ObservationStatus> convertObservationStatus(org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Observation.ObservationStatus> src) throws FHIRException { 276 if (src == null || src.isEmpty()) 277 return null; 278 org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Observation.ObservationStatus> tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.Observation.ObservationStatusEnumFactory()); 279 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 280 if (src.getValue() == null) { 281 tgt.setValue(null); 282 } else { 283 switch (src.getValue()) { 284 case REGISTERED: 285 tgt.setValue(org.hl7.fhir.dstu2.model.Observation.ObservationStatus.REGISTERED); 286 break; 287 case PRELIMINARY: 288 tgt.setValue(org.hl7.fhir.dstu2.model.Observation.ObservationStatus.PRELIMINARY); 289 break; 290 case FINAL: 291 tgt.setValue(org.hl7.fhir.dstu2.model.Observation.ObservationStatus.FINAL); 292 break; 293 case AMENDED: 294 tgt.setValue(org.hl7.fhir.dstu2.model.Observation.ObservationStatus.AMENDED); 295 break; 296 case CANCELLED: 297 tgt.setValue(org.hl7.fhir.dstu2.model.Observation.ObservationStatus.CANCELLED); 298 break; 299 case ENTEREDINERROR: 300 tgt.setValue(org.hl7.fhir.dstu2.model.Observation.ObservationStatus.ENTEREDINERROR); 301 break; 302 case UNKNOWN: 303 tgt.setValue(org.hl7.fhir.dstu2.model.Observation.ObservationStatus.UNKNOWN); 304 break; 305 default: 306 tgt.setValue(org.hl7.fhir.dstu2.model.Observation.ObservationStatus.NULL); 307 break; 308 } 309 } 310 return tgt; 311 } 312 313 static public org.hl7.fhir.dstu3.model.Enumeration<org.hl7.fhir.dstu3.model.Observation.ObservationStatus> convertObservationStatus(org.hl7.fhir.dstu2.model.Enumeration<org.hl7.fhir.dstu2.model.Observation.ObservationStatus> src) throws FHIRException { 314 if (src == null || src.isEmpty()) 315 return null; 316 Enumeration<Observation.ObservationStatus> tgt = new Enumeration<>(new Observation.ObservationStatusEnumFactory()); 317 ConversionContext10_30.INSTANCE.getVersionConvertor_10_30().copyElement(src, tgt); 318 if (src.getValue() == null) { 319 tgt.setValue(null); 320 } else { 321 switch (src.getValue()) { 322 case REGISTERED: 323 tgt.setValue(Observation.ObservationStatus.REGISTERED); 324 break; 325 case PRELIMINARY: 326 tgt.setValue(Observation.ObservationStatus.PRELIMINARY); 327 break; 328 case FINAL: 329 tgt.setValue(Observation.ObservationStatus.FINAL); 330 break; 331 case AMENDED: 332 tgt.setValue(Observation.ObservationStatus.AMENDED); 333 break; 334 case CANCELLED: 335 tgt.setValue(Observation.ObservationStatus.CANCELLED); 336 break; 337 case ENTEREDINERROR: 338 tgt.setValue(Observation.ObservationStatus.ENTEREDINERROR); 339 break; 340 case UNKNOWN: 341 tgt.setValue(Observation.ObservationStatus.UNKNOWN); 342 break; 343 default: 344 tgt.setValue(Observation.ObservationStatus.NULL); 345 break; 346 } 347 } 348 return tgt; 349 } 350}