# description
Fonteum HL7 FHIR R4 server. Read-only Practitioner, PractitionerRole, Organization, Location, and HealthcareService endpoints conformant to US Core 6.1.0 — 5 distinct USCDI v3 Provider resources explicitly enumerated. Backed by the Fonteum federated identity layer (NPPES NPI ↔ PECOS-ID ↔ CCN ↔ LEIE ↔ HRSA HPSA Provider-ID). Per-resource provenance encoded in meta.tag using the Fonteum 14-tuple contract; full provenance documented at https://fonteum.com/docs/provenance-contract.

# rest[].documentation
Read-only US Core 6.1.0 Practitioner + PractitionerRole + Organization + Location + HealthcareService (USCDI v3 5/5 Provider conformance + HealthcareService). Public endpoint, no auth required for read or search. SMART Backend Services (asymmetric JWT) for bulk $export per HL7 Bulk Data spec §4. SLSA Level 2 snapshot provenance via Ed25519 witness co-signing — see /chain.

# rest[].security.description
Public read-only (no auth required). SMART Backend Services (client_credentials + asymmetric JWT) supported for bulk $export endpoints. See FHIR_BULK_CLIENT_KEYS env var for client registration. SLSA Level 2 provenance: all snapshots are SHA-256 attested and Ed25519 witness-signed (in-toto-witness/v1).

# rest[].security.extension[].valueString
SLSA Level 2 — hosted build, Ed25519-signed provenance (in-toto-witness/v1 witness co-signing)

# rest[].resource[].interaction[].documentation
GET /api/fhir/Practitioner/{npi} — returns the canonical Practitioner resource for the given NPI.

# rest[].resource[].searchParam[].documentation
Practitioner identifier — accepts NPI, PECOS-ID, CCN, LEIE-ID, or HPSA Provider-ID. System-qualified form (e.g. http://hl7.org/fhir/sid/us-npi|1245319599) and bare-value form both supported.

# rest[].resource[].searchParam[].documentation
Family name (surname). Case-insensitive prefix match.

# rest[].resource[].searchParam[].documentation
Given name. Case-insensitive prefix match.

# rest[].resource[].searchParam[].documentation
Any part of name. Case-insensitive substring match across family + given.

# rest[].resource[].searchParam[].documentation
Maximum number of resources per Bundle page (default 20, cap 50).

# rest[].resource[].interaction[].documentation
GET /api/fhir/Organization/{ccn} — returns the canonical Organization resource for the given CMS Certification Number (CCN).

# rest[].resource[].searchParam[].documentation
Organization identifier — accepts CCN. System-qualified form (e.g. http://hl7.org/fhir/sid/us-ccn|045123) and bare-value form both supported.

# rest[].resource[].searchParam[].documentation
Facility name. Case-insensitive substring match.

# rest[].resource[].searchParam[].documentation
USPS state code of the facility address. Exact match (case-insensitive).

# rest[].resource[].searchParam[].documentation
Organization type. Accepts the FHIR-canonical organization-type code 'prov' or a Fonteum facility-subtype slug (nursing-home, home-health, hospice, dialysis, asc, hospital, ltach, irf).

# rest[].resource[].searchParam[].documentation
Maximum number of resources per Bundle page (default 20, cap 50).

# rest[].resource[].interaction[].documentation
GET /api/fhir/PractitionerRole/{id} — returns the PractitionerRole for a given composite id ("prr-{NPI}-{CCN|solo}").

# rest[].resource[].searchParam[].documentation
Logical id of the resource ("prr-{NPI}-{CCN|solo}" — solo when the practitioner has no organization affiliation).

# rest[].resource[].searchParam[].documentation
Practitioner the role belongs to. Format: "Practitioner/{npi}" or bare NPI.

# rest[].resource[].searchParam[].documentation
Organization that hosts the role. Format: "Organization/{ccn}" or bare CCN.

# rest[].resource[].searchParam[].documentation
NUCC provider-taxonomy code. Wired for forward compatibility; populated when the NPPES taxonomy normalization wave lands.

# rest[].resource[].searchParam[].documentation
FHIR practitioner-role ValueSet code (doctor, nurse, pharmacist, etc.). Wired for forward compatibility; populated alongside specialty.

# rest[].resource[].searchParam[].documentation
Location the role is delivered at. Format: "Location/{sourceType}-{sourceKey}".

# rest[].resource[].searchParam[].documentation
Maximum number of resources per Bundle page (default 20, cap 50).

# rest[].resource[].interaction[].documentation
GET /api/fhir/Location/{id} — returns the Location for a given source-keyed id ("<sourceType>-<sourceKey>", e.g. "ccn-045123").

# rest[].resource[].searchParam[].documentation
Logical id of the resource ("<sourceType>-<sourceKey>" — sourceType ∈ {ccn, npi, hpsa}).

# rest[].resource[].searchParam[].documentation
USPS state code of the practice address. Exact match (case-insensitive).

# rest[].resource[].searchParam[].documentation
City of the practice address. Case-insensitive ilike match.

# rest[].resource[].searchParam[].documentation
Geo proximity. Format: "lat,lng,radiusKm" (e.g. "37.7749,-122.4194,10"). Phase 3.1 uses JS Haversine over the candidate set; populated geo data ships in §sprint3-geocoder-fallback.

# rest[].resource[].searchParam[].documentation
Restricts to ccn-source Locations under a given managing Organization. Format: "Organization/{ccn}".

# rest[].resource[].searchParam[].documentation
Maximum number of resources per Bundle page (default 20, cap 50).

# rest[].resource[].interaction[].documentation
GET /api/fhir/HealthcareService/{id} — returns the HealthcareService for a given id ("hs-{NPI}").

# rest[].resource[].searchParam[].documentation
Providing organization or practitioner. Format: "Organization/{CCN}", bare CCN, or bare NPI. Returns HealthcareService resources affiliated with the given organization via provider_identity_links.

# rest[].resource[].searchParam[].documentation
Maximum number of resources per Bundle page (default 20, cap 50).

# rest[].resource[].searchParam[].documentation
Return resources updated after this ISO 8601 datetime. Wired for Da Vinci PDex forward-compatibility.

# rest[].operation[].documentation
FHIR Bulk Data Access $export — system-level. Returns all Practitioner, Organization, Location, and PractitionerRole resources as NDJSON.

# rest[].operation[].documentation
FHIR Bulk Data Access Practitioner/$export — type-level.

# rest[].operation[].documentation
FHIR Bulk Data Access Organization/$export — type-level.

# rest[].operation[].documentation
FHIR Bulk Data Access Location/$export — type-level.

# rest[].operation[].documentation
FHIR Bulk Data Access PractitionerRole/$export — type-level.