Stream: implementers
Topic: Observation back Reference to DiagnosticReport
Michael Doppler (Sep 09 2020 at 10:59):
Dear FHIR Community,
we have a FHIR Viewer in our portfolio that supports displaying an overview of all Observations of a patient in a timeline/table view. This viewer displays the result of a query to the FHIR Observation resource filtered by the patient.
Now our users would be able to see Observations grouped by the corresponding DiagnosticReports, those Observations belong to and optionally be able to jump to the full DiagnosticReport. The most efficient way to support this would be having optional References to the DiagnosticReport in the Observation resource, but this does not seem to be supported by the standard right now. The only way to accomplish this in a FHIR conformant way right now would be to get all DiagnosticReports in their entirety for the Observations/Patient and map the links to the Observations by parsing all of them. This is inefficient, because same patients have lots of relatively large DiagnosticReports containing more than 10k Observations with rather big narratives.
That grouping Observations by the DiagnosticReport they are part of, is an important use case is already apparent in the current documentation of the Observation resource:
Many observations have important relationships to other observations and need to be grouped together. These structures have been defined to do this: DiagnosticReport and DiagnosticReport.result
https://www.hl7.org/fhir/observation.html#obsgrouping
So would it be possible to extend the Observation resource to allow either an optional Diagnostic Report reference in the partOf field or a new diagnosticReport field containing this optional reference?
Thanks in advance,
Michael
Michele Mottini (Sep 09 2020 at 12:34):
You can get the DiagnosticReports related to the Observations using a reverse include: [base]/Observation? . . . &_revinclude=DiagnosticReport:result
(if the server supports it)
Michele Mottini (Sep 09 2020 at 12:35):
Having references in both direction is not done in general, makes updating resources hard
Michael Doppler (Sep 09 2020 at 14:45):
@Michele Mottini: thank you for pointing to the _revinclude
parameter. On the server side this is hard to implement with good performance when processing a large number of Observations. An optional DiagnosticReport reference in the Observation resource would mitigate this problem.
Lloyd McKenzie (Sep 09 2020 at 15:22):
In FHIR, we try hard to ensure that references exist in only one direction - otherwise we run into transactional issues when updating resources (you'd need to update both the source and target resource simultaneously to keep things consistent). The performance shouldn't be any different using _include with a forward reference or _revinclude with a reverse reference.
Last updated: Apr 12 2022 at 19:14 UTC