臺灣核心實作指引(TW Core IG)
0.3.0 - Ci-Build Trial Use

臺灣核心實作指引(TW Core IG), published by 衛生福利部. This guide is not an authorized publication; it is the continuous build for version 0.3.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cctwFHIRterm/MOHW_TWCoreIG_Build/ and changes regularly. See the Directory of published versions

Resource Profile: TW Core Provenance

Official URL: https://twcore.mohw.gov.tw/ig/twcore/StructureDefinition/Provenance-twcore Version: 0.3.0
Active as of 2024-09-16 Computable Name: TWCoreProvenance

此臺灣核心-出處(TW Core Provenance) Profile說明本IG如何進一步定義FHIR的Provenance Resource以呈現出處資料。

Usage:

  • This Resource Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

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

This structure is derived from Provenance

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..* Provenance Who, What, When for a set of resources
... target S 1..* Reference(Resource) Target Reference(s) (usually version specific)
.... reference S 0..1 string Literal reference, Relative, internal or absolute URL
... recorded S 1..1 instant When the activity was recorded / updated
... location 0..1 Reference(TW Core Location) Where the activity occurred, if relevant
.... agent:All Slices Content/Rules for all slices
..... type S 0..1 CodeableConcept How the agent participated
Binding: HL7 Provenance participant type + 臺灣衛福部資訊處Provenance參與類型 (extensible)
..... who S 1..1 Reference(TW Core Organization S | TW Core Practitioner | TW Core Patient | TW Core PractitionerRole | TW Core RelatedPerson | Device) Who participated
..... onBehalfOf S 0..1 Reference(TW Core Organization) Who the agent is representing
.... agent:ProvenanceAuthor S 0..* BackboneElement Actor involved
..... type 1..1 CodeableConceptTW 概念(Concept)— 參照一個專門術語或只是文字表述
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: http://terminology.hl7.org/CodeSystem/provenance-participant-type
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: author
..... who S 1..1 Reference(TW Core Organization | TW Core Practitioner | TW Core Patient | TW Core PractitionerRole | TW Core RelatedPerson | Device) Who participated
..... onBehalfOf S 0..1 Reference(TW Core Organization) Who the agent is representing
.... agent:ProvenanceTransmitter S 0..* BackboneElement Actor involved
..... type 1..1 CodeableConceptTW 概念(Concept)— 參照一個專門術語或只是文字表述
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://twcore.mohw.gov.tw/ig/twcore/CodeSystem/provenance-participant-type-tw
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: transmitter
..... who S 1..1 Reference(TW Core Organization | TW Core Practitioner | TW Core Patient | TW Core PractitionerRole | TW Core RelatedPerson | Device) Who participated
..... onBehalfOf S 0..1 Reference(TW Core Organization) Who the agent is representing

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Provenance.agent.typeextensibleTWProvenancePaticipantTypeHL7
https://twcore.mohw.gov.tw/ig/twcore/ValueSet/provenance-participant-type-hl7-tw
from this IG

Constraints

IdGradePath(s)DetailsRequirements
provenance-1errorProvenance.agentonBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
: who.exists((resolve() is Practitioner) or (resolve() is Device)) implies onBehalfOf.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..* Provenance Who, What, When for a set of resources
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... target SΣ 1..* Reference(Resource) Target Reference(s) (usually version specific)
.... reference SΣC 0..1 string Literal reference, Relative, internal or absolute URL
... location 0..1 Reference(TW Core Location) Where the activity occurred, if relevant
... Slices for agent SC 1..* BackboneElement Actor involved
Slice: Unordered, Open by pattern:type
provenance-1: onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
.... agent:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type SΣ 0..1 CodeableConcept How the agent participated
Binding: HL7 Provenance participant type + 臺灣衛福部資訊處Provenance參與類型 (extensible)
..... who SΣ 1..1 Reference(TW Core Organization) Who participated
..... onBehalfOf S 0..1 Reference(TW Core Organization) Who the agent is representing
.... agent:ProvenanceAuthor S 0..* BackboneElement Actor involved
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type 1..1 CodeableConceptTW 概念(Concept)— 參照一個專門術語或只是文字表述
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.


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: http://terminology.hl7.org/CodeSystem/provenance-participant-type
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: author
..... who SΣ 1..1 Reference(TW Core Organization | TW Core Practitioner | TW Core Patient | TW Core PractitionerRole | TW Core RelatedPerson | Device) Who participated
..... onBehalfOf S 0..1 Reference(TW Core Organization) Who the agent is representing
.... agent:ProvenanceTransmitter S 0..* BackboneElement Actor involved
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type 1..1 CodeableConceptTW 概念(Concept)— 參照一個專門術語或只是文字表述
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.


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://twcore.mohw.gov.tw/ig/twcore/CodeSystem/provenance-participant-type-tw
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: transmitter
..... who SΣ 1..1 Reference(TW Core Organization | TW Core Practitioner | TW Core Patient | TW Core PractitionerRole | TW Core RelatedPerson | Device) Who participated
..... onBehalfOf S 0..1 Reference(TW Core Organization) Who the agent is representing

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Provenance.agent.typeextensibleTWProvenancePaticipantTypeHL7
https://twcore.mohw.gov.tw/ig/twcore/ValueSet/provenance-participant-type-hl7-tw
from this IG
Provenance.agent:ProvenanceAuthor.typeextensiblePattern: author
http://hl7.org/fhir/ValueSet/provenance-agent-type
from the FHIR Standard
Provenance.agent:ProvenanceTransmitter.typeextensiblePattern: transmitter
http://hl7.org/fhir/ValueSet/provenance-agent-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProvenanceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProvenanceIf 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-4errorProvenanceIf 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-5errorProvenanceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProvenanceA 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()
provenance-1errorProvenance.agentonBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
: who.exists((resolve() is Practitioner) or (resolve() is Device)) implies onBehalfOf.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..* Provenance Who, What, When for a set of resources
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... target SΣ 1..* Reference(Resource) Target Reference(s) (usually version specific)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference SΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... occurred[x] 0..1 When the activity occurred
.... occurredPeriod Period
.... occurredDateTime dateTime
... recorded SΣ 1..1 instant When the activity was recorded / updated
... policy 0..* uri Policy or plan the activity was defined by
... location 0..1 Reference(TW Core Location) Where the activity occurred, if relevant
... reason 0..* CodeableConcept Reason the activity is occurring
Binding: PurposeOfUse (extensible): The reason the activity took place.


... activity 0..1 CodeableConcept Activity that occurred
Binding: ProvenanceActivityType (extensible): The activity that took place.

... Slices for agent SC 1..* BackboneElement Actor involved
Slice: Unordered, Open by pattern:type
provenance-1: onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
.... agent: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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type SΣ 0..1 CodeableConcept How the agent participated
Binding: HL7 Provenance participant type + 臺灣衛福部資訊處Provenance參與類型 (extensible)
..... role 0..* CodeableConcept What the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.


..... who SΣ 1..1 Reference(TW Core Organization S | TW Core Practitioner | TW Core Patient | TW Core PractitionerRole | TW Core RelatedPerson | Device) Who participated
..... onBehalfOf S 0..1 Reference(TW Core Organization) Who the agent is representing
.... agent:ProvenanceAuthor S 0..* BackboneElement Actor involved
..... 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
..... type 1..1 CodeableConceptTW 概念(Concept)— 參照一個專門術語或只是文字表述
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.


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: http://terminology.hl7.org/CodeSystem/provenance-participant-type
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: author
....... 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
..... role 0..* CodeableConcept What the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.


..... who SΣ 1..1 Reference(TW Core Organization | TW Core Practitioner | TW Core Patient | TW Core PractitionerRole | TW Core RelatedPerson | Device) Who participated
..... onBehalfOf S 0..1 Reference(TW Core Organization) Who the agent is representing
.... agent:ProvenanceTransmitter S 0..* BackboneElement Actor involved
..... 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
..... type 1..1 CodeableConceptTW 概念(Concept)— 參照一個專門術語或只是文字表述
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.


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://twcore.mohw.gov.tw/ig/twcore/CodeSystem/provenance-participant-type-tw
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: transmitter
....... 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
..... role 0..* CodeableConcept What the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.


..... who SΣ 1..1 Reference(TW Core Organization | TW Core Practitioner | TW Core Patient | TW Core PractitionerRole | TW Core RelatedPerson | Device) Who participated
..... onBehalfOf S 0..1 Reference(TW Core Organization) Who the agent is representing
... entity 0..* BackboneElement An entity used in this activity
.... 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
.... role Σ 1..1 code derivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required): How an entity was used in an activity.

.... what Σ 1..1 Reference(Resource) Identity of entity
.... agent 0..* See agent (Provenance) Entity is attributed to this agent
... signature 0..* Signature Signature on target

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Provenance.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Provenance.target.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
Provenance.reasonextensiblePurposeOfUse
http://terminology.hl7.org/ValueSet/v3-PurposeOfUse
Provenance.activityextensibleProvenanceActivityType
http://hl7.org/fhir/ValueSet/provenance-activity-type
from the FHIR Standard
Provenance.agent.typeextensibleTWProvenancePaticipantTypeHL7
https://twcore.mohw.gov.tw/ig/twcore/ValueSet/provenance-participant-type-hl7-tw
from this IG
Provenance.agent.roleexampleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Provenance.agent:ProvenanceAuthor.typeextensiblePattern: author
http://hl7.org/fhir/ValueSet/provenance-agent-type
from the FHIR Standard
Provenance.agent:ProvenanceAuthor.roleexampleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Provenance.agent:ProvenanceTransmitter.typeextensiblePattern: transmitter
http://hl7.org/fhir/ValueSet/provenance-agent-type
from the FHIR Standard
Provenance.agent:ProvenanceTransmitter.roleexampleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Provenance.entity.rolerequiredProvenanceEntityRole
http://hl7.org/fhir/ValueSet/provenance-entity-role|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProvenanceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProvenanceIf 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-4errorProvenanceIf 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-5errorProvenanceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProvenanceA 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()
provenance-1errorProvenance.agentonBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
: who.exists((resolve() is Practitioner) or (resolve() is Device)) implies onBehalfOf.exists()

Differential View

This structure is derived from Provenance

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..* Provenance Who, What, When for a set of resources
... target S 1..* Reference(Resource) Target Reference(s) (usually version specific)
.... reference S 0..1 string Literal reference, Relative, internal or absolute URL
... recorded S 1..1 instant When the activity was recorded / updated
... location 0..1 Reference(TW Core Location) Where the activity occurred, if relevant
.... agent:All Slices Content/Rules for all slices
..... type S 0..1 CodeableConcept How the agent participated
Binding: HL7 Provenance participant type + 臺灣衛福部資訊處Provenance參與類型 (extensible)
..... who S 1..1 Reference(TW Core Organization S | TW Core Practitioner | TW Core Patient | TW Core PractitionerRole | TW Core RelatedPerson | Device) Who participated
..... onBehalfOf S 0..1 Reference(TW Core Organization) Who the agent is representing
.... agent:ProvenanceAuthor S 0..* BackboneElement Actor involved
..... type 1..1 CodeableConceptTW 概念(Concept)— 參照一個專門術語或只是文字表述
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: http://terminology.hl7.org/CodeSystem/provenance-participant-type
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: author
..... who S 1..1 Reference(TW Core Organization | TW Core Practitioner | TW Core Patient | TW Core PractitionerRole | TW Core RelatedPerson | Device) Who participated
..... onBehalfOf S 0..1 Reference(TW Core Organization) Who the agent is representing
.... agent:ProvenanceTransmitter S 0..* BackboneElement Actor involved
..... type 1..1 CodeableConceptTW 概念(Concept)— 參照一個專門術語或只是文字表述
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://twcore.mohw.gov.tw/ig/twcore/CodeSystem/provenance-participant-type-tw
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: transmitter
..... who S 1..1 Reference(TW Core Organization | TW Core Practitioner | TW Core Patient | TW Core PractitionerRole | TW Core RelatedPerson | Device) Who participated
..... onBehalfOf S 0..1 Reference(TW Core Organization) Who the agent is representing

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Provenance.agent.typeextensibleTWProvenancePaticipantTypeHL7
https://twcore.mohw.gov.tw/ig/twcore/ValueSet/provenance-participant-type-hl7-tw
from this IG

Constraints

IdGradePath(s)DetailsRequirements
provenance-1errorProvenance.agentonBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
: who.exists((resolve() is Practitioner) or (resolve() is Device)) implies onBehalfOf.exists()

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..* Provenance Who, What, When for a set of resources
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... target SΣ 1..* Reference(Resource) Target Reference(s) (usually version specific)
.... reference SΣC 0..1 string Literal reference, Relative, internal or absolute URL
... location 0..1 Reference(TW Core Location) Where the activity occurred, if relevant
... Slices for agent SC 1..* BackboneElement Actor involved
Slice: Unordered, Open by pattern:type
provenance-1: onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
.... agent:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type SΣ 0..1 CodeableConcept How the agent participated
Binding: HL7 Provenance participant type + 臺灣衛福部資訊處Provenance參與類型 (extensible)
..... who SΣ 1..1 Reference(TW Core Organization) Who participated
..... onBehalfOf S 0..1 Reference(TW Core Organization) Who the agent is representing
.... agent:ProvenanceAuthor S 0..* BackboneElement Actor involved
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type 1..1 CodeableConceptTW 概念(Concept)— 參照一個專門術語或只是文字表述
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.


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: http://terminology.hl7.org/CodeSystem/provenance-participant-type
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: author
..... who SΣ 1..1 Reference(TW Core Organization | TW Core Practitioner | TW Core Patient | TW Core PractitionerRole | TW Core RelatedPerson | Device) Who participated
..... onBehalfOf S 0..1 Reference(TW Core Organization) Who the agent is representing
.... agent:ProvenanceTransmitter S 0..* BackboneElement Actor involved
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type 1..1 CodeableConceptTW 概念(Concept)— 參照一個專門術語或只是文字表述
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.


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://twcore.mohw.gov.tw/ig/twcore/CodeSystem/provenance-participant-type-tw
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: transmitter
..... who SΣ 1..1 Reference(TW Core Organization | TW Core Practitioner | TW Core Patient | TW Core PractitionerRole | TW Core RelatedPerson | Device) Who participated
..... onBehalfOf S 0..1 Reference(TW Core Organization) Who the agent is representing

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Provenance.agent.typeextensibleTWProvenancePaticipantTypeHL7
https://twcore.mohw.gov.tw/ig/twcore/ValueSet/provenance-participant-type-hl7-tw
from this IG
Provenance.agent:ProvenanceAuthor.typeextensiblePattern: author
http://hl7.org/fhir/ValueSet/provenance-agent-type
from the FHIR Standard
Provenance.agent:ProvenanceTransmitter.typeextensiblePattern: transmitter
http://hl7.org/fhir/ValueSet/provenance-agent-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProvenanceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProvenanceIf 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-4errorProvenanceIf 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-5errorProvenanceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProvenanceA 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()
provenance-1errorProvenance.agentonBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
: who.exists((resolve() is Practitioner) or (resolve() is Device)) implies onBehalfOf.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance 0..* Provenance Who, What, When for a set of resources
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... target SΣ 1..* Reference(Resource) Target Reference(s) (usually version specific)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference SΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).

.... identifier Σ 0..1 Identifier Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... occurred[x] 0..1 When the activity occurred
.... occurredPeriod Period
.... occurredDateTime dateTime
... recorded SΣ 1..1 instant When the activity was recorded / updated
... policy 0..* uri Policy or plan the activity was defined by
... location 0..1 Reference(TW Core Location) Where the activity occurred, if relevant
... reason 0..* CodeableConcept Reason the activity is occurring
Binding: PurposeOfUse (extensible): The reason the activity took place.


... activity 0..1 CodeableConcept Activity that occurred
Binding: ProvenanceActivityType (extensible): The activity that took place.

... Slices for agent SC 1..* BackboneElement Actor involved
Slice: Unordered, Open by pattern:type
provenance-1: onBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
.... agent: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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type SΣ 0..1 CodeableConcept How the agent participated
Binding: HL7 Provenance participant type + 臺灣衛福部資訊處Provenance參與類型 (extensible)
..... role 0..* CodeableConcept What the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.


..... who SΣ 1..1 Reference(TW Core Organization S | TW Core Practitioner | TW Core Patient | TW Core PractitionerRole | TW Core RelatedPerson | Device) Who participated
..... onBehalfOf S 0..1 Reference(TW Core Organization) Who the agent is representing
.... agent:ProvenanceAuthor S 0..* BackboneElement Actor involved
..... 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
..... type 1..1 CodeableConceptTW 概念(Concept)— 參照一個專門術語或只是文字表述
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.


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: http://terminology.hl7.org/CodeSystem/provenance-participant-type
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: author
....... 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
..... role 0..* CodeableConcept What the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.


..... who SΣ 1..1 Reference(TW Core Organization | TW Core Practitioner | TW Core Patient | TW Core PractitionerRole | TW Core RelatedPerson | Device) Who participated
..... onBehalfOf S 0..1 Reference(TW Core Organization) Who the agent is representing
.... agent:ProvenanceTransmitter S 0..* BackboneElement Actor involved
..... 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
..... type 1..1 CodeableConceptTW 概念(Concept)— 參照一個專門術語或只是文字表述
Binding: ProvenanceParticipantType (extensible): The type of participation that a provenance agent played with respect to the activity.


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://twcore.mohw.gov.tw/ig/twcore/CodeSystem/provenance-participant-type-tw
....... version 0..1 string Version of the system - if relevant
....... code 1..1 code Symbol in syntax defined by the system
Fixed Value: transmitter
....... 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
..... role 0..* CodeableConcept What the agents role was
Binding: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.


..... who SΣ 1..1 Reference(TW Core Organization | TW Core Practitioner | TW Core Patient | TW Core PractitionerRole | TW Core RelatedPerson | Device) Who participated
..... onBehalfOf S 0..1 Reference(TW Core Organization) Who the agent is representing
... entity 0..* BackboneElement An entity used in this activity
.... 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
.... role Σ 1..1 code derivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required): How an entity was used in an activity.

.... what Σ 1..1 Reference(Resource) Identity of entity
.... agent 0..* See agent (Provenance) Entity is attributed to this agent
... signature 0..* Signature Signature on target

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
Provenance.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Provenance.target.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
from the FHIR Standard
Provenance.reasonextensiblePurposeOfUse
http://terminology.hl7.org/ValueSet/v3-PurposeOfUse
Provenance.activityextensibleProvenanceActivityType
http://hl7.org/fhir/ValueSet/provenance-activity-type
from the FHIR Standard
Provenance.agent.typeextensibleTWProvenancePaticipantTypeHL7
https://twcore.mohw.gov.tw/ig/twcore/ValueSet/provenance-participant-type-hl7-tw
from this IG
Provenance.agent.roleexampleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Provenance.agent:ProvenanceAuthor.typeextensiblePattern: author
http://hl7.org/fhir/ValueSet/provenance-agent-type
from the FHIR Standard
Provenance.agent:ProvenanceAuthor.roleexampleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Provenance.agent:ProvenanceTransmitter.typeextensiblePattern: transmitter
http://hl7.org/fhir/ValueSet/provenance-agent-type
from the FHIR Standard
Provenance.agent:ProvenanceTransmitter.roleexampleSecurityRoleType
http://hl7.org/fhir/ValueSet/security-role-type
from the FHIR Standard
Provenance.entity.rolerequiredProvenanceEntityRole
http://hl7.org/fhir/ValueSet/provenance-entity-role|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorProvenanceIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorProvenanceIf 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-4errorProvenanceIf 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-5errorProvenanceIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceProvenanceA 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()
provenance-1errorProvenance.agentonBehalfOf SHALL be present when Provenance.agent.who is a Practitioner or Device
: who.exists((resolve() is Practitioner) or (resolve() is Device)) implies onBehalfOf.exists()

 

Other representations of profile: CSV, Excel, Schematron

Notes:

以下概述了此Profile所需的RESTful FHIR互動功能。有關TW Core IG支援的RESTful互動功能的完整清單,請參閱TW Core Server能力聲明

TW Core Provenance應支援以下TW Core Profile resource types:

  • AllergyIntolerance
  • CarePlan
  • CareTeam
  • Condition
  • Coverage
  • Device
  • DiagnosticReport
  • DocumentReference
  • Encounter
  • Goal
  • Immunization
  • MedicationDispense
  • MedicationRequest
  • Observation
  • Patient
  • Procedure
  • QuestionnaireResponse
  • RelatedPerson
  • ServiceRequest

必須支援以下查詢參數:

  1. 必須(SHALL) 支援透過查詢參數 patient_revinclude 查詢所有上面列出的TW Core Profile resource types及這些Resource的Provenance紀錄:
    (如何透過reference查詢)
    GET [base]/[Resource]?patient=[id]&_revinclude=Provenance:target

    例子:
    (1) GET [base]/AllergyIntolerance?patient=Patient/pat-example&_revinclude=Provenance:target

  2. 必須(SHALL) 支援透過查詢參數 _id_revinclude 查詢所有上面列出的TW Core Profile resource types及這些Resource的Provenance紀錄:
    (如何透過token查詢)
    GET [base]/[Resource]?_id=[id]&_revinclude=Provenance:target

    例子:
    (1) GET [base]/AllergyIntolerance?_id=all-cat-example&_revinclude=Provenance:target