Validated Healthcare Directory
1.0.0 - STU1 International flag

Validated Healthcare Directory, published by HL7 International / Patient Administration. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/VhDir/ and changes regularly. See the Directory of published versions

Resource Profile: VhDir Practitioner Role

Official URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/vhdir-practitionerrole Version: 1.0.0
Active as of 2017-10-03 Computable Name: VhdirPractitionerRole

Copyright/Legal: Used by permission of HL7 International all rights reserved Creative Commons License

Defines the basic constraints and extensions on the PractitionerRole resource for use in a Validated Healthcare Directory

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

Background & Scope

PractitionerRole describes the role a practitioner plays at an organization, including the services they provide, the location(s) where they work, and their availability, electronic endpoints, and other relevant information.

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

  • Constrains the cardinality of practitionerRole.active (1..1) and practitionerRole.code (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 practitionerRole's identifier
  2. Via intermediary (0..1) - a reference to an alternative point of contact for a practitioner in a role
  3. Available time (0..*) - indicates when the contact point for a practitioner in a role is available
  4. Network (0..*) - a reference to the healthcare provider insurance networks the practitioner participates in through their role
  5. NewPatients (0..*) - indicates whether the practitioner is accepting new patients in their role
  6. NewPatientProfile (0..*) - a description of the type of new patients a practitioner accepts in their role (e.g. pediatric only)
  7. Qualification (0..*) - indicates qualifications the practitioner has through their role (e.g. registered to prescribe controlled substances)
  8. DigitalCertificate (0..*) - a digital certificate associated with the practitioner in their role
  9. Restriction (0..*) - indicates whether disclosure of any data associated with a practitionerRole is restricted
  • Adds new value sets/updates value set bindings:

TBD

Examples:

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

  1. A boolean value in practitionerRole.active
  2. At least one value describing the role the practitioner performs in practitionerRole.code

Profile specific implementation guidance:

  • TBD

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... Network S 0..* Reference(VhDir Network) A health insurance provider network the practitioner belongs to
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/network-reference
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... newpatients S 0..* (Complex) Whether the practitioner is accepting new patients
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/newpatients
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... newpatientprofile S 0..* string Type of new patients accepted
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/newpatientprofile
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... digitalcertificate S 0..* (Complex) Digital certificate specific to this role
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/digitalcertificate
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... qualification S 0..* (Complex) Practitioner's qualifications unique to this role
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/qualification
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... restriction S 0..* Reference(VhDir Restriction) Restriction
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/usage-restriction
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... identifier SΣ 0..* Identifier Business Identifiers that are specific to a role/location
ele-1: All FHIR elements must have a @value or children
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... status S 1..1 code Status
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/identifier-status
Binding: VhDir Identifier Status Value Set (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... use ?!SΣ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .


ele-1: All FHIR elements must have a @value or children
.... type SΣ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.


ele-1: All FHIR elements must have a @value or children
.... system SΣ 0..1 uri The namespace for the identifier value
ele-1: All FHIR elements must have a @value or children
Example General: http://www.acme.com/identifiers/patient
.... value SΣ 0..1 string The value that is unique
ele-1: All FHIR elements must have a @value or children
Example General: 123456
.... period SΣ 0..1 Period Time period when id is/was valid for use
ele-1: All FHIR elements must have a @value or children
.... assigner SΣ 0..1 Reference(VhDir Organization) Organization that issued id (may be just text)
ele-1: All FHIR elements must have a @value or children
... active SΣ 1..1 boolean Whether this practitioner role record is in active use
ele-1: All FHIR elements must have a @value or children
... period SΣ 0..1 Period The period during which the practitioner is authorized to perform in these role(s)
ele-1: All FHIR elements must have a @value or children
... practitioner SΣ 0..1 Reference(VhDir Practitioner) Practitioner that is able to provide the defined services for the organization
ele-1: All FHIR elements must have a @value or children
... organization SΣ 0..1 Reference(VhDir Organization) Organization where the roles are available
ele-1: All FHIR elements must have a @value or children
... code SΣ 1..* CodeableConcept Roles which this practitioner may perform
Binding: PractitionerRole (example): The role a person plays representing an organization.


ele-1: All FHIR elements must have a @value or children
... specialty SΣ 0..* CodeableConcept Specific specialty of the practitioner
Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency.


ele-1: All FHIR elements must have a @value or children
... location SΣ 0..* Reference(VhDir Location) The location(s) at which this practitioner provides care
ele-1: All FHIR elements must have a @value or children
... healthcareService S 0..* Reference(VhDir Healthcare Service) The list of healthcare services that this worker provides for this role's Organization/Location(s)
ele-1: All FHIR elements must have a @value or children
... telecom SΣ 0..* ContactPoint Contact details that are specific to the role/location/service
ele-1: All FHIR elements must have a @value or children
.... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... availabletime S 0..* (Complex) Available time
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-availabletime
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
..... viaintermediary S 0..1 Reference(VhDir Practitioner Role | VhDir Organization | VhDir Organization Affiliation | VhDir Location) viaintermediary
URL: http://hl7.org/fhir/uv/vhdir/StructureDefinition/contactpoint-viaintermediary
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... system SΣC 1..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


ele-1: All FHIR elements must have a @value or children
.... value SΣ 1..1 string The actual contact point details
ele-1: All FHIR elements must have a @value or children
.... use ?!SΣ 0..1 code home | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.


ele-1: All FHIR elements must have a @value or children
.... rank SΣ 0..1 positiveInt Specify preferred order of use (1 = highest)
ele-1: All FHIR elements must have a @value or children
.... period SΣ 0..1 Period Time period when the contact point was/is in use
ele-1: All FHIR elements must have a @value or children
... availableTime S 0..* BackboneElement Times the Service Site is available
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... daysOfWeek S 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.


ele-1: All FHIR elements must have a @value or children
.... allDay S 0..1 boolean Always available? e.g. 24 hour service
ele-1: All FHIR elements must have a @value or children
.... availableStartTime S 0..1 time Opening time of day (ignored if allDay = true)
ele-1: All FHIR elements must have a @value or children
.... availableEndTime S 0..1 time Closing time of day (ignored if allDay = true)
ele-1: All FHIR elements must have a @value or children
... notAvailable S 0..* BackboneElement Not available during this time due to provided reason
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... description S 1..1 string Reason presented to the user explaining why time not available
ele-1: All FHIR elements must have a @value or children
.... during S 0..1 Period Service not available from this date
ele-1: All FHIR elements must have a @value or children
... availabilityExceptions S 0..1 string Description of availability exceptions
ele-1: All FHIR elements must have a @value or children
... endpoint S 0..* Reference(VhDir Endpoint) Technical endpoints providing access to services operated for the practitioner with this role
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
PractitionerRole.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
PractitionerRole.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
PractitionerRole.codeexamplePractitionerRole
http://hl7.org/fhir/ValueSet/practitioner-role
from the FHIR Standard
PractitionerRole.specialtypreferredPracticeSettingCodeValueSet
http://hl7.org/fhir/ValueSet/c80-practice-codes
from the FHIR Standard
PractitionerRole.telecom.systemrequiredContactPointSystem
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
PractitionerRole.telecom.userequiredContactPointUse
http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
from the FHIR Standard
PractitionerRole.availableTime.daysOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
from the FHIR Standard

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Supported Searches

  1. GET [base]/PractitionerRole?active=[code]

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


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

    Support: SHALL support search by the identifier parameter

    • including the modifiers: text, ofType

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

    Support: SHOULD support search by the network parameter

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

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

    Support: SHOULD support search by the new-patient parameter


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

    Support: SHALL support search by the practitioner parameter

    • with a target type: Practitioner
    • including these search paramaters which may be chained: practitioner.identifier, practitioner.name

  1. GET [base]/PractitionerRole?qualification-code=[code]

    Support: SHOULD support search by the qualification-code parameter

    • including the modifiers: text

  1. GET [base]/PractitionerRole?qualification-issuer=[id]

    Support: MAY support search by the qualification-issuer parameter

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

  1. GET [base]/PractitionerRole?qualification-status=[code]

    Support: SHOULD support search by the qualification-status parameter


  1. GET [base]/PractitionerRole?qualification-wherevalid-code=[code]

    Support: SHOULD support search by the qualification-wherevalid-code parameter

    • including the modifiers: text

  1. GET [base]/PractitionerRole?qualification-wherevalid-location=[id]

    Support: SHOULD support search by the qualification-wherevalid-location parameter

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

  1. GET [base]/PractitionerRole?role=[code]

    Support: SHALL support search by the role parameter

    • including the modifiers: text

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

    Support: SHOULD support search by the specialty parameter

    • including the modifiers: text

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

    Support: MAY support search by the via-intermediary parameter

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