HL7 FHIR® Validated Healthcare Directory Implementation Guide STU 1

Validated Healthcare Directory, published by HL7 International - Patient Admistration Working Group. This is not an authorized publication; it is the continuous build for version 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-healthcareservice

This profile sets minimum expectations for searching for and fetching information associated with a healthcare service. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the HealthcareService resource when using this profile.

Background & Scope

The HealthcareService resource typically describes services offered by an organization/practitioner at a location. The resource may be used to encompass a variety of services covering the entire healthcare spectrum, including promotion, prevention, diagnstics, hospital and ambulatory care, home care, long-term care, and other health-related and community services.

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

  • Constrains the cardinality of healthcareService.active (1..1), healthcareService.telecom.system (1..1), and healthcareService.telecom.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 a service’s identifier
  2. Via intermediary (0..1) - a reference to an alternative point of contact for this service
  3. Available time (0..*) - indicates when a service is available for contact
  4. NewPatients (0..*) - indicates whether the service is accepting new patients
  5. Restriction (0..*) - indicates whether disclosure of any data associated with a service is restricted

Examples:

The following are example uses for the vhdir-healthcareservice 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.

  1. A boolean value in healthcareService.active

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-healthcareservice

Published on Tue Oct 17 14:21:21 UTC 2017 as a active by HL7 International.

This profile builds on HealthcareService


NameFlagsCard.TypeDescription & Constraintsdoco
.. HealthcareService 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
... newpatients S0..*(Complex)Whether the services is accepting new patients
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/newpatients
... 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)
... active S1..1boolean
... providedBy S0..1Reference(VhDir Organization)
... category S0..*CodeableConcept
... type S0..*CodeableConcept
... specialty S0..*CodeableConcept
... location S0..*Reference(VhDir Location)
... name S0..1string
... comment S0..1string
... extraDetails S0..1markdown
... photo S0..1Attachment
... telecom S0..*ContactPoint
.... 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
... coverageArea S0..*Reference(VhDir Location)
... serviceProvisionCode S0..*CodeableConcept
... eligibility S0..*BackboneElementBinding: VhDir Healthcare Service Eligibility (example)
.... code S0..1CodeableConcept
.... comment S0..1markdown
... program S0..*CodeableConcept
... characteristic S0..*CodeableConceptBinding: VhDir Healthcare Service Characteristic (example)
... communication S0..*CodeableConcept
... referralMethod S0..*CodeableConcept
... appointmentRequired S0..1boolean
... availableTime S0..*BackboneElement
.... daysOfWeek S0..*code
.... allDay S0..1boolean
.... availableStartTime S0..1time
.... availableEndTime S0..1time
... notAvailable S0..*BackboneElement
.... description S1..1string
.... during S0..1Period
... availabilityExceptions S0..1string
... endpoint S0..*Reference(VhDir Endpoint)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. HealthcareService I0..*The details of a healthcare service available at a location
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
... usage-restriction SI0..*Reference(VhDir Restriction)Restriction
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/usage-restriction
... newpatients SI0..*(Complex)Whether the services is accepting new patients
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/newpatients
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier SΣI0..*IdentifierExternal identifiers for this item
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... identifier-status SI1..1codeStatus
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/identifier-status
Binding: VhDir Identifier Status Value Set (required)
.... use ?!SΣI0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type SΣI0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system SΣI0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣI0..1stringThe value that is unique
Example General: 123456
.... period SΣI0..1PeriodTime period when id is/was valid for use
.... assigner SΣI0..1Reference(VhDir Organization)Organization that issued id (may be just text)
... active ?!SΣI1..1booleanWhether this HealthcareService record is in active use
... providedBy SΣI0..1Reference(VhDir Organization)Organization that provides this service
... category SΣI0..*CodeableConceptBroad category of service being performed or delivered
Binding: ServiceCategory (example)
... type SΣI0..*CodeableConceptType of service that may be delivered or performed
Binding: ServiceType (example)
... specialty SΣI0..*CodeableConceptSpecialties handled by the HealthcareService
Binding: PracticeSettingCodeValueSet (preferred)
... location SΣI0..*Reference(VhDir Location)Location(s) where service may be provided
... name SΣI0..1stringDescription of service as presented to a consumer while searching
... comment SΣI0..1stringAdditional description and/or any specific issues not covered elsewhere
... extraDetails SI0..1markdownExtra details about the service that can't be placed in the other fields
... photo SΣI0..1AttachmentFacilitates quick identification of the service
... telecom SI0..*ContactPointContacts related to the healthcare service
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... contactpoint-availabletime SI0..*(Complex)Available time
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-availabletime
.... contactpoint-viaintermediary SI0..1Reference(VhDir Practitioner Role | VhDir Organization | VhDir Organization Affiliation | VhDir Location)viaintermediary
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-viaintermediary
.... system SΣI1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required)
.... value SΣI1..1stringThe actual contact point details
.... use ?!SΣI0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required)
.... rank SΣI0..1positiveIntSpecify preferred order of use (1 = highest)
.... period SΣI0..1PeriodTime period when the contact point was/is in use
... coverageArea SI0..*Reference(VhDir Location)Location(s) service is intended for/available to
... serviceProvisionCode SI0..*CodeableConceptConditions under which service is available/offered
Binding: ServiceProvisionConditions (example)
... eligibility SI0..*BackboneElementSpecific eligibility requirements required to use the service
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code SI0..1CodeableConceptCoded value for the eligibility
Binding: (unbound) (example)
.... comment SI0..1markdownDescribes the eligibility conditions for the service
... program SI0..*CodeableConceptPrograms that this service is applicable to
Binding: Program (example)
... characteristic SI0..*CodeableConceptCollection of characteristics (attributes)
Binding: VhDir Healthcare Service Characteristic (example)
... communication SI0..*CodeableConceptThe language that this service is offered in
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... referralMethod SI0..*CodeableConceptWays that the service accepts referrals
Binding: ReferralMethod (example)
... appointmentRequired SI0..1booleanIf an appointment is required for access to this service
... availableTime SI0..*BackboneElementTimes the Service Site is available
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... daysOfWeek SI0..*codemon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
.... allDay SI0..1booleanAlways available? e.g. 24 hour service
.... availableStartTime SI0..1timeOpening time of day (ignored if allDay = true)
.... availableEndTime SI0..1timeClosing time of day (ignored if allDay = true)
... notAvailable SI0..*BackboneElementNot available during this time due to provided reason
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... description SI1..1stringReason presented to the user explaining why time not available
.... during SI0..1PeriodService not available from this date
... availabilityExceptions SI0..1stringDescription of availability exceptions
... endpoint SI0..*Reference(VhDir Endpoint)Technical endpoints providing access to electronic services operated for the healthcare service

doco Documentation for this format

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. HealthcareService 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
... newpatients S0..*(Complex)Whether the services is accepting new patients
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/newpatients
... 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)
... active S1..1boolean
... providedBy S0..1Reference(VhDir Organization)
... category S0..*CodeableConcept
... type S0..*CodeableConcept
... specialty S0..*CodeableConcept
... location S0..*Reference(VhDir Location)
... name S0..1string
... comment S0..1string
... extraDetails S0..1markdown
... photo S0..1Attachment
... telecom S0..*ContactPoint
.... 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
... coverageArea S0..*Reference(VhDir Location)
... serviceProvisionCode S0..*CodeableConcept
... eligibility S0..*BackboneElementBinding: VhDir Healthcare Service Eligibility (example)
.... code S0..1CodeableConcept
.... comment S0..1markdown
... program S0..*CodeableConcept
... characteristic S0..*CodeableConceptBinding: VhDir Healthcare Service Characteristic (example)
... communication S0..*CodeableConcept
... referralMethod S0..*CodeableConcept
... appointmentRequired S0..1boolean
... availableTime S0..*BackboneElement
.... daysOfWeek S0..*code
.... allDay S0..1boolean
.... availableStartTime S0..1time
.... availableEndTime S0..1time
... notAvailable S0..*BackboneElement
.... description S1..1string
.... during S0..1Period
... availabilityExceptions S0..1string
... endpoint S0..*Reference(VhDir Endpoint)

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. HealthcareService I0..*The details of a healthcare service available at a location
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
... usage-restriction SI0..*Reference(VhDir Restriction)Restriction
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/usage-restriction
... newpatients SI0..*(Complex)Whether the services is accepting new patients
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/newpatients
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier SΣI0..*IdentifierExternal identifiers for this item
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... identifier-status SI1..1codeStatus
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/identifier-status
Binding: VhDir Identifier Status Value Set (required)
.... use ?!SΣI0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type SΣI0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system SΣI0..1uriThe namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣI0..1stringThe value that is unique
Example General: 123456
.... period SΣI0..1PeriodTime period when id is/was valid for use
.... assigner SΣI0..1Reference(VhDir Organization)Organization that issued id (may be just text)
... active ?!SΣI1..1booleanWhether this HealthcareService record is in active use
... providedBy SΣI0..1Reference(VhDir Organization)Organization that provides this service
... category SΣI0..*CodeableConceptBroad category of service being performed or delivered
Binding: ServiceCategory (example)
... type SΣI0..*CodeableConceptType of service that may be delivered or performed
Binding: ServiceType (example)
... specialty SΣI0..*CodeableConceptSpecialties handled by the HealthcareService
Binding: PracticeSettingCodeValueSet (preferred)
... location SΣI0..*Reference(VhDir Location)Location(s) where service may be provided
... name SΣI0..1stringDescription of service as presented to a consumer while searching
... comment SΣI0..1stringAdditional description and/or any specific issues not covered elsewhere
... extraDetails SI0..1markdownExtra details about the service that can't be placed in the other fields
... photo SΣI0..1AttachmentFacilitates quick identification of the service
... telecom SI0..*ContactPointContacts related to the healthcare service
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... contactpoint-availabletime SI0..*(Complex)Available time
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-availabletime
.... contactpoint-viaintermediary SI0..1Reference(VhDir Practitioner Role | VhDir Organization | VhDir Organization Affiliation | VhDir Location)viaintermediary
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-viaintermediary
.... system SΣI1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required)
.... value SΣI1..1stringThe actual contact point details
.... use ?!SΣI0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required)
.... rank SΣI0..1positiveIntSpecify preferred order of use (1 = highest)
.... period SΣI0..1PeriodTime period when the contact point was/is in use
... coverageArea SI0..*Reference(VhDir Location)Location(s) service is intended for/available to
... serviceProvisionCode SI0..*CodeableConceptConditions under which service is available/offered
Binding: ServiceProvisionConditions (example)
... eligibility SI0..*BackboneElementSpecific eligibility requirements required to use the service
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... code SI0..1CodeableConceptCoded value for the eligibility
Binding: (unbound) (example)
.... comment SI0..1markdownDescribes the eligibility conditions for the service
... program SI0..*CodeableConceptPrograms that this service is applicable to
Binding: Program (example)
... characteristic SI0..*CodeableConceptCollection of characteristics (attributes)
Binding: VhDir Healthcare Service Characteristic (example)
... communication SI0..*CodeableConceptThe language that this service is offered in
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... referralMethod SI0..*CodeableConceptWays that the service accepts referrals
Binding: ReferralMethod (example)
... appointmentRequired SI0..1booleanIf an appointment is required for access to this service
... availableTime SI0..*BackboneElementTimes the Service Site is available
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... daysOfWeek SI0..*codemon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
.... allDay SI0..1booleanAlways available? e.g. 24 hour service
.... availableStartTime SI0..1timeOpening time of day (ignored if allDay = true)
.... availableEndTime SI0..1timeClosing time of day (ignored if allDay = true)
... notAvailable SI0..*BackboneElementNot available during this time due to provided reason
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... description SI1..1stringReason presented to the user explaining why time not available
.... during SI0..1PeriodService not available from this date
... availabilityExceptions SI0..1stringDescription of availability exceptions
... endpoint SI0..*Reference(VhDir Endpoint)Technical endpoints providing access to electronic services operated for the healthcare service

doco Documentation for this format

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


Terminology Bindings

PathConformanceValueSet
HealthcareService.languagepreferredCommonLanguages
Max Binding: AllLanguages
HealthcareService.identifier.userequiredIdentifierUse
HealthcareService.identifier.typeextensibleIdentifier Type Codes
HealthcareService.categoryexampleServiceCategory
HealthcareService.typeexampleServiceType
HealthcareService.specialtypreferredPracticeSettingCodeValueSet
HealthcareService.telecom.systemrequiredContactPointSystem
HealthcareService.telecom.userequiredContactPointUse
HealthcareService.serviceProvisionCodeexampleServiceProvisionConditions
HealthcareService.eligibility.codeexample
HealthcareService.programexampleProgram
HealthcareService.characteristicexampleVhDirHealthcareServiceCharacteristic
HealthcareService.communicationpreferredCommonLanguages
Max Binding: AllLanguages
HealthcareService.referralMethodexampleReferralMethod
HealthcareService.availableTime.daysOfWeekrequiredDaysOfWeek

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]/HealthcareService?active=[code]

    Support: SHALL support search by the active parameter: http://hl7.org/fhir/SearchParameter/HealthcareService-active


  1. GET [base]/HealthcareService?service-category=[code]

    Support: SHALL support search by the service-category parameter

    • including the modifiers: text

  1. GET [base]/HealthcareService?characteristic=[code]

    Support: MAY support search by the characteristic parameter

    • including the modifiers: text

  1. GET [base]/HealthcareService?coverage-area=[id]

    Support: SHOULD support search by the coverage-area parameter

    • with a target type: Location
    • including these search paramaters which may be chained: coverage-area.identifier, coverage-area.contains

  1. GET [base]/HealthcareService?eligibility=[code]

    Support: SHOULD support search by the eligibility parameter

    • including the modifiers: text

  1. GET [base]/HealthcareService?endpoint=[id]

    Support: SHOULD support search by the endpoint parameter

    • with a target type: Endpoint
    • including these search paramaters which may be chained: endpoint.identifier, endpoint.connection-type, endpoint.organization

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

    Support: SHALL support search by the identifier parameter

    • including the modifiers: text, ofType

  1. GET [base]/HealthcareService?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: identifier-assigner.identifier, identifier-assigner.name

  1. GET [base]/HealthcareService?location=[id]

    Support: SHALL support search by the location parameter

    • with a target type: Location
    • including the modifiers: above, below
    • including these search paramaters which may be chained: location.identifier, location.type, location.address, location.organization

  1. GET [base]/HealthcareService?name=[string]

    Support: SHOULD support search by the name parameter

    • including the modifiers: exact, contains

  1. GET [base]/HealthcareService?new-patient=[code]

    Support: SHOULD support search by the new-patient parameter


  1. GET [base]/HealthcareService?new-patient-network=[id]

    Support: SHOULD support search by the new-patient-network parameter

    • with a target type: Organization
    • including these search paramaters which may be chained: new-patient-network.identifier, new-patient-network.name, new-patient-network.partof

  1. GET [base]/HealthcareService?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]/HealthcareService?specialty=[code]

    Support: SHOULD support search by the specialty parameter

    • including the modifiers: text

  1. GET [base]/HealthcareService?service-type=[code]

    Support: SHOULD support search by the service-type parameter

    • including the modifiers: text

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

    Support: MAY support search by the via-intermediary parameter

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