HL7 FHIR Implementation Guide: Rwanda HIV
0.1.0 - ci-build International flag

HL7 FHIR Implementation Guide: Rwanda HIV, published by Jembi Health Systems. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/openhie/Rwanda-HIV/ and changes regularly. See the Directory of published versions

Resource Profile: Practitioner

Official URL: http://moh.gov.rw/fhir/StructureDefinition/hiv-practitioner Version: 0.1.0
Active as of 2024-10-11 Computable Name: HIVPractitioner

Represents the practitioners: (1) who requested the VL lab order, (2) who must perform the VL examination and (3) who is responsible for interpreting the results.

Usage:

Formal Views of Profile Content

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

This structure is derived from Practitioner

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..* Practitioner A person with a formal responsibility in the provisioning of healthcare or related services
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... ClinicianUserIndex 1..1 integer Clinician User Index
URL: http://moh.gov.rw/fhir/StructureDefinition/clinician-user-index
... name S 0..1 HumanName The name(s) associated with the practitioner
.... family 1..1 string Family name (often called 'Surname')
.... given 1..* string Given names (not always 'first'). Includes middle names
... telecom
.... system
..... value 0..1 code Primitive value for code
Required Pattern: phone

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..* Practitioner A person with a formal responsibility in the provisioning of healthcare or related services
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... ClinicianUserIndex 1..1 integer Clinician User Index
URL: http://moh.gov.rw/fhir/StructureDefinition/clinician-user-index
... active ?!Σ 0..1 boolean Whether this practitioner's record is in active use
... name SΣ 0..1 HumanName The name(s) associated with the practitioner
.... use ?!Σ 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

.... family Σ 1..1 string Family name (often called 'Surname')
.... given Σ 1..* string Given names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Practitioner.name.userequiredNameUse
http://hl7.org/fhir/ValueSet/name-use|5.0.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPractitionerIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPractitionerIf 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-4errorPractitionerIf 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-5errorPractitionerIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePractitionerA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..* Practitioner A person with a formal responsibility in the provisioning of healthcare or related services
... id Σ 0..1 id 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
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... ClinicianUserIndex 1..1 integer Clinician User Index
URL: http://moh.gov.rw/fhir/StructureDefinition/clinician-user-index
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier An identifier for the person as this agent
... active ?!Σ 0..1 boolean Whether this practitioner's record is in active use
... name SΣ 0..1 HumanName The name(s) associated with the practitioner
.... id 0..1 id 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 | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

.... text Σ 0..1 string Text representation of the full name
.... family Σ 1..1 string Family name (often called 'Surname')
.... given Σ 1..* string Given names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... prefix Σ 0..* string Parts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
.... suffix Σ 0..* string Parts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
.... period Σ 0..1 Period Time period when name was/is in use
... telecom Σ 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... system ΣC 0..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.

..... id 0..1 string xml:id (or equivalent in JSON)
..... extension 0..* Extension Additional content defined by implementations
..... value 0..1 code Primitive value for code
Required Pattern: phone
.... value ΣC 0..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
... gender Σ 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate Σ 0..1 date The date on which the practitioner was born
... deceased[x] Σ 0..1 Indicates if the practitioner is deceased or not
.... deceasedBoolean boolean
.... deceasedDateTime dateTime
... address Σ 0..* Address Address(es) of the practitioner that are not role specific (typically home address)
... photo 0..* Attachment Image of the person
... qualification 0..* BackboneElement Qualifications, certifications, accreditations, licenses, training, etc. pertaining to the provision of care
.... 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
.... identifier 0..* Identifier An identifier for this qualification for the practitioner
.... code 1..1 CodeableConcept Coded representation of the qualification
Binding: hl7VS-degreeLicenseCertificate (example): Specific qualification the practitioner has to provide a service.

.... period 0..1 Period Period during which the qualification is valid
.... issuer 0..1 Reference(Organization) Organization that regulates and issues the qualification
... communication 0..* BackboneElement A language which may be used to communicate with the practitioner
.... 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
.... language 1..1 CodeableConcept The language code used to communicate with the practitioner
Binding: AllLanguages (required): IETF language tag for a human language

Additional BindingsPurpose
CommonLanguages Starter Set
.... preferred 0..1 boolean Language preference indicator

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Practitioner.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
Practitioner.name.userequiredNameUse
http://hl7.org/fhir/ValueSet/name-use|5.0.0
from the FHIR Standard
Practitioner.telecom.systemrequiredContactPointSystem
http://hl7.org/fhir/ValueSet/contact-point-system|5.0.0
from the FHIR Standard
Practitioner.telecom.userequiredContactPointUse
http://hl7.org/fhir/ValueSet/contact-point-use|5.0.0
from the FHIR Standard
Practitioner.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|5.0.0
from the FHIR Standard
Practitioner.qualification.codeexampleHl7VSDegreeLicenseCertificate
http://terminology.hl7.org/ValueSet/v2-0360
Practitioner.communication.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPractitionerIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPractitionerIf 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-4errorPractitionerIf 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-5errorPractitionerIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePractitionerA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Practitioner

Summary

Mandatory: 2 elements(2 nested mandatory elements)
Must-Support: 1 element

Extensions

This structure refers to these extensions:

Differential View

This structure is derived from Practitioner

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..* Practitioner A person with a formal responsibility in the provisioning of healthcare or related services
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... ClinicianUserIndex 1..1 integer Clinician User Index
URL: http://moh.gov.rw/fhir/StructureDefinition/clinician-user-index
... name S 0..1 HumanName The name(s) associated with the practitioner
.... family 1..1 string Family name (often called 'Surname')
.... given 1..* string Given names (not always 'first'). Includes middle names
... telecom
.... system
..... value 0..1 code Primitive value for code
Required Pattern: phone

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..* Practitioner A person with a formal responsibility in the provisioning of healthcare or related services
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... ClinicianUserIndex 1..1 integer Clinician User Index
URL: http://moh.gov.rw/fhir/StructureDefinition/clinician-user-index
... active ?!Σ 0..1 boolean Whether this practitioner's record is in active use
... name SΣ 0..1 HumanName The name(s) associated with the practitioner
.... use ?!Σ 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

.... family Σ 1..1 string Family name (often called 'Surname')
.... given Σ 1..* string Given names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Practitioner.name.userequiredNameUse
http://hl7.org/fhir/ValueSet/name-use|5.0.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPractitionerIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPractitionerIf 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-4errorPractitionerIf 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-5errorPractitionerIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePractitionerA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..* Practitioner A person with a formal responsibility in the provisioning of healthcare or related services
... id Σ 0..1 id 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
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... ClinicianUserIndex 1..1 integer Clinician User Index
URL: http://moh.gov.rw/fhir/StructureDefinition/clinician-user-index
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier An identifier for the person as this agent
... active ?!Σ 0..1 boolean Whether this practitioner's record is in active use
... name SΣ 0..1 HumanName The name(s) associated with the practitioner
.... id 0..1 id 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 | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

.... text Σ 0..1 string Text representation of the full name
.... family Σ 1..1 string Family name (often called 'Surname')
.... given Σ 1..* string Given names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... prefix Σ 0..* string Parts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
.... suffix Σ 0..* string Parts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
.... period Σ 0..1 Period Time period when name was/is in use
... telecom Σ 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... system ΣC 0..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.

..... id 0..1 string xml:id (or equivalent in JSON)
..... extension 0..* Extension Additional content defined by implementations
..... value 0..1 code Primitive value for code
Required Pattern: phone
.... value ΣC 0..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
... gender Σ 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate Σ 0..1 date The date on which the practitioner was born
... deceased[x] Σ 0..1 Indicates if the practitioner is deceased or not
.... deceasedBoolean boolean
.... deceasedDateTime dateTime
... address Σ 0..* Address Address(es) of the practitioner that are not role specific (typically home address)
... photo 0..* Attachment Image of the person
... qualification 0..* BackboneElement Qualifications, certifications, accreditations, licenses, training, etc. pertaining to the provision of care
.... 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
.... identifier 0..* Identifier An identifier for this qualification for the practitioner
.... code 1..1 CodeableConcept Coded representation of the qualification
Binding: hl7VS-degreeLicenseCertificate (example): Specific qualification the practitioner has to provide a service.

.... period 0..1 Period Period during which the qualification is valid
.... issuer 0..1 Reference(Organization) Organization that regulates and issues the qualification
... communication 0..* BackboneElement A language which may be used to communicate with the practitioner
.... 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
.... language 1..1 CodeableConcept The language code used to communicate with the practitioner
Binding: AllLanguages (required): IETF language tag for a human language

Additional BindingsPurpose
CommonLanguages Starter Set
.... preferred 0..1 boolean Language preference indicator

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Practitioner.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
Practitioner.name.userequiredNameUse
http://hl7.org/fhir/ValueSet/name-use|5.0.0
from the FHIR Standard
Practitioner.telecom.systemrequiredContactPointSystem
http://hl7.org/fhir/ValueSet/contact-point-system|5.0.0
from the FHIR Standard
Practitioner.telecom.userequiredContactPointUse
http://hl7.org/fhir/ValueSet/contact-point-use|5.0.0
from the FHIR Standard
Practitioner.genderrequiredAdministrativeGender
http://hl7.org/fhir/ValueSet/administrative-gender|5.0.0
from the FHIR Standard
Practitioner.qualification.codeexampleHl7VSDegreeLicenseCertificate
http://terminology.hl7.org/ValueSet/v2-0360
Practitioner.communication.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPractitionerIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPractitionerIf 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-4errorPractitionerIf 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-5errorPractitionerIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePractitionerA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Practitioner

Summary

Mandatory: 2 elements(2 nested mandatory elements)
Must-Support: 1 element

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron