Endpoints for writing clinical data to the Shared Health Record, reading a patient's records against a consent token, and looking up the security labels that govern them.
Submit a FHIR bundle to the SHR
Forwards a FHIR collection Bundle to the Shared Health Record. The Encounter must reference the visit's EpisodeOfCare and all clinical resources must reference that Encounter.
The middleware only enforces that the body is a FHIR Bundle (resourceType is Bundle); the bundle contents are validated upstream by DHA.
Give the bundle an id. It is required, and it is the only handle you get on the submission: it comes back as mediator_id in the response.
Processing is asynchronous. A success response means the bundle was accepted and queued, not that every resource in it was persisted. To confirm a resource landed, look its id up afterwards through Fetch patient records.
Related documentation: Introduction to the Shared Health Record
Submit a FHIR bundle to the SHR › Request Body
idUnique identifier for this bundle — use a UUID. Required: the Shared Health Record rejects a bundle without one, and it echoes the value back as the mediator_id of the response so you can correlate the acknowledgement with what you sent.
resourceTypeMust be Bundle. Any other value is rejected with a 400.
Clinical resources carried by the bundle. Each entry wraps one FHIR resource, and each resource needs its own id — that is what you use to confirm it was persisted. The Shared Health Record accepts Encounter, EpisodeOfCare, Observation, Condition, Procedure, Medication, MedicationRequest, MedicationDispense, MedicationAdministration, Immunization, ServiceRequest and AllergyIntolerance.
typeFHIR bundle type. The Shared Health Record expects a collection.
Submit a FHIR bundle to the SHR › Responses
Bundle accepted
mediator_idThe id of the bundle you submitted, echoed back so you can correlate this acknowledgement with the submission. Quote it when following up.
messageHuman readable outcome message from DHA.
statusOutcome status reported by DHA.
Fetch patient records from the SHR
Retrieves clinical records for a patient from the Shared Health Record. Requires the per-visit consent token issued when the consent was verified, supplied in the X-Consent-Token header.
The response is the FHIR search result returned by DHA, passed through unchanged. Any further FHIR search parameters you supply are forwarded upstream as-is.
Related documentation: Introduction to the Shared Health Record
query Parameters
cr_idClient Registry (CR) identifier of the patient whose records are being read.
practitioner_idHealth Worker Registry identifier of the practitioner making the request.
resourcesComma-separated FHIR resource types to return. The Shared Health Record holds Encounter, EpisodeOfCare, Observation, Condition, Procedure, Medication, MedicationRequest, MedicationDispense, MedicationAdministration, Immunization, ServiceRequest and AllergyIntolerance. Ask only for what you need — a narrower list is a faster read.
_idFilter to a single resource instance by its FHIR logical id.
page_tokenPagination token returned by a previous response. Omit it to fetch the first page.
Headers
X-Consent-TokenPer-visit consent token issued on consent verification, or refreshed for an open visit. Required.
Fetch patient records from the SHR › Responses
Patient records
Query patient observations (FHIR)
Queries a patient's observations using FHIR search parameters and returns a FHIR searchset bundle.
Use this where Fetch patient records from the SHR returns too much: that endpoint reads whole resource types for a patient, while this one is a FHIR-conformant query over observations alone, with a stable pagination token.
The read is scoped by consent exactly as patient-records is - send the per-visit X-Consent-Token - and additionally identifies the requesting clinician through X-PUID.
Related documentation: Introduction to the Shared Health Record
query Parameters
subjectClient Registry (CR) identifier of the patient whose observations are being read. This is the FHIR subject reference.
page_tokenPagination token returned in the next link of a previous response. Omit it to fetch the first page.
Headers
X-Consent-TokenPer-visit consent token issued when the patient's consent was verified.
X-PUIDPractitioner Unique Identifier (PUID) of the clinician making the request.
Query patient observations (FHIR) › Responses
FHIR searchset bundle of observations
Query referrals (FHIR)
Queries referrals using FHIR search parameters and returns a FHIR searchset bundle of ServiceRequest resources.
This is how a receiving facility finds referrals sent to it, and how a sending facility tracks the ones it raised: filter by performer:Organization for referrals addressed to you, or by requester:Organization for referrals you raised. Referrals are written to the Shared Health Record as ServiceRequest entries in a submitted bundle.
Unlike the observation query, this endpoint is not scoped by a per-visit consent token - it is a query over referrals directed at an organisation, not a read of one patient's record.
Related documentation: Introduction to the Shared Health Record
query Parameters
performer:OrganizationFacility Registry code of the organisation the referral is addressed to.
requester:OrganizationFacility Registry code of the organisation that raised the referral.
statusFHIR ServiceRequest status to filter by.
countNumber of referrals to return per page.
page_tokenPagination token returned in the next link of a previous response. Omit it to fetch the first page.
Query referrals (FHIR) › Responses
FHIR searchset bundle of referrals
Get SHR resource security labels
Returns the security labels DHA supports for a FHIR resource type and/or a specific code. Security labels drive what a consent grants access to, so read them before building a consent request or interpreting a records response.
Supply at least one of resource_name or code. A lookup with neither is rejected with a 400.
Related documentation: Introduction to the Shared Health Record
query Parameters
resource_nameFHIR resource type to look up. At least one of resource_name or code is required.
codeSpecific code to look up. At least one of resource_name or code is required.
Get SHR resource security labels › Responses
Resource security labels
messageHuman readable outcome message from DHA.
statusOutcome status reported by DHA.
status_codeHTTP status code DHA reported for the lookup.
Get the SHR security label catalogue
Returns the full catalogue of security and confidentiality labels the Shared Health Record recognises. Read it once and cache it: these are the labels you attach to resources when submitting a bundle, and the labels you will see on resources you read back.
Two systems are in play. The confidentiality labels N (normal) and R (restricted) come from the HL7 v3 Confidentiality system and say how guarded a resource is. The sensitivity labels - HIV, PSY, SUD, STD, SEX, PRG, GDIS, CRITINN, FININF - come from the HL7 v3 ActCode system and say what makes it sensitive. A restricted resource carries R together with the sensitivity label that explains it.
To find which label applies to a particular resource type or code, use Get SHR resource security labels instead.
Related documentation: Introduction to the Shared Health Record
Get the SHR security label catalogue › Responses
Security label catalogue
One entry per label the Shared Health Record recognises.
messageHuman readable outcome message from DHA.
statusOutcome status reported by DHA.
status_codeHTTP status code DHA reported for the lookup.

