Interoperable Digital Identity and Patient Matching, published by HL7 International / Patient Administration. This guide is not an authorized publication; it is the continuous build for version 3.0.0-current built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-identity-matching-ig/ and changes regularly. See the Directory of published versions
| Page standards status: Informative |
Draft design notes for the FAST Identity STU3 co-leads workgroup. Prepared by Mark Scrimshire (Onyx Health).
FAST Identity STU3 needs to represent, on a FHIR Patient:
The international dimension changes the shape of the model: because identity authority
is a sovereign function, a person can hold more than one Golden Record. A dual
US/UK citizen legitimately has a US GRI and a UK GRI. So GRI must be modeled as
0..* and jurisdiction-scoped, not as a single master key.
Patient.identifierWe stay on Patient.identifier (R4 0..*, US Core 6.1.0 makes it Must Support with
system and value required) and add named slices discriminated by
identifier.type:
| Slice | Type code | Card. | Purpose |
|---|---|---|---|
goldenRecord |
GRI |
0..* |
One per jurisdiction; scoped by a jurisdiction extension |
cspIdentifier |
CSPID |
0..* |
One per CSP identity; carries assurance metadata |
Slicing is open, so ordinary identifiers (MRN, member ID) still validate and US Core
compliance is preserved. Slicing is discriminated by type rather than system so that
onboarding a new CSP or a new national authority requires no profile change — the new
identity simply appears as another cspIdentifier / goldenRecord entry differentiated
at runtime by its system and assigner.
Each goldenRecord slice carries a mandatory identity-jurisdiction extension
(ISO 3166-1 country, optionally ISO 3166-2 sub-division) plus an assigner pointing to
the national/state identity authority. A dual citizen therefore carries two
goldenRecord entries:
US-GRI-… jurisdiction US, assigner = US FAST Identity Trust NetworkGB-GRI-… jurisdiction GB, assigner = NHS England Identity AuthorityMatching/reconciliation logic resolves within a jurisdiction first, then uses the shared CSP identifiers as the cross-jurisdiction bridge — a single CLEAR identity linked to both GRIs is what lets you recognise the two golden records as the same human without forcing a single global master key (which no sovereign authority would cede). This also gives clean semantics for merge/unmerge: a GRI is scoped and owned, so merges happen inside a jurisdiction and never silently collapse two nations' records.
Each cspIdentifier carries an optional csp-assurance extension aligned to
NIST SP 800-63-3:
identityAssuranceLevel — IAL1 / IAL2 / IAL3authenticatorAssuranceLevel — AAL1 / AAL2 / AAL3verificationDateverificationEvidence (repeating, free text for STU3; could be coded later)This lets a relying party decide whether a given CSP identity meets its proofing bar before trusting a match.
fast-identity-patient.fsh — FSH: code systems, value sets, the two extensions, and
the FASTIdentityPatient profile (parented on US Core 6.1.0 Patient).Patient-fast-dual-citizen-example.json — worked instance: dual US/UK citizen with two
jurisdiction-scoped GRIs, CLEAR (IAL2/AAL2) and ID.me (IAL2) identities, and an MRN to
demonstrate that unsliced identifiers still validate.type (scales) vs system (stricter but
requires profile edits per new CSP/authority). Recommendation: type.verificationEvidence as free text for STU3, or bind to a
coded value set (e.g. evidence types) now?Person or Linkage resource layer, or is the identifier-on-Patient model sufficient
for STU3 scope?Placeholder canonical URLs use
fast.hl7.org— replace with the official FAST canonical base before publication. Assurance codes are modeled as a local CodeSystem; if HL7 or NIST publishes an official 800-63-3 code system, bind to that instead.