New Zealand Rheumatic Fever FHIR Implementation Guide
1.0.0 - draft
New Zealand Rheumatic Fever FHIR Implementation Guide, published by Te Whatu Ora. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/tewhatuora/fhir-rheumatic-fever/ and changes regularly. See the Directory of published versions
Official URL: https://fhir-ig.digital.health.nz/rheumatic-fever/CapabilityStatement/RheumaticFeverCapabilityStatement | Version: 1.0.0 | |||
Active as of 2024-06-14 | Computable Name: RheumaticFeverAPICapabilityStatement |
New Zealand rheumatic fever FHIR API capability statement
Raw OpenAPI-Swagger Definition file | Download
Generated Narrative: CapabilityStatement RheumaticFeverCapabilityStatement
json
Note to Implementers: FHIR Capabilities
Any FHIR capability may be 'allowed' by the system unless explicitly marked as 'SHALL NOT'. A few items are marked as MAY in the Implementation Guide to highlight their potential relevance to the use case.
server
SMART-on-FHIR
transaction
interaction described as follows:All HNZ FHIR API requests must include the health user and context of usage of the application making the API request.
This context is supplied using the 'Request-Context' custom header in the form of a base64-encoded JSON object.
Consumers of the Rheumatic Fever FHIR API must set the following properties in Request-Context
Required context property | Attribute value |
---|---|
userIdentifier |
The userid of the user as authenticated by RFCCS or the PMS/health application. |
purposeOfUse |
Set to "POPHEALTH" |
userFullName |
Display name of the user of RFCCS or the PMS/health application. |
hpiOrganisation |
The HPI Organisation identifier for the RF Secondary Prevention Service (aka Lead Provider) the user is affiliated with |
hpiPractitioner |
If available, the HPI Practitioner identifier (Common Person Number) of the user |
hpiFacility |
If available, the HPI Facility identifier of the health facility where the application is being used |
The schema for defining and validating these properties can be found here
Code | Meaning | Description |
---|---|---|
200 | OK | The request was successful, and the response body contains the representation requested |
302 | FOUND | A common redirect response; you can GET the representation at the URI in the Location response header |
304 | NOT MODIFIED | Your client's cached version of the representation is still up to date |
401 | UNAUTHORIZED | The supplied credentials, if any, are not sufficient to access the resource |
404 | NOT FOUND | The requested representation was not found. Retrying this request is unlikely to be successful |
429 | TOO MANY REQUESTS | Your application is sending too many simultaneous requests |
500 | SERVER ERROR | An internal server error prevented return of the representation response |
503 | SERVICE UNAVAILABLE | We are temporarily unable to return the representation. Please wait and try again later |
Code | Meaning | OperationOutcome in response? | Description |
---|---|---|---|
200 | OK | Yes, when there are additional messages about a match result | The request was successful, and the response body contains the representation requested |
302 | FOUND | No | A common redirect response; you can GET the representation at the URI in the Location response header |
400 | BAD REQUEST | Yes | Incorrect search parameters or malformed request - see diagnostics in OperationOutcome |
401 | UNAUTHORIZED | The supplied credentials, if any, are not sufficient to access the resource | |
429 | TOO MANY REQUESTS | No | Your application is sending too many simultaneous requests |
500 | SERVER ERROR | No | An internal server error prevented return of the representation response |
503 | SERVICE UNAVAILABLE | No | The server is temporarily unable to return the representation. Please wait and try again later |
Code | Meaning | Description |
---|---|---|
200 | OK | The request was successful, and the resource was updated. The response body contains the updated representation |
201 | CREATED | The request was successful, a new resource was created, and the response body contains the representation |
204 | OK - NO CONTENT | The request was successful, but no content is returned in the response. In reality this is seldom used for REST APIs and more typically for process APIs. Should include a Location header indicating the location of an associated relevant resource |
207 | MULTI STATUS | The HTTP 207 Multi-Status response code indicates that there might be a mixture of responses. |
400 | BAD REQUEST | The data given in the POST or PUT failed validation. Inspect the response body for details |
401 | UNAUTHORIZED | The supplied credentials, if any, are not sufficient to create or update the resource |
404 | NOT FOUND | The endpoint that the API Consumer is attempting to create or update does not exist. Retrying this request is unlikely to be successful |
405 | METHOD NOT ALLOWED | You can't POST or PUT to the resource |
422 | UNPROCESSABLE CONTENT | The server understands the requests content and syntax however it is unable to process the instruction. Retrying this request will not succeed - the request must be modified |
429 | TOO MANY REQUESTS | Your application is sending too many simultaneous requests |
500 | SERVER ERROR | We couldn't create or update the resource. Please try again later |
Code | Meaning | Description |
---|---|---|
204 | OK | The request was successful; the resource was deleted |
401 | UNAUTHORIZED | The supplied credentials, if any, are not sufficient to delete the resource |
404 | NOT FOUND | |
405 | METHOD NOT ALLOWED | You can't DELETE the resource |
429 | TOO MANY REQUESTS | Your application is sending too many simultaneous requests |
500 | SERVER ERROR | We couldn't delete the resource. Please try again later |
When a consumer attempts to call a non-existent API end point, respond with a 501 Not Implemented status code.
The summary table lists the resources that are part of this configuration, and for each resource it lists:
_include
_revinclude
Resource Type | Profile | R | V-R | S | U | C | D | Searches | _include | _revinclude | Operations |
---|---|---|---|---|---|---|---|---|---|---|---|
Bundle | http://hl7.org/fhir/StructureDefinition/Bundle | y | y | y | y | y | y | patient, actor, status, date | * | ||
CarePlan | https://fhir-ig.digital.health.nz/rheumatic-fever/StructureDefinition/nz-rheumaticfever-careplan | y | y | y | y | y | y | patient, status, subject, _profile, _id, category | * , CarePlan:encounter | ||
CareTeam | Supported Profiles Rheumatic Fever Care Team | y | y | y | y | y | y | identifier, _profile, _id, category | |||
Condition | https://fhir-ig.digital.health.nz/rheumatic-fever/StructureDefinition/nz-rheumaticfever-condition | y | y | y | y | y | y | patient, subject, _profile, _id, category | |||
Consent | http://hl7.org/fhir/StructureDefinition/Consent | y | y | y | y | y | y | patient, data, source-reference, status, _id | * , Consent:source-reference | ||
Encounter | http://hl7.org/fhir/StructureDefinition/Encounter | y | y | y | y | y | y | patient, status, subject, _id | * , Encounter:diagnosis | ||
MedicationRequest | https://fhir-ig.digital.health.nz/rheumatic-fever/StructureDefinition/nz-rheumaticfever-medicationrequest Additional supported profiles: MedicationRequest resource for use in NZ | y | y | y | y | y | y | patient, status, medication | * | ||
MedicationStatement | http://hl7.org/fhir/StructureDefinition/MedicationStatement Additional supported profiles: MedicationStatement resource for use in NZ | y | y | y | y | y | y | patient, status, medication | * | ||
Observation | http://hl7.org/fhir/StructureDefinition/Observation Additional supported profiles: Rheumatic Fever Diagnosis Group | y | y | y | y | y | y | code, date, identifier, patient, based-on, encounter, category, derived-from, performer, status, subject, value-concept, value-date, value-quantity, value-string, _id, _lastUpdated | * , Observation:patient , Observation:encounter , Observation:based-on , Observation:derived-from , Observation:device , Observation:focus , Observation:has-member , Observation:part-of , Observation:performer , Observation:specimen , Observation:subject | ||
Patient | https://fhir-ig.digital.health.nz/rheumatic-fever/StructureDefinition/nz-rheumaticfever-patient | y | y | y | y | y | y | identifier, _profile, _id | |||
Questionnaire | y | y | y | y | y | y | identifier, name, status, title, url, _id | ||||
QuestionnaireResponse | y | y | y | y | y | y | patient, questionnaire, status, subject, _id | * , QuestionnaireResponse:based-on , QuestionnaireResponse:encounter |
create
, read
, update
, delete
, vread
, search-type
.Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | patient | reference | Who the sensitivity is for Patient |
SHALL | actor | reference | Any one of the individuals participating in the appointment (Practitioner, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson, Location) |
SHALL | status | token | proposed | pending | booked | arrived | fulfilled | cancelled | noshow | entered-in-error | checked-in | waitlist |
SHALL | date | date | Appointment date/time |
create
, read
, update
, delete
, vread
, search-type
.Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | patient | reference | Who the care plan is for |
SHALL | status | token | draft | active | on-hold | revoked | completed | entered-in-error | unknown |
SHALL | subject | reference | Who the care plan is for |
SHALL | _profile | reference | Filter RheumaticFeverCarePlan instances using the applicable profile canonical Url from IG |
SHALL | _id | token | Logical id of this artifact |
SHALL | category | token | Care plan search by category code. All rheumatic fever care plans are categorised #rf-nz |
create
, read
, update
, delete
, vread
, search-type
.This server supports one subtype of FHIR CareTeam - refer to Profiles
- RheumaticFeverCareTeam - simply requires use of particular Condition.category codes in rheumatic fever health applications
Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | identifier | token | The patient's official NHI identifier |
SHALL | _profile | reference | Filter RheumaticFeverCareTeam instances using the applicable profile canonical Url from IG |
SHALL | _id | token | Logical id of this artifact |
SHALL | category | token | Care team search by category code. All rheumatic fever care teams are categorised #rf-nz |
create
, read
, update
, delete
, vread
, search-type
.Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | patient | reference | Who has the condition? |
SHALL | subject | reference | Who has the condition? |
SHALL | _profile | reference | Filter RheumaticFeverCondition instances using the applicable profile canonical Url from IG |
SHALL | _id | token | Logical id of this artifact |
SHALL | category | token | Condition search by category code. All rheumatic fever condtion instances have two category values (#rf-nz, SNOMED #58718002) |
create
, read
, update
, delete
, vread
, search-type
.Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | patient | reference | Who the consent applies to |
SHALL | data | reference | The actual data reference |
SHALL | source-reference | reference | Search by reference to a Consent, DocumentReference, Contract or QuestionnaireResponse |
SHALL | status | token | draft | proposed | active | rejected | inactive | entered-in-error |
SHALL | _id | token | Logical id of this artifact |
create
, read
, update
, delete
, vread
, search-type
.Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | patient | reference | The patient or group present at the encounter |
SHALL | status | token | planned | arrived | triaged | in-progress | onleave | finished | cancelled + |
SHALL | subject | reference | The patient or group present at the encounter |
SHALL | _id | token | Logical id of this artifact |
create
, read
, update
, delete
, vread
, search-type
.This server profiles NzMedicationRequest AND supports the NZ Base IG profile NzMedicationRequest.
Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | patient | reference | The rheumatic fever patient for whom this medication is prescribed |
SHALL | status | token | active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown + |
SHALL | medication | reference | Return all MedicationRequests that relate to this type of medication |
create
, read
, update
, delete
, vread
, search-type
.This server supports the NZ Base IG profiles NzMedicationStatement in addition to the base MedicationStatement FHIR resource.
Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | patient | reference | The rheumatic fever patient to whom medication was administered |
SHALL | status | token | active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken + |
SHALL | medication | reference | Return all instances of administration of this medication |
create
, read
, update
, delete
, vread
, search-type
.Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | code | token | Describes what was observed. Sometimes this is called the observation 'name' |
SHALL | date | date | Observation.effective Obtained date/time. If the obtained element is a period, a date that falls in the period |
SHALL | identifier | token | A unique identifier assigned to this observation. |
SHALL | patient | reference | Who the observation is for Patient |
SHALL | based-on | reference | Reference to the service request. |
SHALL | encounter | reference | The Encounter resource associated with the Observation. |
SHALL | category | token | The classification of the type of observation |
SHALL | derived-from | reference | Related measurements the observation is made from |
SHALL | performer | reference | Who performed the observation |
SHALL | status | token | The status of the observation |
SHALL | subject | reference | The subject that the observation is about |
SHALL | value-concept | token | The value of the observation, if the value is a CodeableConcept |
SHALL | value-date | date | The value of the observation, if the value is a date or period of time |
SHALL | value-quantity | quantity | The value of the observation, if the value is a Quantity, or a SampledData (just search on the bounds of the values in sampled data) |
SHALL | value-string | string | The value of the observation, if the value is a string, and also searches in CodeableConcept.text |
SHALL | _id | token | Logical id of this artifact |
SHALL | _lastUpdated | date | When the resource version last changed |
create
, read
, update
, delete
, vread
, search-type
.This server supports one profile of FHIR Patient which is the rheumatic fever patient profile
Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | identifier | token | The patient's official NHI identifier |
SHALL | _profile | reference | Filter RheumaticFeverPatient instances using the applicable profile canonical Url from IG |
SHALL | _id | token | Logical id of this artifact |
create
, read
, update
, delete
, vread
, search-type
.Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | identifier | token | External identifier for the questionnaire |
SHALL | name | string | Computationally friendly name of the questionnaire |
SHALL | status | token | The current status of the questionnaire |
SHALL | title | string | The human-friendly name of the questionnaire |
SHALL | url | uri | The uri that identifies the questionnaire |
SHALL | _id | token | Logical id of this artifact |
create
, read
, update
, delete
, vread
, search-type
.Conformance | Parameter | Type | Documentation |
---|---|---|---|
SHALL | patient | reference | The patient that is the subject of the questionnaire response |
SHALL | questionnaire | reference | The questionnaire the answers are provided for |
SHALL | status | token | The status of the questionnaire response |
SHALL | subject | reference | The subject of the questionnaire response |
SHALL | _id | token | Logical id of this artifact |