Argonaut Provider Directory CI Build

This page is part of the Argonaut Provider Directory Guide (v0.1.0: Release 1 Draft) based on FHIR v1.9.0. The current version which supercedes this version is 1.0.0. For a full list of available versions, see the Directory of published versions

D.4.1 StructureDefinition-argo-endpoint

US Core AllergyIntolerance Profile

Scope and Usage

This profile sets minimum expectations for the EndPoint resource to record, search and fetch an EndPoint associated with a Provider or Organization. It identifies the mandatory core elements, extensions, vocabularies and value sets which SHALL be present in the AllergyIntolerance resource when using this profile. The requirements for the Argonaut Provider Directory data model were drawn from IHE Healthcare Provider Directory and the ONC Provider Directory Workshop.

Mandatory Data Elements and Terminology

The following data-elements are mandatory (i.e data MUST be present). These are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.

Each PractitionerRole must have:

  1. A status
  2. A name
  3. A managing organization
  4. The channel type to send notifications on (connectionType)
  5. The address

Profile specific implementation guidance:

  • None

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://fhir.org/guides/argonaut-pd/StructureDefinition/argo-endpoint

This profile builds on Endpoint.

This profile was published on Wed Nov 09 00:00:00 AEDT 2016 as a draft by Argonaut Project.

Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

Summary of the Mandatory Requirements

  1. One status code in Endpoint.status which has a required binding to:
  2. One name in Endpoint.name
  3. One reference to a managing organization in Endpoint.managingOrganization
  4. One channel type code in Endpoint.connectionType which has an required binding to:
  5. One address in Endpoint.address
  6. One payload type code in Endpoint.payloadType which has an extensible binding to:
NameFlagsCard.TypeDescription & Constraintsdoco
.. Endpoint 0..*Argonaut Provider Directory Endpoint
... status S1..1codeBinding: EndpointStatus (required)
... name S1..1string
... managingOrganization S1..1Reference(http://fhir.org/guides/argonaut-pd/StructureDefinition-argo-organization)
... connectionType S1..1CodingBinding: Endpoint Connection Type (required)
... payloadType S1..*CodeableConceptBinding: Endpoint Payload Type (extensible)
... address S1..1uri

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Endpoint I0..*Argonaut Provider Directory Endpoint
... id ∑0..1idLogical id of this artifact
... meta ∑0..1MetaMetadata about the resource
... implicitRules ?!∑0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier ∑0..*IdentifierIdentifies this endpoint across multiple systems
... status ?!S1..1codeactive | suspended | error | off | entered-in-error | test
Binding: EndpointStatus (required)
... name S1..1stringA name that this endpoint can be identified by
... managingOrganization S1..1Reference(http://fhir.org/guides/argonaut-pd/StructureDefinition-argo-organization)Organization that manages this endpoint (may not be the organization that exposes the endpoint)
... contact 0..*ContactPointContact details for source (e.g. troubleshooting)
... period ∑0..1PeriodInterval the endpoint is expected to be operational
... connectionType S1..1CodingProtocol/Profile/Standard to be used with this endpoint connection
Binding: Endpoint Connection Type (required)
... payloadType S1..*CodeableConceptThe type of content that may be used at this endpoint (e.g. XDS Discharge summaries)
Binding: Endpoint Payload Type (extensible)
... payloadMimeType ∑0..*codeMimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this)
Binding: IETF BCP-13 (required)
... address S1..1uriThe technical address for conneccting to this endpoint
... header 0..*stringUsage depends on the channel type
... publicKey 0..1stringPKI Public keys to support secure communications

doco Documentation for this format

Summary of the Mandatory Requirements

  1. One status code in Endpoint.status which has a required binding to:
  2. One name in Endpoint.name
  3. One reference to a managing organization in Endpoint.managingOrganization
  4. One channel type code in Endpoint.connectionType which has an required binding to:
  5. One address in Endpoint.address
  6. One payload type code in Endpoint.payloadType which has an extensible binding to:

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Endpoint 0..*Argonaut Provider Directory Endpoint
... status S1..1codeBinding: EndpointStatus (required)
... name S1..1string
... managingOrganization S1..1Reference(http://fhir.org/guides/argonaut-pd/StructureDefinition-argo-organization)
... connectionType S1..1CodingBinding: Endpoint Connection Type (required)
... payloadType S1..*CodeableConceptBinding: Endpoint Payload Type (extensible)
... address S1..1uri

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Endpoint I0..*Argonaut Provider Directory Endpoint
... id ∑0..1idLogical id of this artifact
... meta ∑0..1MetaMetadata about the resource
... implicitRules ?!∑0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier ∑0..*IdentifierIdentifies this endpoint across multiple systems
... status ?!S1..1codeactive | suspended | error | off | entered-in-error | test
Binding: EndpointStatus (required)
... name S1..1stringA name that this endpoint can be identified by
... managingOrganization S1..1Reference(http://fhir.org/guides/argonaut-pd/StructureDefinition-argo-organization)Organization that manages this endpoint (may not be the organization that exposes the endpoint)
... contact 0..*ContactPointContact details for source (e.g. troubleshooting)
... period ∑0..1PeriodInterval the endpoint is expected to be operational
... connectionType S1..1CodingProtocol/Profile/Standard to be used with this endpoint connection
Binding: Endpoint Connection Type (required)
... payloadType S1..*CodeableConceptThe type of content that may be used at this endpoint (e.g. XDS Discharge summaries)
Binding: Endpoint Payload Type (extensible)
... payloadMimeType ∑0..*codeMimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this)
Binding: IETF BCP-13 (required)
... address S1..1uriThe technical address for conneccting to this endpoint
... header 0..*stringUsage depends on the channel type
... publicKey 0..1stringPKI Public keys to support secure communications

doco Documentation for this format

Downloads: StructureDefinition: (XML, JSON, CSV), Schema: XML Schematron

 

D.4.1.2 Quick Start

Below is an overview of the required search and read operations.

Summary of Argonaut Search Criteria for StructureDefinition-argo-endpoint


Clients

  • A client has connected to a server and fetched a Endpoint by identifier using GET [base]/Endpoint?identifier=[system]|[code]
  • A client has connected to a server and fetched a Endpoint by organization using GET [base]/Endpoint?organization=[id]
  • A client has connected to a server and fetched a Endpoint by name using ‘GET [base]/Endpoint?name=[string]’

Servers

  • A server is capable of returning a Endpoint by identifier using GET [base]/Endpoint?identifier=[system]|[code]
  • A server is capable of returning a Endpoint by organization using GET [base]/Endpoint?organization=[id]
  • A server is capable of returning a Endpoint by name using ‘GET [base]/Endpoint?name=[string]’

  • 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.

**GET [base]/Endpoint?identifier=[system] [code]**

Support: Mandatory

Implementation Notes: Search based on Endpoint identifier (how to search by token).

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request

Example:

GET http://fhir2.healthintersections.com.au/open/Location?identifier=urn:ietf:rfc:3986%7C2.16.840.1.113883.19.5


GET [base]/Endpoint?name=[string]

Support: Mandatory

Implementation Notes: Search based on text name (how to search by string). Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request

Example:

GET https://fhir-open-api-dstu2.smarthealthit.org/Location?name=Health


GET [base]/Endpoint?organization=[id]

Support: Mandatory

Implementation Notes: Search based on organization (how to search by reference).

Response Class:

  • (Status 200): successful operation
  • (Status 400): invalid parameter
  • (Status 401/4xx): unauthorized request

Example:

TBD