Page Status: updated 2023-02-28
Provenance
Page index
Introduction
The Provenance resource, shown in the profile NLLProvenance, contains additional information describing why a resource was created or changed, who performed and/or advised the change and when the change occurred.
When doing an HTTP POST or PUT (insert / update) of a resource, a Provenance resource must be provided in the HTTP header as a custom header parameter, X-Provenance, see HTTP Header and Authorization. The target of the Provenance is the resource(s) defined in the HTTP body. The provided provenance addresses why and who. The National Medication List adds when to the provenance.
See the HL7 FHIR documentation Provenance HTTP header for more details about the Provenance resource.
Regarding information about how the "must support"-property is used in the Swedish National MedicationList, please refer to the page Resources
Overview
NLLProvenance (Provenance) | I | Provenance | 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 | 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(NLLMedicationRequest | NLLMedicationDispense | NLLMultiDoseDispConsent | NLLMultiDoseDispensingBasis | NLLDispensePaperPrescription | NLLDataLock | NLLAccessConsent) | Element idProvenance.target Target Reference(s) (usually version specific) DefinitionThe Reference(s) that were generated or updated by the activity described in this resource. A provenance can point to more than one target if multiple resources were created/updated by the same activity. The Reference is set by the Swedish eHealth Agency to the resource in the body of the request containing the X-Provenance header, and in some cases the target may also point to additional affected resources . 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(NLLMedicationRequest | NLLMedicationDispense | NLLMultiDoseDispConsent | NLLMultiDoseDispensingBasis | NLLDispensePaperPrescription | NLLDataLock | NLLAccessConsent) Allowed aggregation: referenced Constraints
|
occurred[x] | 0..1 | 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 | Data type | ||
recorded | S Σ | 1..1 | instant | 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..1 | CodeableConceptBinding | Element idProvenance.reason Reason the activity is occurring DefinitionThe reason for the change. <br> For prescriptions, codes can be used to describe either a reason for change or a reason for cancellation. For other scenarios regarding prescriptions, only the text element is allowed (in combination with the code OTH). For all scenarios regarding medication dispense, only the text element is allowed. For all scenarios regarding Consents (NLLMultiDoseDispConsent (sv Dossamtycke), NLLAccessConsent (sv. Åtkomstsamtycke)), NLLMultiDoseDispensingBasis (sv Dosunderlag) and NLLDataLock (sv Spärr) no reason is allowed. _ The reason the activity took place.
|
id | 0..1 | string | There are no (further) constraints on this element Element idProvenance.reason.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.reason.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 Σ | 0..1 | Coding | There are no (further) constraints on this element Element idProvenance.reason.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.reason.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.reason.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.reason.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.reason.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.reason.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.reason.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.reason.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 | S Σ | 0..1 | string | Element idProvenance.reason.text Plain text representation of the concept DefinitionPlain text representation of the reason that the activity was taking place. Mandatory when the code "OTH" (other) is used. Can be used for all scenarios regarding prescriptions and dispenses that does not require a code. 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. Maximum string length: 256 For reasons related to dispensens for paper prescriptions the maximum string length is: 50
|
activity | S | 1..1 | CodeableConceptBinding | Element idProvenance.activity Activity that occurred DefinitionThis type describes the activity that occurred. This could both be a medication list activity type concerning a MedicationRequest for example, or a data lock activity type. _ 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 Actor involved 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 | 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 | NLLPatient) | Element idProvenance.agent.who Who participated DefinitionThe individual that participated in the event. NB! Only a DataLock Provenance can contain a reference to a Patient resource. whoIdentity should be used when the agent is not a Resource type. Reference(NLLPractitioner | NLLPatient) Allowed aggregation: contained, referenced 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.
|
Contained resources
References to other resources are based on contained resources in the following cases.
Element | Resource | Case |
---|---|---|
agent.who | Practitioner | Allways |
For more information about references and contained resources see Resources - References.
Details
Description of all elements can be found here, Element descriptions.
Mapping of FHIR element names to the National Medication List names can be found here, Element language mappings.
Super provenance and sub provenances
The profile NLLProvenance is a super type compatible with all other sub-profiles used in the National Medication List. NLLProvenance can therefore be used as a replacement of all other provenance types.
The value sets used in NLLProvenance contain all codes for all scenarios in the National Medication List, and the references support all scenarios. To describe valid elements and combinations of data for specific scenarios a number of specialized sub-profiles are available.
See the following pages for more information about how to use the Provenance resource in scenarios where it is used together with information about the supporting sub-profiles.
- MedicationRequest scenarios
- MedicationDispense scenarios
- Multi dose dispensing basis scenarios
- Data lock scenarios
- Consent scenarios
Practitioner
The Provenance structure must conform to the type of activity it describes and who is doing it. In some use cases a practitioner is provided in the HTTP body, e.g. an agent is defined as requester in a MedicationRequest, as well as in the Provenance in the HTTP header. It is important that the practitioner is the same in both places in many of those use cases.
Supported operations
HTTP methods
Operation | Supported | Comment |
---|---|---|
Search (GET, POST) | yes | See below for supported search options. |
Insert (POST) | no | |
Update (PUT) | no | |
Delete (DEL) | no | |
Operation (GET, POST) | no |
When interacting with this resource a set of HTTP-headers must be included in the request, see HTTP Header and Authorization.
Query operations
The following query alternatives are available for this resource.
../Provenance/[id]
../Provenance?target=[ref]{&activity-type=[code]}
Compartment searches
Supported searches on a compartment. This kind of search returns a bundle with the related resources.
../Provenance/[id]/MedicationRequest
returns all related medication requests.../MedicationRequest/[id]/Provenance
returns all related provenances.../Basic/[id]/Provenance
returns all related provenances (data locks and multi dose dispenses).../Consent/[id]/Provenance
returns all related provenances.../MedicationDispense/[id]/Provenance
returns all related provenances.
Include & reverse includes
Include and revinclude are not supported by this resource.
For generic information about how to search in FHIR look here.
Search parameters
The table below shows all supported search parameters.
Parameter | Description | Comment |
---|---|---|
Provenance/[id] | A read based on the logical ID (UUID) of a provenance../Provenance/<uuid> |
Applicable for provenances related to Basic (multidose dispenses and datalock), medication request, medication dispense (not dispense paper prescription) and consent |
target | Reference to the target resource. Supported targets are MedicationRequest, MedicationDispense, Consent and Basic..?target=Basic/<uuid> ..?target=MedicationRequest/<uuid>/_history/2 |
|
activity-type | Type of activity..&activity-type=REGISTRERA_FORSKRIVNING |