curl "https://api.haau3.com/v1/fhir/r4/metadata" \
-H "Authorization: Bearer $HAAU3_API_KEY"import { Haau3 } from "@haau3/sdk";
const haau3 = new Haau3(); // reads HAAU3_API_KEY
const metadata = await haau3.fhirMetadata();
console.log(metadata.resourceType);
from haau3 import Haau3
client = Haau3() # reads HAAU3_API_KEY
metadata = client.fhir_metadata()
print(metadata["resourceType"])
package main
import (
"context"
"fmt"
"log"
"github.com/haau3/haau3-go"
)
func main() {
ctx := context.Background()
client, err := haau3.NewClient() // reads HAAU3_API_KEY
if err != nil {
log.Fatal(err)
}
metadata, err := client.FHIRMetadata(ctx, haau3.FHIRMetadataParams{})
if err != nil {
log.Fatal(err)
}
fmt.Println(metadata.ResourceType())
}
{
"resourceType": "CapabilityStatement",
"status": "active",
"date": "2026-10-13",
"kind": "instance",
"fhirVersion": "4.0.1",
"format": [
"application/fhir+json",
"json"
],
"instantiates": [
"http://hl7.org/fhir/CapabilityStatement/terminology-server"
],
"software": {
"name": "haau3 platform FHIR API"
},
"implementation": {
"description": "haau3 platform FHIR R4 API. Four services and one operation are served from this one base: terminology (CodeSystem, ValueSet), the provider directory (Practitioner, PractitionerRole, Organization, OrganizationAffiliation, HealthcareService, Location, Endpoint), questionnaires (Questionnaire), Plan Benefits (InsurancePlan), and MedList's reconcile-medications. Note that `/v1/` versions the haau3 platform API contract, not FHIR; the FHIR release is `r4`, and is echoed on every response as the `fhirVersion` media-type parameter.",
"url": "https://api.haau3.com/v1/fhir/r4"
},
"copyright": "This material contains content from LOINC (http://loinc.org). LOINC is copyright © Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.\n\nThis product uses publicly available data courtesy of the U.S. National Library of Medicine (NLM), National Institutes of Health, Department of Health and Human Services; NLM is not responsible for the product and does not endorse or recommend this or any other product.\n\nCode systems this service holds locally are served from a dated release, named in the version of every answer and in this statement's TerminologyCapabilities. A held release may not reflect the most current data available from its publisher.\n\nFHIR® is the registered trademark of Health Level Seven International and its use here does not constitute endorsement by HL7.",
"rest": [
{
"mode": "server",
"documentation": "All operations accept GET with query parameters and POST with a Parameters resource. Complex inputs — coding, and codeableConcept on the validate-code operations — are accepted on POST only, as the operations framework requires; on GET pass system and code as separate parameters. A codeableConcept validates if ANY of its codings is a member, which fits data whose elements carry a vendor-local coding alongside a standard one; per-coding membership deliberately ignores each coding's display (a wrong label must not veto a right code — display checking is available on the single-coding form). A coding's version is honoured where the operation defines a version parameter (the CodeSystem operations); ValueSet validation always uses the current code-system version and refuses a versioned coding rather than silently ignoring it. A coding whose system disagrees with an explicitly supplied system or url parameter is refused. Value sets and code systems are addressed by canonical url only; instance-level operation paths ([type]/[id]/$operation) are not offered. An expansion is returned whole: displayLanguage, includeDesignations and activeOnly are refused by name on $expand, and filter, count and offset narrow only a value set this service hosts, being refused for one resolved from its own source. A batch Bundle POSTed to the base runs several operations in one round trip; each entry succeeds or fails independently.\n\nProvider directory resources are proxied from the CMS National Provider Directory and served as published, without modification. Search is GET only. Every search parameter is either declared here or refused by name: a parameter this service does not serve is never silently ignored. Where the directory requires a parameter to be sent beside another (`network` on PractitionerRole and HealthcareService), the rule is applied here, before the directory is asked.\n\nA curated set of questionnaires is served from copies vendored at a recorded release of their source, so those forms render the same way on every request. A search that names a canonical URL this service holds no copy of is answered from the source directly, and depends on that source being reachable. A search with no parameters lists the curated set. Search is GET only, and every search parameter is either declared here or refused by name. No operations are served on Questionnaire, and no QuestionnaireResponse is accepted or stored: a completed response is built by the application that collected it and references the questionnaire as `{url}|{version}`.\n\nPlan Benefits (InsurancePlan): what a Medicare Advantage or ACA Marketplace plan covers and what a member pays, read from the files CMS publishes. Each plan conforms to the haau3 Plan Benefits profile (https://haau3.com/fhir/StructureDefinition/haau3-insurance-plan) and to the SBC InsurancePlan profile of the CARIN Digital Insurance Card guide, 2.0.0-ballot, and names the CMS release it was read from.\n\nMedList: POST [base]/$reconcile-medications reconciles one patient's medication records into one clean list, returned as a Bundle of reconciled MedicationRequests with a Provenance for each. The operation receives patient data, so send it only under an executed agreement. Nothing a request carries is stored or logged. It is invoked directly and is not offered inside a batch.",
"interaction": [
{
"code": "batch"
}
],
"resource": [
{
"type": "CodeSystem",
"operation": [
{
"name": "lookup",
"definition": "http://hl7.org/fhir/OperationDefinition/CodeSystem-lookup"
},
{
"name": "validate-code",
"definition": "http://hl7.org/fhir/OperationDefinition/CodeSystem-validate-code"
}
]
},
{
"type": "ValueSet",
"operation": [
{
"name": "expand",
"definition": "http://hl7.org/fhir/OperationDefinition/ValueSet-expand"
},
{
"name": "validate-code",
"definition": "http://hl7.org/fhir/OperationDefinition/ValueSet-validate-code"
}
]
},
{
"type": "Practitioner",
"interaction": [
{
"code": "read"
},
{
"code": "search-type"
}
],
"searchRevInclude": [
"PractitionerRole:practitioner"
],
"searchParam": [
{
"name": "identifier",
"definition": "http://hl7.org/fhir/SearchParameter/Practitioner-identifier",
"type": "token",
"documentation": "An NPI, as `{system}|{npi}` or a bare 10-digit value. Accepted systems: http://terminology.hl7.org/NamingSystem/npi, http://hl7.org/fhir/sid/us-npi, urn:oid:2.16.840.1.113883.4.6. All of them resolve the same provider. Responses carry the directory's own system, `http://hl7.org/fhir/sid/us-npi`, which may differ from the one you sent. One NPI per search; use a batch Bundle to resolve several. Any other identifier system is refused by name rather than searched, because a system the source does not index would answer with an empty result that reads as 'no such provider'."
},
{
"name": "name",
"definition": "http://hl7.org/fhir/SearchParameter/Practitioner-name",
"type": "string",
"documentation": "Matches across the whole name."
},
{
"name": "family",
"definition": "http://hl7.org/fhir/SearchParameter/individual-family",
"type": "string",
"documentation": "The family name."
},
{
"name": "given",
"definition": "http://hl7.org/fhir/SearchParameter/individual-given",
"type": "string",
"documentation": "A given name."
},
{
"name": "address-city",
"definition": "http://hl7.org/fhir/SearchParameter/individual-address-city",
"type": "string",
"documentation": "Narrows a search by city; cannot be used on its own. Matches any of the practitioner's addresses, so a result can still list addresses in another city."
},
{
"name": "address-state",
"definition": "http://hl7.org/fhir/SearchParameter/individual-address-state",
"type": "string",
"documentation": "Narrows a search by state; cannot be used on its own. Matches any of the practitioner's addresses, so a result can still list addresses in another state."
},
{
"name": "active",
"definition": "http://hl7.org/fhir/SearchParameter/Practitioner-active",
"type": "token",
"documentation": "`true` or `false`. Narrows a search; cannot be used on its own."
},
{
"name": "_id",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-id",
"type": "token",
"documentation": "A Practitioner id. Searching by id rather than reading it lets one request also bring the records an `_include` or `_revinclude` names."
},
{
"name": "_summary",
"type": "token",
"documentation": "`count` only: answers how many records match, as `total`, with no entries. Cannot be combined with `_include`, `_revinclude`, `_count` or `page`."
},
{
"name": "_count",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-count",
"type": "number",
"documentation": "Results are paged. `_count` sets the page size (1 to 100); a larger value is refused rather than quietly reduced. Follow `link` with relation `next` to continue. The cursor it carries is opaque and must not be constructed or modified."
}
],
"documentation": "Search by NPI to resolve an identifier you already hold, or by name to find one. A search needs an identifier, a name or an id: `address-city`, `address-state` and `active` narrow a search but cannot stand alone. Resources are served as the source publishes them, unmodified. Add `_revinclude=PractitionerRole:practitioner` to get the practitioner's roles in the same bundle."
},
{
"type": "PractitionerRole",
"interaction": [
{
"code": "read"
},
{
"code": "search-type"
}
],
"searchInclude": [
"PractitionerRole:practitioner",
"PractitionerRole:organization",
"PractitionerRole:location",
"PractitionerRole:network",
"PractitionerRole:endpoint"
],
"searchParam": [
{
"name": "practitioner",
"definition": "http://hl7.org/fhir/SearchParameter/PractitionerRole-practitioner",
"type": "reference",
"documentation": "The roles one practitioner holds. Give a Practitioner id, `Practitioner/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "organization",
"definition": "http://hl7.org/fhir/SearchParameter/PractitionerRole-organization",
"type": "reference",
"documentation": "The roles held at one organization. Give a Organization id, `Organization/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "location",
"definition": "http://hl7.org/fhir/SearchParameter/PractitionerRole-location",
"type": "reference",
"documentation": "The roles held at one location. Give a Location id, `Location/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "endpoint",
"definition": "http://hl7.org/fhir/SearchParameter/PractitionerRole-endpoint",
"type": "reference",
"documentation": "The roles reached through one endpoint. Give a Endpoint id, `Endpoint/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "specialty",
"definition": "http://hl7.org/fhir/SearchParameter/PractitionerRole-specialty",
"type": "token",
"documentation": "A NUCC Health Care Provider Taxonomy code, bare or as `http://nucc.org/provider-taxonomy|{code}` (for example `207RC0000X`, cardiovascular disease). Any other system is refused, because the directory codes specialties in NUCC alone and would answer another system with nothing. Narrows a search; cannot be used on its own."
},
{
"name": "network",
"definition": "http://hl7.org/fhir/us/ndh/SearchParameter/practitionerrole-network",
"type": "reference",
"documentation": "The roles the directory lists in one insurance network (an Organization of type `ntwk`). Cannot be used on its own: send it beside `practitioner`, `organization`, `location` or `specialty`. A search that breaks this rule is refused before the directory is asked. Beside a specialty or a busy location the directory can take 10 to 15 seconds. A role the network's records do not list is not shown to be out of network: the directory's network data is sparse. Give a Organization id, `Organization/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "new-patient-from-network",
"definition": "http://hl7.org/fhir/us/ndh/SearchParameter/practitionerrole-new-patient-from-network",
"type": "reference",
"documentation": "The roles accepting new patients from one insurance network. Cannot be used on its own: send it beside `practitioner`, `organization`, `location` or `specialty`. A search that breaks this rule is refused before the directory is asked. Give a Organization id, `Organization/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "new-patient",
"definition": "http://hl7.org/fhir/us/ndh/SearchParameter/practitionerrole-new-patient",
"type": "token",
"documentation": "Whether the role accepts new patients: `newpt`, `nopt`, `existptonly` or `existptfam`, bare or under `http://terminology.hl7.org/CodeSystem/accepting-patients`. Narrows a search; cannot be used on its own."
},
{
"name": "active",
"definition": "http://hl7.org/fhir/SearchParameter/PractitionerRole-active",
"type": "token",
"documentation": "`true` or `false`. Narrows a search; cannot be used on its own."
},
{
"name": "_id",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-id",
"type": "token",
"documentation": "A PractitionerRole id. Searching by id rather than reading it lets one request also bring the records an `_include` or `_revinclude` names."
},
{
"name": "_summary",
"type": "token",
"documentation": "`count` only: answers how many records match, as `total`, with no entries. Cannot be combined with `_include`, `_revinclude`, `_count` or `page`."
},
{
"name": "_count",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-count",
"type": "number",
"documentation": "Results are paged. `_count` sets the page size (1 to 100); a larger value is refused rather than quietly reduced. Follow `link` with relation `next` to continue. The cursor it carries is opaque and must not be constructed or modified."
}
],
"documentation": "The roles practitioners hold: organization, specialty, locations, networks and whether they accept new patients. A search needs a practitioner, organization, location, endpoint or id; `specialty`, `new-patient` and `active` narrow it. `network` and `new-patient-from-network` need a practitioner, organization, location or specialty beside them. `identifier` is not offered because the source does not carry identifiers on these resources."
},
{
"type": "Organization",
"interaction": [
{
"code": "read"
},
{
"code": "search-type"
}
],
"searchInclude": [
"Organization:partof"
],
"searchRevInclude": [
"PractitionerRole:organization",
"OrganizationAffiliation:primary-organization",
"OrganizationAffiliation:participating-organization",
"Location:organization",
"Endpoint:organization",
"Organization:partof"
],
"searchParam": [
{
"name": "name",
"definition": "http://hl7.org/fhir/SearchParameter/Organization-name",
"type": "string",
"documentation": "Matches the organization's name."
},
{
"name": "identifier",
"definition": "http://hl7.org/fhir/SearchParameter/Organization-identifier",
"type": "token",
"documentation": "An organization's NPI, as `{system}|{npi}` or a bare 10-digit value, under the same systems `Practitioner` accepts. An NPI search can return more than the practice that holds the NPI: a parent organization that lists it among several NPIs is a match too, because it carries the NPI as an NPI."
},
{
"name": "partof",
"definition": "http://hl7.org/fhir/SearchParameter/Organization-partof",
"type": "reference",
"documentation": "The organizations that are part of one organization. Give a Organization id, `Organization/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "type",
"definition": "http://hl7.org/fhir/SearchParameter/Organization-type",
"type": "token",
"documentation": "An organization type from `http://terminology.hl7.org/CodeSystem/organization-type`, bare or with that system: `prov` for healthcare providers, `pay` for payers, `ntwk` for insurance networks. `ntwk` is also accepted under Plan-Net's `http://hl7.org/fhir/us/davinci-pdex-plan-net/CodeSystem/OrgTypeCS`. `type=ntwk` and `type=pay` may stand alone, to list every network or every payer; any other type narrows a search. The directory records networks by the text of their type rather than a code; this service searches that text and confirms each answer is a network, and answers 502 rather than serve one that is not."
},
{
"name": "active",
"definition": "http://hl7.org/fhir/SearchParameter/Organization-active",
"type": "token",
"documentation": "`true` or `false`. Narrows a search; cannot be used on its own."
},
{
"name": "address-city",
"definition": "http://hl7.org/fhir/SearchParameter/Organization-address-city",
"type": "string",
"documentation": "Narrows a search by city; cannot be used on its own. Matches any of the organization's addresses, so a result can still list addresses in another city."
},
{
"name": "address-state",
"definition": "http://hl7.org/fhir/SearchParameter/Organization-address-state",
"type": "string",
"documentation": "Narrows a search by state; cannot be used on its own. Matches any of the organization's addresses, so a result can still list addresses in another state."
},
{
"name": "address-postalcode",
"definition": "http://hl7.org/fhir/SearchParameter/Organization-address-postalcode",
"type": "string",
"documentation": "Narrows a search by postal code; cannot be used on its own. Matches any of the organization's addresses, so a result can still list addresses in another postal code."
},
{
"name": "_id",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-id",
"type": "token",
"documentation": "A Organization id. Searching by id rather than reading it lets one request also bring the records an `_include` or `_revinclude` names."
},
{
"name": "_summary",
"type": "token",
"documentation": "`count` only: answers how many records match, as `total`, with no entries. Cannot be combined with `_include`, `_revinclude`, `_count` or `page`."
},
{
"name": "_count",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-count",
"type": "number",
"documentation": "Results are paged. `_count` sets the page size (1 to 100); a larger value is refused rather than quietly reduced. Follow `link` with relation `next` to continue. The cursor it carries is opaque and must not be constructed or modified."
}
],
"documentation": "Healthcare providers, payers and insurance networks. A search needs a name, an NPI, a parent (`partof`), an id, or `type=ntwk` or `type=pay`; other types, `active` and the address parameters narrow it. `_revinclude` brings the roles, affiliations, locations and endpoints that point at each match."
},
{
"type": "OrganizationAffiliation",
"interaction": [
{
"code": "read"
},
{
"code": "search-type"
}
],
"searchInclude": [
"OrganizationAffiliation:participating-organization",
"OrganizationAffiliation:primary-organization",
"OrganizationAffiliation:network"
],
"searchParam": [
{
"name": "network",
"definition": "http://hl7.org/fhir/SearchParameter/OrganizationAffiliation-network",
"type": "reference",
"documentation": "The affiliations the directory lists in one insurance network. An organization the network's records do not list is not shown to be out of network: the directory's network data is sparse. Give a Organization id, `Organization/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "primary-organization",
"definition": "http://hl7.org/fhir/SearchParameter/OrganizationAffiliation-primary-organization",
"type": "reference",
"documentation": "The affiliations whose primary organization is this one. Give a Organization id, `Organization/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "participating-organization",
"definition": "http://hl7.org/fhir/SearchParameter/OrganizationAffiliation-participating-organization",
"type": "reference",
"documentation": "The affiliations one organization participates in. Give a Organization id, `Organization/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "active",
"definition": "http://hl7.org/fhir/SearchParameter/OrganizationAffiliation-active",
"type": "token",
"documentation": "`true` or `false`. Narrows a search; cannot be used on its own."
},
{
"name": "_id",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-id",
"type": "token",
"documentation": "A OrganizationAffiliation id. Searching by id rather than reading it lets one request also bring the records an `_include` or `_revinclude` names."
},
{
"name": "_summary",
"type": "token",
"documentation": "`count` only: answers how many records match, as `total`, with no entries. Cannot be combined with `_include`, `_revinclude`, `_count` or `page`."
},
{
"name": "_count",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-count",
"type": "number",
"documentation": "Results are paged. `_count` sets the page size (1 to 100); a larger value is refused rather than quietly reduced. Follow `link` with relation `next` to continue. The cursor it carries is opaque and must not be constructed or modified."
}
],
"documentation": "Which organizations take part in which networks. A search needs a network, a primary or participating organization, or an id. `network` with `participating-organization` asks whether the directory lists one organization in one network."
},
{
"type": "HealthcareService",
"interaction": [
{
"code": "read"
},
{
"code": "search-type"
}
],
"searchParam": [
{
"name": "location",
"definition": "http://hl7.org/fhir/SearchParameter/HealthcareService-location",
"type": "reference",
"documentation": "The services offered at one location. Give a Location id, `Location/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "network",
"definition": "http://hl7.org/fhir/us/ndh/SearchParameter/healthcareservice-network",
"type": "reference",
"documentation": "The services the directory lists in one insurance network. Cannot be used on its own: send it beside `location`. A search that breaks this rule is refused before the directory is asked. Give a Organization id, `Organization/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "active",
"definition": "http://hl7.org/fhir/SearchParameter/HealthcareService-active",
"type": "token",
"documentation": "`true` or `false`. Narrows a search; cannot be used on its own."
},
{
"name": "_id",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-id",
"type": "token",
"documentation": "A HealthcareService id. Searching by id rather than reading it lets one request also bring the records an `_include` or `_revinclude` names."
},
{
"name": "_summary",
"type": "token",
"documentation": "`count` only: answers how many records match, as `total`, with no entries. Cannot be combined with `_include`, `_revinclude`, `_count` or `page`."
},
{
"name": "_count",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-count",
"type": "number",
"documentation": "Results are paged. `_count` sets the page size (1 to 100); a larger value is refused rather than quietly reduced. Follow `link` with relation `next` to continue. The cursor it carries is opaque and must not be constructed or modified."
}
],
"documentation": "The services the directory lists. Its service records name a network and, for a few, a location; none names an organization. A search needs a location or an id; `network` needs a location beside it."
},
{
"type": "Location",
"interaction": [
{
"code": "read"
},
{
"code": "search-type"
}
],
"searchInclude": [
"Location:organization"
],
"searchRevInclude": [
"PractitionerRole:location"
],
"searchParam": [
{
"name": "organization",
"definition": "http://hl7.org/fhir/SearchParameter/Location-organization",
"type": "reference",
"documentation": "The locations one organization manages. Give a Organization id, `Organization/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "name",
"definition": "http://hl7.org/fhir/SearchParameter/Location-name",
"type": "string",
"documentation": "Matches the location's name."
},
{
"name": "address-city",
"definition": "http://hl7.org/fhir/SearchParameter/Location-address-city",
"type": "string",
"documentation": "Narrows a search by city; cannot be used on its own."
},
{
"name": "address-state",
"definition": "http://hl7.org/fhir/SearchParameter/Location-address-state",
"type": "string",
"documentation": "Narrows a search by state; cannot be used on its own."
},
{
"name": "address-postalcode",
"definition": "http://hl7.org/fhir/SearchParameter/Location-address-postalcode",
"type": "string",
"documentation": "Narrows a search by postal code; cannot be used on its own."
},
{
"name": "status",
"definition": "http://hl7.org/fhir/SearchParameter/Location-status",
"type": "token",
"documentation": "`active`, `suspended` or `inactive`. Narrows a search; cannot be used on its own."
},
{
"name": "_id",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-id",
"type": "token",
"documentation": "A Location id. Searching by id rather than reading it lets one request also bring the records an `_include` or `_revinclude` names."
},
{
"name": "_summary",
"type": "token",
"documentation": "`count` only: answers how many records match, as `total`, with no entries. Cannot be combined with `_include`, `_revinclude`, `_count` or `page`."
},
{
"name": "_count",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-count",
"type": "number",
"documentation": "Results are paged. `_count` sets the page size (1 to 100); a larger value is refused rather than quietly reduced. Follow `link` with relation `next` to continue. The cursor it carries is opaque and must not be constructed or modified."
}
],
"documentation": "Practice locations. A search needs an organization, a name or an id; the address parameters and `status` narrow it. `_revinclude=PractitionerRole:location` brings the roles held at each location."
},
{
"type": "Endpoint",
"interaction": [
{
"code": "read"
},
{
"code": "search-type"
}
],
"searchInclude": [
"Endpoint:organization"
],
"searchParam": [
{
"name": "organization",
"definition": "http://hl7.org/fhir/SearchParameter/Endpoint-organization",
"type": "reference",
"documentation": "The endpoints one organization manages. Give a Organization id, `Organization/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "connection-type",
"definition": "http://hl7.org/fhir/SearchParameter/Endpoint-connection-type",
"type": "token",
"documentation": "A connection type from `http://terminology.hl7.org/CodeSystem/endpoint-connection-type`, bare or with that system: for example `hl7-fhir-rest` or `direct-project`. Narrows a search; cannot be used on its own."
},
{
"name": "status",
"definition": "http://hl7.org/fhir/SearchParameter/Endpoint-status",
"type": "token",
"documentation": "`active`, `suspended`, `error`, `off`, `entered-in-error` or `test`. Narrows a search; cannot be used on its own."
},
{
"name": "name",
"definition": "http://hl7.org/fhir/SearchParameter/Endpoint-name",
"type": "string",
"documentation": "Matches the endpoint's name. Narrows a search; cannot be used on its own, because most of the directory's endpoints share one name."
},
{
"name": "_id",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-id",
"type": "token",
"documentation": "A Endpoint id. Searching by id rather than reading it lets one request also bring the records an `_include` or `_revinclude` names."
},
{
"name": "_summary",
"type": "token",
"documentation": "`count` only: answers how many records match, as `total`, with no entries. Cannot be combined with `_include`, `_revinclude`, `_count` or `page`."
},
{
"name": "_count",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-count",
"type": "number",
"documentation": "Results are paged. `_count` sets the page size (1 to 100); a larger value is refused rather than quietly reduced. Follow `link` with relation `next` to continue. The cursor it carries is opaque and must not be constructed or modified."
}
],
"documentation": "Technical endpoints: Direct addresses and FHIR servers. A search needs an organization or an id; `connection-type`, `status` and `name` narrow it."
},
{
"type": "Questionnaire",
"interaction": [
{
"code": "read"
},
{
"code": "search-type"
}
],
"searchParam": [
{
"name": "url",
"definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-url",
"type": "uri",
"documentation": "Exact match on the canonical URL. `{url}|{version}` is accepted and matches that version only. A canonical this server holds a copy of is answered from that copy at every version. Any other LOINC canonical is fetched from LOINC. A canonical that is the address of a form published under `https://smart-health-checkin.org/connectathon/Questionnaire/`, or under another place this server is set up to reach, is fetched from that address; any other canonical matches nothing."
},
{
"name": "version",
"definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-version",
"type": "token",
"documentation": "Exact match on the business version. On its own it filters the copies this server holds; with `url` it names the release to fetch."
}
],
"documentation": "Questionnaires served as their source (LOINC) publishes them, without modification of any content element, `status` included (the source publishes the current set as `draft`); the resource `id` is assigned by this server and `meta.versionId` and `meta.tag` are not carried. A form published at its own address, under `https://smart-health-checkin.org/connectathon/Questionnaire/` or another place this server is set up to reach, is reached only by its canonical `url` and served exactly as published, with its own copyright, its entry addressed where it is published. A search with no parameters lists the curated set, the questionnaires this server holds copies of, which are answered from those copies and render the same way on every request. A search naming a canonical `url` this server holds no copy of is answered from the source directly and depends on the source being reachable; when it cannot answer, the response is an OperationOutcome with a 5xx and never an empty searchset. Results are never paged: every search returns all matches in one page with `total` set; `_count` is refused by name. Search is GET only. Every other parameter, `status` included, is refused by name, never silently ignored. No operation is offered on Questionnaire; QuestionnaireResponse is not stored or accepted: build it client-side and reference the questionnaire as `{url}|{version}`. No SDC profile conformance is asserted."
},
{
"type": "InsurancePlan",
"profile": "https://haau3.com/fhir/StructureDefinition/haau3-insurance-plan",
"supportedProfile": [
"https://haau3.com/fhir/StructureDefinition/haau3-insurance-plan",
"http://hl7.org/fhir/us/insurance-card/StructureDefinition/sbc-insurance-plan|2.0.0-ballot"
],
"interaction": [
{
"code": "read"
},
{
"code": "search-type"
}
],
"searchParam": [
{
"name": "identifier",
"definition": "http://hl7.org/fhir/SearchParameter/InsurancePlan-identifier",
"type": "token",
"documentation": "A plan id, as `value` or `system|value`. A Medicare Advantage plan is found by CMS's plan id (http://cms.gov/medicare/ma-plan-id, segment in three digits: H2406-013-000) or its bid_id (https://haau3.com/fhir/NamingSystem/cms-ma-bid-id: H2406_013_0); a Marketplace plan by its HIOS plan id (https://haau3.com/fhir/NamingSystem/hios-plan-id: 19898FL0340001-01) or its standard component (https://haau3.com/fhir/NamingSystem/hios-standard-component-id: 19898FL0340001), which finds every variant. A drug-only or dental-only plan is not served; an identifier search that finds one answers no plan and an OperationOutcome entry saying why."
},
{
"name": "name",
"definition": "http://hl7.org/fhir/SearchParameter/InsurancePlan-name",
"type": "string",
"documentation": "The plan's name, ignoring case and accents: bare `name` matches the start, `name:contains` anywhere, `name:exact` the whole name exactly."
},
{
"name": "coverage-area-state",
"definition": "https://haau3.com/fhir/SearchParameter/InsurancePlan-coverage-area-state",
"type": "token",
"documentation": "A two-letter state code: the plans sold in that state."
},
{
"name": "coverage-area-county",
"definition": "https://haau3.com/fhir/SearchParameter/InsurancePlan-coverage-area-county",
"type": "token",
"documentation": "A five-digit FIPS county code (12086), bare or with the system http://terminology.hl7.org/CodeSystem/FIPS64: the plans sold in that county, in whole or in part. InsurancePlan/$counties?state= lists a state's counties and their codes."
},
{
"name": "type",
"definition": "http://hl7.org/fhir/SearchParameter/InsurancePlan-type",
"type": "token",
"documentation": "`mediadv` (Medicare Advantage) or `qhp` (Marketplace), from http://terminology.hl7.org/CodeSystem/insurance-product-type. Narrows a search; it is not one by itself."
},
{
"name": "sold-to",
"definition": "https://haau3.com/fhir/SearchParameter/InsurancePlan-sold-to",
"type": "token",
"documentation": "`individuals` or `employer-groups`: plans a person can buy on their own, or plans sold only to employer and union groups (Medicare Advantage) or to small employers (Marketplace SHOP plans). Narrows a search; it is not one by itself."
},
{
"name": "_count",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-count",
"type": "number",
"documentation": "Page size, 1 to 50, 10 by default; a larger value is refused rather than quietly reduced. Follow `link` with relation `next` to continue: its cursor is opaque, belongs to the one search, and is refused once the plans are updated, so a search never skips or repeats a plan unseen."
}
],
"operation": [
{
"name": "counties",
"definition": "https://haau3.com/fhir/OperationDefinition/InsurancePlan-counties"
},
{
"name": "in-network",
"definition": "https://haau3.com/fhir/OperationDefinition/InsurancePlan-in-network"
}
],
"documentation": "Read a plan by its id, or search by identifier, name, state or county. A search needs at least one of these. Every result is the whole plan, sorted by name and then id, and every page states the total. Releases being served. Medicare Advantage: ma-2027-2026-10-01 (plan year 2027); ACA Marketplace: aca-2026-2026-08-10 (plan year 2026)."
}
],
"operation": [
{
"name": "reconcile-medications",
"definition": "https://haau3.com/fhir/OperationDefinition/reconcile-medications",
"documentation": "Reconciles one patient's medication records into one medication list. POST a Bundle of the records, or a Parameters resource with resource parts and an optional asOf."
}
]
}
]
}Capability statement
FHIR [base]/metadata. Returns the CapabilityStatement for this service, or a TerminologyCapabilities when called with ?mode=terminology, which lists the code systems served and names those that are recognised but not served. mode is the only parameter it takes.
curl "https://api.haau3.com/v1/fhir/r4/metadata" \
-H "Authorization: Bearer $HAAU3_API_KEY"import { Haau3 } from "@haau3/sdk";
const haau3 = new Haau3(); // reads HAAU3_API_KEY
const metadata = await haau3.fhirMetadata();
console.log(metadata.resourceType);
from haau3 import Haau3
client = Haau3() # reads HAAU3_API_KEY
metadata = client.fhir_metadata()
print(metadata["resourceType"])
package main
import (
"context"
"fmt"
"log"
"github.com/haau3/haau3-go"
)
func main() {
ctx := context.Background()
client, err := haau3.NewClient() // reads HAAU3_API_KEY
if err != nil {
log.Fatal(err)
}
metadata, err := client.FHIRMetadata(ctx, haau3.FHIRMetadataParams{})
if err != nil {
log.Fatal(err)
}
fmt.Println(metadata.ResourceType())
}
{
"resourceType": "CapabilityStatement",
"status": "active",
"date": "2026-10-13",
"kind": "instance",
"fhirVersion": "4.0.1",
"format": [
"application/fhir+json",
"json"
],
"instantiates": [
"http://hl7.org/fhir/CapabilityStatement/terminology-server"
],
"software": {
"name": "haau3 platform FHIR API"
},
"implementation": {
"description": "haau3 platform FHIR R4 API. Four services and one operation are served from this one base: terminology (CodeSystem, ValueSet), the provider directory (Practitioner, PractitionerRole, Organization, OrganizationAffiliation, HealthcareService, Location, Endpoint), questionnaires (Questionnaire), Plan Benefits (InsurancePlan), and MedList's reconcile-medications. Note that `/v1/` versions the haau3 platform API contract, not FHIR; the FHIR release is `r4`, and is echoed on every response as the `fhirVersion` media-type parameter.",
"url": "https://api.haau3.com/v1/fhir/r4"
},
"copyright": "This material contains content from LOINC (http://loinc.org). LOINC is copyright © Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.\n\nThis product uses publicly available data courtesy of the U.S. National Library of Medicine (NLM), National Institutes of Health, Department of Health and Human Services; NLM is not responsible for the product and does not endorse or recommend this or any other product.\n\nCode systems this service holds locally are served from a dated release, named in the version of every answer and in this statement's TerminologyCapabilities. A held release may not reflect the most current data available from its publisher.\n\nFHIR® is the registered trademark of Health Level Seven International and its use here does not constitute endorsement by HL7.",
"rest": [
{
"mode": "server",
"documentation": "All operations accept GET with query parameters and POST with a Parameters resource. Complex inputs — coding, and codeableConcept on the validate-code operations — are accepted on POST only, as the operations framework requires; on GET pass system and code as separate parameters. A codeableConcept validates if ANY of its codings is a member, which fits data whose elements carry a vendor-local coding alongside a standard one; per-coding membership deliberately ignores each coding's display (a wrong label must not veto a right code — display checking is available on the single-coding form). A coding's version is honoured where the operation defines a version parameter (the CodeSystem operations); ValueSet validation always uses the current code-system version and refuses a versioned coding rather than silently ignoring it. A coding whose system disagrees with an explicitly supplied system or url parameter is refused. Value sets and code systems are addressed by canonical url only; instance-level operation paths ([type]/[id]/$operation) are not offered. An expansion is returned whole: displayLanguage, includeDesignations and activeOnly are refused by name on $expand, and filter, count and offset narrow only a value set this service hosts, being refused for one resolved from its own source. A batch Bundle POSTed to the base runs several operations in one round trip; each entry succeeds or fails independently.\n\nProvider directory resources are proxied from the CMS National Provider Directory and served as published, without modification. Search is GET only. Every search parameter is either declared here or refused by name: a parameter this service does not serve is never silently ignored. Where the directory requires a parameter to be sent beside another (`network` on PractitionerRole and HealthcareService), the rule is applied here, before the directory is asked.\n\nA curated set of questionnaires is served from copies vendored at a recorded release of their source, so those forms render the same way on every request. A search that names a canonical URL this service holds no copy of is answered from the source directly, and depends on that source being reachable. A search with no parameters lists the curated set. Search is GET only, and every search parameter is either declared here or refused by name. No operations are served on Questionnaire, and no QuestionnaireResponse is accepted or stored: a completed response is built by the application that collected it and references the questionnaire as `{url}|{version}`.\n\nPlan Benefits (InsurancePlan): what a Medicare Advantage or ACA Marketplace plan covers and what a member pays, read from the files CMS publishes. Each plan conforms to the haau3 Plan Benefits profile (https://haau3.com/fhir/StructureDefinition/haau3-insurance-plan) and to the SBC InsurancePlan profile of the CARIN Digital Insurance Card guide, 2.0.0-ballot, and names the CMS release it was read from.\n\nMedList: POST [base]/$reconcile-medications reconciles one patient's medication records into one clean list, returned as a Bundle of reconciled MedicationRequests with a Provenance for each. The operation receives patient data, so send it only under an executed agreement. Nothing a request carries is stored or logged. It is invoked directly and is not offered inside a batch.",
"interaction": [
{
"code": "batch"
}
],
"resource": [
{
"type": "CodeSystem",
"operation": [
{
"name": "lookup",
"definition": "http://hl7.org/fhir/OperationDefinition/CodeSystem-lookup"
},
{
"name": "validate-code",
"definition": "http://hl7.org/fhir/OperationDefinition/CodeSystem-validate-code"
}
]
},
{
"type": "ValueSet",
"operation": [
{
"name": "expand",
"definition": "http://hl7.org/fhir/OperationDefinition/ValueSet-expand"
},
{
"name": "validate-code",
"definition": "http://hl7.org/fhir/OperationDefinition/ValueSet-validate-code"
}
]
},
{
"type": "Practitioner",
"interaction": [
{
"code": "read"
},
{
"code": "search-type"
}
],
"searchRevInclude": [
"PractitionerRole:practitioner"
],
"searchParam": [
{
"name": "identifier",
"definition": "http://hl7.org/fhir/SearchParameter/Practitioner-identifier",
"type": "token",
"documentation": "An NPI, as `{system}|{npi}` or a bare 10-digit value. Accepted systems: http://terminology.hl7.org/NamingSystem/npi, http://hl7.org/fhir/sid/us-npi, urn:oid:2.16.840.1.113883.4.6. All of them resolve the same provider. Responses carry the directory's own system, `http://hl7.org/fhir/sid/us-npi`, which may differ from the one you sent. One NPI per search; use a batch Bundle to resolve several. Any other identifier system is refused by name rather than searched, because a system the source does not index would answer with an empty result that reads as 'no such provider'."
},
{
"name": "name",
"definition": "http://hl7.org/fhir/SearchParameter/Practitioner-name",
"type": "string",
"documentation": "Matches across the whole name."
},
{
"name": "family",
"definition": "http://hl7.org/fhir/SearchParameter/individual-family",
"type": "string",
"documentation": "The family name."
},
{
"name": "given",
"definition": "http://hl7.org/fhir/SearchParameter/individual-given",
"type": "string",
"documentation": "A given name."
},
{
"name": "address-city",
"definition": "http://hl7.org/fhir/SearchParameter/individual-address-city",
"type": "string",
"documentation": "Narrows a search by city; cannot be used on its own. Matches any of the practitioner's addresses, so a result can still list addresses in another city."
},
{
"name": "address-state",
"definition": "http://hl7.org/fhir/SearchParameter/individual-address-state",
"type": "string",
"documentation": "Narrows a search by state; cannot be used on its own. Matches any of the practitioner's addresses, so a result can still list addresses in another state."
},
{
"name": "active",
"definition": "http://hl7.org/fhir/SearchParameter/Practitioner-active",
"type": "token",
"documentation": "`true` or `false`. Narrows a search; cannot be used on its own."
},
{
"name": "_id",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-id",
"type": "token",
"documentation": "A Practitioner id. Searching by id rather than reading it lets one request also bring the records an `_include` or `_revinclude` names."
},
{
"name": "_summary",
"type": "token",
"documentation": "`count` only: answers how many records match, as `total`, with no entries. Cannot be combined with `_include`, `_revinclude`, `_count` or `page`."
},
{
"name": "_count",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-count",
"type": "number",
"documentation": "Results are paged. `_count` sets the page size (1 to 100); a larger value is refused rather than quietly reduced. Follow `link` with relation `next` to continue. The cursor it carries is opaque and must not be constructed or modified."
}
],
"documentation": "Search by NPI to resolve an identifier you already hold, or by name to find one. A search needs an identifier, a name or an id: `address-city`, `address-state` and `active` narrow a search but cannot stand alone. Resources are served as the source publishes them, unmodified. Add `_revinclude=PractitionerRole:practitioner` to get the practitioner's roles in the same bundle."
},
{
"type": "PractitionerRole",
"interaction": [
{
"code": "read"
},
{
"code": "search-type"
}
],
"searchInclude": [
"PractitionerRole:practitioner",
"PractitionerRole:organization",
"PractitionerRole:location",
"PractitionerRole:network",
"PractitionerRole:endpoint"
],
"searchParam": [
{
"name": "practitioner",
"definition": "http://hl7.org/fhir/SearchParameter/PractitionerRole-practitioner",
"type": "reference",
"documentation": "The roles one practitioner holds. Give a Practitioner id, `Practitioner/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "organization",
"definition": "http://hl7.org/fhir/SearchParameter/PractitionerRole-organization",
"type": "reference",
"documentation": "The roles held at one organization. Give a Organization id, `Organization/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "location",
"definition": "http://hl7.org/fhir/SearchParameter/PractitionerRole-location",
"type": "reference",
"documentation": "The roles held at one location. Give a Location id, `Location/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "endpoint",
"definition": "http://hl7.org/fhir/SearchParameter/PractitionerRole-endpoint",
"type": "reference",
"documentation": "The roles reached through one endpoint. Give a Endpoint id, `Endpoint/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "specialty",
"definition": "http://hl7.org/fhir/SearchParameter/PractitionerRole-specialty",
"type": "token",
"documentation": "A NUCC Health Care Provider Taxonomy code, bare or as `http://nucc.org/provider-taxonomy|{code}` (for example `207RC0000X`, cardiovascular disease). Any other system is refused, because the directory codes specialties in NUCC alone and would answer another system with nothing. Narrows a search; cannot be used on its own."
},
{
"name": "network",
"definition": "http://hl7.org/fhir/us/ndh/SearchParameter/practitionerrole-network",
"type": "reference",
"documentation": "The roles the directory lists in one insurance network (an Organization of type `ntwk`). Cannot be used on its own: send it beside `practitioner`, `organization`, `location` or `specialty`. A search that breaks this rule is refused before the directory is asked. Beside a specialty or a busy location the directory can take 10 to 15 seconds. A role the network's records do not list is not shown to be out of network: the directory's network data is sparse. Give a Organization id, `Organization/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "new-patient-from-network",
"definition": "http://hl7.org/fhir/us/ndh/SearchParameter/practitionerrole-new-patient-from-network",
"type": "reference",
"documentation": "The roles accepting new patients from one insurance network. Cannot be used on its own: send it beside `practitioner`, `organization`, `location` or `specialty`. A search that breaks this rule is refused before the directory is asked. Give a Organization id, `Organization/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "new-patient",
"definition": "http://hl7.org/fhir/us/ndh/SearchParameter/practitionerrole-new-patient",
"type": "token",
"documentation": "Whether the role accepts new patients: `newpt`, `nopt`, `existptonly` or `existptfam`, bare or under `http://terminology.hl7.org/CodeSystem/accepting-patients`. Narrows a search; cannot be used on its own."
},
{
"name": "active",
"definition": "http://hl7.org/fhir/SearchParameter/PractitionerRole-active",
"type": "token",
"documentation": "`true` or `false`. Narrows a search; cannot be used on its own."
},
{
"name": "_id",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-id",
"type": "token",
"documentation": "A PractitionerRole id. Searching by id rather than reading it lets one request also bring the records an `_include` or `_revinclude` names."
},
{
"name": "_summary",
"type": "token",
"documentation": "`count` only: answers how many records match, as `total`, with no entries. Cannot be combined with `_include`, `_revinclude`, `_count` or `page`."
},
{
"name": "_count",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-count",
"type": "number",
"documentation": "Results are paged. `_count` sets the page size (1 to 100); a larger value is refused rather than quietly reduced. Follow `link` with relation `next` to continue. The cursor it carries is opaque and must not be constructed or modified."
}
],
"documentation": "The roles practitioners hold: organization, specialty, locations, networks and whether they accept new patients. A search needs a practitioner, organization, location, endpoint or id; `specialty`, `new-patient` and `active` narrow it. `network` and `new-patient-from-network` need a practitioner, organization, location or specialty beside them. `identifier` is not offered because the source does not carry identifiers on these resources."
},
{
"type": "Organization",
"interaction": [
{
"code": "read"
},
{
"code": "search-type"
}
],
"searchInclude": [
"Organization:partof"
],
"searchRevInclude": [
"PractitionerRole:organization",
"OrganizationAffiliation:primary-organization",
"OrganizationAffiliation:participating-organization",
"Location:organization",
"Endpoint:organization",
"Organization:partof"
],
"searchParam": [
{
"name": "name",
"definition": "http://hl7.org/fhir/SearchParameter/Organization-name",
"type": "string",
"documentation": "Matches the organization's name."
},
{
"name": "identifier",
"definition": "http://hl7.org/fhir/SearchParameter/Organization-identifier",
"type": "token",
"documentation": "An organization's NPI, as `{system}|{npi}` or a bare 10-digit value, under the same systems `Practitioner` accepts. An NPI search can return more than the practice that holds the NPI: a parent organization that lists it among several NPIs is a match too, because it carries the NPI as an NPI."
},
{
"name": "partof",
"definition": "http://hl7.org/fhir/SearchParameter/Organization-partof",
"type": "reference",
"documentation": "The organizations that are part of one organization. Give a Organization id, `Organization/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "type",
"definition": "http://hl7.org/fhir/SearchParameter/Organization-type",
"type": "token",
"documentation": "An organization type from `http://terminology.hl7.org/CodeSystem/organization-type`, bare or with that system: `prov` for healthcare providers, `pay` for payers, `ntwk` for insurance networks. `ntwk` is also accepted under Plan-Net's `http://hl7.org/fhir/us/davinci-pdex-plan-net/CodeSystem/OrgTypeCS`. `type=ntwk` and `type=pay` may stand alone, to list every network or every payer; any other type narrows a search. The directory records networks by the text of their type rather than a code; this service searches that text and confirms each answer is a network, and answers 502 rather than serve one that is not."
},
{
"name": "active",
"definition": "http://hl7.org/fhir/SearchParameter/Organization-active",
"type": "token",
"documentation": "`true` or `false`. Narrows a search; cannot be used on its own."
},
{
"name": "address-city",
"definition": "http://hl7.org/fhir/SearchParameter/Organization-address-city",
"type": "string",
"documentation": "Narrows a search by city; cannot be used on its own. Matches any of the organization's addresses, so a result can still list addresses in another city."
},
{
"name": "address-state",
"definition": "http://hl7.org/fhir/SearchParameter/Organization-address-state",
"type": "string",
"documentation": "Narrows a search by state; cannot be used on its own. Matches any of the organization's addresses, so a result can still list addresses in another state."
},
{
"name": "address-postalcode",
"definition": "http://hl7.org/fhir/SearchParameter/Organization-address-postalcode",
"type": "string",
"documentation": "Narrows a search by postal code; cannot be used on its own. Matches any of the organization's addresses, so a result can still list addresses in another postal code."
},
{
"name": "_id",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-id",
"type": "token",
"documentation": "A Organization id. Searching by id rather than reading it lets one request also bring the records an `_include` or `_revinclude` names."
},
{
"name": "_summary",
"type": "token",
"documentation": "`count` only: answers how many records match, as `total`, with no entries. Cannot be combined with `_include`, `_revinclude`, `_count` or `page`."
},
{
"name": "_count",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-count",
"type": "number",
"documentation": "Results are paged. `_count` sets the page size (1 to 100); a larger value is refused rather than quietly reduced. Follow `link` with relation `next` to continue. The cursor it carries is opaque and must not be constructed or modified."
}
],
"documentation": "Healthcare providers, payers and insurance networks. A search needs a name, an NPI, a parent (`partof`), an id, or `type=ntwk` or `type=pay`; other types, `active` and the address parameters narrow it. `_revinclude` brings the roles, affiliations, locations and endpoints that point at each match."
},
{
"type": "OrganizationAffiliation",
"interaction": [
{
"code": "read"
},
{
"code": "search-type"
}
],
"searchInclude": [
"OrganizationAffiliation:participating-organization",
"OrganizationAffiliation:primary-organization",
"OrganizationAffiliation:network"
],
"searchParam": [
{
"name": "network",
"definition": "http://hl7.org/fhir/SearchParameter/OrganizationAffiliation-network",
"type": "reference",
"documentation": "The affiliations the directory lists in one insurance network. An organization the network's records do not list is not shown to be out of network: the directory's network data is sparse. Give a Organization id, `Organization/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "primary-organization",
"definition": "http://hl7.org/fhir/SearchParameter/OrganizationAffiliation-primary-organization",
"type": "reference",
"documentation": "The affiliations whose primary organization is this one. Give a Organization id, `Organization/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "participating-organization",
"definition": "http://hl7.org/fhir/SearchParameter/OrganizationAffiliation-participating-organization",
"type": "reference",
"documentation": "The affiliations one organization participates in. Give a Organization id, `Organization/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "active",
"definition": "http://hl7.org/fhir/SearchParameter/OrganizationAffiliation-active",
"type": "token",
"documentation": "`true` or `false`. Narrows a search; cannot be used on its own."
},
{
"name": "_id",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-id",
"type": "token",
"documentation": "A OrganizationAffiliation id. Searching by id rather than reading it lets one request also bring the records an `_include` or `_revinclude` names."
},
{
"name": "_summary",
"type": "token",
"documentation": "`count` only: answers how many records match, as `total`, with no entries. Cannot be combined with `_include`, `_revinclude`, `_count` or `page`."
},
{
"name": "_count",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-count",
"type": "number",
"documentation": "Results are paged. `_count` sets the page size (1 to 100); a larger value is refused rather than quietly reduced. Follow `link` with relation `next` to continue. The cursor it carries is opaque and must not be constructed or modified."
}
],
"documentation": "Which organizations take part in which networks. A search needs a network, a primary or participating organization, or an id. `network` with `participating-organization` asks whether the directory lists one organization in one network."
},
{
"type": "HealthcareService",
"interaction": [
{
"code": "read"
},
{
"code": "search-type"
}
],
"searchParam": [
{
"name": "location",
"definition": "http://hl7.org/fhir/SearchParameter/HealthcareService-location",
"type": "reference",
"documentation": "The services offered at one location. Give a Location id, `Location/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "network",
"definition": "http://hl7.org/fhir/us/ndh/SearchParameter/healthcareservice-network",
"type": "reference",
"documentation": "The services the directory lists in one insurance network. Cannot be used on its own: send it beside `location`. A search that breaks this rule is refused before the directory is asked. Give a Organization id, `Organization/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "active",
"definition": "http://hl7.org/fhir/SearchParameter/HealthcareService-active",
"type": "token",
"documentation": "`true` or `false`. Narrows a search; cannot be used on its own."
},
{
"name": "_id",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-id",
"type": "token",
"documentation": "A HealthcareService id. Searching by id rather than reading it lets one request also bring the records an `_include` or `_revinclude` names."
},
{
"name": "_summary",
"type": "token",
"documentation": "`count` only: answers how many records match, as `total`, with no entries. Cannot be combined with `_include`, `_revinclude`, `_count` or `page`."
},
{
"name": "_count",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-count",
"type": "number",
"documentation": "Results are paged. `_count` sets the page size (1 to 100); a larger value is refused rather than quietly reduced. Follow `link` with relation `next` to continue. The cursor it carries is opaque and must not be constructed or modified."
}
],
"documentation": "The services the directory lists. Its service records name a network and, for a few, a location; none names an organization. A search needs a location or an id; `network` needs a location beside it."
},
{
"type": "Location",
"interaction": [
{
"code": "read"
},
{
"code": "search-type"
}
],
"searchInclude": [
"Location:organization"
],
"searchRevInclude": [
"PractitionerRole:location"
],
"searchParam": [
{
"name": "organization",
"definition": "http://hl7.org/fhir/SearchParameter/Location-organization",
"type": "reference",
"documentation": "The locations one organization manages. Give a Organization id, `Organization/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "name",
"definition": "http://hl7.org/fhir/SearchParameter/Location-name",
"type": "string",
"documentation": "Matches the location's name."
},
{
"name": "address-city",
"definition": "http://hl7.org/fhir/SearchParameter/Location-address-city",
"type": "string",
"documentation": "Narrows a search by city; cannot be used on its own."
},
{
"name": "address-state",
"definition": "http://hl7.org/fhir/SearchParameter/Location-address-state",
"type": "string",
"documentation": "Narrows a search by state; cannot be used on its own."
},
{
"name": "address-postalcode",
"definition": "http://hl7.org/fhir/SearchParameter/Location-address-postalcode",
"type": "string",
"documentation": "Narrows a search by postal code; cannot be used on its own."
},
{
"name": "status",
"definition": "http://hl7.org/fhir/SearchParameter/Location-status",
"type": "token",
"documentation": "`active`, `suspended` or `inactive`. Narrows a search; cannot be used on its own."
},
{
"name": "_id",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-id",
"type": "token",
"documentation": "A Location id. Searching by id rather than reading it lets one request also bring the records an `_include` or `_revinclude` names."
},
{
"name": "_summary",
"type": "token",
"documentation": "`count` only: answers how many records match, as `total`, with no entries. Cannot be combined with `_include`, `_revinclude`, `_count` or `page`."
},
{
"name": "_count",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-count",
"type": "number",
"documentation": "Results are paged. `_count` sets the page size (1 to 100); a larger value is refused rather than quietly reduced. Follow `link` with relation `next` to continue. The cursor it carries is opaque and must not be constructed or modified."
}
],
"documentation": "Practice locations. A search needs an organization, a name or an id; the address parameters and `status` narrow it. `_revinclude=PractitionerRole:location` brings the roles held at each location."
},
{
"type": "Endpoint",
"interaction": [
{
"code": "read"
},
{
"code": "search-type"
}
],
"searchInclude": [
"Endpoint:organization"
],
"searchParam": [
{
"name": "organization",
"definition": "http://hl7.org/fhir/SearchParameter/Endpoint-organization",
"type": "reference",
"documentation": "The endpoints one organization manages. Give a Organization id, `Organization/{id}`, or the `fullUrl` this service returned. An address on another server is refused."
},
{
"name": "connection-type",
"definition": "http://hl7.org/fhir/SearchParameter/Endpoint-connection-type",
"type": "token",
"documentation": "A connection type from `http://terminology.hl7.org/CodeSystem/endpoint-connection-type`, bare or with that system: for example `hl7-fhir-rest` or `direct-project`. Narrows a search; cannot be used on its own."
},
{
"name": "status",
"definition": "http://hl7.org/fhir/SearchParameter/Endpoint-status",
"type": "token",
"documentation": "`active`, `suspended`, `error`, `off`, `entered-in-error` or `test`. Narrows a search; cannot be used on its own."
},
{
"name": "name",
"definition": "http://hl7.org/fhir/SearchParameter/Endpoint-name",
"type": "string",
"documentation": "Matches the endpoint's name. Narrows a search; cannot be used on its own, because most of the directory's endpoints share one name."
},
{
"name": "_id",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-id",
"type": "token",
"documentation": "A Endpoint id. Searching by id rather than reading it lets one request also bring the records an `_include` or `_revinclude` names."
},
{
"name": "_summary",
"type": "token",
"documentation": "`count` only: answers how many records match, as `total`, with no entries. Cannot be combined with `_include`, `_revinclude`, `_count` or `page`."
},
{
"name": "_count",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-count",
"type": "number",
"documentation": "Results are paged. `_count` sets the page size (1 to 100); a larger value is refused rather than quietly reduced. Follow `link` with relation `next` to continue. The cursor it carries is opaque and must not be constructed or modified."
}
],
"documentation": "Technical endpoints: Direct addresses and FHIR servers. A search needs an organization or an id; `connection-type`, `status` and `name` narrow it."
},
{
"type": "Questionnaire",
"interaction": [
{
"code": "read"
},
{
"code": "search-type"
}
],
"searchParam": [
{
"name": "url",
"definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-url",
"type": "uri",
"documentation": "Exact match on the canonical URL. `{url}|{version}` is accepted and matches that version only. A canonical this server holds a copy of is answered from that copy at every version. Any other LOINC canonical is fetched from LOINC. A canonical that is the address of a form published under `https://smart-health-checkin.org/connectathon/Questionnaire/`, or under another place this server is set up to reach, is fetched from that address; any other canonical matches nothing."
},
{
"name": "version",
"definition": "http://hl7.org/fhir/SearchParameter/Questionnaire-version",
"type": "token",
"documentation": "Exact match on the business version. On its own it filters the copies this server holds; with `url` it names the release to fetch."
}
],
"documentation": "Questionnaires served as their source (LOINC) publishes them, without modification of any content element, `status` included (the source publishes the current set as `draft`); the resource `id` is assigned by this server and `meta.versionId` and `meta.tag` are not carried. A form published at its own address, under `https://smart-health-checkin.org/connectathon/Questionnaire/` or another place this server is set up to reach, is reached only by its canonical `url` and served exactly as published, with its own copyright, its entry addressed where it is published. A search with no parameters lists the curated set, the questionnaires this server holds copies of, which are answered from those copies and render the same way on every request. A search naming a canonical `url` this server holds no copy of is answered from the source directly and depends on the source being reachable; when it cannot answer, the response is an OperationOutcome with a 5xx and never an empty searchset. Results are never paged: every search returns all matches in one page with `total` set; `_count` is refused by name. Search is GET only. Every other parameter, `status` included, is refused by name, never silently ignored. No operation is offered on Questionnaire; QuestionnaireResponse is not stored or accepted: build it client-side and reference the questionnaire as `{url}|{version}`. No SDC profile conformance is asserted."
},
{
"type": "InsurancePlan",
"profile": "https://haau3.com/fhir/StructureDefinition/haau3-insurance-plan",
"supportedProfile": [
"https://haau3.com/fhir/StructureDefinition/haau3-insurance-plan",
"http://hl7.org/fhir/us/insurance-card/StructureDefinition/sbc-insurance-plan|2.0.0-ballot"
],
"interaction": [
{
"code": "read"
},
{
"code": "search-type"
}
],
"searchParam": [
{
"name": "identifier",
"definition": "http://hl7.org/fhir/SearchParameter/InsurancePlan-identifier",
"type": "token",
"documentation": "A plan id, as `value` or `system|value`. A Medicare Advantage plan is found by CMS's plan id (http://cms.gov/medicare/ma-plan-id, segment in three digits: H2406-013-000) or its bid_id (https://haau3.com/fhir/NamingSystem/cms-ma-bid-id: H2406_013_0); a Marketplace plan by its HIOS plan id (https://haau3.com/fhir/NamingSystem/hios-plan-id: 19898FL0340001-01) or its standard component (https://haau3.com/fhir/NamingSystem/hios-standard-component-id: 19898FL0340001), which finds every variant. A drug-only or dental-only plan is not served; an identifier search that finds one answers no plan and an OperationOutcome entry saying why."
},
{
"name": "name",
"definition": "http://hl7.org/fhir/SearchParameter/InsurancePlan-name",
"type": "string",
"documentation": "The plan's name, ignoring case and accents: bare `name` matches the start, `name:contains` anywhere, `name:exact` the whole name exactly."
},
{
"name": "coverage-area-state",
"definition": "https://haau3.com/fhir/SearchParameter/InsurancePlan-coverage-area-state",
"type": "token",
"documentation": "A two-letter state code: the plans sold in that state."
},
{
"name": "coverage-area-county",
"definition": "https://haau3.com/fhir/SearchParameter/InsurancePlan-coverage-area-county",
"type": "token",
"documentation": "A five-digit FIPS county code (12086), bare or with the system http://terminology.hl7.org/CodeSystem/FIPS64: the plans sold in that county, in whole or in part. InsurancePlan/$counties?state= lists a state's counties and their codes."
},
{
"name": "type",
"definition": "http://hl7.org/fhir/SearchParameter/InsurancePlan-type",
"type": "token",
"documentation": "`mediadv` (Medicare Advantage) or `qhp` (Marketplace), from http://terminology.hl7.org/CodeSystem/insurance-product-type. Narrows a search; it is not one by itself."
},
{
"name": "sold-to",
"definition": "https://haau3.com/fhir/SearchParameter/InsurancePlan-sold-to",
"type": "token",
"documentation": "`individuals` or `employer-groups`: plans a person can buy on their own, or plans sold only to employer and union groups (Medicare Advantage) or to small employers (Marketplace SHOP plans). Narrows a search; it is not one by itself."
},
{
"name": "_count",
"definition": "http://hl7.org/fhir/SearchParameter/Resource-count",
"type": "number",
"documentation": "Page size, 1 to 50, 10 by default; a larger value is refused rather than quietly reduced. Follow `link` with relation `next` to continue: its cursor is opaque, belongs to the one search, and is refused once the plans are updated, so a search never skips or repeats a plan unseen."
}
],
"operation": [
{
"name": "counties",
"definition": "https://haau3.com/fhir/OperationDefinition/InsurancePlan-counties"
},
{
"name": "in-network",
"definition": "https://haau3.com/fhir/OperationDefinition/InsurancePlan-in-network"
}
],
"documentation": "Read a plan by its id, or search by identifier, name, state or county. A search needs at least one of these. Every result is the whole plan, sorted by name and then id, and every page states the total. Releases being served. Medicare Advantage: ma-2027-2026-10-01 (plan year 2027); ACA Marketplace: aca-2026-2026-08-10 (plan year 2026)."
}
],
"operation": [
{
"name": "reconcile-medications",
"definition": "https://haau3.com/fhir/OperationDefinition/reconcile-medications",
"documentation": "Reconciles one patient's medication records into one medication list. POST a Bundle of the records, or a Parameters resource with resource parts and an optional asOf."
}
]
}
]
}Authorizations
Your platform API key (haau3_sk_…), sent as Authorization: Bearer <key>.
Headers
An id of your own for this request, as a UUID. It comes back in the X-Correlation-Id header and is kept with haau3's record of the request. Any value that is not a UUID is ignored. See https://docs.haau3.com/errors#request-ids.
Query Parameters
Pass terminology for a TerminologyCapabilities resource instead of the CapabilityStatement. full, the default, returns the CapabilityStatement. No other mode is served.
full, terminology Response
A FHIR CapabilityStatement, or a TerminologyCapabilities when mode=terminology.