The MediRecords FHIR API supports the following Observation profiles:
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.
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 |
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 |
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 |
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}