Overview
The Provider Directory API accesses the Health Chain FHIR server portion of the Provider and Pharmacy Directories. Utilizing only read-only RESTful GET API calls (PUT and POST are not currently supported), you can create an application to access information about providers and pharmacies.
This section describes the FHIR profiles, resources and RESTful capabilities that the Provider Directory API supports. A profile is a set of rules which allows a resource to be constrained, or to include extensions, so the resource can add additional attributes. The RESTful capabilities are discussed in further detail below.
Security
Health Chain's Provider Directory FHIR server does not maintain any records that can be associated with a consumer. Therefore, the Provider Directory API does not require third-party applications to send consumer identifying information, and does not require authentication.
FHIR RESTful API Capabilities
- Implements RESTful behaviors according to the FHIR specification.
- Returns the following http status codes:
HTTP Status Code |
Description |
200 |
Successful Request |
400 |
Invalid Parameter |
401 |
Not Authorized |
403 |
Insufficient Scope |
404 |
Unknown Resource |
410 |
Deleted Resource |
Note: For more information about the FHIR RESTful API, please refer to the HL7® FHIR® RESTful API topics.
RESTful Capability by Resource, with Alignment to Profiles
Read (Fetch) Syntax
To fetch resource interactions, use the following syntax:
GET [base]/[Resource-type]/[id] {parameters}
- GET: the HTTP verb used to fetch the resource
- Content surrounded by "[ ]" are mandatory for the client to supply, and will be replaced by the string literal identified.
- base: The Service Root URL
- Resource-type: The name of the resource type (e.g "Patient")
- id: The logical ID for a resource (e.g. "24342")
- Content surrounded by "{ }" is optional for the client to supply, and will be replaced by the string literal identified.
- parameters: optional - definition for the particular interaction
Search Syntax
To search resource interactions, use the following syntax:
GET [base]/[Resource-type]?[parameter1]{:m1|m2|...}={c1|c2|...}[value1{,value2,...}]{&[parameter2]{:m1|m2|...}={c1|c2|...}[value1{,value2,...}]&....}
- GET: the HTTP verb used to fetch the resource
- Variables surrounded by "[ ]" are mandatory for the client to supply, and will be replaced by the string literal identified.
- Variables surrounded by "{ }" are optional for the client to supply, and will be replaced by the string literal identified.
- base: The Service Root URL
- Resource-type: The name of a resource type (e.g "Patient")
- parameter: The search parameters as defined for the particular interaction (e.g. "?patient=Patient/123")
- value: the search parameter value for a particular search
Note: For values of type Token, the syntax {system|}[code] means that the system value is optional for the client to supply.
- {:m1|m2|...}: The list of supported search parameter modifiers
- {c1|c2|...}: The list of supported search parameter comparators
- {,value2,...}: Optional multiple "OR" values
- {¶meter2={:m1 m2 ...}={c1 c2 ...}[value1{,value2,...}&...}: Optional multiple "AND" search parameters
In the simplest case, a search is executed by performing a GET operation in the RESTful framework:
GET [base]/[Resource-type]?name=value&...
For this RESTful search, the parameters are a series of name=[value] pairs encoded in the URL. The search parameter names are defined for each resource. For example, the Observation resource the name "code" for search on the LOINC code.
Note: For more information about how the search resource interactions are handled, refer to the HL7® FHIR® Search topic.