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

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

Background & Scope

A care team consists of the providers and/or organizations responsible for effectively delivering coordinated care. Care teams are conventionally associated with a specific patient. For example, a patient with diabetes may have a care team that consists of a physician, nurse, dietitian, certified diabetes educator, etc. Data about patients/caregivers, however, is out of scope for a Validated Healthcare Directory. Therefore, this care team profile constrains out elements which reference or describe patient-level data. In general, a Validated Healthcare Directory is more likely to represent administrative teams, or teams that are relevant beyond the direct clinical care of specific patients.

Individuals participating on a VHDir CareTeam SHALL be represented through an associated role. Therefore, this profile removes references to the Practitioner resource in CareTeam.participant.member. For example, Dr. Smith (an individual) does not participate on a care team. Rather, Dr. Smith in his role as a provider at Acme Hospital participates on a care team.

A care team may be functionally “empty,” i.e. the roles on the care team are not filled by individuals. For example, a care team may be comprised of a primary care provider role, care coordinator role, and specialist role without indicating the individuals filling those roles (i.e., by referencing a PractitionerRole resource that does not reference a Practitioner resource). This enables entities to describe existing care teams while masking the identity of the individuals/organizations that are involved, or to represent standing care teams that are filled by individuals on an ad hoc basis in response to a condition/event.

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

  • Constrains the cardinality of careTeam.status (1..1), careTeam.category (1..*), careTeam.context (0..0), careTeam.subject (0..0), careTeam.participant.onBehalfOf (0..0), careTeam.managingOrganization (0..1), careTeam.reasonCode (0..0), careTeam.reasonReference (0..0), careTeam.telecom.system (1..1), and careTeam.telecom.value (1..1)

  • Modifies the data type of careTeam.note.author (removes references to Patient and RelatedPerson resources)

  • Modifies the data type of CareTeam.participant.member (removes references to Patient, RelatedPerson, and Practitioner resources)

  • 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 care team’s identifier
  2. Via intermediary (0..1) - a reference to an alternative point of contact for this care team
  3. Available time (0..*) - indicates when a care team is available for contact
  4. Alias (0..*) - indicates alternate names by which the care team is known
  5. Location (0..*) - reference(s) to the location resource, indicating the location(s) at which the care team operates or delivers services
  6. Service (0..*) - reference(s) to the healthcareService resource, indicating the services offered by the care team
  7. Endpoint (0..*) - reference(s) to the endpoint resource, indicating technical endpoints for the care team independent of its members, affiliated organizations, etc.
  8. Restriction (0..*) - indicates whether disclosure of any data associated with a care team is restricted

Examples:

The following are example uses for the vhdir-careteam 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 CareTeam must have:

  1. One status code in careTeam.status
  2. At least one type of care team in careTeam.category

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

Published on Tue Oct 17 18:22:04 UTC 2017 as a active by HL7 International.

This profile builds on CareTeam


NameFlagsCard.TypeDescription & Constraintsdoco
.. CareTeam 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
... careteam-alias S0..*stringAlternate name for care team
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/careteam-alias
... location-reference S0..*Reference(VhDir Location)Where the care team operates
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/location-reference
... healthcareservice-reference S0..*Reference(VhDir Healthcare Service)Services provided by the care team
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/healthcareservice-reference
... endpoint-reference S0..*Reference(VhDir Endpoint)Endpoints for the care team
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/endpoint-reference
... 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
... category S1..*CodeableConcept
... name S0..1string
... subject S0..0
... encounter 0..0
... period S0..1Period
... participant S0..*BackboneElement
.... role S0..*CodeableConcept
.... member S0..1Reference(VhDir Care Team | VhDir Practitioner Role | VhDir Organization)
.... onBehalfOf S0..0
.... period S0..1Period
... reasonCode S0..0
... reasonReference S0..0
... managingOrganization S0..1Reference(VhDir Organization)
... 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
... note S0..*Annotation
.... author[x] S0..1
..... authorReferenceReference(VhDir Practitioner)
..... authorStringstring
.... time S0..1dateTime
.... text S1..1markdown

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. CareTeam I0..*Planned participants in the coordination and delivery of care for a patient or group
... 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
... careteam-alias SI0..*stringAlternate name for care team
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/careteam-alias
... location-reference SI0..*Reference(VhDir Location)Where the care team operates
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/location-reference
... healthcareservice-reference SI0..*Reference(VhDir Healthcare Service)Services provided by the care team
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/healthcareservice-reference
... endpoint-reference SI0..*Reference(VhDir Endpoint)Endpoints for the care team
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/endpoint-reference
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier SΣI0..*IdentifierExternal Ids for this team
.... 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)
... status ?!SΣI1..1codeproposed | active | suspended | inactive | entered-in-error
Binding: CareTeamStatus (required)
... category SΣI1..*CodeableConceptType of team
Binding: CareTeamCategory (example)
... name SΣI0..1stringName of the team, such as crisis assessment team
... period SΣI0..1PeriodTime period team covers
... participant SI0..*BackboneElementMembers of the team
.... 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
.... role SΣI0..*CodeableConceptType of involvement
Binding: ParticipantRoles (example)
.... member SΣI0..1Reference(VhDir Care Team | VhDir Practitioner Role | VhDir Organization)Who is involved
.... period SI0..1PeriodTime period of participant
... managingOrganization SΣI0..1Reference(VhDir Organization)Organization responsible for the care team
... telecom SI0..*ContactPointA contact detail for the care team (that applies to all members)
.... 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
... note SI0..*AnnotationComments made about the CareTeam
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... author[x] SΣI0..1Individual responsible for the annotation
..... authorReferenceReference(VhDir Practitioner)
..... authorStringstring
.... time SΣI0..1dateTimeWhen the annotation was made
.... text SΣI1..1markdownThe annotation - text content (as markdown)

doco Documentation for this format

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CareTeam 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
... careteam-alias S0..*stringAlternate name for care team
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/careteam-alias
... location-reference S0..*Reference(VhDir Location)Where the care team operates
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/location-reference
... healthcareservice-reference S0..*Reference(VhDir Healthcare Service)Services provided by the care team
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/healthcareservice-reference
... endpoint-reference S0..*Reference(VhDir Endpoint)Endpoints for the care team
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/endpoint-reference
... 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
... category S1..*CodeableConcept
... name S0..1string
... subject S0..0
... encounter 0..0
... period S0..1Period
... participant S0..*BackboneElement
.... role S0..*CodeableConcept
.... member S0..1Reference(VhDir Care Team | VhDir Practitioner Role | VhDir Organization)
.... onBehalfOf S0..0
.... period S0..1Period
... reasonCode S0..0
... reasonReference S0..0
... managingOrganization S0..1Reference(VhDir Organization)
... 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
... note S0..*Annotation
.... author[x] S0..1
..... authorReferenceReference(VhDir Practitioner)
..... authorStringstring
.... time S0..1dateTime
.... text S1..1markdown

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CareTeam I0..*Planned participants in the coordination and delivery of care for a patient or group
... 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
... careteam-alias SI0..*stringAlternate name for care team
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/careteam-alias
... location-reference SI0..*Reference(VhDir Location)Where the care team operates
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/location-reference
... healthcareservice-reference SI0..*Reference(VhDir Healthcare Service)Services provided by the care team
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/healthcareservice-reference
... endpoint-reference SI0..*Reference(VhDir Endpoint)Endpoints for the care team
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/endpoint-reference
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier SΣI0..*IdentifierExternal Ids for this team
.... 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)
... status ?!SΣI1..1codeproposed | active | suspended | inactive | entered-in-error
Binding: CareTeamStatus (required)
... category SΣI1..*CodeableConceptType of team
Binding: CareTeamCategory (example)
... name SΣI0..1stringName of the team, such as crisis assessment team
... period SΣI0..1PeriodTime period team covers
... participant SI0..*BackboneElementMembers of the team
.... 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
.... role SΣI0..*CodeableConceptType of involvement
Binding: ParticipantRoles (example)
.... member SΣI0..1Reference(VhDir Care Team | VhDir Practitioner Role | VhDir Organization)Who is involved
.... period SI0..1PeriodTime period of participant
... managingOrganization SΣI0..1Reference(VhDir Organization)Organization responsible for the care team
... telecom SI0..*ContactPointA contact detail for the care team (that applies to all members)
.... 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
... note SI0..*AnnotationComments made about the CareTeam
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... author[x] SΣI0..1Individual responsible for the annotation
..... authorReferenceReference(VhDir Practitioner)
..... authorStringstring
.... time SΣI0..1dateTimeWhen the annotation was made
.... text SΣI1..1markdownThe annotation - text content (as markdown)

doco Documentation for this format

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


Terminology Bindings

PathConformanceValueSet
CareTeam.languagepreferredCommonLanguages
Max Binding: AllLanguages
CareTeam.identifier.userequiredIdentifierUse
CareTeam.identifier.typeextensibleIdentifier Type Codes
CareTeam.statusrequiredCareTeamStatus
CareTeam.categoryexampleCareTeamCategory
CareTeam.participant.roleexampleParticipantRoles
CareTeam.telecom.systemrequiredContactPointSystem
CareTeam.telecom.userequiredContactPointUse

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

    Support: MAY support search by the category parameter

    • including the modifiers: text

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

    Support: SHALL support search by the identifier parameter

    • including the modifiers: text, ofType

  1. GET [base]/CareTeam?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]/CareTeam?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]/CareTeam?participant=[id]

    Support: SHALL support search by the participant parameter

    • with a target type: PractitionerRole, Organization, CareTeam
    • including the modifier: type
    • including these search paramaters which may be chained: participant.identifier, participant.location, participant.practitioner, participant.organization, participant.role, participant.address, participant.name, participant.partof

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

    Support: SHOULD support search by the name parameter

    • including the modifiers: exact, contains

  1. GET [base]/CareTeam?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]/CareTeam?service=[id]

    Support: SHOULD support search by the service parameter

    • with a target type: HealthcareService
    • including these search paramaters which may be chained: service.identifier, service.service-category, service.organization, service.location

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

    Support: SHALL support search by the status parameter


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

    Support: MAY support search by the via-intermediary parameter

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