All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.hl7.fhir.r5.utils.ObservationUtilities Maven / Gradle / Ivy

There is a newer version: 6.5.6
Show newest version
package org.hl7.fhir.r5.utils;

import org.hl7.fhir.r5.model.Observation;
import org.hl7.fhir.r5.model.ObservationDefinition;
import org.hl7.fhir.r5.model.ObservationDefinition.ObservationDataType;

public class ObservationUtilities {

  public static Observation fromDefinition(ObservationDefinition def) {
    Observation obs = new Observation();
    obs.setCode(def.getCode());
    obs.getCategory().addAll(def.getCategory());
    if (def.hasBodySite()) {
      obs.setBodySite(def.getBodySite());
    }
    if (def.hasMethod()) {
      obs.setMethod(def.getMethod());
    }
    if (def.hasPermittedDataType(ObservationDataType.QUANTITY) && def.getPermittedUnit().size() == 1 && def.getPermittedUnitFirstRep().getSystem().equals("http://unitsofmeasure.org")) {
      obs.getValueQuantity().setSystem("http://unitsofmeasure.org").setCode(def.getPermittedUnitFirstRep().getCode());
    }
    // todo: set up reference ranges 
    return obs;
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy