This page is part of the Argonaut Provider Directory Guide (v1.0.0: Release) based on FHIR R3. This is the current published version. For a full list of available versions, see the Directory of published versions
This section outlines conformance requirements for each of the Provider Directory actors identifying the specific profiles that need to be supported, the specific RESTful operations that need to be supported, and the search parameters that need to be supported. Note: The individual profiles identify the structural constraints, terminology bindings and invariants, however, implementers must refer to the conformance requirements for details on the RESTful operations, specific profiles and the search parameters applicable to each of the Provider Directory actors.
The Section describes the expected capabilities of the Provider Directory actor which is responsible for providing responses to the queries submitted by Client applications. It describes the complete list of FHIR profiles, RESTful operations, and search parameters supported by US Provider Directory Servers. Provider Directory Clients have the option of choosing from this list to access necessary data based on their local use cases and other contextual requirements.
Description: The Provider Directory Server SHALL:
US Provider Directory Servers SHALL:
Authorization: Bearer {server-specific-token-here}
HTTP 401
Unauthorized response code.Summary of Provider Directory search criteria
Specific server search capabilities are described in detail below in each of the resource sections. When returning a PractitionerRole, a Practitioner and Endpoint SHALL be included. When searching on Organization or Location, a server SHALL support the _include parameter for the endpoint parameter. The client application must properly process a bundle when all resources are included, and must be able to retrieve them when not included.
Resource Type | Supported Profiles | Supported Search parameters | Supported _includes |
---|---|---|---|
Endpoint | Argonaut Endpoint Profile | identifier, organization, name | |
Location | Argonaut Location Profile | identifier, name, address | Location:endpoint |
Organization | Argonaut Organization Profile | identifier, name, address | Organization:endpoint |
Practitioner | Argonaut Practitioner Profile | identifier, name | |
PractitionerRole | Argonaut PractitionerRole Profile | practitioner, specialty | PractitionerRole:practitioner, PractitionerRole:endpoint |
Supported Profiles: Argonaut Endpoint Profile
Search Criteria:
A server SHALL be capable of fetching an Endpoint using:
GET [base]/Endpoint?identifier=[system]|[code]
GET [base]/Endpoint?organization=[id]
GET [base]/Endpoint?name=[string]
Conformance | Parameter | Type | _include (see documentation) |
---|---|---|---|
SHALL | identifier | token | |
SHALL | name | string | |
SHALL | organization | reference |
Supported Profiles: Argonaut Location Profile
Search Criteria:
A server SHALL be capable of returning a Location using:
GET [base]/Location?identifier=[system]|[code]{&_include=Location:endpoint}
GET [base]/Location?name=[string]{&_include=Location:endpoint}
GET [base]/Location?address=[string]{&_include=Location:endpoint}
Search Parameters:
Conformance | Parameter | Type | _include (see documentation) |
---|---|---|---|
SHALL | identifier | token | Location:endpoint |
SHALL | name | string | Location:endpoint |
SHALL | address | string | Location:endpoint |
Supported Profiles: Argonaut Organization Profile
Search Criteria:
A server SHALL be capable of returning an Organization using:
GET [base]/Organization?identifier=[system]|[code]{&_include=Organization:endpoint}
GET [base]/Organization?name=[string]{&_include=Organization:endpoint}
GET [base]/Organization?address=[string]{&_include=Organization:endpoint}
Conformance | Parameter | Type | _include (see documentation) |
---|---|---|---|
SHALL | identifier | token | Organization:endpoint |
SHALL | name | string | Organization:endpoint |
SHALL | address | string | Organization:endpoint |
Supported Profiles: Argonaut Practitioner Profile
Search Criteria:
A server SHALL be capable of returning a Practitioner using:
GET [base]/Practitioner?identifier=[system]|[code]
GET [base]/Practitioner?family=[string]&given=[string]
GET [base]/Practitioner?name=[string]
Conformance | Parameter | Type | _include (see documentation) |
---|---|---|---|
SHALL | identifier | token | |
SHALL | given | string | |
SHALL | family | string | |
SHALL | name | string |
Supported Profiles: Argonaut PractitionerRole Profile
Search Criteria:
A server SHALL be capable of returning a PractitionerRole using:
GET [base]/PractitionerRole?practitioner.identifier=[system]|[code]{&_include=PractitionerRole:practitioner&_include=PractitionerRole:endpoint}
GET [base]/PractitionerRole?practitioner.family=[string]&given=[string]{&_include=PractitionerRole:practitioner&_include=PractitionerRole:endpoint}
GET [base]/PractitionerRole?specialty=[system]|[code]{&_include=PractitionerRole:practitioner&_include=PractitionerRole:endpoint}
A server MAY return a PractitionerRole using:
GET [base]/PractitionerRole?location.address-city=[city]{&_include=PractitionerRole:practitioner&_include=PractitionerRole:endpoint}
GET [base]/PractitionerRole?location.address-city=[city]&specialty=[string]{&_include=PractitionerRole:practitioner&_include=PractitionerRole:endpoint}
GET [base]/PractitionerRole?location.near=[lat],[long]&near-distance=[distance]{&_include=PractitionerRole:practitioner&_include=PractitionerRole:endpoint}
Search Parameters:
Conformance | Parameter | Type | _include (see documentation) |
---|---|---|---|
SHALL | practitioner.identifier | reference + token (chained parameter) | PractitionerRole:practitioner, PractitionerRole:endpoint |
SHALL | practitioner.family | reference + string (chained parameter) | PractitionerRole:practitioner, PractitionerRole:endpoint |
SHALL | specialty | token | PractitionerRole:practitioner, PractitionerRole:endpoint |
MAY | location.address | reference + string (chained parameter) | PractitionerRole:practitioner, PractitionerRole:endpoint |
MAY | location.near, location.distance | reference + token (chained parameter), reference + quantity (chained parameter) | PractitionerRole:practitioner, PractitionerRole:endpoint |