This page is part of the Argonaut Provider Directory Guide (v1.0.0: Release) based on FHIR R3. This is the current published version in it's permanent home (it will always be available at this URL). 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 |
This section describes the expected capabilities of a client actor which is responsible for creating and initiating the queries for information. It is expected that this CapabilityStatement will be used in conjuction with the Argonaut Provider Directory Server CapabilityStatement. Together they describe the basic expectations for the capabilities of a conformant client application.
The Argonaut Provider Client SHALL support fetching and querying of one or more Argonaut Provider profile(s), using the supported RESTful interactions and search parameters declared in the Argonaut Provider Directory Server CapabilityStatement
The Argonaut Provider Client SHOULD Declare a CapabilityStatement identifying the list of profiles, operations, search parameter supported.
Argonaut Clent SHALL implement the security requirements documented in the US Core IG.
Summary of Argonaut Provider search criteria
Specific client search capabilities are described in detail below in each of the resource sections. When a Server returns a PractitionerRole, Location, or Organization, an Endpoint MAY be included. The client application SHALL properly process a bundle when all resources are included, and be able to retrieve the Endpoint resource when not included.
Supported Profiles: Argonaut Endpoint Profile
Search Criteria:
A Client SHALL be capable of fetching an Endpoint using:
GET [base]/Endpoint?identifier=[system]|[code]
GET [base]/Endpoint?organization=[id]
GET [base]/Endpoint?name=[string]
Supported Profiles: Argonaut Location Profile
Search Criteria:
A client SHALL be capable of fetching 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}
Supported Profiles: Argonaut Organization Profile
Search Criteria:
A client SHALL be capable of fetching 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}
Supported Profiles: Argonaut Practitioner Profile
Search Criteria:
A client SHALL be capable of fetching a Practitioner using:
GET [base]/Practitioner?identifier=[system]|[code]
GET [base]/Practitioner?family=[string]&given=[string]
GET [base]/Practitioner?name=[string]
Supported Profiles: Argonaut PractitionerRole Profile
Search Criteria:
A client SHALL be capable of fetching 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}