We are currently investigating a few FHIR resources to understand how to build a feature working around Observation, few things remain unclear for us…
The case of a Observationlike BMI that depends on other Observations:
a). How do we link these : BMI, Height and Weight
b). Where do we store the MBI calculation rules that is using values of Height and Weight
Risk calculation: for many Observations (exampleBMI, blood pressure etc) we would like to calculate health risk factors.
a). Where shall we store the risk calculation rules ?
b). Where do we store the Risk value ? Is it a risk assessment resource ?
On Observation ressource, what is the correct way to store the Observation creation date ? Shall we use “issued”, “effective” or make our own extension like “created_at” ?
Sorry for the slow response. I had trouble getting into my account here for a while. (In the future, if you don’t get a timely response, try http://chat.fhir.org)
1a) BMI Observation would have a ‘derivedFrom’ reference to both the Height and Weight Observations
1b) You could use an extension on ObservationDefinition or some CQL inside an ActivityDefinition.dynamicValue.expression. (Most systems don’t share that type of data right now)
2a) ActivityDefinition.dynamicValue.expression
2b) Could be Observation or RiskAssessment. RiskAssessment is primarily used when you want to convey multiple risk levels by time-range. It’s also not as widely supported
Observation.issued. The ‘effective[x]’ element indicates when the value was deemed to be true, which might be different than when the observation was made. E.g. blood drawn 2 days ago, blood gas measurement done today, the Observation isn’t stating what’s true now, it’s stating what was true 2 days ago.