MediRecords FHIR Implementation Guide
1.4.2 - release


Observation

The MediRecords FHIR API supports the following Observation profiles:

MRObservationVitalSignBloodPress
MRObservationVitalSignBodyHeight
MRObservationVitalSignBodyLength
MRObservationVitalSignBMI
MRObservationVitalSignBodyTemperature
MRObservationVitalSignBodyWeight
MRObservationVitalSignHeadCircumference
MRObservationVitalSignHeartRate
MRObservationVitalSignOxygenSaturation
MRObservationVitalSignRespiratoryRate
MRObservationWaistCircumference

Additionally, MediRecords FHIR API supports the following profile for Generic Clinical Observations. This includes Observation Panels which represent a Clinical Template containing Clinical Observations.

MRObservationClinical

GET {API_URL}/v1/Observation

This API interface enables the client to search Observation instances from MediRecords repository. This is in compliance with the MediRecords Observation Vital Signs profiles.

Query Parameters


Recommended Combined Parameters
A search must include the mandatory patient parameter. We recommend using one of the following combinations to constrain the result set. Additional parameters below can be added to further refine the result.

Parameter Type Description
patient+category reference+token Returns observations for the specified patient, filtered by category (the classification of the observation type, e.g. vital-signs). Both parameters must be supplied together, e.g.
patient={id}&category=vital-signs
patient={id}&category=http://terminology.hl7.org/CodeSystem/observation-category|vital-signs
patient+code reference+token Returns observations for the specified patient, filtered by code (the specific observation type). Both parameters must be supplied together, e.g.
patient={id}&code=75367002
patient={id}&code=http://snomed.info/sct|75367002
patient={id}&code=29463-7
patient={id}&code=http://loinc.org|29463-7

Note: Patient-only searches are not recommended, as they can return unbounded result sets and degrade query performance.

Query Parameters
These parameters can be applied in addition to the mandatory patient parameter to refine the search result.

Parameter Type Description
_count number Instructs the server how many resources should be returned in a single page, e.g
_count=10
patient reference Mandatory Patient(id) that the observation is about
performer reference Who performed the observation, e.g.
performer={performer_id}
performer=Practitioner/{performer_id}
category token The classification of the type of observation
code token The code of the observation type
date date Observation effectiveDateTime. Either a date value precise to the day to retrieve observations effective within this day, or datetime value including seconds, time zone and a comparator prefix, such as ge or lt, to retrieve observations in a specific date/time range, e.g.
date=2022-06-07 or
date=ge2022-06-07T17:00:00+10:00&date=lt2022-06-07T18:00:00+10:00
status token The status of the observation. Multiple values may be combined using a comma which matches any of the listed values, e.g.
status=final,entered-in-error

Response

The server returns matching Observation instances in a Bundle that the logged-in user has access to based on provided search criteria.

By default, only active Observations will be provided in the search result.

In an error situation, server SHALL return OperationOutcome detailing the error with the appropriate HTTP Error code as follows.

Status Text
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
500 Internal Server Error

Read

GET {API_URL}/v1/Observation/{id}

This API interface enables the client to read an Observation resource from MediRecords repository which is compliant with the supported MediRecords Observation Vital Signs profiles.

In an error situation, server SHALL return OperationOutcome detailing the error with the appropriate HTTP Error code as follows.

Status Text
200 OK
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
500 Internal Server Error

Webhook

The following table provides the FHIR Webhook event types generated for the Observation resource.

Hub Event Application Trigger Event
observation.created Occurs whenever a new clinical observation record is created
observation.updated Occurs whenever a clinical observation record is updated
Bundle
  Observation (1..*)
  Encounter (0..1)
  Patient (1)
  PractitionerRole (0..1)
  Practitioner (0..2)
  Organization (0..2)
   
observation.deleted Occurs whenever a clinical observation record is deleted
Bundle<br>
  request (1)
    url: DELETE Observation/{id}