DRAFT - The specification is currently in development and subject to significant change. It is not ready for limited roll-out or production level use.

HealthcareService (CA:eReC)

Structure Definition: HealthcareService Profile

Canonical URL: http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-HealthcareService

Simplifier project page: HealthcareService

Derived from: HealthcareService (R4)

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeΣ ?!0..1boolean
providedByΣ I0..1Reference(Organization)
categoryΣ0..*CodeableConcept
typeS Σ1..1CodeableConcept
specialtyΣ0..*CodeableConceptBinding
locationΣ I0..*Reference(Location)
nameS Σ0..1string
commentΣ0..1string
extraDetails0..1markdown
photoΣ I0..1Attachment
telecomI0..*ContactPoint
coverageAreaI0..*Reference(Location)
serviceProvisionCode0..*CodeableConcept
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
code0..1CodeableConcept
comment0..1markdown
program0..*CodeableConcept
characteristic0..*CodeableConcept
communication0..*CodeableConceptBinding
referralMethod0..*CodeableConcept
appointmentRequired0..1boolean
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
daysOfWeek0..*codeBinding
allDay0..1boolean
availableStartTime0..1time
availableEndTime0..1time
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
description1..1string
duringI0..1Period
availabilityExceptions0..1string
endpointI0..*Reference(Endpoint)
idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeΣ ?!0..1boolean
providedByΣ I0..1Reference(Organization)
categoryΣ0..*CodeableConcept
typeS Σ1..1CodeableConcept
specialtyΣ0..*CodeableConceptBinding
locationΣ I0..*Reference(Location)
nameS Σ0..1string
commentΣ0..1string
extraDetails0..1markdown
photoΣ I0..1Attachment
telecomI0..*ContactPoint
coverageAreaI0..*Reference(Location)
serviceProvisionCode0..*CodeableConcept
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
code0..1CodeableConcept
comment0..1markdown
program0..*CodeableConcept
characteristic0..*CodeableConcept
communication0..*CodeableConceptBinding
referralMethod0..*CodeableConcept
appointmentRequired0..1boolean
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
daysOfWeek0..*codeBinding
allDay0..1boolean
availableStartTime0..1time
availableEndTime0..1time
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
description1..1string
duringI0..1Period
availabilityExceptions0..1string
endpointI0..*Reference(Endpoint)
idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeΣ ?!0..1boolean
providedByΣ I0..1Reference(Organization)
categoryΣ0..*CodeableConcept
typeS Σ1..1CodeableConcept
specialtyΣ0..*CodeableConceptBinding
locationΣ I0..*Reference(Location)
nameS Σ0..1string
commentΣ0..1string
extraDetails0..1markdown
photoΣ I0..1Attachment
telecomI0..*ContactPoint
coverageAreaI0..*Reference(Location)
serviceProvisionCode0..*CodeableConcept
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
code0..1CodeableConcept
comment0..1markdown
program0..*CodeableConcept
characteristic0..*CodeableConcept
communication0..*CodeableConceptBinding
referralMethod0..*CodeableConcept
appointmentRequired0..1boolean
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
daysOfWeek0..*codeBinding
allDay0..1boolean
availableStartTime0..1time
availableEndTime0..1time
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
description1..1string
duringI0..1Period
availabilityExceptions0..1string
endpointI0..*Reference(Endpoint)
HealthcareService..
HealthcareService.identifier..
HealthcareService.identifier.system1..
HealthcareService.identifier.value1..
HealthcareService.type1..1
HealthcareService.name..

{
    "resourceType": "StructureDefinition",
    "id": "CA-eReC-HealthcareService",
    "url": "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-HealthcareService",
    "version": "1.0.0",
    "name": "HealthcareService",
    "status": "draft",
    "description": "The HealthcareService resources contains details around the service being provided to the patient.",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "HealthcareService",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/HealthcareService",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "HealthcareService.identifier",
                "path": "HealthcareService.identifier",
                "mustSupport": true
            },
            {
                "id": "HealthcareService.identifier.system",
                "path": "HealthcareService.identifier.system",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "HealthcareService.identifier.value",
                "path": "HealthcareService.identifier.value",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "HealthcareService.type",
                "path": "HealthcareService.type",
                "min": 1,
                "max": "1",
                "mustSupport": true
            },
            {
                "id": "HealthcareService.name",
                "path": "HealthcareService.name",
                "mustSupport": true
            }
        ]
    }
}

Usage

The HealthcareService resource is used to describe a healthcare service provided by an organization at a location. This profile is referenced across the guide, mainly by ServiceRequest.performer. Please see below for additional guidance on the use of healthcareService.identifier on this profile and what types of healthcare services (healthcareService.type) can be used.

Notes

.identifier

  • Business identifier(s) that are specific to this HealthcareService

  • Identifiers corresponding to clinician qualifications (such as CPSO number) SHOULD be included in the Practitioner resource not HealthcareService

  • HealthcareService identifiers can be applied in a generic way, with no special constraints

  • MAY contain multiple identifiers such as directory identifiers (e.g., 211), industry issued identifiers (e.g., pharmacy IDs), local system identifiers, and master identifiers in a federated data sharing model.

  • Where present, business identifiers MAY be used to reference this resource in subsequent messages

  • identifier.system and identifier.value SHALL be mustSupport whenever there is a reference or identifier present

identifier.system

  • The namespace for the identifier value (i.e., the “source identifier issuer system”), where the value must be unique within the system.
  • Different HealthcareService directories MAY apply their own system to share their local identifier for the HealthcareService (e.g., www.hcs-directory-app.com/fhir/sid/listing-id)

identifier.value

  • SHOULD contain a unique value for the identifier within its system
  • Master Record identifiers (generated by a Master Record Holder, MRH) SHALL use UUIDs or some other globally unique naming convention.

type

  • P2P is the specific service needed (same value set as ServiceRequest.category), for CAT/CI the type is "CAT/CI service"
  • SHALL be used to classify HealthcareService directories into taxonomies
  • Supports single tag based, multi-tag, multi-tag with a primary tag, hierarchical, faceted or a combination of these taxonomy approaches
  • For additional information and implementation guidance on the Taxonomies supported in the .type element, please refer to the Taxonomy section in the ON eServices Guide

name

  • SHOULD contain the name of the healthcareService presented to the eReC requester & eReC performer (e.g., "Chronic Pain Care Program")