Page Status: updated 2022-06-02 (Work in progress)
Consent scenarios
Introduction
There are two different Provenance profiles for documenting valid data combinations for a Provenance related to a Consent.
Details
The differences between each specialtized profile and the general Provenance profile, NLLProvenance, are highlighted in black in the rendered structures below, i.e. common rules are grayed out.
Multi dose dispensing consent
The profile NLLProvenanceConsentMultiDose documents the valid data combinations in a Provencance related to a multi dose dispensing consent.
For this type of consent the following special contraints apply:
- the 'target' must point to a multi dose dispensing consent resource.
- the 'reason' attribute is not used.
- the 'activity' must be from the value set Händelsetyper för dossamtycke (multidosedispconsent-activity-types)
- the 'agent.who' must point to a practitioner resource.
NLLProvenanceConsentMultiDose (Provenance) | I | NLLProvenance | There are no (further) constraints on this element Element idProvenance When a change is made in the patient´s medication list a provenance provides information about who, what, when and where from the change is made. Alternate namesHistory, Event, Activity DefinitionNLLProvenance describes a change that has been made on a resource affecting a patient medications list, e.g. a MedicationRequest, MedicationDispense or resource related to multi dose dispensing (sv: dosunderlag, dossamtycke) or a change affecting a data lock (sv spärr). The change describes What - in the form of which resource is the target in combination with a reason and activity. It describes by Who - in the form of agent and it describes When it occurred. A Provenance resource is created fron the X-Provenance header wich is mandatory in a number of scenarios. Some parties may be duplicated between the target resource and its provenance. For instance, the prescriber is usually (but not always) the author of the prescription resource. This resource is defined with close consideration for W3C Provenance.
| |
id | S Σ | 0..1 | string | There are no (further) constraints on this element Element idProvenance.id Logical id of this artifact DefinitionThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes. The only time that a resource does not have an id is when it is being submitted to the server using a create operation.
|
meta | Σ | 0..1 | Meta | There are no (further) constraints on this element Element idProvenance.meta Metadata about the resource DefinitionThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
|
implicitRules | Σ ?! | 0..1 | uri | There are no (further) constraints on this element Element idProvenance.implicitRules A set of rules under which this content was created DefinitionA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc. Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.
|
language | 0..1 | codeBinding | There are no (further) constraints on this element Element idProvenance.language Language of the resource content DefinitionThe base language in which the resource is written. Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute). A human language.
| |
text | 0..1 | Narrative | There are no (further) constraints on this element Element idProvenance.text Text summary of the resource, for human interpretation Alternate namesnarrative, html, xhtml, display DefinitionA human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety. Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.
| |
contained | 0..* | Resource | There are no (further) constraints on this element Element idProvenance.contained Contained, inline Resources Alternate namesinline resources, anonymous resources, contained resources DefinitionThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope. This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.
| |
extension | I | 0..* | Extension | There are no (further) constraints on this element Element idProvenance.extension Additional content defined by implementations Alternate namesextensions, user content DefinitionMay be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. Unordered, Open, by url(Value) Extensions are always sliced by (at least) url Constraints
|
modifierExtension | ?! I | 0..* | Extension | There are no (further) constraints on this element Element idProvenance.modifierExtension Extensions that cannot be ignored Alternate namesextensions, user content DefinitionMay be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. Unordered, Open, by url(Value) Extensions are always sliced by (at least) url Constraints
|
target | S Σ I | 1..* | Reference(NLLMultiDoseDispConsent) | Element idProvenance.target Target Consent DefinitionThe Consent that was generated or updated by the activity described in this Provenance. Target references are usually version specific, but might not be, if a version has not been assigned or if the provenance information is part of the set of resources being maintained (i.e. a document). When using the RESTful API, the identity of the resource might not be known (especially not the version specific one); the client may either submit the resource first, and then the provenance, or it may submit both using a single transaction. See the notes on transaction for further discussion. Reference(NLLMultiDoseDispConsent) Constraints
|
occurred[x] | 0..1 | There are no (further) constraints on this element Element idProvenance.occurred[x] When the activity occurred DefinitionThe period during which the activity occurred. This value is set by the system to reflect the date and time when the request was received
| ||
occurredDateTime | dateTime | There are no (further) constraints on this element Data type | ||
recorded | S Σ | 1..1 | instant | There are no (further) constraints on this element Element idProvenance.recorded When the activity was recorded / updated DefinitionThe instant of time at which the activity was recorded by the Swedish eHealth Agency. This can be a little different from the time stamp on the resource if there is a delay between recording the event and updating the provenance and target resource.
|
policy | 0..* | uri | There are no (further) constraints on this element Element idProvenance.policy Policy or plan the activity was defined by DefinitionPolicy or plan the activity was defined by. Typically, a single activity may have multiple applicable policy documents, such as patient consent, guarantor funding, etc. For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element.
| |
location | I | 0..1 | Reference(Location) | There are no (further) constraints on this element Element idProvenance.location Where the activity occurred, if relevant DefinitionWhere the activity occurred, if relevant. References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.
|
reason | S | 0..0 | CodeableConceptBinding | Element idProvenance.reason Reason the activity is occurring DefinitionReason is not used when creating or updating a Multi dose dispensing consent (sv Dossamtycke). _ The reason the activity took place.
|
activity | S | 1..1 | CodeableConceptBinding | Element idProvenance.activity Activity that occurred DefinitionThis type describes the activity that occurred for the Multi Dose Dispensing Consent (sv Dossamtycke) _ The activity that took place.
|
id | 0..1 | string | There are no (further) constraints on this element Element idProvenance.activity.id Unique id for inter-element referencing DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
| |
extension | I | 0..* | Extension | There are no (further) constraints on this element Element idProvenance.activity.extension Additional content defined by implementations Alternate namesextensions, user content DefinitionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. Unordered, Open, by url(Value) Extensions are always sliced by (at least) url Constraints
|
coding | S Σ | 1..1 | Coding | There are no (further) constraints on this element Element idProvenance.activity.coding Code defined by a terminology system DefinitionA reference to a code defined by a terminology system. Allows for alternative encodings within a code system, and translations to other code systems. Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.
|
id | 0..1 | string | There are no (further) constraints on this element Element idProvenance.activity.coding.id Unique id for inter-element referencing DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
| |
extension | I | 0..* | Extension | There are no (further) constraints on this element Element idProvenance.activity.coding.extension Additional content defined by implementations Alternate namesextensions, user content DefinitionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. Unordered, Open, by url(Value) Extensions are always sliced by (at least) url Constraints
|
system | S Σ | 0..1 | uri | There are no (further) constraints on this element Element idProvenance.activity.coding.system Identity of the terminology system DefinitionThe identification of the code system that defines the meaning of the symbol in the code. Need to be unambiguous about the source of the definition of the symbol. The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.
|
version | S Σ | 0..1 | string | There are no (further) constraints on this element Element idProvenance.activity.coding.version Version of the system - if relevant DefinitionThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged. Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.
|
code | S Σ | 1..1 | code | There are no (further) constraints on this element Element idProvenance.activity.coding.code Symbol in syntax defined by the system DefinitionA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination). Need to refer to a particular code in the system. Note that FHIR strings SHALL NOT exceed 1MB in size
|
display | Σ | 0..1 | string | There are no (further) constraints on this element Element idProvenance.activity.coding.display Representation defined by the system DefinitionA representation of the meaning of the code in the system, following the rules of the system. Need to be able to carry a human-readable meaning of the code for readers that do not know the system. Note that FHIR strings SHALL NOT exceed 1MB in size
|
userSelected | Σ | 0..1 | boolean | There are no (further) constraints on this element Element idProvenance.activity.coding.userSelected If this coding was chosen directly by the user DefinitionIndicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays). This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing. Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.
|
text | Σ | 0..1 | string | There are no (further) constraints on this element Element idProvenance.activity.text Plain text representation of the concept DefinitionA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user. The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source. Very often the text is the same as a displayName of one of the codings.
|
agent | S | 1..* | BackboneElement | Element idProvenance.agent Practitioner involved for the Consent. DefinitionAllowed actors are: enterer (sv: utförare) and author (sv: uppdragsgivare). Enterer MUST always be present, author CAN be present in case a practitioner is performing a change on behalf of someone _ Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa.
|
id | 0..1 | string | There are no (further) constraints on this element Element idProvenance.agent.id Unique id for inter-element referencing DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
| |
extension | I | 0..* | Extension | There are no (further) constraints on this element Element idProvenance.agent.extension Additional content defined by implementations Alternate namesextensions, user content DefinitionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. Unordered, Open, by url(Value) Extensions are always sliced by (at least) url Constraints
|
modifierExtension | Σ ?! I | 0..* | Extension | There are no (further) constraints on this element Element idProvenance.agent.modifierExtension Extensions that cannot be ignored even if unrecognized Alternate namesextensions, user content, modifiers DefinitionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
|
type | S Σ | 1..1 | CodeableConceptBinding | There are no (further) constraints on this element Element idProvenance.agent.type How the agent participated DefinitionThe participation the agent had with respect to the activity. _ The type of participation that a provenance agent played with respect to the activity.
|
role | 0..* | CodeableConcept | There are no (further) constraints on this element Element idProvenance.agent.role What the agents role was DefinitionThe function of the agent with respect to the activity. The security role enabling the agent with respect to the activity. For example: doctor, nurse, clerk, etc. The role that a provenance agent played with respect to the activity.
| |
who | S Σ I | 1..1 | Reference(NLLPractitioner) | Element idProvenance.agent.who Who participated DefinitionThe practitioners that participated in the event as contained resources. whoIdentity should be used when the agent is not a Resource type. Allowed aggregation: contained Constraints
|
onBehalfOf | I | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | There are no (further) constraints on this element Element idProvenance.agent.onBehalfOf Who the agent is representing DefinitionThe individual, device, or organization for whom the change was made. onBehalfOfIdentity should be used when the agent is not a Resource type. Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) Constraints
|
entity | 0..* | BackboneElement | There are no (further) constraints on this element Element idProvenance.entity An entity used in this activity DefinitionAn entity used in this activity.
| |
id | 0..1 | string | There are no (further) constraints on this element Element idProvenance.entity.id Unique id for inter-element referencing DefinitionUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
| |
extension | I | 0..* | Extension | There are no (further) constraints on this element Element idProvenance.entity.extension Additional content defined by implementations Alternate namesextensions, user content DefinitionMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. Unordered, Open, by url(Value) Extensions are always sliced by (at least) url Constraints
|
modifierExtension | Σ ?! I | 0..* | Extension | There are no (further) constraints on this element Element idProvenance.entity.modifierExtension Extensions that cannot be ignored even if unrecognized Alternate namesextensions, user content, modifiers DefinitionMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions. There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
|
role | Σ | 1..1 | codeBinding | There are no (further) constraints on this element Element idProvenance.entity.role derivation | revision | quotation | source | removal DefinitionHow the entity was used during the activity. Note that FHIR strings SHALL NOT exceed 1MB in size How an entity was used in an activity.
|
what | Σ I | 1..1 | Reference(Resource) | There are no (further) constraints on this element Element idProvenance.entity.what Identity of entity DefinitionIdentity of the Entity used. May be a logical or physical uri and maybe absolute or relative. whatIdentity should be used for entities that are not a Resource type.
|
agent | 0..* | see (agent) | There are no (further) constraints on this element Element idProvenance.entity.agent Entity is attributed to this agent DefinitionThe entity is attributed to an agent to express the agent's responsibility for that entity, possibly along with other agents. This description can be understood as shorthand for saying that the agent was responsible for the activity which generated the entity. A usecase where one Provenance.entity.agent is used where the Entity that was used in the creation/updating of the Target, is not in the context of the same custodianship as the Target, and thus the meaning of Provenance.entity.agent is to say that the entity referenced is managed elsewhere and that this Agent provided access to it. This would be similar to where the Entity being referenced is managed outside FHIR, such as through HL7 v2, v3, or XDS. This might be where the Entity being referenced is managed in another FHIR resource server. Thus it explains the Provenance of that Entity's use in the context of this Provenance activity.
| |
signature | 0..* | Signature | There are no (further) constraints on this element Element idProvenance.signature Signature on target DefinitionA digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated. The elements of the Signature Resource are for ease of access of these elements. For digital signatures (Xml DigSig, JWS), the non-repudiation proof comes from the Signature validation, which includes validation of the referenced objects (e.g. Resources) (a.k.a., Content) in the XML-Signature Detached form.
|
Access consent
The profile NLLProvenanceConsentAccess documents the valid data combinations in a Provencance related to an access consent.
For this type of consent the following special contraints apply:
- the 'target' must point to an access consent resource.
- the 'reason' attribute is not used.
- the 'activity' must be from the value set Händelsetyper för åtkomstsamtycke (accessconsent-activity-types)
- the 'agent.who' must point to a practitioner resource.
NLLProvenanceConsentAccess (Provenance) I NLLProvenance There are no (further) constraints on this elementElement idShort descriptionProvenance
When a change is made in the patient´s medication list a provenance provides information about who, what, when and where from the change is made.
Alternate namesHistory, Event, Activity
DefinitionCommentsNLLProvenance describes a change that has been made on a resource affecting a patient medications list, e.g. a MedicationRequest, MedicationDispense or resource related to multi dose dispensing (sv: dosunderlag, dossamtycke) or a change affecting a data lock (sv spärr). The change describes What - in the form of which resource is the target in combination with a reason and activity. It describes by Who - in the form of agent and it describes When it occurred. A Provenance resource is created fron the X-Provenance header wich is mandatory in a number of scenarios.
Data type ConstraintsSome parties may be duplicated between the target resource and its provenance. For instance, the prescriber is usually (but not always) the author of the prescription resource. This resource is defined with close consideration for W3C Provenance.
Mappings- dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
contained.contained.empty()
- dom-4: 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-3: 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-6: A resource should have narrative for robust management
text.`div`.exists()
- dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
contained.meta.security.empty()
- rim: Entity. Role, or Act
- workflow: Event
- rim: ControlAct[isNormalAct() and subsumes(CACT, classCode) and moodCode=EVN]
- w3c.prov: Activity
- EHM: Händelse
id S Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionProvenance.id
Logical id of this artifact
DefinitionCommentsThe logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Data type MappingsThe only time that a resource does not have an id is when it is being submitted to the server using a create operation.
- EHM: Händelse-id
meta Σ 0..1 Meta There are no (further) constraints on this elementElement idShort descriptionProvenance.meta
Metadata about the resource
DefinitionData type ConstraintsThe metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: N/A
implicitRules Σ ?! 0..1 uri There are no (further) constraints on this elementElement idShort descriptionProvenance.implicitRules
A set of rules under which this content was created
DefinitionCommentsA reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
Data type ConstraintsAsserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
language 0..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionProvenance.language
Language of the resource content
DefinitionCommentsThe base language in which the resource is written.
Data type BindingLanguage is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).
CommonLanguages (preferred)ConstraintsA human language.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
text 0..1 Narrative There are no (further) constraints on this elementElement idShort descriptionProvenance.text
Text summary of the resource, for human interpretation
Alternate namesnarrative, html, xhtml, display
DefinitionCommentsA human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Data type ConstraintsContained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: N/A
- rim: Act.text?
contained 0..* Resource There are no (further) constraints on this elementElement idShort descriptionProvenance.contained
Contained, inline Resources
Alternate namesinline resources, anonymous resources, contained resources
DefinitionCommentsThese resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Data type MappingsThis should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.
- rim: Entity. Role, or Act
- rim: N/A
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionProvenance.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionProvenance.modifierExtension
Extensions that cannot be ignored
Alternate namesextensions, user content
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
target S Σ I 1..* Reference(NLLAccessConsent) Element id Short descriptionProvenance.target
Target Consent
DefinitionCommentsThe Consent that was generated or updated by the activity described in this Provenance.
Data type ConstraintsTarget references are usually version specific, but might not be, if a version has not been assigned or if the provenance information is part of the set of resources being maintained (i.e. a document). When using the RESTful API, the identity of the resource might not be known (especially not the version specific one); the client may either submit the resource first, and then the provenance, or it may submit both using a single transaction. See the notes on transaction for further discussion.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- w5: FiveWs.what[x]
- rim: ./outboundRelationship[isNormalActRelationship() and typeCode=SUBJ]/target OR ./participation[isNormalParticipation() and typeCode=SBJ]/role OR ./participation[isNormalParticipation() and typeCode=SBJ]/role[isNormalRole()]/player
- fhirauditevent: AuditEvent.entity.reference
- w3c.prov: Entity Created/Updated
- EHM: Resursreferenser
- EHM: Referens till spärr
occurred[x] 0..1 There are no (further) constraints on this elementElement idShort descriptionProvenance.occurred[x]
When the activity occurred
DefinitionCommentsThe period during which the activity occurred.
ConstraintsThis value is set by the system to reflect the date and time when the request was received
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- workflow: Event.occurred[x]
- w5: FiveWs.done[x]
- rim: ./effectiveTime[type=IVL_TS]
- w3c.prov: Activity.startTime & Activity.endTime
- EHM: Tidpunkt
occurredDateTime dateTime There are no (further) constraints on this elementData typerecorded S Σ 1..1 instant There are no (further) constraints on this elementElement idShort descriptionProvenance.recorded
When the activity was recorded / updated
DefinitionCommentsThe instant of time at which the activity was recorded by the Swedish eHealth Agency.
Data type ConstraintsThis can be a little different from the time stamp on the resource if there is a delay between recording the event and updating the provenance and target resource.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- w5: FiveWs.recorded
- rim: unique(./participation[isNormalParticipation() and typeCode=AUT]/time[type=TS])
- fhirauditevent: AuditEvent.recorded
- w3c.prov: Activity.when
- EHM: Händelsetidpunkt
policy 0..* uri There are no (further) constraints on this elementElement idShort descriptionProvenance.policy
Policy or plan the activity was defined by
DefinitionCommentsPolicy or plan the activity was defined by. Typically, a single activity may have multiple applicable policy documents, such as patient consent, guarantor funding, etc.
Data type ConstraintsFor example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: ./inboundRelationship[isNormalActRelationship() and typeCode="SUBJ"]/source[isNormalAct and subsumes(POLICY, classCode) and moodCode=EVN]/text[typeCode='ED'/tel
- fhirauditevent: AuditEvent.agent.policy
location I 0..1 Reference(Location) There are no (further) constraints on this elementElement idShort descriptionProvenance.location
Where the activity occurred, if relevant
DefinitionCommentsWhere the activity occurred, if relevant.
Data type ConstraintsReferences SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- workflow: Event.location
- w5: FiveWs.where[x]
- rim: unique(./participation[isNormalParticipation() and typeCode=LOC]/role[isNormalRole() and subsumes(SDLOC, classCode)]/player[isNormalEntity and classCode="LOC" and determinerCode="INST"]
- fhirauditevent: AuditEvent.agent.location
- w3c.prov: Activity.location
reason S 0..0 CodeableConceptBinding Element id Short descriptionProvenance.reason
Reason the activity is occurring
DefinitionCommentsReason is not used when creating or updating an access consent (sv Åtkomstsamtycke).
Data type Binding_
http://electronichealth.se/fhir/ValueSet/nll-reason-for-provenance (extensible)ConstraintsThe reason the activity took place.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CE/CNE/CWE
- rim: CD
- orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
- workflow: Event.reasonCode
- w5: FiveWs.why[x]
- rim: unique(./reasonCode)
- fhirauditevent: AuditEvent.purposeOfEvent
- w3c.prov: Activity.Activity
- EHM: Händelseorsak
activity S 1..1 CodeableConceptBinding Element id Short descriptionProvenance.activity
Activity that occurred
DefinitionCommentsThis type describes the activity that occurred for the Access Consent (sv Åtkomstsamtycke)
Data type Binding_
accessconsent-activity-types (required)ConstraintsThe activity that took place.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CE/CNE/CWE
- rim: CD
- orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
- workflow: Event.code
- w5: FiveWs.why[x]
- rim: Act.code
- w3c.prov: Activity.Activity
- EHM: Händelsetyp
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionProvenance.activity.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionProvenance.activity.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
coding S Σ 1..1 Coding There are no (further) constraints on this elementElement idShort descriptionProvenance.activity.coding
Code defined by a terminology system
DefinitionRequirementsA reference to a code defined by a terminology system.
CommentsAllows for alternative encodings within a code system, and translations to other code systems.
Data type ConstraintsCodes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CE/CNE/CWE subset one of the sets of component 1-3 or 4-6
- rim: CV
- orim: fhir:Coding rdfs:subClassOf dt:CDCoding
- v2: C*E.1-8, C*E.10-22
- rim: union(., ./translation)
- orim: fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionProvenance.activity.coding.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionProvenance.activity.coding.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
system S Σ 0..1 uri There are no (further) constraints on this elementElement idShort descriptionProvenance.activity.coding.system
Identity of the terminology system
DefinitionRequirementsThe identification of the code system that defines the meaning of the symbol in the code.
CommentsNeed to be unambiguous about the source of the definition of the symbol.
Data type ConstraintsThe URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...). OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should reference to some definition that establishes the system clearly and unambiguously.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: C*E.3
- rim: ./codeSystem
- orim: fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem
version S Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionProvenance.activity.coding.version
Version of the system - if relevant
DefinitionCommentsThe version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured, and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.
Data type ConstraintsWhere the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: C*E.7
- rim: ./codeSystemVersion
- orim: fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion
code S Σ 1..1 code There are no (further) constraints on this elementElement idShort descriptionProvenance.activity.coding.code
Symbol in syntax defined by the system
DefinitionRequirementsA symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).
CommentsNeed to refer to a particular code in the system.
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: C*E.1
- rim: ./code
- orim: fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code
display Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionProvenance.activity.coding.display
Representation defined by the system
DefinitionRequirementsA representation of the meaning of the code in the system, following the rules of the system.
CommentsNeed to be able to carry a human-readable meaning of the code for readers that do not know the system.
Data type ConstraintsNote that FHIR strings SHALL NOT exceed 1MB in size
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: C*E.2 - but note this is not well followed
- rim: CV.displayName
- orim: fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName
userSelected Σ 0..1 boolean There are no (further) constraints on this elementElement idShort descriptionProvenance.activity.coding.userSelected
If this coding was chosen directly by the user
DefinitionRequirementsIndicates that this coding was chosen by a user directly - e.g. off a pick list of available items (codes or displays).
CommentsThis has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.
Data type ConstraintsAmongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: Sometimes implied by being first
- rim: CD.codingRationale
- orim: fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map; fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\#true a [ fhir:source "true"; fhir:target dt:CDCoding.codingRationale\#O ]
text Σ 0..1 string There are no (further) constraints on this elementElement idShort descriptionProvenance.activity.text
Plain text representation of the concept
DefinitionRequirementsA human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.
CommentsThe codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.
Data type ConstraintsVery often the text is the same as a displayName of one of the codings.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: C*E.9. But note many systems use C*E.2 for this
- rim: ./originalText[mediaType/code="text/plain"]/data
- orim: fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText
agent S 1..* BackboneElement Element id Short descriptionProvenance.agent
Practitioner involved for the Consent.
DefinitionRequirementsAllowed actors are: enterer (sv: utförare) and author (sv: uppdragsgivare). Enterer MUST always be present, author CAN be present in case a practitioner is performing a change on behalf of someone
Comments_
Data type ConstraintsSeveral agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- workflow: Event.performer
- w5: FiveWs.who
- rim: ./participation[isNormalParticipation()] OR ./outboundRelationship[isNormalActRelationship() and typeCode='DRIV']
- fhirauditevent: AuditEvent.agent
- w3c.prov: Agent
- EHM: Uppdragsgivare
- EHM: Utförare
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionProvenance.agent.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionProvenance.agent.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionProvenance.agent.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
type S Σ 1..1 CodeableConceptBinding There are no (further) constraints on this elementElement idShort descriptionProvenance.agent.type
How the agent participated
DefinitionCommentsThe participation the agent had with respect to the activity.
Data type Binding_
provenance-participant-types (extensible)ConstraintsThe type of participation that a provenance agent played with respect to the activity.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CE/CNE/CWE
- rim: CD
- orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
- workflow: Event.performer.function
- rim: .role
- fhirauditevent: AuditEvent.agent.type
- w3c.prov: Agent.Attribution
role 0..* CodeableConcept There are no (further) constraints on this elementElement idShort descriptionProvenance.agent.role
What the agents role was
DefinitionCommentsThe function of the agent with respect to the activity. The security role enabling the agent with respect to the activity.
Data type BindingFor example: doctor, nurse, clerk, etc.
SecurityRoleType (example)ConstraintsThe role that a provenance agent played with respect to the activity.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- v2: CE/CNE/CWE
- rim: CD
- orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
- rim: .typecode
- fhirauditevent: AuditEvent.agent.role
who S Σ I 1..1 Reference(NLLPractitioner | NLLPatient) Element id Short descriptionProvenance.agent.who
Who participated
DefinitionCommentsThe practitioners that participated in the event as contained resources.
Data typewhoIdentity should be used when the agent is not a Resource type.
Reference(NLLPractitioner | NLLPatient)
Allowed aggregation: contained
ConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- workflow: Event.performer.actor
- w5: FiveWs.actor
- rim: .id
- EHM: Uppdragsgivare / Utförare
onBehalfOf I 0..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) There are no (further) constraints on this elementElement idShort descriptionProvenance.agent.onBehalfOf
Who the agent is representing
DefinitionCommentsThe individual, device, or organization for whom the change was made.
Data typeonBehalfOfIdentity should be used when the agent is not a Resource type.
Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)
ConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- rim: Person, Practitioner, Organization, Device :* .role [classCode = RoleClassMutualRelationship; role.code and * .scopes[Role](classCode=IDENT) and *.plays [Role.Code]
entity 0..* BackboneElement There are no (further) constraints on this elementElement idShort descriptionProvenance.entity
An entity used in this activity
DefinitionData type ConstraintsAn entity used in this activity.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: ./subjectOf
- fhirauditevent: AuditEvent.entity
- w3c.prov: Entity
id 0..1 string There are no (further) constraints on this elementElement idShort descriptionProvenance.entity.id
Unique id for inter-element referencing
DefinitionData type MappingsUnique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
- rim: n/a
extension I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionProvenance.entity.extension
Additional content defined by implementations
Alternate namesextensions, user content
DefinitionCommentsMay be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Data type Sliced:There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Unordered, Open, by url(Value)
Extensions are always sliced by (at least) urlConstraintsMappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
modifierExtension Σ ?! I 0..* Extension There are no (further) constraints on this elementElement idShort descriptionProvenance.entity.modifierExtension
Extensions that cannot be ignored even if unrecognized
Alternate namesextensions, user content, modifiers
DefinitionRequirementsMay be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.
Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
CommentsModifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Data type ConstraintsThere can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ext-1: Must have either extensions or value[x], not both
extension.exists() != value.exists()
- rim: n/a
- rim: N/A
role Σ 1..1 codeBinding There are no (further) constraints on this elementElement idShort descriptionProvenance.entity.role
derivation | revision | quotation | source | removal
DefinitionCommentsHow the entity was used during the activity.
Data type BindingNote that FHIR strings SHALL NOT exceed 1MB in size
ProvenanceEntityRole (required)ConstraintsHow an entity was used in an activity.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: ./typeCode
- fhirauditevent: AuditEvent.entity.lifecycle
- w3c.prov: Entity.role
what Σ I 1..1 Reference(Resource) There are no (further) constraints on this elementElement idShort descriptionProvenance.entity.what
Identity of entity
DefinitionCommentsIdentity of the Entity used. May be a logical or physical uri and maybe absolute or relative.
Data type ConstraintswhatIdentity should be used for entities that are not a Resource type.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- ref-1: SHALL have a contained resource if a local reference is provided
reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
- rim: n/a
- rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
- rim: ./text/reference
- fhirauditevent: AuditEvent.entity.reference
- w3c.prov: Entity.Identity
agent 0..* see (agent) There are no (further) constraints on this elementElement idShort descriptionProvenance.entity.agent
Entity is attributed to this agent
DefinitionCommentsThe entity is attributed to an agent to express the agent's responsibility for that entity, possibly along with other agents. This description can be understood as shorthand for saying that the agent was responsible for the activity which generated the entity.
MappingsA usecase where one Provenance.entity.agent is used where the Entity that was used in the creation/updating of the Target, is not in the context of the same custodianship as the Target, and thus the meaning of Provenance.entity.agent is to say that the entity referenced is managed elsewhere and that this Agent provided access to it. This would be similar to where the Entity being referenced is managed outside FHIR, such as through HL7 v2, v3, or XDS. This might be where the Entity being referenced is managed in another FHIR resource server. Thus it explains the Provenance of that Entity's use in the context of this Provenance activity.
- rim: ./author/role
signature 0..* Signature There are no (further) constraints on this elementElement idShort descriptionProvenance.signature
Signature on target
DefinitionCommentsA digital signature on the target Reference(s). The signer should match a Provenance.agent. The purpose of the signature is indicated.
Data type ConstraintsThe elements of the Signature Resource are for ease of access of these elements. For digital signatures (Xml DigSig, JWS), the non-repudiation proof comes from the Signature validation, which includes validation of the referenced objects (e.g. Resources) (a.k.a., Content) in the XML-Signature Detached form.
Mappings- ele-1: All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
- rim: n/a
- rim: N/A
- rim: ./signatureText
- dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources