HL7 FHIR Implementation Guide: Rwanda HIV
0.1.0 - STU1 International flag

HL7 FHIR Implementation Guide: Rwanda HIV, published by Jembi Health Systems. This is not an authorized publication; it is the continuous build for version 0.1.0). 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://openhie.org/fhir/rwanda-hiv/StructureDefinition/hiv-practitioner Version: 0.1.0
Active as of 2023-09-15 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..*PractitionerA person with a formal responsibility in the provisioning of healthcare or related services
... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
... ClinicianUserIndex 1..1integerClinician User Index
URL: http://openhie.org/fhir/rwanda-hiv/StructureDefinition/clinician-user-index
... name S0..1HumanNameThe name(s) associated with the practitioner
.... family 1..1stringFamily name (often called 'Surname')
.... given 1..*stringGiven names (not always 'first'). Includes middle names
.... system
..... value 0..1codePrimitive value for code
Required Pattern: phone

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..*PractitionerA person with a formal responsibility in the provisioning of healthcare or related services
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... active ?!Σ0..1booleanWhether this practitioner's record is in active use
... name SΣ0..1HumanNameThe name(s) associated with the practitioner
.... use ?!Σ0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

.... family Σ1..1stringFamily name (often called 'Surname')
.... given Σ1..*stringGiven 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

PathConformanceValueSet
Practitioner.name.userequiredNameUse

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..*PractitionerA person with a formal responsibility in the provisioning of healthcare or related services
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
... ClinicianUserIndex 1..1integerClinician User Index
URL: http://openhie.org/fhir/rwanda-hiv/StructureDefinition/clinician-user-index
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierAn identifier for the person as this agent
... active ?!Σ0..1booleanWhether this practitioner's record is in active use
... name SΣ0..1HumanNameThe name(s) associated with the practitioner
.... id 0..1idUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

.... text Σ0..1stringText representation of the full name
.... family Σ1..1stringFamily name (often called 'Surname')
.... given Σ1..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... prefix Σ0..*stringParts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
.... suffix Σ0..*stringParts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
.... period Σ0..1PeriodTime period when name was/is in use
... telecom Σ0..*ContactPointA contact detail for the practitioner (that apply to all roles)
.... id 0..1idUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... system ΣC0..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.

..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional content defined by implementations
..... value 0..1codePrimitive value for code
Required Pattern: phone
.... value ΣC0..1stringThe actual contact point details
.... use ?!Σ0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.

.... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
.... period Σ0..1PeriodTime period when the contact point was/is in use
... gender Σ0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate Σ0..1dateThe date on which the practitioner was born
... deceased[x] Σ0..1Indicates if the practitioner is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address Σ0..*AddressAddress(es) of the practitioner that are not role specific (typically home address)
... photo 0..*AttachmentImage of the person
... qualification 0..*BackboneElementQualifications, certifications, accreditations, licenses, training, etc. pertaining to the provision of care
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... identifier 0..*IdentifierAn identifier for this qualification for the practitioner
.... code 1..1CodeableConceptCoded representation of the qualification
Binding: hl7VS-degreeLicenseCertificate (example): Specific qualification the practitioner has to provide a service.

.... period 0..1PeriodPeriod during which the qualification is valid
.... issuer 0..1Reference(Organization)Organization that regulates and issues the qualification
... communication 0..*BackboneElementA language which may be used to communicate with the practitioner
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... language 1..1CodeableConceptThe language code used to communicate with the practitioner
Binding: AllLanguages (required): IETF language tag for a human language

.... preferred 0..1booleanLanguage preference indicator

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Practitioner.languagerequiredAllLanguages
Practitioner.name.userequiredNameUse
Practitioner.telecom.systemrequiredContactPointSystem
Practitioner.telecom.userequiredContactPointUse
Practitioner.genderrequiredAdministrativeGender
Practitioner.qualification.codeexampleHl7VSDegreeLicenseCertificate
Practitioner.communication.languagerequiredAllLanguages

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..*PractitionerA person with a formal responsibility in the provisioning of healthcare or related services
... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
... ClinicianUserIndex 1..1integerClinician User Index
URL: http://openhie.org/fhir/rwanda-hiv/StructureDefinition/clinician-user-index
... name S0..1HumanNameThe name(s) associated with the practitioner
.... family 1..1stringFamily name (often called 'Surname')
.... given 1..*stringGiven names (not always 'first'). Includes middle names
.... system
..... value 0..1codePrimitive value for code
Required Pattern: phone

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Practitioner 0..*PractitionerA person with a formal responsibility in the provisioning of healthcare or related services
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... active ?!Σ0..1booleanWhether this practitioner's record is in active use
... name SΣ0..1HumanNameThe name(s) associated with the practitioner
.... use ?!Σ0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

.... family Σ1..1stringFamily name (often called 'Surname')
.... given Σ1..*stringGiven 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

PathConformanceValueSet
Practitioner.name.userequiredNameUse

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..*PractitionerA person with a formal responsibility in the provisioning of healthcare or related services
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
... ClinicianUserIndex 1..1integerClinician User Index
URL: http://openhie.org/fhir/rwanda-hiv/StructureDefinition/clinician-user-index
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierAn identifier for the person as this agent
... active ?!Σ0..1booleanWhether this practitioner's record is in active use
... name SΣ0..1HumanNameThe name(s) associated with the practitioner
.... id 0..1idUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ0..1codeusual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.

.... text Σ0..1stringText representation of the full name
.... family Σ1..1stringFamily name (often called 'Surname')
.... given Σ1..*stringGiven names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... prefix Σ0..*stringParts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
.... suffix Σ0..*stringParts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
.... period Σ0..1PeriodTime period when name was/is in use
... telecom Σ0..*ContactPointA contact detail for the practitioner (that apply to all roles)
.... id 0..1idUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... system ΣC0..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.

..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional content defined by implementations
..... value 0..1codePrimitive value for code
Required Pattern: phone
.... value ΣC0..1stringThe actual contact point details
.... use ?!Σ0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.

.... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
.... period Σ0..1PeriodTime period when the contact point was/is in use
... gender Σ0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

... birthDate Σ0..1dateThe date on which the practitioner was born
... deceased[x] Σ0..1Indicates if the practitioner is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address Σ0..*AddressAddress(es) of the practitioner that are not role specific (typically home address)
... photo 0..*AttachmentImage of the person
... qualification 0..*BackboneElementQualifications, certifications, accreditations, licenses, training, etc. pertaining to the provision of care
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... identifier 0..*IdentifierAn identifier for this qualification for the practitioner
.... code 1..1CodeableConceptCoded representation of the qualification
Binding: hl7VS-degreeLicenseCertificate (example): Specific qualification the practitioner has to provide a service.

.... period 0..1PeriodPeriod during which the qualification is valid
.... issuer 0..1Reference(Organization)Organization that regulates and issues the qualification
... communication 0..*BackboneElementA language which may be used to communicate with the practitioner
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... language 1..1CodeableConceptThe language code used to communicate with the practitioner
Binding: AllLanguages (required): IETF language tag for a human language

.... preferred 0..1booleanLanguage preference indicator

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Practitioner.languagerequiredAllLanguages
Practitioner.name.userequiredNameUse
Practitioner.telecom.systemrequiredContactPointSystem
Practitioner.telecom.userequiredContactPointUse
Practitioner.genderrequiredAdministrativeGender
Practitioner.qualification.codeexampleHl7VSDegreeLicenseCertificate
Practitioner.communication.languagerequiredAllLanguages

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