Kenya-ePrescription-IG
0.1.0 - ci-build

Kenya-ePrescription-IG - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: PractitionerRole - ePrescription

Official URL: http://example.org/StructureDefinition/kenya-eprescription-practitionerrole Version: 0.1.0
Draft as of 2025-12-09 Computable Name: KenyaEPrescriptionPractitionerRole

Constraints for practitioner Role in the ePrescription workflow.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
... id SΣ 1..1 id Unique identifier assigned by the HAPI FHIR server (UUID).
... meta SΣ 1..1 Meta Metadata about the resource
.... profile SΣ 1..* canonical(StructureDefinition) Profiles this resource claims to conform to.
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... identifier SΣ 0..* Identifier Additional identifiers for the practitioner role, if needed.
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... system SΣ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣ 1..1 string The value that is unique
Example General: 123456
... active SΣ 1..1 boolean Indicates whether this practitioner role record is active.
... period SΣ 1..1 Period Period during which the practitioner is authorized to perform these roles.
... practitioner SΣ 1..1 Reference(Practitioner - ePrescription) Practitioner able to provide services under this role.
... code SΣ 1..1 CodeableConcept Role(s) performed by the practitioner (e.g., DOCTOR, NURSE, PHARMACIST).
Binding: PractitionerRole (example): The role a person plays representing an organization.
... specialty SΣ 0..1 CodeableConcept Optional specialty of the practitioner (e.g., cardiology, oncology).
Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
PractitionerRole.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
PractitionerRole.code Base example Practitioner role 📍4.0.1 FHIR Std.
PractitionerRole.specialty Base preferred Practice Setting Code Value Set 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from PractitionerRole

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
... id S 1..1 id Unique identifier assigned by the HAPI FHIR server (UUID).
... meta S 1..1 Meta Metadata about the resource
.... profile S 1..* canonical(StructureDefinition) Profiles this resource claims to conform to.
... identifier S 0..* Identifier Additional identifiers for the practitioner role, if needed.
.... system S 1..1 uri The namespace for the identifier value
.... value S 1..1 string The value that is unique
... period S 1..1 Period Period during which the practitioner is authorized to perform these roles.
... practitioner S 1..1 Reference(Practitioner - ePrescription) Practitioner able to provide services under this role.
... code S 1..1 CodeableConcept Role(s) performed by the practitioner (e.g., DOCTOR, NURSE, PHARMACIST).
... specialty S 0..1 CodeableConcept Optional specialty of the practitioner (e.g., cardiology, oncology).

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
... id SΣ 1..1 id Unique identifier assigned by the HAPI FHIR server (UUID).
... meta SΣ 1..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile SΣ 1..* canonical(StructureDefinition) Profiles this resource claims to conform to.
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 0..* Identifier Additional identifiers for the practitioner role, if needed.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... type Σ 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.
.... system SΣ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣ 1..1 string The value that is unique
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... active SΣ 1..1 boolean Indicates whether this practitioner role record is active.
... period SΣ 1..1 Period Period during which the practitioner is authorized to perform these roles.
... practitioner SΣ 1..1 Reference(Practitioner - ePrescription) Practitioner able to provide services under this role.
... organization Σ 0..1 Reference(Organization) Organization where the roles are available
... code SΣ 1..1 CodeableConcept Role(s) performed by the practitioner (e.g., DOCTOR, NURSE, PHARMACIST).
Binding: PractitionerRole (example): The role a person plays representing an organization.
... specialty SΣ 0..1 CodeableConcept Optional specialty of the practitioner (e.g., cardiology, oncology).
Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency.
... location Σ 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 Σ 0..* ContactPoint Contact details that are specific to the role/location/service
... 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 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the practitioner with this role

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
PractitionerRole.meta.​security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
PractitionerRole.meta.​tag Base example Common Tags 📍4.0.1 FHIR Std.
PractitionerRole.language Base preferred Common Languages 📍4.0.1 FHIR Std.
PractitionerRole.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
PractitionerRole.identifier.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
PractitionerRole.code Base example Practitioner role 📍4.0.1 FHIR Std.
PractitionerRole.specialty Base preferred Practice Setting Code Value Set 📍4.0.1 FHIR Std.
PractitionerRole.availableTime.​daysOfWeek Base required DaysOfWeek 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from PractitionerRole

Summary

Mandatory: 7 elements(2 nested mandatory elements)
Must-Support: 11 elements

Structures

This structure refers to these other structures:

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
... id SΣ 1..1 id Unique identifier assigned by the HAPI FHIR server (UUID).
... meta SΣ 1..1 Meta Metadata about the resource
.... profile SΣ 1..* canonical(StructureDefinition) Profiles this resource claims to conform to.
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... identifier SΣ 0..* Identifier Additional identifiers for the practitioner role, if needed.
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... system SΣ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣ 1..1 string The value that is unique
Example General: 123456
... active SΣ 1..1 boolean Indicates whether this practitioner role record is active.
... period SΣ 1..1 Period Period during which the practitioner is authorized to perform these roles.
... practitioner SΣ 1..1 Reference(Practitioner - ePrescription) Practitioner able to provide services under this role.
... code SΣ 1..1 CodeableConcept Role(s) performed by the practitioner (e.g., DOCTOR, NURSE, PHARMACIST).
Binding: PractitionerRole (example): The role a person plays representing an organization.
... specialty SΣ 0..1 CodeableConcept Optional specialty of the practitioner (e.g., cardiology, oncology).
Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
PractitionerRole.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
PractitionerRole.code Base example Practitioner role 📍4.0.1 FHIR Std.
PractitionerRole.specialty Base preferred Practice Setting Code Value Set 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from PractitionerRole

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
... id S 1..1 id Unique identifier assigned by the HAPI FHIR server (UUID).
... meta S 1..1 Meta Metadata about the resource
.... profile S 1..* canonical(StructureDefinition) Profiles this resource claims to conform to.
... identifier S 0..* Identifier Additional identifiers for the practitioner role, if needed.
.... system S 1..1 uri The namespace for the identifier value
.... value S 1..1 string The value that is unique
... period S 1..1 Period Period during which the practitioner is authorized to perform these roles.
... practitioner S 1..1 Reference(Practitioner - ePrescription) Practitioner able to provide services under this role.
... code S 1..1 CodeableConcept Role(s) performed by the practitioner (e.g., DOCTOR, NURSE, PHARMACIST).
... specialty S 0..1 CodeableConcept Optional specialty of the practitioner (e.g., cardiology, oncology).

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
... id SΣ 1..1 id Unique identifier assigned by the HAPI FHIR server (UUID).
... meta SΣ 1..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile SΣ 1..* canonical(StructureDefinition) Profiles this resource claims to conform to.
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 0..* Identifier Additional identifiers for the practitioner role, if needed.
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... type Σ 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.
.... system SΣ 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value SΣ 1..1 string The value that is unique
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... active SΣ 1..1 boolean Indicates whether this practitioner role record is active.
... period SΣ 1..1 Period Period during which the practitioner is authorized to perform these roles.
... practitioner SΣ 1..1 Reference(Practitioner - ePrescription) Practitioner able to provide services under this role.
... organization Σ 0..1 Reference(Organization) Organization where the roles are available
... code SΣ 1..1 CodeableConcept Role(s) performed by the practitioner (e.g., DOCTOR, NURSE, PHARMACIST).
Binding: PractitionerRole (example): The role a person plays representing an organization.
... specialty SΣ 0..1 CodeableConcept Optional specialty of the practitioner (e.g., cardiology, oncology).
Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency.
... location Σ 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 Σ 0..* ContactPoint Contact details that are specific to the role/location/service
... 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 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the practitioner with this role

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
PractitionerRole.meta.​security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
PractitionerRole.meta.​tag Base example Common Tags 📍4.0.1 FHIR Std.
PractitionerRole.language Base preferred Common Languages 📍4.0.1 FHIR Std.
PractitionerRole.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
PractitionerRole.identifier.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
PractitionerRole.code Base example Practitioner role 📍4.0.1 FHIR Std.
PractitionerRole.specialty Base preferred Practice Setting Code Value Set 📍4.0.1 FHIR Std.
PractitionerRole.availableTime.​daysOfWeek Base required DaysOfWeek 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
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()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from PractitionerRole

Summary

Mandatory: 7 elements(2 nested mandatory elements)
Must-Support: 11 elements

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron