Argonaut Provider Directory Implementation Guide Version 1.0.0

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

CapabilityStatements Defined for this Guide

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.

Conformance requirements for an Argonaut Provider Directory Server

Source Resource: XML/JSON

  • FHIR Version: 3.0.0
  • Supported formats: xml, json
  • Published: 2017-04-30
  • Published by: Argonaut

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.

Behavior

Description: The Provider Directory Server SHALL:

  • Support the following US Provider Directory resource profiles:
    • Argonaut Endpoint
    • Argonaut Location
    • Argonaut Organization
    • Argonaut Practitioner
    • Argonaut PractitionerRole
  • Return the following response classes:
    • (Status 200): successful operation
    • (Status 400): invalid parameter
    • (Status 401/4xx): unauthorized request
    • (Status 403): insufficient scope
    • (Status 404): unknown resource
    • (Status 410): deleted resource.
  • Implement the RESTful behavior according to the FHIR specification.
  • Support json resource formats for all Provider Directory interactions.
  • Declare a CapabilityStatement identifying the list of profiles, operations, search parameter supported.

Security:

US Provider Directory Servers SHALL:

  • Implement the security requirements documented in the US Core IG.
  • A server has ensured that every API request includes a valid Authorization token, supplied via: Authorization: Bearer {server-specific-token-here}
  • A server has rejected any unauthorized requests by returning an HTTP 401 Unauthorized response code.

Profile Interaction Summary:

  • All servers SHALL make available the read and search interactions for the Profiles the server chooses to support.
  • All servers SHOULD make available the vread and history-instance interactions for the Profiles the server chooses to support.

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

Resource Details:

1. 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  
2. Location

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
3. Organization

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
4. Practitioner

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  
5. PractitionerRole

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


Conformance requirements for the Argonaut Provider Directory Client

Source Resource: XML/JSON

  • FHIR Version: 3.0.0
  • Supported formats: xml, json
  • Published: 2017-04-30
  • Published by: Argonaut

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.

Behavior

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.

Security

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.

Resource Details:

1. Endpoint

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]
2. Location

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}
3. Organization

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}
4. Practitioner

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]
5. PractitionerRole

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}