HSAAP Special Authority FHIR Implementation Guide
0.1.1 - draft
HSAAP Special Authority FHIR Implementation Guide - Local Development build (v0.1.1) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
This page records where this guide departs from, or adds to, HSAAP Special Authority - Sector Facing APIs Detailed Design v0.8.1, and the items still to be confirmed. Each departure was needed because the design cannot be expressed exactly in FHIR R4.
The design uses Claim.requestor for the Applicant. FHIR R4 Claim has no requestor element (only ClaimResponse
has one). The Applicant is therefore carried in Claim.provider - "the provider which is responsible for the claim,
predetermination or preauthorization" - restricted to SA Practitioner.
FHIR R4 also defines no requestor search parameter on Claim. To preserve the API contract in the design,
requestor:Practitioner.identifier and _include=Claim:requestor, this guide defines a custom
claim-requestor parameter with code requestor whose expression is
Claim.provider. The core provider parameter is equivalent.
Decision needed: confirm Claim.provider, and whether to keep the requestor alias or publish provider instead.
FHIR R4 defines no search parameter for Claim.supportingInfo, so _include=Claim:supportinginfo needs the custom
claim-supportinginfo parameter.
The design places submission-context on Bundle. FHIR R4 Bundle is a Resource, not a DomainResource, and has no
extension element. This guide places the extension on the focal Claim, which also means it is returned naturally on
Application Enquiry. Bundle.meta.extension was considered and rejected as a non-idiomatic workaround.
| Element | Issue | Approach |
|---|---|---|
Claim.insurance (1..*) |
Mandatory; no insurer concept in Special Authority | One entry, focal = true, coverage.display = "Pharmaceutical Schedule", no resolvable reference |
ClaimResponse.insurer (1..1) |
Mandatory | display only, e.g. "Health New Zealand | Te Whatu Ora" |
ClaimResponse.outcome (1..1) |
Design says "not mapped" | Approval: fixed complete. Application: mapped from HSAAP status (see Validation and Outcomes) |
ClaimResponse.status (1..1) |
Design says "not mapped" | Fixed active |
Claim.provider, Claim.priority (1..1) |
Mandatory | Applicant; normal |
Decision needed: confirm the insurer display value and whether a resolvable Pharmac or Health NZ Organization should be referenced instead.
The design defines application-status as a search parameter on Claim but places the extension on ClaimResponse. A
FHIRPath expression on Claim cannot reach a ClaimResponse. This guide allows the
application-status extension on both, populates it on Claim in enquiry
results only, and defines the search parameter on both resources.
The Search Applications table in the design lists an Approval Number identifier search on Claim, which contradicts
D23. This guide follows D23: Claim.identifier carries only the Application Number, and Approval Number search is on
ClaimResponse with _include=ClaimResponse:request.
The submission Bundle may contain an Organization, but no R4 Claim element is suitable for referencing the submitting
practice once provider holds the Applicant (facility is a Location). The Organization is therefore an unreferenced
entry, identified by its legacy Practice Id. Option: add an optional submittingOrganization reference to
submission-context.
The design maps coverage from "requested pharmaceutical coding" without naming the element. This guide uses
Claim.item.productOrService.coding, sliced by CTPP (http://nzmt.org.nz) and Pharmacode.
application-status, so
application-status has an identical shape at submission and enquiry (D22).Identifier (not a string) so that the
approval-provider-id token search is system-qualified.approval-version-state=ALL on the FHIR
request; this guide includes it.sa-qr-2); the API enforces it.QuestionnaireResponse.status is fixed to completed.preApprovalType, exemptionType and comments are not mapped, per the design.