Medtech ALEX® Implementation Guide
0.0.1 - draft International flag

Medtech ALEX® Implementation Guide - Local Development build (v0.0.1) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Capability Statement

This is the computable resource that describes the FHIR compliant RESTful endpoint exposed by the ALEX infrastructure

Note that all API interactions will be routed to a single Practice Management System as ALEX is effectively a facade layer in front of each PMS - ie it is not an aggregator accross different PMS systems. This means that if there is data about a single patient in different PMS's then a call will be required to each one to retrieve all the data (assuming the client has the permission to do so). It is the responsibility of the client to perform any aggregation and de-duplication.

It is important that clients making API calls examine the resource type of all resources returned by a query - in particular the ALEX framework will add OperationOutcome resources in some calls - for example when a search returns no resources, ALEX will add an OperationOutcome resource to the Bundle to be explicit that there were no matching resources. (All queries will return a bundle - even if there were no matching resources).

Refer to the spec for details on using the API and search, though note that this API supports only a subset of the defined queries.

Resource Level Interactions

Patient

The Patient resource represents patient demographics.


Interactions
NameVerbURLDocumentationScope
read Used to retrieve a Patient resource by Id.
Operations
NameDefinitionDocumentation
PatientSummary https://fhir.medtechglobal.com/OperationDefinition/MedtechIps Returns the IPS document for the patient. Only supported as a parameter against patient, using the NHI as the query parameter - eg [host]/Patient/$summary?identifier=https://standards.digital.health.nz/ns/nhi-id|WER4568 The system value should be included, though the NHI will be assumed if it is absent.
Search Parameters
NameTypeDocumentation
name string
family string

Not case sensitive

birthDate string

Not case sensitive

identifier token

If the system is not supplied, then the NHI is assumed

Condition

The Condition resource is used to represent patient problems


Interactions
NameVerbURLDocumentationScope
read how to do 'since'
Search Parameters
NameTypeDocumentation
patient reference

The API supports a chained query on the patient identifier (NHI) This has the syntax: [host]/Condition?patient.identifier={system|value}

If the system is absent, the NHI is assumed

There is also support for a chained query on patient id with the syntax: [host]/Condition?patient._id = {id} where {id} is the patients id

clinical-status token

The clinical status of the Condition. Only 'active' or 'inactive' values are supported

long-term-condition token
Definition: http://hl7.org.nz/fhir/SearchParameter/long-term-condition

Whether the Condition has been marked by the Practitioner as a long term one. This is indicated in the resource as an extension.

MedicationRequest

These are the FHIR representation of prescriptions in medTech


Interactions
NameVerbURLDocumentationScope
read
search-type
Search Parameters
NameTypeDocumentation
patient reference

The API supports a chained query on the patient identifier (NHI) This has the syntax: [host]/MedicationRequest?patient.identifier={system|value}

If the system is absent, the NHI is assumed

There is also support for a chained query on patient id with the syntax: [host]/MedicationRequest?patient._id = {id} where {id} is the patients id

_security token

By default, MedicationRequest resources marked as confidential will not be retuned in a query. This parameter allows a user to specify that they want the confidential records. There are security and provacy constraints that must be met as well.

status token

By default, prescriptions that are not active will not be returned. This search parameter allows for non-active prescriptions to be returned - specifically through the :not modifier

long-term-medication token
Definition: http://hl7.org.nz/fhir/hpi/SearchParameter/long-term-medication

This is a search for MedicationRequests that have the 'long-term-medication' extension set to true. It is defined by a custom search parameter

Observation

Observations are used in 2 main ways: as the details for lab results (such as a haemoglobin result) and for screening data.


Interactions
NameVerbURLDocumentationScope
read
search-type
Search Parameters
NameTypeDocumentation
patient reference

The API supports a chained query on the patient identifier (NHI) This has the syntax: [host]/Condition?patient.identifier={system|value}

If the system is absent, the NHI is assumed

There is also support for a chained query on patient id with the syntax: [host]/Observation?patient._id = {id} where {id} is the patients id

A query on the Observation identifier is NOT supported

date date

The API also supports searching by date range - ge (Greater than or equal to) and le (less than or equal to)

Encounter
Interactions
NameVerbURLDocumentationScope
read
search-type
Search Parameters
NameTypeDocumentation
patient reference

The API supports a chained query on the patient identifier (NHI) This has the syntax: [host]/Encounter?patient.identifier={system|value}

If the system is absent, the NHI is assumed

There is also support for a chained query on patient id with the syntax: [host]/Encounter?patient._id = {id} where {id} is the patients id

date date

The API also supports searching by date range - ge (Greater than or equal to) and le (less than or equal to)

Immunization
Interactions
NameVerbURLDocumentationScope
read
search-type
Search Parameters
NameTypeDocumentation
patient token

The API supports a chained query on the patient identifier (NHI) This has the syntax: [host]/Immunization?patient.identifier={system|value} If the system is absent, the NHI is assumed

There is also support for a chained query on patient id with the syntax: [host]/Immunization?patient._id = {id} where {id} is the patients id

DiagnosticReport

The search queries support the _include value of 'result' to allow the Observation resources to be returned in the same call


Interactions
NameVerbURLDocumentationScope
read
search-type
Search Parameters
NameTypeDocumentation
patient reference

The API supports a chained query on the patient identifier (NHI) This has the syntax: [host]/DiagnosticReport?patient.identifier={system|value}

If the system is absent, the NHI is assumed There is also support for a chained query on patient id with the syntax: [host]/DiagnosticReport?patient._id = {id} where {id} is the patients id

date date

The API also supports searching by date range - ge (Greater than or equal to) and le (less than or equal to)

Search includes
Name
result
These are the _include parameters that are supported on searches

AllergyIntolerance
Interactions
NameVerbURLDocumentationScope
read
search-type
Search Parameters
NameTypeDocumentation
patient reference

The API supports a chained query on the patient identifier (NHI) This has the syntax: [host]/AllergyIntolerance?patient.identifier={system|value}

If the system is absent, the NHI is assumed There is also support for a chained query on patient id with the syntax: [host]/AllergyIntolerance?patient._id = {id} where {id} is the patients id

clinical-status token

The clinical status of the Condition. Only 'active' or 'inactive' values are supported

Schedule

Represents a schedule of appointment slots (eg the slots for a morning session). This endpoint may noyt be supported


Interactions
NameVerbURLDocumentationScope
search-type
Slot

Represents a single possible appointment slot that is available for booking.


Interactions
NameVerbURLDocumentationScope
search-type
Search Parameters
NameTypeDocumentation
schedule reference

Used to allow the practitioner to be specified in the query using a chained request:

[host]/Slot?schedule.practitioner.identifer = {}

start token

Allows the user to specify the date for which available slots are to be returned. A range can be specified using the greater than / less than modifiers

status token

Allows the user to specify the status of the slot to be specified in the query. Generally this will be set to 'free' to return only available slots.

Appointment

Represents an appointment for a Patient with a Practitioner.


Interactions
NameVerbURLDocumentationScope
search-type Allows appointments to be queried. Note that the are security / privacy constraints that will govern which appointments can be returned to which client.
create Allows a new appointment to be created. The server may choose not to allow the Appointment to be made - for example if the slot is no longer available.
delete Allows an existing appointment to be removed. The Appointment id must be known so a client will generally need to search for appointments for a patient to get the id before deleting. There will be security mechanisms to ensure that deletion is controlled.
Search Parameters
NameTypeDocumentation
patient reference

The API supports a chained query on the patient identifier (NHI) This has the syntax: [host]/Appointment?patient.identifier={system|value}

If the system is absent, the NHI is assumed There is also support for a chained query on patient id with the syntax: [host]/Appointment?patient._id = {id} where {id} is the patients id

date date

Return all appointments over a date range (using ge / le modifiers). The patient must also be included.

DocumentReference

Used to represent clinical notes and external documents such as Discharge Summaries. For a clincial note, the note will be in the content.attachment.data element. For external files the url will be a reference to a Binary endpoint from where the document can be retrieved.


Interactions
NameVerbURLDocumentationScope
read
search-type
Search Parameters
NameTypeDocumentation
patient reference

The API supports a chained query on the patient identifier (NHI) This has the syntax: [host]/DocumentReference?patient.identifier={system|value}

If the system is absent, the NHI is assumed

There is also support for a chained query on patient id with the syntax: [host]/Appointment?patient._id = {id} where {id} is the patients id

_security token

By default, DocumentReference resources marked as confidential will not be retuned in a query. This parameter allows a user to specify that they want the confidential records. There are security and privacy constraints that must be met as well.

Binary

Used to return documents such as PDF files. Generally in response to a url contained in a DocumentReference that refers to a discharge summary or other external document.


Interactions
NameVerbURLDocumentationScope
read
Practitioner

Practitioner query


Interactions
NameVerbURLDocumentationScope
read Used to retrieve a Practitioner resource by Id.
search-type
Search Parameters
NameTypeDocumentation
name string

Not case sensitive

identifier token

Will only return active identifiers

family string

Server Level Interactions

Operations
NameVerbURLDocumentationScope