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


Mandatory Combined Parameters
A search must use one of the following parameter combinations. Optional parameters below can be added to 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

Additional Optional Parameters
These parameters can be applied in addition to a mandatory combination 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
performer reference Who performed the observation, e.g.
performer={performer_id}
performer=Practitioner/{performer_id}
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. If no search criteria is provided, then all Observation instances that the logged-in user has access to will be returned.

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}