VhDir Implementation Guide CI Build: STU2 Ballot

This page is part of the Validated Healthcare Directory FHIR IG (v0.2.0: STU 1 Ballot 2) based on FHIR v3.5.0. . For a full list of available versions, 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
  • Adds new value sets/updates value set bindings:

TBD

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

Profile specific implementation guidance:

  • TBD

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 Wed Oct 18 00:21:21 AEST 2017 as a active by HL7 International.

This profile builds on HealthcareService


Complete Summary of the Mandatory Requirements

  1. A boolean value in healthcareService.active
NameFlagsCard.TypeDescription & Constraintsdoco
.. HealthcareService I0..*The details of a healthcare service available at a location
... 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 (preferred)
... 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 0..*Reference(VhDir Restriction)Restriction
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/usage-restriction
... newpatients 0..*(Complex)New patients
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/newpatients
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal identifiers for this item
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... identifier-status 1..1codeStatus
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/identifier-status
Binding: VhDir Identifier Status Value Set (example)
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... url 1..1"http://hl7.org/fhir/uv/vhdir/StructureDefinition/identifier-status"
..... valueCode 1..1codeactive|inactive|issued in error|revoked|pending
Binding: VhDir Identifier Status Value Set (example)
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system Σ0..1uriThe namespace for the identifier value
Example General': http://www.acme.com/identifiers/patient
.... value Σ0..1stringThe value that is unique
Example General': 123456
.... period Σ0..1PeriodTime period when id is/was valid for use
.... assigner Σ0..1Reference(VhDir Organization)Organization that issued id (may be just text)
... active ?!Σ1..1booleanWhether this HealthcareService record is in active use
... providedBy Σ0..1Reference(VhDir Organization)Organization that provides this service
... category Σ0..*CodeableConceptBroad category of service being performed or delivered
Binding: ServiceCategory (example)
... type Σ0..*CodeableConceptType of service that may be delivered or performed
Binding: ServiceType (example)
... specialty Σ0..*CodeableConceptSpecialties handled by the HealthcareService
Binding: PracticeSettingCodeValueSet (preferred)
... location Σ0..*Reference(VhDir Location)Location(s) where service may be provided
... name Σ0..1stringDescription of service as presented to a consumer while searching
... comment Σ0..1stringAdditional description and/or any specific issues not covered elsewhere
... extraDetails 0..1stringExtra details about the service that can't be placed in the other fields
... photo Σ0..1AttachmentFacilitates quick identification of the service
... telecom 0..*ContactPointContacts related to the healthcare service
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... contactpoint-availabletime 0..*(Complex)Available time
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-availabletime
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... extension 0..*ExtensionDays of week
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1"daysOfWeek"
...... valueCode 1..1codeDays of the week - mon|tue|wed|thu|fri|sat|sun
Binding: DaysOfWeek (required)
..... extension 0..1ExtensionAll day
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1"allDay"
...... valueBoolean 1..1booleanAll day
..... extension 0..1ExtensionAvailable start time
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1"availableStartTime"
...... valueTime 1..1timeAvailable start time
..... extension 0..1ExtensionAvailable end time
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1"availableEndTime"
...... valueTime 1..1timeAvailable end time
..... url 1..1"http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-availabletime"
.... contactpoint-viaintermediary 0..1Reference(VhDir Practitionerrole | VhDir Organization | VhDir OrganizationAffiliation | VhDir Location)viaintermediary
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-viaintermediary
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... url 1..1"http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-viaintermediary"
..... valueReference 1..1Reference(VhDir Practitionerrole | VhDir Organization | VhDir OrganizationAffiliation | VhDir Location)Via intermediary
.... system ΣI1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required)
.... value Σ1..1stringThe actual contact point details
.... use ?!Σ0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required)
.... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
.... period Σ0..1PeriodTime period when the contact point was/is in use
... coverageArea 0..*Reference(VhDir Location)Location(s) service is intended for/available to
... serviceProvisionCode 0..*CodeableConceptConditions under which service is available/offered
Binding: ServiceProvisionConditions (example)
... eligibility 0..1CodeableConceptSpecific eligibility requirements required to use the service
Binding: (unbound) (example)
... eligibilityNote 0..1stringDescribes the eligibility conditions for the service
... programName 0..*stringProgram Names that categorize the service
... characteristic 0..*CodeableConceptCollection of characteristics (attributes)
Binding: (unbound) (example)
... referralMethod 0..*CodeableConceptWays that the service accepts referrals
Binding: ReferralMethod (example)
... appointmentRequired 0..1booleanIf an appointment is required for access to this service
... availableTime I0..*BackboneElementTimes the Service Site is available
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored if unrecognized
.... daysOfWeek 0..*codemon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
.... allDay 0..1booleanAlways available? e.g. 24 hour service
.... availableStartTime 0..1timeOpening time of day (ignored if allDay = true)
.... availableEndTime 0..1timeClosing time of day (ignored if allDay = true)
... notAvailable I0..*BackboneElementNot available during this time due to provided reason
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored if unrecognized
.... description 1..1stringReason presented to the user explaining why time not available
.... during 0..1PeriodService not available from this date
... availabilityExceptions 0..1stringDescription of availability exceptions
... endpoint 0..*Reference(VhDir Endpoint)Technical endpoints providing access to services operated for the location

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. HealthcareService I0..*The details of a healthcare service available at a location
... 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 (preferred)
... 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 0..*Reference(VhDir Restriction)Restriction
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/usage-restriction
... newpatients 0..*(Complex)New patients
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/newpatients
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierExternal identifiers for this item
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... identifier-status 1..1codeStatus
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/identifier-status
Binding: VhDir Identifier Status Value Set (example)
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... url 1..1"http://hl7.org/fhir/uv/vhdir/StructureDefinition/identifier-status"
..... valueCode 1..1codeactive|inactive|issued in error|revoked|pending
Binding: VhDir Identifier Status Value Set (example)
.... use ?!Σ0..1codeusual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required)
.... type Σ0..1CodeableConceptDescription of identifier
Binding: Identifier Type Codes (extensible)
.... system Σ0..1uriThe namespace for the identifier value
Example General': http://www.acme.com/identifiers/patient
.... value Σ0..1stringThe value that is unique
Example General': 123456
.... period Σ0..1PeriodTime period when id is/was valid for use
.... assigner Σ0..1Reference(VhDir Organization)Organization that issued id (may be just text)
... active ?!Σ1..1booleanWhether this HealthcareService record is in active use
... providedBy Σ0..1Reference(VhDir Organization)Organization that provides this service
... category Σ0..*CodeableConceptBroad category of service being performed or delivered
Binding: ServiceCategory (example)
... type Σ0..*CodeableConceptType of service that may be delivered or performed
Binding: ServiceType (example)
... specialty Σ0..*CodeableConceptSpecialties handled by the HealthcareService
Binding: PracticeSettingCodeValueSet (preferred)
... location Σ0..*Reference(VhDir Location)Location(s) where service may be provided
... name Σ0..1stringDescription of service as presented to a consumer while searching
... comment Σ0..1stringAdditional description and/or any specific issues not covered elsewhere
... extraDetails 0..1stringExtra details about the service that can't be placed in the other fields
... photo Σ0..1AttachmentFacilitates quick identification of the service
... telecom 0..*ContactPointContacts related to the healthcare service
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... contactpoint-availabletime 0..*(Complex)Available time
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-availabletime
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
..... extension 0..*ExtensionDays of week
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1"daysOfWeek"
...... valueCode 1..1codeDays of the week - mon|tue|wed|thu|fri|sat|sun
Binding: DaysOfWeek (required)
..... extension 0..1ExtensionAll day
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1"allDay"
...... valueBoolean 1..1booleanAll day
..... extension 0..1ExtensionAvailable start time
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1"availableStartTime"
...... valueTime 1..1timeAvailable start time
..... extension 0..1ExtensionAvailable end time
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
...... url 1..1"availableEndTime"
...... valueTime 1..1timeAvailable end time
..... url 1..1"http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-availabletime"
.... contactpoint-viaintermediary 0..1Reference(VhDir Practitionerrole | VhDir Organization | VhDir OrganizationAffiliation | VhDir Location)viaintermediary
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-viaintermediary
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... url 1..1"http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-viaintermediary"
..... valueReference 1..1Reference(VhDir Practitionerrole | VhDir Organization | VhDir OrganizationAffiliation | VhDir Location)Via intermediary
.... system ΣI1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required)
.... value Σ1..1stringThe actual contact point details
.... use ?!Σ0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required)
.... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
.... period Σ0..1PeriodTime period when the contact point was/is in use
... coverageArea 0..*Reference(VhDir Location)Location(s) service is intended for/available to
... serviceProvisionCode 0..*CodeableConceptConditions under which service is available/offered
Binding: ServiceProvisionConditions (example)
... eligibility 0..1CodeableConceptSpecific eligibility requirements required to use the service
Binding: (unbound) (example)
... eligibilityNote 0..1stringDescribes the eligibility conditions for the service
... programName 0..*stringProgram Names that categorize the service
... characteristic 0..*CodeableConceptCollection of characteristics (attributes)
Binding: (unbound) (example)
... referralMethod 0..*CodeableConceptWays that the service accepts referrals
Binding: ReferralMethod (example)
... appointmentRequired 0..1booleanIf an appointment is required for access to this service
... availableTime I0..*BackboneElementTimes the Service Site is available
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored if unrecognized
.... daysOfWeek 0..*codemon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required)
.... allDay 0..1booleanAlways available? e.g. 24 hour service
.... availableStartTime 0..1timeOpening time of day (ignored if allDay = true)
.... availableEndTime 0..1timeClosing time of day (ignored if allDay = true)
... notAvailable I0..*BackboneElementNot available during this time due to provided reason
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored if unrecognized
.... description 1..1stringReason presented to the user explaining why time not available
.... during 0..1PeriodService not available from this date
... availabilityExceptions 0..1stringDescription of availability exceptions
... endpoint 0..*Reference(VhDir Endpoint)Technical endpoints providing access to services operated for the location

doco Documentation for this format

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


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?healthcareservice-category=[code]

    Support: SHALL support search by the healthcareservice-category parameter

    • including the modifiers: text

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

    Support: MAY support search by the healthcareservice-characteristic parameter

    • including the modifiers: text

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

    Support: SHOULD support search by the healthcareservice-coverage-area parameter

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

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

    Support: SHOULD support search by the healthcareservice-eligibility parameter

    • including the modifiers: text

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

    Support: SHOULD support search by the healthcareservice-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?healthcareservice-identifier=[code]

    Support: SHALL support search by the healthcareservice-identifier parameter

    • including the modifiers: text, ofType

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

    Support: MAY support search by the healthcareservice-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]/HealthcareService?healthcareservice-location=[id]

    Support: SHALL support search by the healthcareservice-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?healthcareservice-name=[string]

    Support: SHOULD support search by the healthcareservice-name parameter

    • including the modifiers: exact, contains

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

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


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

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

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

  1. GET [base]/HealthcareService?healthcareservice-organization=[id]

    Support: SHALL support search by the healthcareservice-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?healthcareservice-specialty=[code]

    Support: SHOULD support search by the healthcareservice-specialty parameter

    • including the modifiers: text

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

    Support: SHOULD support search by the healthcareservice-type parameter

    • including the modifiers: text

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

    Support: MAY support search by the healthcareservice-via-intermediary parameter

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