This page is part of the Da Vinci Health Record Exchange (v1.0.0: STU1) based on FHIR R4. This is the current published version. For a full list of available versions, see the Directory of published versions
Official URL: http://hl7.org/fhir/us/davinci-hrex/StructureDefinition/hrex-practitionerrole | Version: 1.0.0 | |||
Standards status: Trial-use | Maturity Level: 2 | Computable Name: HRexPractitionerRole |
Constraints on the US Core PractitionerRole requiring the use of Da Vinci Organization and Practitioner
Because Da Vinci has refined the US Core organization and practitioner profiles, we also need to refine the PractitionerRole profile - because PractitionerRole binds practitioner and organization together. The only change is to require the use of the Da Vinci-specific profiles as additional constraints on the US Core ones.
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from USCorePractitionerRoleProfile
Summary
Structures
This structure refers to these other structures:
Maturity: 2
This structure is derived from USCorePractitionerRoleProfile
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PractitionerRole | 0..* | USCorePractitionerRoleProfile | Roles/organizations the practitioner is associated with | |
practitioner | 1..1 | Reference(HRex Practitioner Profile) | Practitioner that is able to provide the defined services for the organization | |
organization | 1..1 | Reference(HRex Organization Profile) | Organization where the roles are available | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PractitionerRole | I | 0..* | USCorePractitionerRoleProfile | Roles/organizations the practitioner is associated with |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 0..* | Identifier | Business Identifiers that are specific to a role/location |
active | Σ | 0..1 | boolean | Whether this practitioner role record is in active use |
period | Σ | 0..1 | Period | The period during which the practitioner is authorized to perform in these role(s) |
practitioner | SΣ | 1..1 | Reference(HRex Practitioner Profile) | Practitioner that is able to provide the defined services for the organization |
organization | SΣ | 1..1 | Reference(HRex Organization Profile) | Organization where the roles are available |
code | SΣ | 0..* | CodeableConcept | Roles which this practitioner may perform Binding: US Core Provider Role (NUCC) (extensible): Provider role codes consisting of NUCC Health Care Provider Taxonomy Code Set for providers. |
specialty | SΣ | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: US Core Provider Speciality (NUCC) (extensible): Provider specialty codes consist of NUCC Health Care Provider Taxonomy Code Set for providers. |
location | SΣ | 0..* | Reference(Location) | The location(s) at which this practitioner provides care |
healthcareService | 0..* | Reference(HealthcareService) | The list of healthcare services that this worker provides for this role's Organization/Location(s) | |
telecom | SΣI | 0..* | ContactPoint | Contact details that are specific to the role/location/service |
id | 0..1 | string | Unique id for inter-element referencing | |
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
system | SΣI | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. |
value | SΣ | 1..1 | string | The actual contact point details |
use | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. |
rank | Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest) |
period | Σ | 0..1 | Period | Time period when the contact point was/is in use |
availableTime | 0..* | BackboneElement | Times the Service Site is available | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
daysOfWeek | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): The days of the week. | |
allDay | 0..1 | boolean | Always available? e.g. 24 hour service | |
availableStartTime | 0..1 | time | Opening time of day (ignored if allDay = true) | |
availableEndTime | 0..1 | time | Closing time of day (ignored if allDay = true) | |
notAvailable | 0..* | BackboneElement | Not available during this time due to provided reason | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
description | 1..1 | string | Reason presented to the user explaining why time not available | |
during | 0..1 | Period | Service not available from this date | |
availabilityExceptions | 0..1 | string | Description of availability exceptions | |
endpoint | SI | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the practitioner with this role |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PractitionerRole | I | 0..* | USCorePractitionerRoleProfile | Roles/organizations the practitioner is associated with |
practitioner | Σ | 1..1 | Reference(HRex Practitioner Profile) | Practitioner that is able to provide the defined services for the organization |
organization | Σ | 1..1 | Reference(HRex Organization Profile) | Organization where the roles are available |
code | Σ | 0..* | CodeableConcept | Roles which this practitioner may perform Binding: US Core Provider Role (NUCC) (extensible): Provider role codes consisting of NUCC Health Care Provider Taxonomy Code Set for providers. |
specialty | Σ | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: US Core Provider Speciality (NUCC) (extensible): Provider specialty codes consist of NUCC Health Care Provider Taxonomy Code Set for providers. |
location | Σ | 0..* | Reference(Location) | The location(s) at which this practitioner provides care |
telecom | ΣI | 0..* | ContactPoint | Contact details that are specific to the role/location/service |
system | ΣI | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. |
value | Σ | 1..1 | string | The actual contact point details |
endpoint | I | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the practitioner with this role |
Documentation for this format |
This structure is derived from USCorePractitionerRoleProfile
Summary
Structures
This structure refers to these other structures:
Maturity: 2
Differential View
This structure is derived from USCorePractitionerRoleProfile
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PractitionerRole | 0..* | USCorePractitionerRoleProfile | Roles/organizations the practitioner is associated with | |
practitioner | 1..1 | Reference(HRex Practitioner Profile) | Practitioner that is able to provide the defined services for the organization | |
organization | 1..1 | Reference(HRex Organization Profile) | Organization where the roles are available | |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PractitionerRole | I | 0..* | USCorePractitionerRoleProfile | Roles/organizations the practitioner is associated with |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 0..* | Identifier | Business Identifiers that are specific to a role/location |
active | Σ | 0..1 | boolean | Whether this practitioner role record is in active use |
period | Σ | 0..1 | Period | The period during which the practitioner is authorized to perform in these role(s) |
practitioner | SΣ | 1..1 | Reference(HRex Practitioner Profile) | Practitioner that is able to provide the defined services for the organization |
organization | SΣ | 1..1 | Reference(HRex Organization Profile) | Organization where the roles are available |
code | SΣ | 0..* | CodeableConcept | Roles which this practitioner may perform Binding: US Core Provider Role (NUCC) (extensible): Provider role codes consisting of NUCC Health Care Provider Taxonomy Code Set for providers. |
specialty | SΣ | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: US Core Provider Speciality (NUCC) (extensible): Provider specialty codes consist of NUCC Health Care Provider Taxonomy Code Set for providers. |
location | SΣ | 0..* | Reference(Location) | The location(s) at which this practitioner provides care |
healthcareService | 0..* | Reference(HealthcareService) | The list of healthcare services that this worker provides for this role's Organization/Location(s) | |
telecom | SΣI | 0..* | ContactPoint | Contact details that are specific to the role/location/service |
id | 0..1 | string | Unique id for inter-element referencing | |
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
system | SΣI | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. |
value | SΣ | 1..1 | string | The actual contact point details |
use | ?!Σ | 0..1 | code | home | work | temp | old | mobile - purpose of this contact point Binding: ContactPointUse (required): Use of contact point. |
rank | Σ | 0..1 | positiveInt | Specify preferred order of use (1 = highest) |
period | Σ | 0..1 | Period | Time period when the contact point was/is in use |
availableTime | 0..* | BackboneElement | Times the Service Site is available | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
daysOfWeek | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): The days of the week. | |
allDay | 0..1 | boolean | Always available? e.g. 24 hour service | |
availableStartTime | 0..1 | time | Opening time of day (ignored if allDay = true) | |
availableEndTime | 0..1 | time | Closing time of day (ignored if allDay = true) | |
notAvailable | 0..* | BackboneElement | Not available during this time due to provided reason | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
description | 1..1 | string | Reason presented to the user explaining why time not available | |
during | 0..1 | Period | Service not available from this date | |
availabilityExceptions | 0..1 | string | Description of availability exceptions | |
endpoint | SI | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the practitioner with this role |
Documentation for this format |
Other representations of profile: CSV, Excel, Schematron
Path | Conformance | ValueSet |
PractitionerRole.language | preferred | CommonLanguages Max Binding: AllLanguages |
PractitionerRole.code | extensible | USCoreProviderRoleNucc |
PractitionerRole.specialty | extensible | USCoreProviderSpecialityNucc |
PractitionerRole.telecom.system | required | ContactPointSystem |
PractitionerRole.telecom.use | required | ContactPointUse |
PractitionerRole.availableTime.daysOfWeek | required | DaysOfWeek |
Id | Grade | Path | Details | Requirements |
dom-2 | error | PractitionerRole | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | PractitionerRole | 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 : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Best Practice | PractitionerRole | A resource should have narrative for robust management : text.`div`.exists() | |
pd-1 | error | PractitionerRole | SHALL have contact information or a reference to an Endpoint : telecom or endpoint | |
ele-1 | error | PractitionerRole.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.active | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.practitioner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.organization | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.specialty | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.location | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.healthcareService | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.telecom.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.telecom.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom.rank | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.availableTime | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.availableTime.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.availableTime.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.availableTime.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.availableTime.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.availableTime.daysOfWeek | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.availableTime.allDay | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.availableTime.availableStartTime | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.availableTime.availableEndTime | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.notAvailable | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.notAvailable.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.notAvailable.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.notAvailable.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.notAvailable.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.notAvailable.description | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.notAvailable.during | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.availabilityExceptions | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.endpoint | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |