Uzbekistan Digital Health Platform
0.5.0 - ci-build
Uzbekistan Digital Health Platform, published by Ministry of Health of the Republic of Uzbekistan. This guide is not an authorized publication; it is the continuous build for version 0.5.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/uzinfocom-org/digital-health-ig/ and changes regularly. See the Directory of published versions
| Official URL: https://dhp.uz/fhir/core/StructureDefinition/uz-core-practitioner-role | Version: 0.5.0 | ||||
| Active as of 2025-03-12 | Computable Name: UZCorePractitionerRole | ||||
Uzbekistan Core PractitionerRole profile, used to define roles of practitioners
UZ Core PractitionerRole is the join that places a Practitioner inside an Organization - and optionally at a Location or offering a HealthcareService - with a stated role and specialty. This is the context that clinical resources point to as the performer or requester: it answers "in what capacity, and on whose behalf, did this professional act". Roles and specialties are coded from the Tibtoifa-derived national value sets.
When a clinical resource records who acted, point it at the PractitionerRole, not the bare Practitioner: the same practitioner may hold several roles, and only the role captures the capacity - and the organization - they acted on behalf of.
The elements below must always be present (mandatory) or must be supported when the data is available (Must Support) - not all are required, but your system must populate each Must Support element when it has the data and process it on receipt. This is the human-readable summary; the formal views below give the exact cardinalities, types, and terminology bindings.
The base FHIR PractitionerRole has no mandatory elements, and this profile does not add any. In practice you will populate the practitioner and organization references together (see Must Support below).
code) - the position/profession, from the national role value set;Role and specialty are sliced to the DHP national code systems, but free text (
code.text) is allowed where a coded value is not available.
The examples below go from the smallest instance the server will accept to a fully coded role. Copy one and adapt it - every value shown validates against this profile. The complete reference instances are linked at the bottom of the page (coded role, free-text role).
The base resource has no mandatory elements and this profile adds none, but a PractitionerRole is only useful once it actually joins someone to somewhere. In practice the minimum you send is the practitioner (who is acting) and the organization (on whose behalf), both plain references, plus the active flag. Every UZ Core resource must also name the profile it claims to conform to in meta.profile:
{
"resourceType": "PractitionerRole",
"meta": {
"profile": ["https://dhp.uz/fhir/core/StructureDefinition/uz-core-practitioner-role"]
},
"active": true,
"practitioner": { "reference": "Practitioner/example-practitioner" },
"organization": { "reference": "Organization/example-organization" }
}
practitioner and organization are plain Reference values - the target sits directly under reference as Type/id. They point at a Practitioner and an Organization respectively.
In practice you state the capacity: the code (the position/profession) and the specialty (the clinical specialization), and where the role is delivered through healthcareService. Both code and specialty are lists of CodeableConcept (not CodeableReference), and each is sliced to a national DHP code system - so the system URI must match exactly. healthcareService is a list of plain references:
{
"resourceType": "PractitionerRole",
"meta": {
"profile": [ "https://dhp.uz/fhir/core/StructureDefinition/uz-core-practitioner-role" ]
},
"active": true,
"practitioner": { "reference": "Practitioner/example-practitioner" },
"organization": { "reference": "Organization/example-organization" },
"code": [
{
"coding": [
{
"system": "https://terminology.dhp.uz/fhir/core/CodeSystem/position-and-profession-cs",
"code": "2212.14",
"display": "Vrach ginekolog"
}
]
}
],
"specialty": [
{
"coding": [
{
"system": "https://terminology.dhp.uz/fhir/core/CodeSystem/profession-specialization-cs",
"code": "394585009",
"display": "Akusherlik va ginekologiya"
}
]
}
],
"healthcareService": [ { "reference": "HealthcareService/example-healthcareservice" } ]
}
The role code is drawn from the national position-and-profession-cs system and the specialty from profession-specialization-cs. These are the two sliced systems on this profile; using any other system simply leaves the slice unmatched. See Terminology for how the DHP code systems are sourced.
The role can also point at the Location where it is carried out. location (like healthcareService) is a list of plain references; both slot into the same resource as the coded role above:
{
"healthcareService": [
{ "reference": "HealthcareService/example-healthcareservice" }
],
"location": [
{ "reference": "Location/example-location" }
]
}
If the position is not yet in the national value set, do not invent a code - use the free-text code.text instead of a coding. The role still joins a practitioner to an organization, it just describes the capacity in words (full instance: free-text role):
{
"resourceType": "PractitionerRole",
"meta": {
"profile": ["https://dhp.uz/fhir/core/StructureDefinition/uz-core-practitioner-role"]
},
"active": true,
"practitioner": { "reference": "Practitioner/example-practitioner" },
"organization": { "reference": "Organization/example-organization" },
"code": [
{ "text": "Surgeon at Republican Specialized Scientific Center of Surgery, inpatient care" }
],
"healthcareService": [
{ "reference": "HealthcareService/example-healthcareservice" }
]
}
code.text carries the human-readable role; you can supply text alongside a coding, or on its own when no national code applies. See Missing & suppressed data for when to reach for free text over a code.
For example API calls and a sample payload, see the Quick Start at the bottom of this page.
Usages:
You can also check for usages in the FHIR IG Statistics
Description Differentials, Snapshots, and other representations.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | PractitionerRole(5.0.0) | Roles/organizations the practitioner is associated with | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Resource | Contained, inline Resources | |
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 |
![]() ![]() |
SΣ | 0..* | Identifier | Identifiers for a role/location |
![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUseVS (0.5.0) (required) |
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Description of identifier Binding: IdentifierTypeVS (0.5.0) (required) |
![]() ![]() |
SΣ | 0..1 | boolean | Whether this practitioner role record is in active use |
![]() ![]() |
SΣ | 0..1 | Reference(Practitioner) | Practitioner that provides services for the organization |
![]() ![]() |
SΣ | 0..1 | Reference(Organization) | Organization where the roles are available |
![]() ![]() |
SΣ | 0..* | CodeableConcept | Roles which this practitioner may perform Binding: PractitionerRole (example): The role a person plays representing an organization. |
![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() ![]() |
SΣ | 1..1 | uri | Identity of the terminology system Required Pattern: https://terminology.dhp.uz/fhir/core/CodeSystem/position-and-profession-cs |
![]() ![]() ![]() ![]() ![]() |
SΣC | 1..1 | code | Symbol in syntax defined by the system Binding: PractitionerRoleVS (0.5.0) (required) |
![]() ![]() |
SΣ | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency. |
![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() ![]() |
SΣ | 1..1 | uri | Identity of the terminology system Required Pattern: https://terminology.dhp.uz/fhir/core/CodeSystem/profession-specialization-cs |
![]() ![]() ![]() ![]() ![]() |
SΣC | 1..1 | code | Symbol in syntax defined by the system Binding: ProfessionSpecializationVS (0.5.0) (required) |
![]() ![]() |
SΣ | 0..* | Reference(Location) | Location(s) where the practitioner provides care |
![]() ![]() |
S | 0..* | Reference(HealthcareService) | Healthcare services provided for this role's Organization/Location(s) |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| PractitionerRole.identifier.use | Base | required | Types of possible identifier uses | 📍0.5.0 | This IG |
| PractitionerRole.identifier.type | Base | required | Types of possible identifiers | 📍0.5.0 | This IG |
| PractitionerRole.code | Base | example | Practitioner Role | 📍5.0.0 | FHIR Std. |
| PractitionerRole.code.coding:role.code | Base | required | Practitioner roles | 📍0.5.0 | This IG |
| PractitionerRole.specialty | Base | preferred | Practice Setting Code Value Set | 📍5.0.0 | FHIR Std. |
| PractitionerRole.specialty.coding:dhpSpecialty.code | Base | required | Profession specializations | 📍0.5.0 | This IG |
| 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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 | PractitionerRole.implicitRules, PractitionerRole.modifierExtension, PractitionerRole.identifier, PractitionerRole.identifier.use, PractitionerRole.identifier.type, PractitionerRole.active, PractitionerRole.practitioner, PractitionerRole.organization, PractitionerRole.code, PractitionerRole.code.coding, PractitionerRole.code.coding:role, PractitionerRole.code.coding:role.system, PractitionerRole.code.coding:role.code, PractitionerRole.specialty, PractitionerRole.specialty.coding, PractitionerRole.specialty.coding:dhpSpecialty, PractitionerRole.specialty.coding:dhpSpecialty.system, PractitionerRole.specialty.coding:dhpSpecialty.code, PractitionerRole.location, PractitionerRole.healthcareService | 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()
|
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | PractitionerRole(5.0.0) | Roles/organizations the practitioner is associated with | |
![]() ![]() |
S | 0..* | Identifier | Identifiers for a role/location |
![]() ![]() ![]() |
0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUseVS (0.5.0) (required) | |
![]() ![]() ![]() |
0..1 | CodeableConcept | Description of identifier Binding: IdentifierTypeVS (0.5.0) (required) | |
![]() ![]() |
S | 0..1 | boolean | Whether this practitioner role record is in active use |
![]() ![]() |
S | 0..1 | Reference(Practitioner) | Practitioner that provides services for the organization |
![]() ![]() |
S | 0..1 | Reference(Organization) | Organization where the roles are available |
![]() ![]() |
S | 0..* | CodeableConcept | Roles which this practitioner may perform |
![]() ![]() ![]() |
0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system | |
![]() ![]() ![]() ![]() |
S | 0..1 | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | uri | Identity of the terminology system Required Pattern: https://terminology.dhp.uz/fhir/core/CodeSystem/position-and-profession-cs |
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | code | Symbol in syntax defined by the system Binding: PractitionerRoleVS (0.5.0) (required) |
![]() ![]() |
S | 0..* | CodeableConcept | Specific specialty of the practitioner |
![]() ![]() ![]() |
0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system | |
![]() ![]() ![]() ![]() |
S | 0..1 | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | uri | Identity of the terminology system Required Pattern: https://terminology.dhp.uz/fhir/core/CodeSystem/profession-specialization-cs |
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | code | Symbol in syntax defined by the system Binding: ProfessionSpecializationVS (0.5.0) (required) |
![]() ![]() |
S | 0..* | Reference(Location) | Location(s) where the practitioner provides care |
![]() ![]() |
S | 0..* | Reference(HealthcareService) | Healthcare services provided for this role's Organization/Location(s) |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| PractitionerRole.identifier.use | Base | required | Types of possible identifier uses | 📍0.5.0 | This IG |
| PractitionerRole.identifier.type | Base | required | Types of possible identifiers | 📍0.5.0 | This IG |
| PractitionerRole.code.coding:role.code | Base | required | Practitioner roles | 📍0.5.0 | This IG |
| PractitionerRole.specialty.coding:dhpSpecialty.code | Base | required | Profession specializations | 📍0.5.0 | This IG |
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | PractitionerRole(5.0.0) | Roles/organizations the practitioner is associated with | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 | ||||
![]() ![]() |
SΣ | 0..* | Identifier | Identifiers for a role/location | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUseVS (0.5.0) (required) | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Description of identifier Binding: IdentifierTypeVS (0.5.0) (required) | ||||
![]() ![]() ![]() |
Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | ||||
![]() ![]() ![]() |
ΣC | 0..1 | string | The value that is unique Example General: 123456 | ||||
![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
![]() ![]() |
SΣ | 0..1 | boolean | Whether this practitioner role record is in active use | ||||
![]() ![]() |
Σ | 0..1 | Period | The period during which the practitioner is authorized to perform in these role(s) | ||||
![]() ![]() |
SΣ | 0..1 | Reference(Practitioner) | Practitioner that provides services for the organization | ||||
![]() ![]() |
SΣ | 0..1 | Reference(Organization) | Organization where the roles are available | ||||
![]() ![]() |
SΣ | 0..* | CodeableConcept | Roles which this practitioner may perform Binding: PractitionerRole (example): The role a person plays representing an organization. | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system | ||||
![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
SΣ | 1..1 | uri | Identity of the terminology system Required Pattern: https://terminology.dhp.uz/fhir/core/CodeSystem/position-and-profession-cs | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() |
SΣC | 1..1 | code | Symbol in syntax defined by the system Binding: PractitionerRoleVS (0.5.0) (required) | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
SΣ | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency. | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system | ||||
![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
SΣ | 1..1 | uri | Identity of the terminology system Required Pattern: https://terminology.dhp.uz/fhir/core/CodeSystem/profession-specialization-cs | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() |
SΣC | 1..1 | code | Symbol in syntax defined by the system Binding: ProfessionSpecializationVS (0.5.0) (required) | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
SΣ | 0..* | Reference(Location) | Location(s) where the practitioner provides care | ||||
![]() ![]() |
S | 0..* | Reference(HealthcareService) | Healthcare services provided for this role's Organization/Location(s) | ||||
![]() ![]() |
0..* | ExtendedContactDetail | Official contact details relating to this PractitionerRole | |||||
![]() ![]() |
0..* | CodeableConcept | Collection of characteristics (attributes) Binding: ServiceMode (example): A custom attribute that could be provided at a service (e.g. Wheelchair accessibility). | |||||
![]() ![]() |
0..* | CodeableConcept | A language the practitioner (in this role) can use in patient communication Binding: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
0..* | Availability | Times the Practitioner is available at this location and/or healthcare service (including exceptions) | |||||
![]() ![]() |
0..* | Reference(Endpoint) | Endpoints for interacting with the practitioner in this role | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| PractitionerRole.language | Base | required | All Languages | 📍5.0.0 | FHIR Std. |
| PractitionerRole.identifier.use | Base | required | Types of possible identifier uses | 📍0.5.0 | This IG |
| PractitionerRole.identifier.type | Base | required | Types of possible identifiers | 📍0.5.0 | This IG |
| PractitionerRole.code | Base | example | Practitioner Role | 📍5.0.0 | FHIR Std. |
| PractitionerRole.code.coding:role.code | Base | required | Practitioner roles | 📍0.5.0 | This IG |
| PractitionerRole.specialty | Base | preferred | Practice Setting Code Value Set | 📍5.0.0 | FHIR Std. |
| PractitionerRole.specialty.coding:dhpSpecialty.code | Base | required | Profession specializations | 📍0.5.0 | This IG |
| PractitionerRole.characteristic | Base | example | Service Mode | 📍5.0.0 | FHIR Std. |
| PractitionerRole.communication | Base | required | All Languages | 📍5.0.0 | FHIR Std. |
| 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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 | PractitionerRole.meta, PractitionerRole.implicitRules, PractitionerRole.language, PractitionerRole.text, PractitionerRole.extension, PractitionerRole.modifierExtension, PractitionerRole.identifier, PractitionerRole.identifier.extension, PractitionerRole.identifier.use, PractitionerRole.identifier.type, PractitionerRole.identifier.system, PractitionerRole.identifier.value, PractitionerRole.identifier.period, PractitionerRole.identifier.assigner, PractitionerRole.active, PractitionerRole.period, PractitionerRole.practitioner, PractitionerRole.organization, PractitionerRole.code, PractitionerRole.code.extension, PractitionerRole.code.coding, PractitionerRole.code.coding:role, PractitionerRole.code.coding:role.extension, PractitionerRole.code.coding:role.system, PractitionerRole.code.coding:role.version, PractitionerRole.code.coding:role.code, PractitionerRole.code.coding:role.display, PractitionerRole.code.coding:role.userSelected, PractitionerRole.code.text, PractitionerRole.specialty, PractitionerRole.specialty.extension, PractitionerRole.specialty.coding, PractitionerRole.specialty.coding:dhpSpecialty, PractitionerRole.specialty.coding:dhpSpecialty.extension, PractitionerRole.specialty.coding:dhpSpecialty.system, PractitionerRole.specialty.coding:dhpSpecialty.version, PractitionerRole.specialty.coding:dhpSpecialty.code, PractitionerRole.specialty.coding:dhpSpecialty.display, PractitionerRole.specialty.coding:dhpSpecialty.userSelected, PractitionerRole.specialty.text, PractitionerRole.location, PractitionerRole.healthcareService, PractitionerRole.contact, PractitionerRole.characteristic, PractitionerRole.communication, PractitionerRole.availability, PractitionerRole.endpoint | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | PractitionerRole.extension, PractitionerRole.modifierExtension, PractitionerRole.identifier.extension, PractitionerRole.code.extension, PractitionerRole.code.coding:role.extension, PractitionerRole.specialty.extension, PractitionerRole.specialty.coding:dhpSpecialty.extension | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
Summary
Mandatory: 0 element(4 nested mandatory elements)
Must-Support: 14 elements
Slices
This structure defines the following Slices:
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | PractitionerRole(5.0.0) | Roles/organizations the practitioner is associated with | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Resource | Contained, inline Resources | |
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 |
![]() ![]() |
SΣ | 0..* | Identifier | Identifiers for a role/location |
![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUseVS (0.5.0) (required) |
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Description of identifier Binding: IdentifierTypeVS (0.5.0) (required) |
![]() ![]() |
SΣ | 0..1 | boolean | Whether this practitioner role record is in active use |
![]() ![]() |
SΣ | 0..1 | Reference(Practitioner) | Practitioner that provides services for the organization |
![]() ![]() |
SΣ | 0..1 | Reference(Organization) | Organization where the roles are available |
![]() ![]() |
SΣ | 0..* | CodeableConcept | Roles which this practitioner may perform Binding: PractitionerRole (example): The role a person plays representing an organization. |
![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() ![]() |
SΣ | 1..1 | uri | Identity of the terminology system Required Pattern: https://terminology.dhp.uz/fhir/core/CodeSystem/position-and-profession-cs |
![]() ![]() ![]() ![]() ![]() |
SΣC | 1..1 | code | Symbol in syntax defined by the system Binding: PractitionerRoleVS (0.5.0) (required) |
![]() ![]() |
SΣ | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency. |
![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system |
![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() ![]() |
SΣ | 1..1 | uri | Identity of the terminology system Required Pattern: https://terminology.dhp.uz/fhir/core/CodeSystem/profession-specialization-cs |
![]() ![]() ![]() ![]() ![]() |
SΣC | 1..1 | code | Symbol in syntax defined by the system Binding: ProfessionSpecializationVS (0.5.0) (required) |
![]() ![]() |
SΣ | 0..* | Reference(Location) | Location(s) where the practitioner provides care |
![]() ![]() |
S | 0..* | Reference(HealthcareService) | Healthcare services provided for this role's Organization/Location(s) |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| PractitionerRole.identifier.use | Base | required | Types of possible identifier uses | 📍0.5.0 | This IG |
| PractitionerRole.identifier.type | Base | required | Types of possible identifiers | 📍0.5.0 | This IG |
| PractitionerRole.code | Base | example | Practitioner Role | 📍5.0.0 | FHIR Std. |
| PractitionerRole.code.coding:role.code | Base | required | Practitioner roles | 📍0.5.0 | This IG |
| PractitionerRole.specialty | Base | preferred | Practice Setting Code Value Set | 📍5.0.0 | FHIR Std. |
| PractitionerRole.specialty.coding:dhpSpecialty.code | Base | required | Profession specializations | 📍0.5.0 | This IG |
| 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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 | PractitionerRole.implicitRules, PractitionerRole.modifierExtension, PractitionerRole.identifier, PractitionerRole.identifier.use, PractitionerRole.identifier.type, PractitionerRole.active, PractitionerRole.practitioner, PractitionerRole.organization, PractitionerRole.code, PractitionerRole.code.coding, PractitionerRole.code.coding:role, PractitionerRole.code.coding:role.system, PractitionerRole.code.coding:role.code, PractitionerRole.specialty, PractitionerRole.specialty.coding, PractitionerRole.specialty.coding:dhpSpecialty, PractitionerRole.specialty.coding:dhpSpecialty.system, PractitionerRole.specialty.coding:dhpSpecialty.code, PractitionerRole.location, PractitionerRole.healthcareService | 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()
|
Differential View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | PractitionerRole(5.0.0) | Roles/organizations the practitioner is associated with | |
![]() ![]() |
S | 0..* | Identifier | Identifiers for a role/location |
![]() ![]() ![]() |
0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUseVS (0.5.0) (required) | |
![]() ![]() ![]() |
0..1 | CodeableConcept | Description of identifier Binding: IdentifierTypeVS (0.5.0) (required) | |
![]() ![]() |
S | 0..1 | boolean | Whether this practitioner role record is in active use |
![]() ![]() |
S | 0..1 | Reference(Practitioner) | Practitioner that provides services for the organization |
![]() ![]() |
S | 0..1 | Reference(Organization) | Organization where the roles are available |
![]() ![]() |
S | 0..* | CodeableConcept | Roles which this practitioner may perform |
![]() ![]() ![]() |
0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system | |
![]() ![]() ![]() ![]() |
S | 0..1 | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | uri | Identity of the terminology system Required Pattern: https://terminology.dhp.uz/fhir/core/CodeSystem/position-and-profession-cs |
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | code | Symbol in syntax defined by the system Binding: PractitionerRoleVS (0.5.0) (required) |
![]() ![]() |
S | 0..* | CodeableConcept | Specific specialty of the practitioner |
![]() ![]() ![]() |
0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system | |
![]() ![]() ![]() ![]() |
S | 0..1 | Coding | Code defined by a terminology system |
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | uri | Identity of the terminology system Required Pattern: https://terminology.dhp.uz/fhir/core/CodeSystem/profession-specialization-cs |
![]() ![]() ![]() ![]() ![]() |
S | 1..1 | code | Symbol in syntax defined by the system Binding: ProfessionSpecializationVS (0.5.0) (required) |
![]() ![]() |
S | 0..* | Reference(Location) | Location(s) where the practitioner provides care |
![]() ![]() |
S | 0..* | Reference(HealthcareService) | Healthcare services provided for this role's Organization/Location(s) |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| PractitionerRole.identifier.use | Base | required | Types of possible identifier uses | 📍0.5.0 | This IG |
| PractitionerRole.identifier.type | Base | required | Types of possible identifiers | 📍0.5.0 | This IG |
| PractitionerRole.code.coding:role.code | Base | required | Practitioner roles | 📍0.5.0 | This IG |
| PractitionerRole.specialty.coding:dhpSpecialty.code | Base | required | Profession specializations | 📍0.5.0 | This IG |
Snapshot ViewView
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | PractitionerRole(5.0.0) | Roles/organizations the practitioner is associated with | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 | ||||
![]() ![]() |
SΣ | 0..* | Identifier | Identifiers for a role/location | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() |
?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUseVS (0.5.0) (required) | ||||
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | Description of identifier Binding: IdentifierTypeVS (0.5.0) (required) | ||||
![]() ![]() ![]() |
Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | ||||
![]() ![]() ![]() |
ΣC | 0..1 | string | The value that is unique Example General: 123456 | ||||
![]() ![]() ![]() |
Σ | 0..1 | Period | Time period when id is/was valid for use | ||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) | ||||
![]() ![]() |
SΣ | 0..1 | boolean | Whether this practitioner role record is in active use | ||||
![]() ![]() |
Σ | 0..1 | Period | The period during which the practitioner is authorized to perform in these role(s) | ||||
![]() ![]() |
SΣ | 0..1 | Reference(Practitioner) | Practitioner that provides services for the organization | ||||
![]() ![]() |
SΣ | 0..1 | Reference(Organization) | Organization where the roles are available | ||||
![]() ![]() |
SΣ | 0..* | CodeableConcept | Roles which this practitioner may perform Binding: PractitionerRole (example): The role a person plays representing an organization. | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system | ||||
![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
SΣ | 1..1 | uri | Identity of the terminology system Required Pattern: https://terminology.dhp.uz/fhir/core/CodeSystem/position-and-profession-cs | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() |
SΣC | 1..1 | code | Symbol in syntax defined by the system Binding: PractitionerRoleVS (0.5.0) (required) | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
SΣ | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency. | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Code defined by a terminology system Slice: Unordered, Open by value:system | ||||
![]() ![]() ![]() ![]() |
SΣ | 0..1 | Coding | Code defined by a terminology system | ||||
![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url Constraints: ext-1 | |||||
![]() ![]() ![]() ![]() ![]() |
SΣ | 1..1 | uri | Identity of the terminology system Required Pattern: https://terminology.dhp.uz/fhir/core/CodeSystem/profession-specialization-cs | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | string | Version of the system - if relevant | ||||
![]() ![]() ![]() ![]() ![]() |
SΣC | 1..1 | code | Symbol in syntax defined by the system Binding: ProfessionSpecializationVS (0.5.0) (required) | ||||
![]() ![]() ![]() ![]() ![]() |
ΣC | 0..1 | string | Representation defined by the system | ||||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Plain text representation of the concept | ||||
![]() ![]() |
SΣ | 0..* | Reference(Location) | Location(s) where the practitioner provides care | ||||
![]() ![]() |
S | 0..* | Reference(HealthcareService) | Healthcare services provided for this role's Organization/Location(s) | ||||
![]() ![]() |
0..* | ExtendedContactDetail | Official contact details relating to this PractitionerRole | |||||
![]() ![]() |
0..* | CodeableConcept | Collection of characteristics (attributes) Binding: ServiceMode (example): A custom attribute that could be provided at a service (e.g. Wheelchair accessibility). | |||||
![]() ![]() |
0..* | CodeableConcept | A language the practitioner (in this role) can use in patient communication Binding: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
0..* | Availability | Times the Practitioner is available at this location and/or healthcare service (including exceptions) | |||||
![]() ![]() |
0..* | Reference(Endpoint) | Endpoints for interacting with the practitioner in this role | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| PractitionerRole.language | Base | required | All Languages | 📍5.0.0 | FHIR Std. |
| PractitionerRole.identifier.use | Base | required | Types of possible identifier uses | 📍0.5.0 | This IG |
| PractitionerRole.identifier.type | Base | required | Types of possible identifiers | 📍0.5.0 | This IG |
| PractitionerRole.code | Base | example | Practitioner Role | 📍5.0.0 | FHIR Std. |
| PractitionerRole.code.coding:role.code | Base | required | Practitioner roles | 📍0.5.0 | This IG |
| PractitionerRole.specialty | Base | preferred | Practice Setting Code Value Set | 📍5.0.0 | FHIR Std. |
| PractitionerRole.specialty.coding:dhpSpecialty.code | Base | required | Profession specializations | 📍0.5.0 | This IG |
| PractitionerRole.characteristic | Base | example | Service Mode | 📍5.0.0 | FHIR Std. |
| PractitionerRole.communication | Base | required | All Languages | 📍5.0.0 | FHIR Std. |
| 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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 | PractitionerRole.meta, PractitionerRole.implicitRules, PractitionerRole.language, PractitionerRole.text, PractitionerRole.extension, PractitionerRole.modifierExtension, PractitionerRole.identifier, PractitionerRole.identifier.extension, PractitionerRole.identifier.use, PractitionerRole.identifier.type, PractitionerRole.identifier.system, PractitionerRole.identifier.value, PractitionerRole.identifier.period, PractitionerRole.identifier.assigner, PractitionerRole.active, PractitionerRole.period, PractitionerRole.practitioner, PractitionerRole.organization, PractitionerRole.code, PractitionerRole.code.extension, PractitionerRole.code.coding, PractitionerRole.code.coding:role, PractitionerRole.code.coding:role.extension, PractitionerRole.code.coding:role.system, PractitionerRole.code.coding:role.version, PractitionerRole.code.coding:role.code, PractitionerRole.code.coding:role.display, PractitionerRole.code.coding:role.userSelected, PractitionerRole.code.text, PractitionerRole.specialty, PractitionerRole.specialty.extension, PractitionerRole.specialty.coding, PractitionerRole.specialty.coding:dhpSpecialty, PractitionerRole.specialty.coding:dhpSpecialty.extension, PractitionerRole.specialty.coding:dhpSpecialty.system, PractitionerRole.specialty.coding:dhpSpecialty.version, PractitionerRole.specialty.coding:dhpSpecialty.code, PractitionerRole.specialty.coding:dhpSpecialty.display, PractitionerRole.specialty.coding:dhpSpecialty.userSelected, PractitionerRole.specialty.text, PractitionerRole.location, PractitionerRole.healthcareService, PractitionerRole.contact, PractitionerRole.characteristic, PractitionerRole.communication, PractitionerRole.availability, PractitionerRole.endpoint | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | PractitionerRole.extension, PractitionerRole.modifierExtension, PractitionerRole.identifier.extension, PractitionerRole.code.extension, PractitionerRole.code.coding:role.extension, PractitionerRole.specialty.extension, PractitionerRole.specialty.coding:dhpSpecialty.extension | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
Summary
Mandatory: 0 element(4 nested mandatory elements)
Must-Support: 14 elements
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron
Common API interactions for this profile. Requests require a JWT access token - see Security and authentication. [base] is the FHIR server base URL; | separates a code system from its value and must be URL-encoded as %7C.
Read a practitioner role by server id
GET [base]/PractitionerRole/[id]
Find the roles a practitioner holds, or who works in an organization
GET [base]/PractitionerRole?practitioner=Practitioner/[id]&active=true
GET [base]/PractitionerRole?organization=Organization/[id]
GET [base]/PractitionerRole?specialty=https://terminology.dhp.uz/fhir/core/CodeSystem/profession-specialization-cs|394585009
GET [base]/PractitionerRole?role=https://terminology.dhp.uz/fhir/core/CodeSystem/position-and-profession-cs|2212.14&location=Location/[id]
Create a new practitioner role
POST [base]/PractitionerRole
{
"resourceType": "PractitionerRole",
"meta": {
"profile": [ "https://dhp.uz/fhir/core/StructureDefinition/uz-core-practitioner-role" ]
},
...
}
Update an existing practitioner role
PUT [base]/PractitionerRole/[id]
If-Match: W/"3" # the ETag from your last read; 412 if it changed since
{
"resourceType": "PractitionerRole",
"id": "[id]",
"meta": {
"profile": [ "https://dhp.uz/fhir/core/StructureDefinition/uz-core-practitioner-role" ]
},
...
}
See the CapabilityStatement for the full list of supported search parameters.