openIMIS FHIR R4 Implementation Guide
1.0.0 - ci-build
openIMIS FHIR R4 Implementation Guide - Local Development build (v1.0.0). See the Directory of published versions
Official URL: https://openimis.github.io/openimis_fhir_r4_ig/StructureDefinition/openimis-enrolment-officer-practitioner-role | Version: 1.0.0 | |||
Active as of 2022-05-31 | Responsible: openIMIS Initiative | Computable Name: OpenIMISEnrolmentOfficerPractitionerRole |
Defines a Enrolment Officer Practitioner Role for openIMIS.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from PractitionerRole
Summary
Mandatory: 5 elements (6 nested mandatory elements)
Must-Support: 2 elements
Prohibited: 9 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
This structure is derived from PractitionerRole
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PractitionerRole | 0..* | PractitionerRole | Roles/organizations the practitioner is associated with | |
id | 0..1 | string | Practitioner UUID | |
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
practitioner-role-substitution-reference | 0..1 | Reference(openIMIS Enrolment Officer Practitioner) | Substitution URL: https://openimis.github.io/openimis_fhir_r4_ig/StructureDefinition/practitioner-role-substitution-reference | |
Slices for identifier | S | 1..* | Identifier | Business Identifiers that are specific to a role/location Slice: Unordered, Closed by value:type.coding.code |
identifier:All Slices | Content/Rules for all slices | |||
type | 1..1 | CodeableConcept | Description of identifier | |
coding | ||||
code | 0..1 | code | Symbol in syntax defined by the system Binding: openIMIS Identifiers Value Set (required) | |
value | 1..1 | string | The value that is unique | |
identifier:Code | S | 1..1 | Identifier | Business Identifiers that are specific to a role/location |
type | ||||
coding | ||||
code | 1..1 | code | openIMIS Code Required Pattern: Code | |
identifier:UUID | 0..1 | Identifier | Business Identifiers that are specific to a role/location | |
type | ||||
coding | ||||
code | 1..1 | code | openIMIS UUID Required Pattern: UUID | |
active | 0..0 | |||
period | ||||
start | 0..0 | |||
end | 1..1 | dateTime | Works To | |
practitioner | 1..1 | Reference(openIMIS Enrolment Officer Practitioner) | Practitioner that is able to provide the defined services for the organization | |
organization | 0..0 | |||
code | 0..* | CodeableConcept | Roles which this practitioner may perform Required Pattern: At least the following | |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: https://openimis.github.io/openimis_fhir_r4_ig/CodeSystem/practitioner-qualification-type | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: EO | |
display | 1..1 | string | Representation defined by the system Fixed Value: Enrolment Officer | |
specialty | 0..0 | |||
location | 0..* | Reference(openIMIS Location) | The location(s) at which this practitioner provides care | |
healthcareService | 0..0 | |||
Slices for telecom | 0..2 | ContactPoint | Contact details that are specific to the role/location/service Slice: Unordered, Closed by value:system | |
telecom:All Slices | Content/Rules for all slices | |||
value | 1..1 | string | The actual contact point details | |
telecom:email | 0..1 | ContactPoint | Enrolment Officer email | |
system | 1..1 | code | phone | fax | email | pager | url | sms | other Required Pattern: email | |
telecom:phone | 0..1 | ContactPoint | Enrolment Officer phone | |
system | 1..1 | code | phone | fax | email | pager | url | sms | other Required Pattern: phone | |
availableTime | 0..0 | |||
notAvailable | 0..0 | |||
availabilityExceptions | 0..0 | |||
endpoint | 0..0 | |||
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
PractitionerRole | 0..* | PractitionerRole | Roles/organizations the practitioner is associated with | |||||
id | Σ | 0..1 | string | Practitioner UUID | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
practitioner-role-substitution-reference | 0..1 | Reference(openIMIS Enrolment Officer Practitioner) | Substitution URL: https://openimis.github.io/openimis_fhir_r4_ig/StructureDefinition/practitioner-role-substitution-reference | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
Slices for identifier | SΣ | 1..* | Identifier | Business Identifiers that are specific to a role/location Slice: Unordered, Closed by value:type.coding.code | ||||
identifier:All Slices | Content/Rules for all slices | |||||||
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 | Σ | 1..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. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 0..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 0..1 | code | Symbol in syntax defined by the system Binding: openIMIS Identifiers Value Set (required) | ||||
display | Σ | 0..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
system | Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | ||||
value | Σ | 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) | ||||
identifier:Code | SΣ | 1..1 | Identifier | Business Identifiers that are specific to a role/location | ||||
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. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 0..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | openIMIS Code Required Pattern: Code | ||||
display | Σ | 0..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
system | Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | ||||
value | Σ | 0..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) | ||||
identifier:UUID | Σ | 0..1 | Identifier | Business Identifiers that are specific to a role/location | ||||
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. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 0..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | openIMIS UUID Required Pattern: UUID | ||||
display | Σ | 0..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
system | Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | ||||
value | Σ | 0..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) | ||||
period | Σ | 0..1 | Period | The period during which the practitioner is authorized to perform in these role(s) | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
end | ΣI | 1..1 | dateTime | Works To | ||||
practitioner | Σ | 1..1 | Reference(openIMIS Enrolment Officer Practitioner) | Practitioner that is able to provide the defined services for the organization | ||||
code | Σ | 0..* | CodeableConcept | Roles which this practitioner may perform Binding: PractitionerRole (example): The role a person plays representing an organization. Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: https://openimis.github.io/openimis_fhir_r4_ig/CodeSystem/practitioner-qualification-type | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: EO | |||||
display | 1..1 | string | Representation defined by the system Fixed Value: Enrolment Officer | |||||
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
text | 0..1 | string | Plain text representation of the concept | |||||
location | Σ | 0..* | Reference(openIMIS Location) | The location(s) at which this practitioner provides care | ||||
Slices for telecom | Σ | 0..2 | ContactPoint | Contact details that are specific to the role/location/service Slice: Unordered, Closed by value:system | ||||
telecom:All Slices | Content/Rules for all slices | |||||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | ΣI | 0..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. | ||||
value | Σ | 1..1 | string | The actual contact point details | ||||
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 | ||||
telecom:email | Σ | 0..1 | ContactPoint | Enrolment Officer email | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | ΣI | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. Required Pattern: email | ||||
value | Σ | 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 | ||||
telecom:phone | Σ | 0..1 | ContactPoint | Enrolment Officer phone | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | ΣI | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. Required Pattern: phone | ||||
value | Σ | 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 | ||||
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PractitionerRole | 0..* | PractitionerRole | Roles/organizations the practitioner is associated with | |
Slices for identifier | Σ | 1..* | Identifier | Business Identifiers that are specific to a role/location Slice: Unordered, Closed by value:type.coding.code |
identifier:Code | Σ | 1..1 | Identifier | Business Identifiers that are specific to a role/location |
Documentation for this format |
This structure is derived from PractitionerRole
Summary
Mandatory: 5 elements (6 nested mandatory elements)
Must-Support: 2 elements
Prohibited: 9 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Differential View
This structure is derived from PractitionerRole
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PractitionerRole | 0..* | PractitionerRole | Roles/organizations the practitioner is associated with | |
id | 0..1 | string | Practitioner UUID | |
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
practitioner-role-substitution-reference | 0..1 | Reference(openIMIS Enrolment Officer Practitioner) | Substitution URL: https://openimis.github.io/openimis_fhir_r4_ig/StructureDefinition/practitioner-role-substitution-reference | |
Slices for identifier | S | 1..* | Identifier | Business Identifiers that are specific to a role/location Slice: Unordered, Closed by value:type.coding.code |
identifier:All Slices | Content/Rules for all slices | |||
type | 1..1 | CodeableConcept | Description of identifier | |
coding | ||||
code | 0..1 | code | Symbol in syntax defined by the system Binding: openIMIS Identifiers Value Set (required) | |
value | 1..1 | string | The value that is unique | |
identifier:Code | S | 1..1 | Identifier | Business Identifiers that are specific to a role/location |
type | ||||
coding | ||||
code | 1..1 | code | openIMIS Code Required Pattern: Code | |
identifier:UUID | 0..1 | Identifier | Business Identifiers that are specific to a role/location | |
type | ||||
coding | ||||
code | 1..1 | code | openIMIS UUID Required Pattern: UUID | |
active | 0..0 | |||
period | ||||
start | 0..0 | |||
end | 1..1 | dateTime | Works To | |
practitioner | 1..1 | Reference(openIMIS Enrolment Officer Practitioner) | Practitioner that is able to provide the defined services for the organization | |
organization | 0..0 | |||
code | 0..* | CodeableConcept | Roles which this practitioner may perform Required Pattern: At least the following | |
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |
system | 1..1 | uri | Identity of the terminology system Fixed Value: https://openimis.github.io/openimis_fhir_r4_ig/CodeSystem/practitioner-qualification-type | |
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: EO | |
display | 1..1 | string | Representation defined by the system Fixed Value: Enrolment Officer | |
specialty | 0..0 | |||
location | 0..* | Reference(openIMIS Location) | The location(s) at which this practitioner provides care | |
healthcareService | 0..0 | |||
Slices for telecom | 0..2 | ContactPoint | Contact details that are specific to the role/location/service Slice: Unordered, Closed by value:system | |
telecom:All Slices | Content/Rules for all slices | |||
value | 1..1 | string | The actual contact point details | |
telecom:email | 0..1 | ContactPoint | Enrolment Officer email | |
system | 1..1 | code | phone | fax | email | pager | url | sms | other Required Pattern: email | |
telecom:phone | 0..1 | ContactPoint | Enrolment Officer phone | |
system | 1..1 | code | phone | fax | email | pager | url | sms | other Required Pattern: phone | |
availableTime | 0..0 | |||
notAvailable | 0..0 | |||
availabilityExceptions | 0..0 | |||
endpoint | 0..0 | |||
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
PractitionerRole | 0..* | PractitionerRole | Roles/organizations the practitioner is associated with | |||||
id | Σ | 0..1 | string | Practitioner UUID | ||||
meta | Σ | 0..1 | Meta | Metadata about the resource | ||||
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
practitioner-role-substitution-reference | 0..1 | Reference(openIMIS Enrolment Officer Practitioner) | Substitution URL: https://openimis.github.io/openimis_fhir_r4_ig/StructureDefinition/practitioner-role-substitution-reference | |||||
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ||||
Slices for identifier | SΣ | 1..* | Identifier | Business Identifiers that are specific to a role/location Slice: Unordered, Closed by value:type.coding.code | ||||
identifier:All Slices | Content/Rules for all slices | |||||||
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 | Σ | 1..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. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 0..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 0..1 | code | Symbol in syntax defined by the system Binding: openIMIS Identifiers Value Set (required) | ||||
display | Σ | 0..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
system | Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | ||||
value | Σ | 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) | ||||
identifier:Code | SΣ | 1..1 | Identifier | Business Identifiers that are specific to a role/location | ||||
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. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 0..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | openIMIS Code Required Pattern: Code | ||||
display | Σ | 0..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
system | Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | ||||
value | Σ | 0..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) | ||||
identifier:UUID | Σ | 0..1 | Identifier | Business Identifiers that are specific to a role/location | ||||
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. | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
coding | Σ | 0..* | Coding | Code defined by a terminology system | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | Σ | 0..1 | uri | Identity of the terminology system | ||||
version | Σ | 0..1 | string | Version of the system - if relevant | ||||
code | Σ | 1..1 | code | openIMIS UUID Required Pattern: UUID | ||||
display | Σ | 0..1 | string | Representation defined by the system | ||||
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user | ||||
text | Σ | 0..1 | string | Plain text representation of the concept | ||||
system | Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient | ||||
value | Σ | 0..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) | ||||
period | Σ | 0..1 | Period | The period during which the practitioner is authorized to perform in these role(s) | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
end | ΣI | 1..1 | dateTime | Works To | ||||
practitioner | Σ | 1..1 | Reference(openIMIS Enrolment Officer Practitioner) | Practitioner that is able to provide the defined services for the organization | ||||
code | Σ | 0..* | CodeableConcept | Roles which this practitioner may perform Binding: PractitionerRole (example): The role a person plays representing an organization. Required Pattern: At least the following | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
coding | 1..* | Coding | Code defined by a terminology system Fixed Value: (complex) | |||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations | |||||
system | 1..1 | uri | Identity of the terminology system Fixed Value: https://openimis.github.io/openimis_fhir_r4_ig/CodeSystem/practitioner-qualification-type | |||||
version | 0..1 | string | Version of the system - if relevant | |||||
code | 1..1 | code | Symbol in syntax defined by the system Fixed Value: EO | |||||
display | 1..1 | string | Representation defined by the system Fixed Value: Enrolment Officer | |||||
userSelected | 0..1 | boolean | If this coding was chosen directly by the user | |||||
text | 0..1 | string | Plain text representation of the concept | |||||
location | Σ | 0..* | Reference(openIMIS Location) | The location(s) at which this practitioner provides care | ||||
Slices for telecom | Σ | 0..2 | ContactPoint | Contact details that are specific to the role/location/service Slice: Unordered, Closed by value:system | ||||
telecom:All Slices | Content/Rules for all slices | |||||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | ΣI | 0..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. | ||||
value | Σ | 1..1 | string | The actual contact point details | ||||
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 | ||||
telecom:email | Σ | 0..1 | ContactPoint | Enrolment Officer email | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | ΣI | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. Required Pattern: email | ||||
value | Σ | 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 | ||||
telecom:phone | Σ | 0..1 | ContactPoint | Enrolment Officer phone | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
system | ΣI | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point. Required Pattern: phone | ||||
value | Σ | 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 | ||||
Documentation for this format |
Other representations of profile: CSV, Excel, Schematron
Path | Conformance | ValueSet / Code |
PractitionerRole.language | preferred | CommonLanguages Max Binding: AllLanguages |
PractitionerRole.identifier.use | required | IdentifierUse |
PractitionerRole.identifier.type | extensible | Identifier Type Codes |
PractitionerRole.identifier.type.coding.code | required | OpenIMISIdentifierVS |
PractitionerRole.identifier:Code.use | required | IdentifierUse |
PractitionerRole.identifier:Code.type | extensible | Identifier Type Codes |
PractitionerRole.identifier:UUID.use | required | IdentifierUse |
PractitionerRole.identifier:UUID.type | extensible | Identifier Type Codes |
PractitionerRole.code | example | Pattern: EO("Enrolment Officer") |
PractitionerRole.telecom.system | required | ContactPointSystem |
PractitionerRole.telecom.use | required | ContactPointUse |
PractitionerRole.telecom:email.system | required | Pattern: email |
PractitionerRole.telecom:email.use | required | ContactPointUse |
PractitionerRole.telecom:phone.system | required | Pattern: phone |
PractitionerRole.telecom:phone.use | required | ContactPointUse |
PractitionerRole.availableTime.daysOfWeek | required | DaysOfWeek |
Id | Grade | Path | Details | Requirements |
dom-2 | error | PractitionerRole | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | PractitionerRole | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Best Practice | PractitionerRole | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | PractitionerRole.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.extension:substitution | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.extension:substitution | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.identifier.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.identifier.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier.type.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.identifier.type.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.identifier.type.coding | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier.type.coding.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.identifier.type.coding.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.identifier.type.coding.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier.type.coding.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier.type.coding.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier.type.coding.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier.type.coding.userSelected | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier.type.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier.assigner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:Code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:Code.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.identifier:Code.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.identifier:Code.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:Code.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:Code.type.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.identifier:Code.type.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.identifier:Code.type.coding | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:Code.type.coding.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.identifier:Code.type.coding.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.identifier:Code.type.coding.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:Code.type.coding.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:Code.type.coding.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:Code.type.coding.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:Code.type.coding.userSelected | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:Code.type.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:Code.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:Code.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:Code.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:Code.assigner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:UUID | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:UUID.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.identifier:UUID.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.identifier:UUID.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:UUID.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:UUID.type.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.identifier:UUID.type.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.identifier:UUID.type.coding | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:UUID.type.coding.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.identifier:UUID.type.coding.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.identifier:UUID.type.coding.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:UUID.type.coding.version | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:UUID.type.coding.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:UUID.type.coding.display | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:UUID.type.coding.userSelected | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:UUID.type.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:UUID.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:UUID.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:UUID.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.identifier:UUID.assigner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.period.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.period.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.period.end | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.practitioner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.location | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.telecom.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.telecom.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom.rank | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom:email | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom:email.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.telecom:email.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.telecom:email.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom:email.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom:email.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom:email.rank | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom:email.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom:phone | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom:phone.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.telecom:phone.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.telecom:phone.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom:phone.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom:phone.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom:phone.rank | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.telecom:phone.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.availableTime.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.availableTime.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.availableTime.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.availableTime.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.availableTime.daysOfWeek | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.availableTime.allDay | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.availableTime.availableStartTime | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.availableTime.availableEndTime | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.notAvailable.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.notAvailable.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.notAvailable.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | PractitionerRole.notAvailable.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | PractitionerRole.notAvailable.description | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | PractitionerRole.notAvailable.during | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |