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
Formats: Narrative, XML, JSON, Turtle
Raw json
{ "resourceType" : "CapabilityStatement", "id" : "server", "text" : { "status" : "additional", "div" : "<div xmlns="http://www.w3.org/1999/xhtml"> <h2 id="capabilitystatements-defined-for-this-guide" class="no_toc">CapabilityStatements Defined for this Guide</h2> <ul id="markdown-toc"> <li><a href="#server" id="markdown-toc-server">Conformance requirements for an Argonaut Provider Directory Server</a> <ul> <li><a href="#behavior" id="markdown-toc-behavior">Behavior</a></li> <li><a href="#security" id="markdown-toc-security">Security:</a></li> <li><a href="#profile-interaction-summary" id="markdown-toc-profile-interaction-summary">Profile Interaction Summary:</a></li> <li><a href="#resource--details" id="markdown-toc-resource--details">Resource Details:</a> <ul> <li><a href="#endpoint" id="markdown-toc-endpoint">1. Endpoint</a></li> <li><a href="#location" id="markdown-toc-location">2. Location</a></li> <li><a href="#organization" id="markdown-toc-organization">3. Organization</a></li> <li><a href="#practitioner" id="markdown-toc-practitioner">4. Practitioner</a></li> <li><a href="#practitionerrole" id="markdown-toc-practitionerrole">5. PractitionerRole</a></li> </ul> </li> </ul> </li> </ul> <p>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.</p> <h3 id="server">Conformance requirements for an Argonaut Provider Directory Server</h3> <ul> <li>FHIR Version: 3.0.0</li> <li>Supported formats: xml, json</li> <li>Published: 2017-04-30</li> <li>Published by: Argonaut</li> </ul> <p>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.</p> <h4 id="behavior">Behavior</h4> <p>Description: The Provider Directory Server <strong>SHALL</strong>:</p> <ul> <li>Support the following US Provider Directory resource profiles: <ul> <li>Argonaut Endpoint</li> <li>Argonaut Location</li> <li>Argonaut Organization</li> <li>Argonaut Practitioner</li> <li>Argonaut PractitionerRole</li> </ul> </li> <li>Return the following response classes: <ul> <li>(Status 200): successful operation</li> <li>(Status 400): invalid parameter</li> <li>(Status 401/4xx): unauthorized request</li> <li>(Status 403): insufficient scope</li> <li>(Status 404): unknown resource</li> <li>(Status 410): deleted resource.</li> </ul> </li> <li>Implement the RESTful behavior according to the FHIR specification.</li> <li>Support <em>json</em> resource formats for all Provider Directory interactions.</li> <li>Declare a CapabilityStatement identifying the list of profiles, operations, search parameter supported.</li> </ul> <h4 id="security">Security:</h4> <p>US Provider Directory Servers <strong>SHALL</strong>:</p> <ul> <li>Implement the security requirements documented in the <a href="http://hl7.org/fhir/us/core/STU1/security.html">US Core IG</a>.</li> <li>A server has ensured that every API request includes a valid Authorization token, supplied via: <code class="highlighter-rouge">Authorization: Bearer {server-specific-token-here}</code></li> <li>A server has rejected any unauthorized requests by returning an <code class="highlighter-rouge">HTTP 401</code> Unauthorized response code.</li> </ul> <h4 id="profile-interaction-summary">Profile Interaction Summary:</h4> <ul> <li>All servers <strong>SHALL</strong> make available the <a href="http://hl7.org/fhir/STU3/http.html#read">read</a> and <a href="http://hl7.org/fhir/STU3/http.html#search">search</a> interactions for the Profiles the server chooses to support.</li> <li>All servers <strong>SHOULD</strong> make available the <a href="http://hl7.org/fhir/STU3/http.html#vread">vread</a> and <a href="http://hl7.org/fhir/STU3/http.html#history">history-instance</a> interactions for the Profiles the server chooses to support.</li> </ul> <p><strong>Summary of Provider Directory search criteria</strong></p> <p>Specific server search capabilities are described in detail below in each of the resource sections. When returning a PractitionerRole, a Practitioner and Endpoint <strong>SHALL</strong> be included. When searching on Organization or Location, a server <strong>SHALL</strong> 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.</p> <table class="grid"> <thead> <tr> <th>Resource Type</th> <th>Supported Profiles</th> <th>Supported Search parameters</th> <th>Supported _includes</th> </tr> </thead> <tbody> <tr> <td><a href="#endpoint">Endpoint</a></td> <td>Argonaut Endpoint Profile</td> <td>identifier, organization, name</td> <td> </td> </tr> <tr> <td><a href="#location">Location</a></td> <td>Argonaut Location Profile</td> <td>identifier, name, address</td> <td>Location:endpoint</td> </tr> <tr> <td><a href="#organization">Organization</a></td> <td>Argonaut Organization Profile</td> <td>identifier, name, address</td> <td>Organization:endpoint</td> </tr> <tr> <td><a href="#practitioner">Practitioner</a></td> <td>Argonaut Practitioner Profile</td> <td>identifier, name</td> <td> </td> </tr> <tr> <td><a href="#practitionerrole">PractitionerRole</a></td> <td>Argonaut PractitionerRole Profile</td> <td>practitioner, specialty</td> <td>PractitionerRole:practitioner, PractitionerRole:endpoint</td> </tr> </tbody> </table> <h4 id="resource--details">Resource Details:</h4> <h5 id="endpoint">1. Endpoint</h5> <p>Supported Profiles: <a href="http://fhir.org/guides/argonaut-pd/r3/StructureDefinition-argo-endpoint.html">Argonaut Endpoint Profile</a></p> <p>Search Criteria:</p> <p>A server <strong>SHALL</strong> be capable of fetching an Endpoint using:</p> <ul> <li><code class="highlighter-rouge">GET [base]/Endpoint?identifier=[system]|[code]</code></li> <li><code class="highlighter-rouge">GET [base]/Endpoint?organization=[id]</code></li> <li><code class="highlighter-rouge">GET [base]/Endpoint?name=[string]</code></li> </ul> <table class="grid"> <thead> <tr> <th>Conformance</th> <th>Parameter</th> <th>Type</th> <th>_include (see documentation)</th> </tr> </thead> <tbody> <tr> <td><strong>SHALL</strong></td> <td>identifier</td> <td>token</td> <td> </td> </tr> <tr> <td><strong>SHALL</strong></td> <td>name</td> <td>string</td> <td> </td> </tr> <tr> <td><strong>SHALL</strong></td> <td>organization</td> <td>reference</td> <td> </td> </tr> </tbody> </table> <h5 id="location">2. Location</h5> <p>Supported Profiles: <a href="http://fhir.org/guides/argonaut-pd/r3/StructureDefinition-argo-location.html">Argonaut Location Profile</a></p> <p>Search Criteria:</p> <p>A server <strong>SHALL</strong> be capable of returning a Location using:</p> <ul> <li><code class="highlighter-rouge">GET [base]/Location?identifier=[system]|[code]{&_include=Location:endpoint}</code></li> <li><code class="highlighter-rouge">GET [base]/Location?name=[string]{&_include=Location:endpoint}</code></li> <li><code class="highlighter-rouge">GET [base]/Location?address=[string]{&_include=Location:endpoint}</code></li> </ul> <p>Search Parameters:</p> <table class="grid"> <thead> <tr> <th>Conformance</th> <th>Parameter</th> <th>Type</th> <th>_include (see documentation)</th> </tr> </thead> <tbody> <tr> <td><strong>SHALL</strong></td> <td>identifier</td> <td>token</td> <td>Location:endpoint</td> </tr> <tr> <td><strong>SHALL</strong></td> <td>name</td> <td>string</td> <td>Location:endpoint</td> </tr> <tr> <td><strong>SHALL</strong></td> <td>address</td> <td>string</td> <td>Location:endpoint</td> </tr> </tbody> </table> <h5 id="organization">3. Organization</h5> <p>Supported Profiles: <a href="http://fhir.org/guides/argonaut-pd/r3/StructureDefinition-argo-organization.html">Argonaut Organization Profile</a></p> <p>Search Criteria:</p> <p>A server <strong>SHALL</strong> be capable of returning an Organization using:</p> <ul> <li><code class="highlighter-rouge">GET [base]/Organization?identifier=[system]|[code]{&_include=Organization:endpoint}</code></li> <li><code class="highlighter-rouge">GET [base]/Organization?name=[string]{&_include=Organization:endpoint}</code></li> <li><code class="highlighter-rouge">GET [base]/Organization?address=[string]{&_include=Organization:endpoint}</code></li> </ul> <table class="grid"> <thead> <tr> <th>Conformance</th> <th>Parameter</th> <th>Type</th> <th>_include (see documentation)</th> </tr> </thead> <tbody> <tr> <td><strong>SHALL</strong></td> <td>identifier</td> <td>token</td> <td>Organization:endpoint</td> </tr> <tr> <td><strong>SHALL</strong></td> <td>name</td> <td>string</td> <td>Organization:endpoint</td> </tr> <tr> <td><strong>SHALL</strong></td> <td>address</td> <td>string</td> <td>Organization:endpoint</td> </tr> </tbody> </table> <h5 id="practitioner">4. Practitioner</h5> <p>Supported Profiles: <a href="http://fhir.org/guides/argonaut-pd/r3/StructureDefinition-argo-practitioner.html">Argonaut Practitioner Profile</a></p> <p>Search Criteria:</p> <p>A server <strong>SHALL</strong> be capable of returning a Practitioner using:</p> <ul> <li><code class="highlighter-rouge">GET [base]/Practitioner?identifier=[system]|[code]</code></li> <li><code class="highlighter-rouge">GET [base]/Practitioner?family=[string]&given=[string]</code></li> <li><code class="highlighter-rouge">GET [base]/Practitioner?name=[string]</code></li> </ul> <table class="grid"> <thead> <tr> <th>Conformance</th> <th>Parameter</th> <th>Type</th> <th>_include (see documentation)</th> </tr> </thead> <tbody> <tr> <td><strong>SHALL</strong></td> <td>identifier</td> <td>token</td> <td> </td> </tr> <tr> <td><strong>SHALL</strong></td> <td>given</td> <td>string</td> <td> </td> </tr> <tr> <td><strong>SHALL</strong></td> <td>family</td> <td>string</td> <td> </td> </tr> <tr> <td><strong>SHALL</strong></td> <td>name</td> <td>string</td> <td> </td> </tr> </tbody> </table> <h5 id="practitionerrole">5. PractitionerRole</h5> <p>Supported Profiles: <a href="http://fhir.org/guides/argonaut-pd/r3/StructureDefinition-argo-practitionerrole.html">Argonaut PractitionerRole Profile</a></p> <p>Search Criteria:</p> <p>A server <strong>SHALL</strong> be capable of returning a PractitionerRole using:</p> <ul> <li><code class="highlighter-rouge">GET [base]/PractitionerRole?practitioner.identifier=[system]|[code]{&_include=PractitionerRole:practitioner&_include=PractitionerRole:endpoint}</code></li> <li><code class="highlighter-rouge">GET [base]/PractitionerRole?practitioner.family=[string]&given=[string]{&_include=PractitionerRole:practitioner&_include=PractitionerRole:endpoint}</code></li> <li><code class="highlighter-rouge">GET [base]/PractitionerRole?specialty=[system]|[code]{&_include=PractitionerRole:practitioner&_include=PractitionerRole:endpoint}</code></li> </ul> <p>A server <strong>MAY</strong> return a PractitionerRole using:</p> <ul> <li><code class="highlighter-rouge">GET [base]/PractitionerRole?location.address-city=[city]{&_include=PractitionerRole:practitioner&_include=PractitionerRole:endpoint}</code></li> <li><code class="highlighter-rouge">GET [base]/PractitionerRole?location.address-city=[city]&specialty=[string]{&_include=PractitionerRole:practitioner&_include=PractitionerRole:endpoint}</code></li> <li><code class="highlighter-rouge">GET [base]/PractitionerRole?location.near=[lat],[long]&near-distance=[distance]{&_include=PractitionerRole:practitioner&_include=PractitionerRole:endpoint}</code></li> </ul> <p>Search Parameters:</p> <table class="grid"> <thead> <tr> <th>Conformance</th> <th>Parameter</th> <th>Type</th> <th>_include (see documentation)</th> </tr> </thead> <tbody> <tr> <td><strong>SHALL</strong></td> <td>practitioner.identifier</td> <td>reference + token (chained parameter)</td> <td>PractitionerRole:practitioner, PractitionerRole:endpoint</td> </tr> <tr> <td><strong>SHALL</strong></td> <td>practitioner.family</td> <td>reference + string (chained parameter)</td> <td>PractitionerRole:practitioner, PractitionerRole:endpoint</td> </tr> <tr> <td><strong>SHALL</strong></td> <td>specialty</td> <td>token</td> <td>PractitionerRole:practitioner, PractitionerRole:endpoint</td> </tr> <tr> <td><strong>MAY</strong></td> <td>location.address</td> <td>reference + string (chained parameter)</td> <td>PractitionerRole:practitioner, PractitionerRole:endpoint</td> </tr> <tr> <td><strong>MAY</strong></td> <td>location.near, location.distance</td> <td>reference + token (chained parameter), reference + quantity (chained parameter)</td> <td>PractitionerRole:practitioner, PractitionerRole:endpoint</td> </tr> </tbody> </table> <p><br/></p> </div>" }, "url" : "http://fhir.org/guides/argonaut-pd/CapabilityStatement/server", "version" : "1.0.0", "name" : "Argonaut Provider Directory Server", "status" : "draft", "date" : "2017-04-15T00:00:00+10:00", "publisher" : "Argonaut Project", "contact" : [ { "telecom" : [ { "system" : "other", "value" : "http://hl7.org/fhir" } ] } ], "description" : "This profile defines the expected capabilities of a server when conforming to the Argonaut Provider Directory Implementation Guide.", "kind" : "requirements", "fhirVersion" : "3.0.0", "acceptUnknown" : "extensions", "format" : [ "xml", "json" ], "profile" : [ { "reference" : "http://fhir.org/guides/argonaut-pd/StructureDefinition/argo-practitioner" }, { "reference" : "http://fhir.org/guides/argonaut-pd/StructureDefinition/argo-location" }, { "reference" : "http://fhir.org/guides/argonaut-pd/StructureDefinition/argo-endpoint" }, { "reference" : "http://fhir.org/guides/argonaut-pd/StructureDefinition/argo-practitionerrole" }, { "reference" : "http://fhir.org/guides/argonaut-pd/StructureDefinition/argo-organization" } ], "rest" : [ { "mode" : "server", "documentation" : "The Argonaut Provider Directory Server SHALL support the Argonaut Provider Directory Profile:- Argonaut Provider Directory Endpoint- Argonaut Provider Directory Location- Argonaut Provider Directory Organization- Argonaut Provider Directory Practitioner- Argonaut Provider Directory PractitionerRole The Argonaut Provider Directory Server SHALL implement REST behavior according to the FHIR specification. The Argonaut Provider Directory Server SHALL support both json and xml resource formats for all Argonaut Provider Directory interactions.", "security" : { "description" : "Argonaut Provider Directory Servers SHALL implement the security requirements documented in the Argonaute Provider Directory IG." }, "resource" : [ { "type" : "Practitioner", "interaction" : [ { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHOULD" } ], "code" : "search-type", "documentation" : "Allows discovery of existing Argonaut Provider Director Providers using search criteria defined for the Argonaut Provider Directory Use Cases" }, { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHALL" } ], "code" : "read", "documentation" : "Allows retrieval of a specific Argonaut Provider Directory Provider by id" } ], "searchParam" : [ { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHALL" } ], "name" : "name", "definition" : "http://hl7.org/fhir/SearchParameter/Practitioner-name", "type" : "string" }, { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHALL" } ], "name" : "family", "definition" : "http://hl7.org/fhir/SearchParameter/Practitioner-family", "type" : "string" }, { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHALL" } ], "name" : "given", "definition" : "http://hl7.org/fhir/SearchParameter/Practitioner-given", "type" : "string" }, { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHALL" } ], "name" : "identifier", "definition" : "http://hl7.org/fhir/SearchParameter/Practitioner-identifier", "type" : "token" } ] }, { "type" : "Organization", "interaction" : [ { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHOULD" } ], "code" : "search-type", "documentation" : "Allows discovery of existing Argonaut Provider Director Providers using search criteria defined for the Argonaut Provider Directory Use Cases" }, { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHALL" } ], "code" : "read", "documentation" : "Allows retrieval of a specific Argonaut Provider Directory Provider Organization by id" } ], "searchInclude" : [ "Organization:endpoint" ], "searchParam" : [ { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHALL" } ], "name" : "name", "definition" : "http://hl7.org/fhir/SearchParameter/Organization-name", "type" : "string" }, { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHALL" } ], "name" : "address", "definition" : "http://hl7.org/fhir/SearchParameter/Organization-address", "type" : "string" }, { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHALL" } ], "name" : "identifier", "definition" : "http://hl7.org/fhir/SearchParameter/Organization-identifier", "type" : "token" } ] }, { "type" : "Location", "interaction" : [ { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHOULD" } ], "code" : "search-type", "documentation" : "Allows discovery of existing Argonaut Provider Director Providers using search criteria defined for the Argonaut Provider Directory Use Cases" }, { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHALL" } ], "code" : "read", "documentation" : "Allows retrieval of a specific Argonaut Provider Directory Provider Location by id" } ], "searchInclude" : [ "Location:endpoint" ], "searchParam" : [ { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHALL" } ], "name" : "name", "definition" : "http://hl7.org/fhir/SearchParameter/Location-name", "type" : "string" }, { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHALL" } ], "name" : "address", "definition" : "http://hl7.org/fhir/SearchParameter/Location-address", "type" : "string" }, { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHALL" } ], "name" : "identifier", "definition" : "http://hl7.org/fhir/SearchParameter/Location-identifier", "type" : "token" } ] }, { "type" : "Endpoint", "interaction" : [ { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHOULD" } ], "code" : "search-type", "documentation" : "Allows discovery of existing Argonaut Provider Director Providers using search criteria defined for the Argonaut Provider Directory Use Cases" }, { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHALL" } ], "code" : "read", "documentation" : "Allows retrieval of a specific Argonaut Provider Directory Provider Endpoint by id" } ], "searchParam" : [ { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHALL" } ], "name" : "name", "definition" : "http://hl7.org/fhir/SearchParameter/Endpoint-name", "type" : "string" }, { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHALL" } ], "name" : "organization", "definition" : "http://hl7.org/fhir/SearchParameter/Endpoint-organization", "type" : "reference" }, { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHALL" } ], "name" : "identifier", "definition" : "http://hl7.org/fhir/SearchParameter/Endpoint-identifier", "type" : "token" } ] }, { "type" : "PractitionerRole", "interaction" : [ { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHOULD" } ], "code" : "search-type", "documentation" : "Allows discovery of existing Argonaut Provider Director Providers using search criteria defined for the Argonaut Provider Directory Use Cases" }, { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHALL" } ], "code" : "read", "documentation" : "Allows retrieval of a specific Argonaut Provider Directory Provider PractitionerRole by id" } ], "searchInclude" : [ "PractitionerRole:practitioner", "PractitionerRole:endpoint" ], "searchParam" : [ { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHALL" } ], "name" : "practitioner", "definition" : "http://hl7.org/fhir/SearchParameter/PractitionerRole-practitioner", "type" : "reference" }, { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "MAY" } ], "name" : "location", "definition" : "http://hl7.org/fhir/SearchParameter/PractitionerRole-location", "type" : "reference" }, { "extension" : [ { "url" : "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", "valueCode" : "SHALL" } ], "name" : "specialty", "definition" : "http://hl7.org/fhir/SearchParameter/PractitionerRole-specialty", "type" : "token" } ] } ] } ] }