Current Build

Переводит команда Health Samurai . Приглашаем поучаствовать в русификации стандарта FHIR: GitHub , Email.

6.3 Ресурс Provenance - Назначение

Security Work GroupMaturity Level: 3 Trial UseSecurity Category: Not Classified Compartments: Device, Patient, Practitioner, RelatedPerson

Происхождение ресурса - это запись, описывающая сущности и процессы, вовлеченные в создание и доставку или иное воздействие на ресурс. Происхождение обеспечивает необходимую основу для оценки подлинности, возможности доверия и воспроизводимости. Утверждения о происхождении имеют форму контекстуальных метаданных и сами могут стать важными записями со своим собственным происхождением. Заявление о происхождении показывает клиническую значимость с точки зрения уверенности в подлинности, надежности, достоверности, целостности и стадии жизненного цикла (например, Document Completion - имеет артефакт юридической проверки подлинности), каждое из которых может повлиять на политики безопасности, конфиденциальности и доверия.

The Provenance resource tracks information about the activity that created, revised, deleted, or signed a version of a resource, describing the entities and agents involved. This information can be used to form assessments about its quality, reliability, trustworthiness, or to provide pointers for where to go to further investigate the origins of the resource and the information in it.

Provenance resources are a record-keeping assertion that gathers information about the context in which the information in a resource was obtained. Provenance resources are prepared by the application that initiates the create/update etc. of the resource. An AuditEvent resource contains overlapping information, but is created as events occur, to track and audit the events. AuditEvent resources are often (though not exclusively) created by the application responding to the read/query/create/update/etc. event.

Many other FHIR resources contain some elements that represent information about how the resource was obtained, and therefore they overlap with the functionality of the Provenance resource. These properties in other resources should always be used in preference to the Provenance resource, and the Provenance resource should be used where additional information is required, or explicit record or provenance is desired.

The relationship between a resource and its provenance is established by a reference from the provenance resource to its target. In this way, provenance may be provided about any resource or version, including past versions. There may be multiple provenance records for a given resource or version of a resource.

The Provenance resource is based on the W3C Provenance specification , and mappings are provided. The Provenance resource is tailored to fit the FHIR use-cases for provenance more directly. In terms of W3C Provenance the FHIR Provenance resource covers "Generation" of "Entity" with respect to FHIR defined resources for creation or updating; whereas AuditEvent covers "Usage" of "Entity" and all other "Activity" as defined in W3C Provenance.

The W3C Provenance Specification has the following fundamental model:

Key concepts

Where:

  • Entity - An entity is a physical, digital, conceptual or other kind of thing with some fixed aspects; entities may be real or imaginary.
  • Agent - An agent is something that bears some form of responsibility for an activity taking place, for the existence of an entity, or for another agent's activity.
  • Activity - An activity is something that occurs over a time period and acts upon or with entities. It may include consuming, processing, transforming, modifying, relocating, using, or generating entities.

The Provenance resource corresponds to a single activity that identifies a set of resources (target) generated by the activity. The activity also references other entities (entity) that were used and the agents (agent) that were associated with the activity. To record multiple activities that resulted in one (target), record each (activity) in independent Provenance records all pointing at that (target).

The Provenance resource depends upon having References to all the resources, entities, and agents involved in the activity. These References need not be resolvable. The references must provide a unique and unambiguous identification. If a resource, entity, or agent can have different versions that must be identified, then the Reference must have versioning information included.

Versioning and unique identification are not mandated for all systems that provide Resources, entities, and agents. But, inclusion of Provenance requirements may introduce requirements for versioning and unique identification on those systems

The Provenance resource is based on leveraging the W3C Provenance specification to represent HL7 support of provenance throughout its standards and explicitly modeled as functional capabilities in ISO/HL7 10781 EHR System Functional Model Release 2 and ISO 21089 Trusted End-to-End Information Flows. Mappings are provided. The Provenance resource is tailored to fit the FHIR use-cases for provenance more directly. In terms of W3C Provenance the FHIR Provenance resources covers "Generation" of "Entity" with respect to FHIR defined resources for creation or updating; whereas AuditEvent covers "Usage" of "Entity" and all other "Activity" as defined in W3C Provenance.

На этот ресурс ссылаются Contract, DeviceRequest, MedicationAdministration, MedicationDispense, MedicationRequest, ServiceRequest и Task

Структура

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. Provenance TUDomainResourceКто, что, когда для набора ресурсов
Элементы, определённые в прародителе: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... target Σ1..*Reference(Any)Целевые ссылки (обычно на конкретные версии)
... occurred[x] 0..1Когда произошла активность
.... occurredPeriodPeriod
.... occurredDateTimedateTime
... recorded Σ1..1instantКогда активность была записана/обнволена
... policy 0..*uriПолитика или план, по которому произошла активность
... location 0..1Reference(Location)Где произошла активность, если это уместно
... reason 0..*CodeableConceptПричина активности
V3 Value SetPurposeOfUse (Extensible)
... activity 0..1CodeableConceptАктивность, которая наступила
Provenance activity type (Extensible)
... agent 1..*BackboneElementУчаствующее лицо
.... type Σ0..1CodeableConceptHow the agent participated
Provenance participant type (Extensible)
.... role 0..*CodeableConceptWhat the agents role was
SecurityRoleType (Example)
.... who Σ1..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Who participated
.... onBehalfOf 0..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Who the agent is representing
... entity 0..*BackboneElementСущность, использованная в этой активности
.... role Σ1..1codederivation | revision | quotation | source | removal
ProvenanceEntityRole (Required)
.... what Σ1..1Reference(Any)Идентификатор сущности
.... agent 0..*see agentСущность приписывается этому агенту
... signature 0..*SignatureЭлектронная цифровая подпись целевого объекта

doco Документация по этому формату

UML-диаграмма (Legend)

Provenance (DomainResource)Ссылки, которые были сгенерированы или обновлены активностью, описанной в данном ресурсе. Происхождение может указывать на больше чем одну цель, если несколько ресурсов были созданы/обновлены в рамках одной активностиtarget : Reference [1..*] « Any »Период, в течение которого произошла активностьoccurred[x] : Type [0..1] « Period|dateTime »Момент времени, в который активность была записанаrecorded : instant [1..1]Политика или план, по которому произошла активность. Как правило, отдельная активность может иметь несколько применимых документов политики, такие как согласие пациента, гарант финансирования и т. пpolicy : uri [0..*]Где произошла активность, если это уместноlocation : Reference [0..1] « Location »Причина, по которой имела место активностьreason : CodeableConcept [0..*] « Причина, по которой произошла эта активность. (Strength=Extensible)v3.PurposeOfUse+ »Активность - это что-то, что происходит за некоторый период времени и действует над или с сущностями; может включать в себя употребление, обработку, преобразование, изменение, перемещение, использование или образование сущностейactivity : CodeableConcept [0..1] « Активность, которая имела место. (Strength=Extensible)ProvenanceActivityType+ »Электронная цифровая подпись на целевых ссылках. Подписавшая сторона должна соответствовать Provenance.agent. Указывается назначение этой подписиsignature : Signature [0..*]AgentThe participation the agent had with respect to the activitytype : CodeableConcept [0..1] « The type of participation that a provenance agent played with respect to the activity. (Strength=Extensible)ProvenanceParticipantType+ »The function of the agent with respect to the activity. The security role enabling the agent with respect to the activityrole : CodeableConcept [0..*] « Роль, которую играл посредник источника относительно данной активности. (Strength=Example)SecurityRoleType?? »Человек, устройство или организация, участвующие в этом событииwho : Reference [1..1] « Practitioner|PractitionerRole|RelatedPerson| Patient|Device|Organization »The individual, device, or organization for whom the change was madeonBehalfOf : Reference [0..1] « Practitioner|PractitionerRole| RelatedPerson|Patient|Device|Organization »EntityКаким образом сущность использовалась во время активностиrole : code [1..1] « Каким образом сущность была использована в этой активности. (Strength=Required)ProvenanceEntityRole! »Идентификация используемой сущности. Может быть логическим или физическим uri, абсолютным или относительнымwhat : Reference [1..1] « Any »Лицо, играющее роль в активности, которому может быть присвоена некоторая степень ответственности за имеющую место активностьagent[1..*]Сущность приписывается агенту для выражения ответственности агента за эту сущность, возможно наряду с другими агентами. Это описание можно понимать как краткую запись того, что агент несет ответственность за активность, которая генерирует эту сущностьagent[0..*]Сущность, использованная в этой активностиentity[0..*]

XML-шаблон

<Provenance xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <target><!-- 1..* Reference(Any) Целевые ссылки (обычно на конкретные версии) --></target>
 <occurred[x]><!-- 0..1 Period|dateTime Когда произошла активность --></occurred[x]>
 <recorded value="[instant]"/><!-- 1..1 Когда активность была записана/обнволена -->
 <policy value="[uri]"/><!-- 0..* Политика или план, по которому произошла активность -->
 <location><!-- 0..1 Reference(Location) Где произошла активность, если это уместно --></location>
 <reason><!-- 0..* CodeableConcept Причина активности --></reason>
 <activity><!-- 0..1 CodeableConcept Активность, которая наступила --></activity>
 <agent>  <!-- 1..* Участвующее лицо -->
  <type><!-- 0..1 CodeableConcept How the agent participated --></type>
  <role><!-- 0..* CodeableConcept What the agents role was --></role>
  <who><!-- 1..1 Reference(Practitioner|PractitionerRole|RelatedPerson|Patient|
    Device|Organization) Who participated --></who>
  <onBehalfOf><!-- 0..1 Reference(Practitioner|PractitionerRole|RelatedPerson|
    Patient|Device|Organization) Who the agent is representing --></onBehalfOf>
 </agent>
 <entity>  <!-- 0..* Сущность, использованная в этой активности -->
  <role value="[code]"/><!-- 1..1 derivation | revision | quotation | source | removal -->
  <what><!-- 1..1 Reference(Any) Идентификатор  сущности --></what>
  <agent><!-- 0..* Content as for Provenance.agent Сущность приписывается этому агенту --></agent>
 </entity>
 <signature><!-- 0..* Signature Электронная цифровая подпись целевого объекта --></signature>
</Provenance>

JSON-шаблон

{doco
  "resourceType" : "Provenance",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "target" : [{ Reference(Any) }], // R!  Целевые ссылки (обычно на конкретные версии)
  // occurred[x]: Когда произошла активность. One of these 2:
  "occurredPeriod" : { Period },
  "occurredDateTime" : "<dateTime>",
  "recorded" : "<instant>", // R!  Когда активность была записана/обнволена
  "policy" : ["<uri>"], // Политика или план, по которому произошла активность
  "location" : { Reference(Location) }, // Где произошла активность, если это уместно
  "reason" : [{ CodeableConcept }], // Причина активности
  "activity" : { CodeableConcept }, // Активность, которая наступила
  "agent" : [{ // R!  Участвующее лицо
    "type" : { CodeableConcept }, // How the agent participated
    "role" : [{ CodeableConcept }], // What the agents role was
    "who" : { Reference(Practitioner|PractitionerRole|RelatedPerson|Patient|
    Device|Organization) }, // R!  Who participated
    "onBehalfOf" : { Reference(Practitioner|PractitionerRole|RelatedPerson|
    Patient|Device|Organization) } // Who the agent is representing
  }],
  "entity" : [{ // Сущность, использованная в этой активности
    "role" : "<code>", // R!  derivation | revision | quotation | source | removal
    "what" : { Reference(Any) }, // R!  Идентификатор  сущности
    "agent" : [{ Content as for Provenance.agent }] // Сущность приписывается этому агенту
  }],
  "signature" : [{ Signature }] // Электронная цифровая подпись целевого объекта
}

Turtle-шаблон

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Provenance;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:Provenance.target [ Reference(Any) ], ... ; # 1..* Целевые ссылки (обычно на конкретные версии)
  # Provenance.occurred[x] : 0..1 Когда произошла активность. One of these 2
    fhir:Provenance.occurredPeriod [ Period ]
    fhir:Provenance.occurredDateTime [ dateTime ]
  fhir:Provenance.recorded [ instant ]; # 1..1 Когда активность была записана/обнволена
  fhir:Provenance.policy [ uri ], ... ; # 0..* Политика или план, по которому произошла активность
  fhir:Provenance.location [ Reference(Location) ]; # 0..1 Где произошла активность, если это уместно
  fhir:Provenance.reason [ CodeableConcept ], ... ; # 0..* Причина активности
  fhir:Provenance.activity [ CodeableConcept ]; # 0..1 Активность, которая наступила
  fhir:Provenance.agent [ # 1..* Участвующее лицо
    fhir:Provenance.agent.type [ CodeableConcept ]; # 0..1 How the agent participated
    fhir:Provenance.agent.role [ CodeableConcept ], ... ; # 0..* What the agents role was
    fhir:Provenance.agent.who [ Reference(Practitioner|PractitionerRole|RelatedPerson|Patient|Device|Organization) ]; # 1..1 Who participated
    fhir:Provenance.agent.onBehalfOf [ Reference(Practitioner|PractitionerRole|RelatedPerson|Patient|Device|Organization) ]; # 0..1 Who the agent is representing
  ], ...;
  fhir:Provenance.entity [ # 0..* Сущность, использованная в этой активности
    fhir:Provenance.entity.role [ code ]; # 1..1 derivation | revision | quotation | source | removal
    fhir:Provenance.entity.what [ Reference(Any) ]; # 1..1 Идентификатор  сущности
    fhir:Provenance.entity.agent [ See Provenance.agent ], ... ; # 0..* Сущность приписывается этому агенту
  ], ...;
  fhir:Provenance.signature [ Signature ], ... ; # 0..* Электронная цифровая подпись целевого объекта
]

Changes since R3

Provenance
Provenance.occurred[x]
  • Renamed from period to occurred[x]
  • Add Type dateTime
Provenance.reason
  • Type changed from Coding to CodeableConcept
Provenance.activity
  • Type changed from Coding to CodeableConcept
Provenance.agent.type
  • Added Element
Provenance.agent.role
  • Remove Binding http://hl7.org/fhir/ValueSet/security-role-type (extensible)
Provenance.agent.who
  • Renamed from who[x] to who
  • Remove Type uri
Provenance.agent.onBehalfOf
  • Renamed from onBehalfOf[x] to onBehalfOf
  • Remove Type uri
Provenance.entity.what
  • Renamed from what[x] to what
  • Remove Types uri, Identifier
Provenance.agent.relatedAgentType
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 5 tests that all execute ok. All tests pass round-trip testing and 2 r3 resources are invalid (0 errors).)

Структура

ИмяФлагиКард.ТипОписание и ограниченияdoco
.. Provenance TUDomainResourceКто, что, когда для набора ресурсов
Элементы, определённые в прародителе: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... target Σ1..*Reference(Any)Целевые ссылки (обычно на конкретные версии)
... occurred[x] 0..1Когда произошла активность
.... occurredPeriodPeriod
.... occurredDateTimedateTime
... recorded Σ1..1instantКогда активность была записана/обнволена
... policy 0..*uriПолитика или план, по которому произошла активность
... location 0..1Reference(Location)Где произошла активность, если это уместно
... reason 0..*CodeableConceptПричина активности
V3 Value SetPurposeOfUse (Extensible)
... activity 0..1CodeableConceptАктивность, которая наступила
Provenance activity type (Extensible)
... agent 1..*BackboneElementУчаствующее лицо
.... type Σ0..1CodeableConceptHow the agent participated
Provenance participant type (Extensible)
.... role 0..*CodeableConceptWhat the agents role was
SecurityRoleType (Example)
.... who Σ1..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Who participated
.... onBehalfOf 0..1Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization)Who the agent is representing
... entity 0..*BackboneElementСущность, использованная в этой активности
.... role Σ1..1codederivation | revision | quotation | source | removal
ProvenanceEntityRole (Required)
.... what Σ1..1Reference(Any)Идентификатор сущности
.... agent 0..*see agentСущность приписывается этому агенту
... signature 0..*SignatureЭлектронная цифровая подпись целевого объекта

doco Документация по этому формату

UML-диаграмма (Legend)

Provenance (DomainResource)Ссылки, которые были сгенерированы или обновлены активностью, описанной в данном ресурсе. Происхождение может указывать на больше чем одну цель, если несколько ресурсов были созданы/обновлены в рамках одной активностиtarget : Reference [1..*] « Any »Период, в течение которого произошла активностьoccurred[x] : Type [0..1] « Period|dateTime »Момент времени, в который активность была записанаrecorded : instant [1..1]Политика или план, по которому произошла активность. Как правило, отдельная активность может иметь несколько применимых документов политики, такие как согласие пациента, гарант финансирования и т. пpolicy : uri [0..*]Где произошла активность, если это уместноlocation : Reference [0..1] « Location »Причина, по которой имела место активностьreason : CodeableConcept [0..*] « Причина, по которой произошла эта активность. (Strength=Extensible)v3.PurposeOfUse+ »Активность - это что-то, что происходит за некоторый период времени и действует над или с сущностями; может включать в себя употребление, обработку, преобразование, изменение, перемещение, использование или образование сущностейactivity : CodeableConcept [0..1] « Активность, которая имела место. (Strength=Extensible)ProvenanceActivityType+ »Электронная цифровая подпись на целевых ссылках. Подписавшая сторона должна соответствовать Provenance.agent. Указывается назначение этой подписиsignature : Signature [0..*]AgentThe participation the agent had with respect to the activitytype : CodeableConcept [0..1] « The type of participation that a provenance agent played with respect to the activity. (Strength=Extensible)ProvenanceParticipantType+ »The function of the agent with respect to the activity. The security role enabling the agent with respect to the activityrole : CodeableConcept [0..*] « Роль, которую играл посредник источника относительно данной активности. (Strength=Example)SecurityRoleType?? »Человек, устройство или организация, участвующие в этом событииwho : Reference [1..1] « Practitioner|PractitionerRole|RelatedPerson| Patient|Device|Organization »The individual, device, or organization for whom the change was madeonBehalfOf : Reference [0..1] « Practitioner|PractitionerRole| RelatedPerson|Patient|Device|Organization »EntityКаким образом сущность использовалась во время активностиrole : code [1..1] « Каким образом сущность была использована в этой активности. (Strength=Required)ProvenanceEntityRole! »Идентификация используемой сущности. Может быть логическим или физическим uri, абсолютным или относительнымwhat : Reference [1..1] « Any »Лицо, играющее роль в активности, которому может быть присвоена некоторая степень ответственности за имеющую место активностьagent[1..*]Сущность приписывается агенту для выражения ответственности агента за эту сущность, возможно наряду с другими агентами. Это описание можно понимать как краткую запись того, что агент несет ответственность за активность, которая генерирует эту сущностьagent[0..*]Сущность, использованная в этой активностиentity[0..*]

XML-шаблон

<Provenance xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <target><!-- 1..* Reference(Any) Целевые ссылки (обычно на конкретные версии) --></target>
 <occurred[x]><!-- 0..1 Period|dateTime Когда произошла активность --></occurred[x]>
 <recorded value="[instant]"/><!-- 1..1 Когда активность была записана/обнволена -->
 <policy value="[uri]"/><!-- 0..* Политика или план, по которому произошла активность -->
 <location><!-- 0..1 Reference(Location) Где произошла активность, если это уместно --></location>
 <reason><!-- 0..* CodeableConcept Причина активности --></reason>
 <activity><!-- 0..1 CodeableConcept Активность, которая наступила --></activity>
 <agent>  <!-- 1..* Участвующее лицо -->
  <type><!-- 0..1 CodeableConcept How the agent participated --></type>
  <role><!-- 0..* CodeableConcept What the agents role was --></role>
  <who><!-- 1..1 Reference(Practitioner|PractitionerRole|RelatedPerson|Patient|
    Device|Organization) Who participated --></who>
  <onBehalfOf><!-- 0..1 Reference(Practitioner|PractitionerRole|RelatedPerson|
    Patient|Device|Organization) Who the agent is representing --></onBehalfOf>
 </agent>
 <entity>  <!-- 0..* Сущность, использованная в этой активности -->
  <role value="[code]"/><!-- 1..1 derivation | revision | quotation | source | removal -->
  <what><!-- 1..1 Reference(Any) Идентификатор  сущности --></what>
  <agent><!-- 0..* Content as for Provenance.agent Сущность приписывается этому агенту --></agent>
 </entity>
 <signature><!-- 0..* Signature Электронная цифровая подпись целевого объекта --></signature>
</Provenance>

JSON-шаблон

{doco
  "resourceType" : "Provenance",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "target" : [{ Reference(Any) }], // R!  Целевые ссылки (обычно на конкретные версии)
  // occurred[x]: Когда произошла активность. One of these 2:
  "occurredPeriod" : { Period },
  "occurredDateTime" : "<dateTime>",
  "recorded" : "<instant>", // R!  Когда активность была записана/обнволена
  "policy" : ["<uri>"], // Политика или план, по которому произошла активность
  "location" : { Reference(Location) }, // Где произошла активность, если это уместно
  "reason" : [{ CodeableConcept }], // Причина активности
  "activity" : { CodeableConcept }, // Активность, которая наступила
  "agent" : [{ // R!  Участвующее лицо
    "type" : { CodeableConcept }, // How the agent participated
    "role" : [{ CodeableConcept }], // What the agents role was
    "who" : { Reference(Practitioner|PractitionerRole|RelatedPerson|Patient|
    Device|Organization) }, // R!  Who participated
    "onBehalfOf" : { Reference(Practitioner|PractitionerRole|RelatedPerson|
    Patient|Device|Organization) } // Who the agent is representing
  }],
  "entity" : [{ // Сущность, использованная в этой активности
    "role" : "<code>", // R!  derivation | revision | quotation | source | removal
    "what" : { Reference(Any) }, // R!  Идентификатор  сущности
    "agent" : [{ Content as for Provenance.agent }] // Сущность приписывается этому агенту
  }],
  "signature" : [{ Signature }] // Электронная цифровая подпись целевого объекта
}

Turtle-шаблон

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:Provenance;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:Provenance.target [ Reference(Any) ], ... ; # 1..* Целевые ссылки (обычно на конкретные версии)
  # Provenance.occurred[x] : 0..1 Когда произошла активность. One of these 2
    fhir:Provenance.occurredPeriod [ Period ]
    fhir:Provenance.occurredDateTime [ dateTime ]
  fhir:Provenance.recorded [ instant ]; # 1..1 Когда активность была записана/обнволена
  fhir:Provenance.policy [ uri ], ... ; # 0..* Политика или план, по которому произошла активность
  fhir:Provenance.location [ Reference(Location) ]; # 0..1 Где произошла активность, если это уместно
  fhir:Provenance.reason [ CodeableConcept ], ... ; # 0..* Причина активности
  fhir:Provenance.activity [ CodeableConcept ]; # 0..1 Активность, которая наступила
  fhir:Provenance.agent [ # 1..* Участвующее лицо
    fhir:Provenance.agent.type [ CodeableConcept ]; # 0..1 How the agent participated
    fhir:Provenance.agent.role [ CodeableConcept ], ... ; # 0..* What the agents role was
    fhir:Provenance.agent.who [ Reference(Practitioner|PractitionerRole|RelatedPerson|Patient|Device|Organization) ]; # 1..1 Who participated
    fhir:Provenance.agent.onBehalfOf [ Reference(Practitioner|PractitionerRole|RelatedPerson|Patient|Device|Organization) ]; # 0..1 Who the agent is representing
  ], ...;
  fhir:Provenance.entity [ # 0..* Сущность, использованная в этой активности
    fhir:Provenance.entity.role [ code ]; # 1..1 derivation | revision | quotation | source | removal
    fhir:Provenance.entity.what [ Reference(Any) ]; # 1..1 Идентификатор  сущности
    fhir:Provenance.entity.agent [ See Provenance.agent ], ... ; # 0..* Сущность приписывается этому агенту
  ], ...;
  fhir:Provenance.signature [ Signature ], ... ; # 0..* Электронная цифровая подпись целевого объекта
]

Changes since Release 3

Provenance
Provenance.occurred[x]
  • Renamed from period to occurred[x]
  • Add Type dateTime
Provenance.reason
  • Type changed from Coding to CodeableConcept
Provenance.activity
  • Type changed from Coding to CodeableConcept
Provenance.agent.type
  • Added Element
Provenance.agent.role
  • Remove Binding http://hl7.org/fhir/ValueSet/security-role-type (extensible)
Provenance.agent.who
  • Renamed from who[x] to who
  • Remove Type uri
Provenance.agent.onBehalfOf
  • Renamed from onBehalfOf[x] to onBehalfOf
  • Remove Type uri
Provenance.entity.what
  • Renamed from what[x] to what
  • Remove Types uri, Identifier
Provenance.agent.relatedAgentType
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 5 tests that all execute ok. All tests pass round-trip testing and 2 r3 resources are invalid (0 errors).)

 

See the Profiles & Extensions and the Альтернативные определения: Основное определение XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the Анализ зависимостей

PathОписаниеТипСсылка
Provenance.reason Причина, по которой произошла эта активность.Extensiblev3.PurposeOfUse
Provenance.activity Активность, которая имела место.ExtensibleProvenanceActivityType
Provenance.agent.type The type of participation that a provenance agent played with respect to the activity.ExtensibleProvenanceParticipantType
Provenance.agent.role Роль, которую играл посредник источника относительно данной активности.ExampleSecurityRoleType
Provenance.entity.role Каким образом сущность была использована в этой активности.RequiredProvenanceEntityRole

The Provenance resource identifies information about another resource (the reference element). The Provenance resource may be used in several different ways:

  • As part of a document bundle where it identifies the provenance of part or all of the document
  • On a RESTful system where it keeps track of provenance information relating to resources

When used in a document bundle, the references are often not explicitly versioned, but they always implicitly pertain to the version of the resource found in the document. On a RESTful system, the target resource reference should be version specific, but this requires special care: For new resources that need to have a corresponding Provenance resource, the version-specific reference is often not knowable until after the target resource has been updated. This can create an integrity problem for the system - what if the Provenance resource cannot be created after the target resource has been updated? To avoid any such integrity problems, the target resource and the Provenance resources should be submitted as a pair using a transaction.

The custom header X-Provenance to provide a provenance resource when performing PUT or POST operations using the RESTful interface:

POST [base]/Observation
Content-Type: application/fhir+?
X-Provenance: { "resourceType": "Provenance", "location": { "reference": "Location/1" }," agent" ... }

[body]

The intent is that the server picks up the provenance, fills out the target, and then stores the provenance information as it normally would. Notes:

  • Irrespective of the Content-Type or Accept headers, the Provenance resource is in the JSON format
  • The provenance SHALL not have a specified Provenance.target. The server will fill the target in as it processes the contents of the POST/PUT and determines the ids of the resource(s) to which the interaction applies
  • Servers MAY ignore the header, but SHOULD process it if they support provenance
  • Some server frameworks impose a length limit on individual HTTP headers, or on the the headers as a whole. Servers MAY reject a request if the X-Provenance header is too long
  • The use of the header is not documented for other HTTP methods (GET etc)

The Provenance resource includes a signature element (digital signature) which can be used for standards based integrity verification and non-repudiation purposes. The Signature datatype provides details on use of the signature element. The Signature.type coded value of "Source" should be used when the signature is for simply proving that the resource content is the same as it was when the resource was updated or created.

A Provenance record can be recorded to indicate who deleted a Resource. If versioning is supported, the version that was deleted is referenced in Provenance.target; if versioning is not supported then Provenance.target contains the non-version reference. Provenance.entity is not used unless there is a business requirement to do so.

Provenance can be used to record activities of an automaton that transforms input. Such as middleware that extracts information from a HL7 v2 message and creates FHIR resources, or middleware that extracts information from an HL7 CDA document and creates FHIR resources, etc. The Provenance in these cases is recording the activity of the middleware.

The middleware in this case would, in addition to creating the target resources, create a Provenance resource that indicates all the target resources (using Provenance.target). The middleware is identified as one of the Provenance.agent elements, with the Provenance.agent.role of assembler.

The middleware may record the source as another Provenance.agent element.

The original content is optionally saved. This might be as a DocumentReference, or Binary. The Provenance.entity would then point at this original content.

The original source might include some form of 'provenance' to cover the history of the original content prior to the import transformation. This original source 'provenance' should be converted into FHIR Provenance records as appropriate.

Параметры поиска для этого ресурса. Также к нему применяются общие параметры. Более подробную информацию о поиске в REST, обмене сообщениями и сервисах см. в разделе Поиск.

ИмяТипОпределениеВыражениеIn Common
agentreferenceWho participatedProvenance.agent.who
(Practitioner, Organization, Device, Patient, PractitionerRole, RelatedPerson)
agent-roletokenWhat the agents role wasProvenance.agent.role
agent-typetokenHow the agent participatedProvenance.agent.type
entityreferenceИдентификатор сущностиProvenance.entity.what
(Any)
locationreferenceГде произошла активность, если это уместноProvenance.location
(Location)
patientreferenceЦелевые ссылки (обычно на конкретные версии)Provenance.target.where(resolve() is Patient)
(Patient)
recordeddateКогда активность была записана/обнволенаProvenance.recorded
signature-typetokenУказание причины подписания объекта(-ов) сущностьюProvenance.signature.type
targetreferenceЦелевые ссылки (обычно на конкретные версии)Provenance.target
(Any)
whendateКогда произошла активность(Provenance.occurred as dateTime)