HL7 FHIR® Validated Healthcare Directory Implementation Guide STU 1

Validated Healthcare Directory, HL7 International - Patient Admistration Working Group - CI build for vesion 0.2.0). This version is based on the current content of https://github.com/HL7/VhDir/ and changes regularly. See the Directory of published versions

StructureDefinition-vhdir-endpoint

This profile sets minimum expectations for searching for and fetching information associated with an electronic endpoint. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the Endpoint resource when using this profile.

Background & Scope

An endpoint describes the technical details of a location that can be connected to for the delivery/retrieval of information.

This profile modifies the base Endpoint resource in the following manner:

  • Constrains the cardinality of endpoint.contact (0..1), endpoint.contact.system (1..1), and endpoint.contact.value (1..1)

  • All references SHALL conform to the appropriate Validated Healthcare Directory Implementation Guide profile

  • Adds extensions:

  1. Identifier status (1..1) - indicates the status of an endpoint’s identifier
  2. Via intermediary (0..1) - a reference to an alternative point of contact for this endpoint
  3. Available time (0..*) - indicates when the point of contact for an endpoint is available
  4. UseCase (0..*) - an enumeration of the specific use cases (service descriptions) supported by the endpoint
  5. Rank (0..1) - an indication of the preferred order for connecting to an endpoint when multiple endpoints capable of transferring the same content are listed
  6. DigitalCertificate (0..*) - a digital certificate associated with the endpoint
  7. Restriction (0..*) - indicates whether disclosure of any data associated with an endpoint is restricted

Examples:

The following are example uses for the vhdir-endpoint profile:

Mandatory Data Elements

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

Each endpoint must have:

  1. A status code in endpoint.status
  2. A connectionType code in endpoint.connectionType
  3. At least one indication of the type of content the endpoint supports in endpoint.payloadType
  4. One technical address for connecting to the endpoint in endpoint.address

Formal Views of Profile Content

Description of Profiles, Differentials, and Snapshots.

The official URL for this profile is: http://hl7.org/fhir/uv/vhdir/StructureDefinition/vhdir-endpoint

Published on Tue Oct 03 13:34:40 UTC 2017 as a active by .

This profile builds on Endpoint


NameFlagsCard.TypeDescription & Constraintsdoco
.. Endpoint 0..*
... extension 0..*ExtensionSlice: Unordered, Open by value:url
... usage-restriction S0..*Reference(VhDir Restriction)Restriction
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/usage-restriction
... endpoint-usecase S0..*(Complex)Use cases (service descriptions) supported by the endpoint
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/endpoint-usecase
... endpoint-rank S0..1positiveIntPreferred order for connecting to the endpoint
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/endpoint-rank
... digitalcertificate S0..*(Complex)Digital certificate associated with the endpoint
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/digitalcertificate
... identifier S0..*Identifier
.... extension 0..*ExtensionSlice: Unordered, Open by value:url
.... identifier-status S1..1codeStatus
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/identifier-status
Binding: VhDir Identifier Status Value Set (required)
.... use S0..1code
.... type S0..1CodeableConcept
.... system S0..1uri
.... value S0..1string
.... period S0..1Period
.... assigner S0..1Reference(VhDir Organization)
... status S1..1code
... connectionType S1..1Coding
... name S0..1string
... managingOrganization S0..1Reference(VhDir Organization)
... contact S0..1ContactPoint
.... extension 0..*ExtensionSlice: Unordered, Open by value:url
.... contactpoint-availabletime S0..*(Complex)Available time
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-availabletime
.... contactpoint-viaintermediary S0..1Reference(VhDir Practitioner Role | VhDir Organization | VhDir Organization Affiliation | VhDir Location)viaintermediary
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-viaintermediary
.... system S1..1code
.... value S1..1string
.... use S0..1code
.... rank S0..1positiveInt
.... period S0..1Period
... period S0..1Period
... payloadType S1..*CodeableConcept
... payloadMimeType S0..*code
... address S1..1url
... header S0..*string

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Endpoint I0..*The technical details of an endpoint that can be used for electronic services
... 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: CommonLanguages (preferred)
Max Binding: AllLanguages
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... usage-restriction SI0..*Reference(VhDir Restriction)Restriction
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/usage-restriction
... endpoint-usecase SI0..*(Complex)Use cases (service descriptions) supported by the endpoint
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/endpoint-usecase
... endpoint-rank SI0..1positiveIntPreferred order for connecting to the endpoint
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/endpoint-rank
... digitalcertificate SI0..*(Complex)Digital certificate associated with the endpoint
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/digitalcertificate
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ0..*IdentifierIdentifies this endpoint across multiple systems
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... identifier-status S1..1codeStatus
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/identifier-status
Binding: VhDir Identifier Status Value Set (required)
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... url 1..1string"http://hl7.org/fhir/uv/vhdir/StructureDefinition/identifier-status"
..... valueCode S1..1codeactive|inactive|issued-in-error|revoked|pending
Binding: VhDir Identifier Status Value Set (required)
.... use ?!SΣ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type SΣ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system SΣ0..1uriThe namespace for the identifier value
Example General': http://www.acme.com/identifiers/patient
.... value SΣ0..1stringThe value that is unique
Example General': 123456
.... period SΣ0..1PeriodTime period when id is/was valid for use
.... assigner SΣ0..1Reference(VhDir Organization)Organization that issued id (may be just text)
... status ?!SΣ1..1codeactive | suspended | error | off | entered-in-error | test
Binding: EndpointStatus (required)
... connectionType SΣ1..1CodingProtocol/Profile/Standard to be used with this endpoint connection
Binding: EndpointConnectionType (extensible)
... name SΣ0..1stringA name that this endpoint can be identified by
... managingOrganization SΣ0..1Reference(VhDir Organization)Organization that manages this endpoint (might not be the organization that exposes the endpoint)
... contact S0..1ContactPointContact details for source (e.g. troubleshooting)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... contactpoint-availabletime S0..*(Complex)Available time
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-availabletime
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... daysOfWeek S0..*ExtensionDays of week
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1string"daysOfWeek"
...... valueCode 1..1codeDays of the week - mon|tue|wed|thu|fri|sat|sun
Binding: DaysOfWeek (required)
..... allDay S0..1ExtensionAll day
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1string"allDay"
...... valueBoolean 1..1booleanAll day
..... availableStartTime S0..1ExtensionAvailable start time
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1string"availableStartTime"
...... valueTime 1..1timeAvailable start time
..... availableEndTime S0..1ExtensionAvailable end time
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1string"availableEndTime"
...... valueTime 1..1timeAvailable end time
..... url 1..1string"http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-availabletime"
.... contactpoint-viaintermediary S0..1Reference(VhDir Practitioner Role | VhDir Organization | VhDir Organization Affiliation | VhDir Location)viaintermediary
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-viaintermediary
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... url 1..1string"http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-viaintermediary"
..... valueReference S1..1Reference(VhDir Practitioner Role | VhDir Organization | VhDir Organization Affiliation | VhDir Location)Via intermediary
.... system SΣI1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required)
.... value SΣ1..1stringThe actual contact point details
.... use ?!SΣ0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required)
.... rank SΣ0..1positiveIntSpecify preferred order of use (1 = highest)
.... period SΣ0..1PeriodTime period when the contact point was/is in use
... period SΣ0..1PeriodInterval the endpoint is expected to be operational
... payloadType SΣ1..*CodeableConceptThe type of content that may be used at this endpoint (e.g. XDS Discharge summaries)
Binding: EndpointPayloadType (example)
... payloadMimeType SΣ0..*codeMimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this)
Binding: Mime Types (required)
... address SΣ1..1urlThe technical base address for connecting to this endpoint
... header S0..*stringUsage depends on the channel type

doco Documentation for this format

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Endpoint 0..*
... extension 0..*ExtensionSlice: Unordered, Open by value:url
... usage-restriction S0..*Reference(VhDir Restriction)Restriction
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/usage-restriction
... endpoint-usecase S0..*(Complex)Use cases (service descriptions) supported by the endpoint
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/endpoint-usecase
... endpoint-rank S0..1positiveIntPreferred order for connecting to the endpoint
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/endpoint-rank
... digitalcertificate S0..*(Complex)Digital certificate associated with the endpoint
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/digitalcertificate
... identifier S0..*Identifier
.... extension 0..*ExtensionSlice: Unordered, Open by value:url
.... identifier-status S1..1codeStatus
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/identifier-status
Binding: VhDir Identifier Status Value Set (required)
.... use S0..1code
.... type S0..1CodeableConcept
.... system S0..1uri
.... value S0..1string
.... period S0..1Period
.... assigner S0..1Reference(VhDir Organization)
... status S1..1code
... connectionType S1..1Coding
... name S0..1string
... managingOrganization S0..1Reference(VhDir Organization)
... contact S0..1ContactPoint
.... extension 0..*ExtensionSlice: Unordered, Open by value:url
.... contactpoint-availabletime S0..*(Complex)Available time
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-availabletime
.... contactpoint-viaintermediary S0..1Reference(VhDir Practitioner Role | VhDir Organization | VhDir Organization Affiliation | VhDir Location)viaintermediary
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-viaintermediary
.... system S1..1code
.... value S1..1string
.... use S0..1code
.... rank S0..1positiveInt
.... period S0..1Period
... period S0..1Period
... payloadType S1..*CodeableConcept
... payloadMimeType S0..*code
... address S1..1url
... header S0..*string

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Endpoint I0..*The technical details of an endpoint that can be used for electronic services
... 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: CommonLanguages (preferred)
Max Binding: AllLanguages
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... usage-restriction SI0..*Reference(VhDir Restriction)Restriction
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/usage-restriction
... endpoint-usecase SI0..*(Complex)Use cases (service descriptions) supported by the endpoint
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/endpoint-usecase
... endpoint-rank SI0..1positiveIntPreferred order for connecting to the endpoint
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/endpoint-rank
... digitalcertificate SI0..*(Complex)Digital certificate associated with the endpoint
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/digitalcertificate
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier SΣ0..*IdentifierIdentifies this endpoint across multiple systems
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... identifier-status S1..1codeStatus
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/identifier-status
Binding: VhDir Identifier Status Value Set (required)
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... url 1..1string"http://hl7.org/fhir/uv/vhdir/StructureDefinition/identifier-status"
..... valueCode S1..1codeactive|inactive|issued-in-error|revoked|pending
Binding: VhDir Identifier Status Value Set (required)
.... use ?!SΣ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type SΣ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system SΣ0..1uriThe namespace for the identifier value
Example General': http://www.acme.com/identifiers/patient
.... value SΣ0..1stringThe value that is unique
Example General': 123456
.... period SΣ0..1PeriodTime period when id is/was valid for use
.... assigner SΣ0..1Reference(VhDir Organization)Organization that issued id (may be just text)
... status ?!SΣ1..1codeactive | suspended | error | off | entered-in-error | test
Binding: EndpointStatus (required)
... connectionType SΣ1..1CodingProtocol/Profile/Standard to be used with this endpoint connection
Binding: EndpointConnectionType (extensible)
... name SΣ0..1stringA name that this endpoint can be identified by
... managingOrganization SΣ0..1Reference(VhDir Organization)Organization that manages this endpoint (might not be the organization that exposes the endpoint)
... contact S0..1ContactPointContact details for source (e.g. troubleshooting)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... contactpoint-availabletime S0..*(Complex)Available time
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-availabletime
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... daysOfWeek S0..*ExtensionDays of week
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1string"daysOfWeek"
...... valueCode 1..1codeDays of the week - mon|tue|wed|thu|fri|sat|sun
Binding: DaysOfWeek (required)
..... allDay S0..1ExtensionAll day
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1string"allDay"
...... valueBoolean 1..1booleanAll day
..... availableStartTime S0..1ExtensionAvailable start time
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1string"availableStartTime"
...... valueTime 1..1timeAvailable start time
..... availableEndTime S0..1ExtensionAvailable end time
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1string"availableEndTime"
...... valueTime 1..1timeAvailable end time
..... url 1..1string"http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-availabletime"
.... contactpoint-viaintermediary S0..1Reference(VhDir Practitioner Role | VhDir Organization | VhDir Organization Affiliation | VhDir Location)viaintermediary
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-viaintermediary
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... url 1..1string"http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-viaintermediary"
..... valueReference S1..1Reference(VhDir Practitioner Role | VhDir Organization | VhDir Organization Affiliation | VhDir Location)Via intermediary
.... system SΣI1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required)
.... value SΣ1..1stringThe actual contact point details
.... use ?!SΣ0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required)
.... rank SΣ0..1positiveIntSpecify preferred order of use (1 = highest)
.... period SΣ0..1PeriodTime period when the contact point was/is in use
... period SΣ0..1PeriodInterval the endpoint is expected to be operational
... payloadType SΣ1..*CodeableConceptThe type of content that may be used at this endpoint (e.g. XDS Discharge summaries)
Binding: EndpointPayloadType (example)
... payloadMimeType SΣ0..*codeMimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this)
Binding: Mime Types (required)
... address SΣ1..1urlThe technical base address for connecting to this endpoint
... header S0..*stringUsage depends on the channel type

doco Documentation for this format

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


Terminology Bindings

PathConformanceValueSet
Endpoint.languagepreferredCommonLanguages
Max Binding: AllLanguages
Endpoint.identifier.extension:status.value[x]:valueCoderequiredVhDirIdentifierStatus
Endpoint.identifier.userequiredIdentifierUse
Endpoint.identifier.typeextensibleIdentifier Type Codes
Endpoint.statusrequiredEndpointStatus
Endpoint.connectionTypeextensibleEndpointConnectionType
Endpoint.contact.extension:availabletime.extension:daysOfWeek.value[x]:valueCoderequiredDaysOfWeek
Endpoint.contact.systemrequiredContactPointSystem
Endpoint.contact.userequiredContactPointUse
Endpoint.payloadTypeexampleEndpointPayloadType
Endpoint.payloadMimeTyperequiredMime Types

Quick Start

Below is an overview of the required set of RESTful FHIR interactions - for example, search and read operations - for this profile. See the Conformance requirements for a complete list of supported RESTful interactions for this IG.

Supported Searches

  1. GET [base]/Endpoint?connection-type=[code]

    Support: SHALL support search by the connection-type parameter

    • including the modifiers: text

  1. GET [base]/Endpoint?identifier=[code]

    Support: SHALL support search by the identifier parameter

    • including the modifiers: text, ofType

  1. GET [base]/Endpoint?identifier-assigner=[id]

    Support: MAY support search by the identifier-assigner parameter

    • with a target type: Organization
    • including the modifiers: below
    • including these search paramaters which may be chained: organization-identifier, organization-name

  1. GET [base]/Endpoint?mime-type=[code]

    Support: MAY support search by the mime-type parameter


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

    Support: SHALL support search by the organization parameter

    • with a target type: Organization
    • including the modifiers: above, below
    • including these search paramaters which may be chained: organization.identifier, organization.name, organization.address, organization.partof, organization-type

  1. GET [base]/Endpoint?payload-type=[code]

    Support: SHOULD support search by the payload-type parameter

    • including the modifiers: text

  1. GET [base]/Endpoint?status=[code]

    Support: SHALL support search by the status parameter


  1. GET [base]/Endpoint?usecase-standard=[uri]

    Support: SHOULD support search by the usecase-standard parameter

    • including the modifiers: below

  1. GET [base]/Endpoint?usecase-type=[code]

    Support: SHOULD support search by the usecase-type parameter

    • including the modifiers: text

  1. GET [base]/Endpoint?via-intermediary=[id]

    Support: MAY support search by the via-intermediary parameter

    • with a target type: PractitionerRole, Organization, OrganizationAffiliation, Location