Skip to main content

This a technical design document for HPI Practitioner NEMS event. The target audiences are those working on enrolment publisher application, enrolment subscriber applications, and NEMS implementation of HPI Practitioner events.

Background

Te Whatu Ora Health Identity Team maintains a register of practitioners that deliver health services, in the Health Provider Index system (HPI).

Registered practitioners are assigned an HPI Common Person Number (CPN) based on information provided periodically from the 18 Responsible Authorities as legislated under the Health Practitioners Competence Assurance Act | Ministry of Health NZ.

When HPI CPNs are created, or changes to HPI CPNs are made with regards to their status, qualifications or personal details, this information is recorded in HPI.

HPI practitioner current state information is required by

Dependent Te Whatu Ora systems including Hospital Patient Administration Systems and DHB clinical systems.

Dependent multi-agency systems including Death Documents

Process view

Practitioner event process view:

Practitioner events and event data:

Topic taxonomy

For practitioner events, the topic taxonomy structure follows the overall topic taxonomy structure:

service-domain/resource/event/verb/version/registration-authority

The topic fields are elaborated in the table below (with dark-green for root taxonomy; light-green for event property)

Event Topic FieldField TypeValueDescription
service-domainRoot“provideridentity”“provider identity” is the service domain of facility events
resourceRoot“practitioner”The practitioner exposed by the HPI. This is the person who delivers healthcare or healthcare related services. The set of valid registration authority identifiers. HPI Practitioner - New Zealand HPI Implementation Guide v1.4.10
event categoryRoot“practitioner”The set of valid registration authority identifiers.
verbRootcreated, updatedEvent action, one of the values
versionRoot“v1”Starting version
registration authorityEvent PropertyRegistration Authority IDThe regulatory body responsible for the registration of health practitioners e.g. CH Chiropractic Board Register
RaIdentifier - HIP FHIR Common Terminology Guide v1.9.5
Multiple events will be prompted where the practitioner is associated to multiple Registration Authorities

Message header (Event metadata)

HeaderKey LiteralDescriptionRequiredFormat/ValuesExample
IDsolace-user-property-idMessage id, unique for each publisherRequiredGUID correlation ID987298dd-c484-462f-a15d-f18a97267959
Sourcesolace-user-property-sourcepublisher URI referenceRequiredhttps://hip-uat.digital.health.nz for UAT https://hip.digital.health.nz for prodhttps://hip-uat.digital.health.nz for UAT and https://hip.digital.health.nz for prod
Timesolace-user-property-timeUTC time when the message is publishedRequiredYYYY-MM-DDTHH:MM:SS2023-11-30T18:54:43Z
Spec Versionversionversion of the CloudEvents specOptionalmajor.minor1.0
Typesolace-user-property-typesubstring of the topic taxonomy including root to versionRequired{root}/{version}demographics/patient/death/new/v1.0.0
Subjectsolace-user-property-subjectNHI numberRequired[A-Z]{3}([0-9]{4}([0-9]{2}[A-Z]{2}))
Content typesolace-user-property-datacontenttype or content-type for REST APIContent type of event dataRequiredapplication/jsonapplication/jso

Message payload

HPI Practitioner ID

Dormant HPI Practitioner IDs

Resource version

Event : Create

Payload Schema

{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"type": "object",
"properties": {
"practitionerID": {
"type": "string",
"description": "Practitioner ID"
},
"dormantPractitionerIDs": {
"type": "array",
"items": {
"type": "string"
},
"description": "Dormant Practitioner ID's"
},
"resourceVersion": {
"type": "string",
"description": "Resource Version"
}
},
"additionalProperties": false,
"required": [
"practitionerID",
"resourceVersion"
]
}

Example

{
"practitionerID": "90ZZLP",
"dormantPractitionerIDs": ["80ZZLA"],
"resourceVersion": "1.4.10"
}

Event : death/update

Payload Schema

As Above

Example

As Above

Event : updated

Payload Schema

Same as above

Example

As above