Implementation Guide CH VACD
2.0.0 - STU 2
This page is part of the CH VACD (R4) (v2.0.0: STU 2) based on FHIR R4. . For a full list of available versions, see the Directory of published versions
Defining URL: | http://fhir.ch/ig/ch-vacd/StructureDefinition/ch-vacd-recommendation-practitioner |
Version: | 2.0.0 |
Name: | CHVACDRecommendationPractitioner |
Title: | CH VACD Recommendation Practitioner Profile |
Status: | Active as of 2022-02-11 02:45:16+0100 |
Definition: | Definition of the practitioner for immunization recommendation request and response documents. |
Publisher: | HL7 Switzerland |
Source Resource: | XML / JSON / Turtle |
The official URL for this profile is:
http://fhir.ch/ig/ch-vacd/StructureDefinition/ch-vacd-recommendation-practitioner
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from CHCorePractitioner
This structure is derived from CHCorePractitioner
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Practitioner | 0..* | CHCorePractitioner | CH VACD Recommendation Practitioner | |
address | 0..* | CHVACDRecommendationAddress | An address expressed using postal conventions (as opposed to GPS or other location definition formats) | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Practitioner | I | 0..* | CHCorePractitioner | CH VACD Recommendation Practitioner |
id | Σ | 0..1 | string | 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 |
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
Slices for identifier | Σ | 0..* | Identifier | An identifier for the person as this agent Slice: Unordered, Open by value:system |
identifier:GLN | Σ | 0..* | Identifier | GLN (Global Location Number) |
id | 0..1 | string | Unique id for inter-element referencing | |
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . |
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. |
system | Σ | 1..1 | uri | oid of the GLN Fixed Value: urn:oid:2.51.1.3 |
value | Σ | 1..1 | string | GLN of the practitioner (13 digits starting with 7601 for Swiss accredited practitioners) 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:ZSR | Σ | 0..* | Identifier | ZSR |
id | 0..1 | string | Unique id for inter-element referencing | |
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . |
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. |
system | Σ | 1..1 | uri | oid of the ZSR Fixed Value: urn:oid:2.16.756.5.30.1.123.100.2.1.1 |
value | Σ | 1..1 | string | ZSR of the practitioner Example General: 123456 |
period | Σ | 0..1 | Period | Time period when id is/was valid for use |
assigner | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) |
active | Σ | 0..1 | boolean | Whether this practitioner's record is in active use |
name | I | 0..* | CHCoreHumanName | The name(s) associated with the practitioner |
telecom | Σ | 0..* | ContactPoint | A contact detail for the practitioner (that apply to all roles) |
address | 0..* | CHVACDRecommendationAddress | An address expressed using postal conventions (as opposed to GPS or other location definition formats) | |
gender | Σ | 0..1 | code | male | female | other Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. |
birthDate | Σ | 0..1 | date | The date on which the practitioner was born |
photo | 0..* | Attachment | Image of the person | |
qualification | 0..* | BackboneElement | Certification, licenses, or training 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: v2 table 0360, Version 2.7 (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..* | CodeableConcept | A language the practitioner can use in patient communication Binding: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Practitioner | I | 0..* | CHCorePractitioner | CH VACD Recommendation Practitioner |
Documentation for this format |
This structure is derived from CHCorePractitioner
Differential View
This structure is derived from CHCorePractitioner
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Practitioner | 0..* | CHCorePractitioner | CH VACD Recommendation Practitioner | |
address | 0..* | CHVACDRecommendationAddress | An address expressed using postal conventions (as opposed to GPS or other location definition formats) | |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Practitioner | I | 0..* | CHCorePractitioner | CH VACD Recommendation Practitioner |
id | Σ | 0..1 | string | 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 |
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
Slices for identifier | Σ | 0..* | Identifier | An identifier for the person as this agent Slice: Unordered, Open by value:system |
identifier:GLN | Σ | 0..* | Identifier | GLN (Global Location Number) |
id | 0..1 | string | Unique id for inter-element referencing | |
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . |
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. |
system | Σ | 1..1 | uri | oid of the GLN Fixed Value: urn:oid:2.51.1.3 |
value | Σ | 1..1 | string | GLN of the practitioner (13 digits starting with 7601 for Swiss accredited practitioners) 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:ZSR | Σ | 0..* | Identifier | ZSR |
id | 0..1 | string | Unique id for inter-element referencing | |
Slices for extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . |
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose. |
system | Σ | 1..1 | uri | oid of the ZSR Fixed Value: urn:oid:2.16.756.5.30.1.123.100.2.1.1 |
value | Σ | 1..1 | string | ZSR of the practitioner Example General: 123456 |
period | Σ | 0..1 | Period | Time period when id is/was valid for use |
assigner | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text) |
active | Σ | 0..1 | boolean | Whether this practitioner's record is in active use |
name | I | 0..* | CHCoreHumanName | The name(s) associated with the practitioner |
telecom | Σ | 0..* | ContactPoint | A contact detail for the practitioner (that apply to all roles) |
address | 0..* | CHVACDRecommendationAddress | An address expressed using postal conventions (as opposed to GPS or other location definition formats) | |
gender | Σ | 0..1 | code | male | female | other Binding: AdministrativeGender (required): The gender of a person used for administrative purposes. |
birthDate | Σ | 0..1 | date | The date on which the practitioner was born |
photo | 0..* | Attachment | Image of the person | |
qualification | 0..* | BackboneElement | Certification, licenses, or training 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: v2 table 0360, Version 2.7 (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..* | CodeableConcept | A language the practitioner can use in patient communication Binding: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
Documentation for this format |
Other representations of profile: CSV, Excel, Schematron
Path | Conformance | ValueSet |
Practitioner.language | preferred | CommonLanguages Max Binding: AllLanguages |
Practitioner.identifier:GLN.use | required | IdentifierUse |
Practitioner.identifier:GLN.type | extensible | Identifier Type Codes |
Practitioner.identifier:ZSR.use | required | IdentifierUse |
Practitioner.identifier:ZSR.type | extensible | Identifier Type Codes |
Practitioner.gender | required | AdministrativeGender |
Practitioner.qualification.code | example | v2.0360.2.7 |
Practitioner.communication | preferred | CommonLanguages Max Binding: AllLanguages |
Id | Grade | Path | Details | Requirements |
dom-2 | error | Practitioner | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Practitioner | 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 | Practitioner | 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 | Practitioner | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Best Practice | Practitioner | A resource should have narrative for robust management : text.`div`.exists() | |
ch-pract-1 | error | Practitioner | At least one HumanName with given and family name must be provided. : name.where(family.exists() and given.exists()).count()>0 or name.empty() | |
ch-pract-2 | warning | Practitioner | gender unknown is currently not used in Switzerland in eCH and the EPR : gender.empty() or gender!='unknown' | |
ele-1 | error | Practitioner.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Practitioner.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Practitioner.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Practitioner.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Practitioner.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.identifier:GLN | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.identifier:GLN.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Practitioner.identifier:GLN.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Practitioner.identifier:GLN.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.identifier:GLN.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.identifier:GLN.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.identifier:GLN.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.identifier:GLN.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.identifier:GLN.assigner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.identifier:ZSR | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.identifier:ZSR.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Practitioner.identifier:ZSR.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Practitioner.identifier:ZSR.use | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.identifier:ZSR.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.identifier:ZSR.system | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.identifier:ZSR.value | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.identifier:ZSR.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.identifier:ZSR.assigner | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.active | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.name | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ch-core-hm-1 | error | Practitioner.name | if officalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is official : family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and valueCode='officialName').empty() or (family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and valueCode='officialName').exists() and use='official') | |
ch-core-hm-2 | error | Practitioner.name | if orginalName with eCH-011 Extension is specified, it can only be put on a name where use attribute is maiden : family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and valueCode='originalName').empty() or ((family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name' and valueCode='originalName').exists() and use='maiden')) | |
ch-core-hm-3 | error | Practitioner.name | ch-ext-ech-11-name can only be put on a family name : descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count()=family.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-name').count() | |
ch-core-hm-4 | error | Practitioner.name | ch-ext-ech-11-firstname can only be put on a given name : descendants().extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count()=given.extension.where(url='http://fhir.ch/ig/ch-core/StructureDefinition/ch-ext-ech-11-firstname').count() | |
ele-1 | error | Practitioner.telecom | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.address | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.gender | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.birthDate | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.photo | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.qualification | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.qualification.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Practitioner.qualification.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Practitioner.qualification.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Practitioner.qualification.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Practitioner.qualification.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.qualification.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.qualification.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.qualification.issuer | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Practitioner.communication | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |