Skip to main content
POST
IHI Precheck

Overview

Checks whether patient data resolves a valid IHI before you create the patient. Send the same body as Create Patient. The precheck runs the same HI Service search as creation, creates nothing, and never returns the IHI number. Branch on data.outcome. Two flags answer the two common questions:
  • create_would_succeed — would an identical create request succeed right now?
  • ihi_check_passed — did the search resolve an ACTIVE + VERIFIED IHI (the prescribing bar)? Absent when no search ran.
  • message is a human-readable summary naming the identifier that matched. It is informational only.

Outcomes

Search Paths

Every identifier you supply is tried in priority order until one matches. An identifier that returns no record falls back to the next. Supply every identifier you hold. All paths also require family_name, given_name, date_of_birth, sex. searched_path is the identifier that matched (or the last one tried on no_match). failed_paths lists the identifiers tried before it. It is absent when the first identifier matched.

Request Example

Response Examples

IHI Found (200)

IHI Found After Fallback (200)

No Match (200)

Insufficient Data (200)

Patient Already Exists (200)

Validation Error (422)

Schema and identifier-format failures (Medicare checksum, IHI check digit, mobile, email, future date of birth) are reported together:

Response Fields

Status Codes

Notes

  • Requires the create:patient scope.
  • The IHI number is never returned. Create the patient to have Parchment store it.
  • Medicare without medicare_irn as the only identifier reports insufficient_data.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

x-organization-secret
string
required

Organization secret for authentication - provided by Parchment

Path Parameters

organization_id
string<uuid>
required

Organization ID

user_id
string<uuid>
required

User ID

Body

application/json

Same body as Create Patient. Supply every identifier you hold.

Patient information to be created

given_name
string
required

Patient's given name

family_name
string
required

Patient's family name

date_of_birth
string<date>
required

Patient's date of birth in YYYY-MM-DD format

sex
enum<string>
required

Patient's sex

Available options:
M,
F,
N,
I
partner_patient_id
string
required

Partner's unique identifier for the patient

partner_id
string
required

Your Parchment-assigned partner identifier (lowercase slug, e.g. 'tacklit'). Parchment registers this value during partner onboarding — requests with an unregistered value are rejected with a 422 validation error. Contact Parchment before go-live to have your identifier registered.

Example:

"demo"

dva_file_number
string

DVA file number

ihi_number
string

16-digit Individual Healthcare Identifier (IHI). If omitted, Parchment will attempt to fetch it from the HI Service.

medicare_card_number
string

Medicare card number

medicare_irn
string

Medicare IRN

email
string<email>

Patient's email address (optional)

phone
string

Patient's Australian mobile number (optional). Must be a valid Australian mobile (04xxxxxxxx or 05xxxxxxxx), digits only. International format with +61 or 61 prefix is also accepted. Landlines are rejected. A mobile number can be used for IHI lookup against the Healthcare Identifiers Service.

australian_street_address
object
australian_address
object

Alias of australian_street_address. Send one, not both.

medicare_valid_to
string<date>

Medicare card expiry date

concession_pension_number
string

Concession or pension number

entitlement_number
string

Entitlement number

dva_card_color
enum<string>

DVA card color

Available options:
gold,
white,
orange
racf_id
string

RACF identifier

ctg_eligible
boolean

Closing the Gap eligibility

indigenous_type
enum<string>

Patient's indigenous status

Available options:
aboriginal,
torres_strait_islander,
both,
neither,
not_stated

Response

Precheck completed - read data.outcome for the result

success
boolean
required

Always true for a completed precheck

Example:

true

statusCode
integer
required

HTTP status code

Example:

200

message
string
required

Human-readable summary naming the matched identifier. Informational only.

Example:

"IHI found using mobile number (no record found using Medicare number)"

code
enum<string>
required

Always SUCCESS. Branch on data.outcome instead.

Available options:
SUCCESS
Example:

"SUCCESS"

data
object
required

Codified IHI precheck result. The IHI number itself is never returned.

timestamp
string<date-time>
required

ISO 8601 timestamp of the response

Example:

"2024-01-15T10:30:00.000Z"

requestId
string
required

Unique identifier for request tracing

Example:

"req_1705312200000_abc123"