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