Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Conformance and specification pins

The specifications are the authority for every transaction, parameter, status and acknowledgment FerroPIX handles: the IHE ITI Technical Framework (Volumes 1 and 2), the IHE PIXm, PDQm and PMIR implementation guides, HL7 FHIR R4, and the HL7 v2 PIX and PDQ transactions. Where none of them governs a decision, the code says so and names the decision as FerroPIX’s own design.

The specification versions

These are the versions the crates implement. The table is read from the repository’s pin matrix, docs/VERSIONS.md, when the book is built, so it cannot disagree with it.

ItemVersionTransactions
IHE PIXmihe.iti.pixm 3.1.0ITI-83 Mobile Patient Identifier Cross-reference Query, ITI-104 Patient Identity Feed FHIR
IHE PDQmihe.iti.pdqm 3.2.0ITI-78 Mobile Patient Demographics Query, ITI-119 Patient Demographics Match
IHE PMIRihe.iti.pmir 1.6.0ITI-93 Mobile Patient Identity Feed, ITI-94 Subscribe to Patient Updates
IHE mCSDihe.iti.mcsd 4.0.0ITI-90, ITI-91 (a feature of ihe-iti)
IHE XCPDITI Technical Framework Vol 2 Rev 20.1 (2024-12-12), no FHIR packageITI-55 (a feature of ihe-iti)
IHE IUAITI Technical Framework Supplement Rev 2.5 (2026-06-18)ITI-71, ITI-72 (a feature of ihe-iti)
Netherlands Generic Functionsfhir.nl.gf 0.3.0the functions of nl-generic-functions
IHE ITI Technical FrameworkVolumes 1 and 2, the revision the move pinsPIX and PDQ: ITI-8, ITI-9, ITI-10, ITI-21 and ITI-22, and ITI-44 to ITI-47 as the TF-2 texts decide, with the actors and options of each
HL7 FHIRR4, 4.0.1the resources and the RESTful API PIXm and PDQm are profiled on
HL7 v2the version each PIX or PDQ transaction names in ITI TF-2the HL7 v2 PIX and PDQ transactions, where in scope

The toolchain

ItemPinRepeated in
Rust toolchain1.99.1rust-toolchain.toml
Minimum supported Rust version1.98Cargo.toml [workspace.package] rust-version
Edition2024Cargo.toml [workspace.package] edition, rustfmt.toml

The minimum supported Rust version is one minor release below the toolchain the repository builds with, the FerroHEALTH family’s rule.

How conformance is held

  • Every citation is checked against the vendored text. The specification texts the crates read are vendored under docs/specs/ at pinned versions, each with a PROVENANCE.md, and the ihe-citations check in CI holds every IHE section the tree cites to the vendored text of that profile and version.
  • Each answer is held to its profile. The clients refuse an answer that departs from the transaction: a PIXm $ihe-pix answer is held to its OperationDefinition, a PDQm search to the Query Patient Resource Response Message profile, an ITI-93 feed message to the PMIR profiles. The crate pages say what each client checks.
  • An unknown patient is never an outage. A 404 reads as “patient unknown” only when its OperationOutcome carries a not-found issue, as PIXm and PDQm define it; every other failure is a typed error.
  • Each feature builds and tests on its own. CI lints and tests every feature of both crates alone and with its audit feature, as well as all of them together.

There is no conformance statement for the server yet: it is part of the v0.0.3 milestone, which is planned.

The published texts