Единая платформа цифрового здравоохранения Узбекистана
0.5.0 - ci-build Uzbekistan флаг

Uzbekistan Digital Health Platform, опубликовано Ministry of Health of the Republic of Uzbekistan. Это руководство не является санкционированной публикацией; это непрерывная сборка для версии 0.5.0, созданной FHIR (HL7® FHIR® Standard) CI Build. Эта версия основана на нынешнем содержании https://github.com/uzinfocom-org/digital-health-ig/ и регулярно изменяется. Смотрите каталог опубликованных версий

Профиль ресурса: UZ Core Provenance ( Экспериментальный )

Официальный URL: https://dhp.uz/fhir/core/StructureDefinition/uz-core-provenance Версия: 0.5.0
Active по состоянию на 2025-03-13 Вычисляемое имя: UZCoreProvenance

Uzbekistan Core Provenance profile, used to digitally sign documents via oneID

Машинный перевод, требуется проверка человеком. Эта страница автоматически переведена с английского языка с помощью искусственного интеллекта и пока не проверена редактором. При любых расхождениях приоритет имеет оригинальная англоязычная версия.

UZ Core Provenance фиксирует происхождение, авторство и подпись клинической записи на Цифровой платформе здравоохранения. Каждая клинически значимая запись должна иметь Provenance, указывающий, кто её создал и когда; для подписанных документов он несёт цифровую подпись - полученную, когда медицинский работник проходит аутентификацию через oneID во встроенном iframe, размещённом на DHP, - и ссылается на подписанный ресурс. Ваша система записывает Provenance вместе с данными, которые она отправляет, - как для фиксации авторства записи, так и для переноса подписи в случае подписанных документов.

Обязательные и поддерживаемые (Must Support) элементы данных

Перечисленные ниже элементы должны всегда присутствовать (обязательные) или должны поддерживаться при наличии данных (Must Support) - не все из них являются обязательными, но ваша система должна заполнять каждый элемент Must Support, когда у неё есть соответствующие данные, и обрабатывать его при получении. Это краткое описание для человека; формальные представления ниже задают точные кардинальности, типы и терминологические связки.

Каждый UZ Core Provenance должен иметь (Must Have)

Этот профиль не добавляет собственных обязательных кардинальностей. Обязательные элементы - это те, что унаследованы от базового ресурса: хотя бы один target (ресурс, который описывает данный Provenance) и хотя бы один agent с who (ответственный участник). Здесь target ограничен значениями DocumentReference или Medication, а agent's who - значением PractitionerRole.

Каждый UZ Core Provenance должен поддерживать (Must Support)

  • target - запись, к которой относится данный Provenance;
  • occurredDateTime - когда произошло действие;
  • activity - выполненное действие (обязательная связка);
  • patient - пациент, которого касалось действие;
  • agent с его type (роль участия, обязательная связка) и who (PractitionerRole);
  • entity с его role (обязательная связка) и тем, на что он указывает;
  • signature с его type (обязательная связка), временем создания, тем, кто подписал (PractitionerRole), sigFormat и данными подписи.

Для подписанных документов двоичный объект подписи хранится в signature.data; target ссылается на подписанный документ.

Построение JSON, шаг за шагом

Вы создаёте Provenance, когда отправляете клинически значимые данные, - чтобы зафиксировать их авторство и, для подписанных документов, перенести подпись. Приведённые ниже примеры идут от наименьшей записи, которую примет сервер, до полного события подписанного документа. Скопируйте один из них и адаптируйте - каждое показанное значение проходит валидацию по этому профилю. Полный эталонный экземпляр - это example Provenance.

Наименьший Provenance, который вам следует отправлять

Provenance требует хотя бы один target (запись, к которой он относится) и хотя бы один agent с who (ответственный участник). Здесь target ограничен значениями DocumentReference или Medication, а agent.who - значением PractitionerRole. И target, и agent.who являются обычными ссылками (References). На практике вы также отправляете occurredDateTime (когда произошло действие), выполненное activity и patient, которого оно касалось:

{
  "resourceType": "Provenance",
  "meta": { "profile": ["https://dhp.uz/fhir/core/StructureDefinition/uz-core-provenance"] },
  "target": [
    { "reference": "DocumentReference/example-pdf-document" }
  ],
  "occurredDateTime": "2025-02-05T12:58:00+05:00",
  "activity": {
    "coding": [{ "system": "http://terminology.hl7.org/CodeSystem/v3-DocumentCompletion", "code": "LA" }]
  },
  "patient": { "reference": "Patient/example-patient" },
  "agent": [
    {
      "type": {
        "coding": [{ "system": "http://terminology.hl7.org/CodeSystem/provenance-participant-type", "code": "author" }]
      },
      "who": { "reference": "PractitionerRole/example-practitionerrole" }
    }
  ]
}

activity и agent.type используют обязательную связку - значение должно браться из связанного набора значений (представление Snapshot ниже перечисляет каждое из них). agent.who должен ссылаться на PractitionerRole.

Добавление цифровой подписи

Этот профиль существует для того, чтобы переносить цифровую подпись, которую платформа возвращает после аутентификации медицинского работника через oneID во встроенном iframe, размещённом на DHP. Добавьте запись signature: её type указывает, как она была создана (обязательная связка), when - момент её применения, who ссылается на тот же PractitionerRole, sigFormat - это медиатип двоичного объекта, а data - сама подпись в кодировке base64:

{
  "resourceType": "Provenance",
  "meta": { "profile": ["https://dhp.uz/fhir/core/StructureDefinition/uz-core-provenance"] },
  "target": [
    { "reference": "DocumentReference/example-pdf-document" }
  ],
  "occurredDateTime": "2025-02-05T12:58:00+05:00",
  "activity": {
    "coding": [{ "system": "http://terminology.hl7.org/CodeSystem/v3-DocumentCompletion", "code": "LA" }]
  },
  "patient": { "reference": "Patient/example-patient" },
  "agent": [
    {
      "type": {
        "coding": [{ "system": "http://terminology.hl7.org/CodeSystem/provenance-participant-type", "code": "author" }]
      },
      "who": { "reference": "PractitionerRole/example-practitionerrole" }
    }
  ],
  "signature": [
    {
      "type": [
        { "system": "https://terminology.dhp.uz/fhir/core/CodeSystem/signature-type-cs", "code": "biometricAuth" }
      ],
      "when": "2025-02-05T12:58:00+05:00",
      "who": { "reference": "PractitionerRole/example-practitionerrole" },
      "sigFormat": "application/signature+xml",
      "data": "dGhpcyBibG9iIGlzIHNuaXBwZWQ="
    }
  ]
}

target здесь ссылается на DocumentReference, который был подписан. Значение data - это двоичный объект подписи в кодировке base64 (в примере выше усечён); в рабочей среде отправляйте полный объект.

Примеры вызовов API и образец полезной нагрузки см. в разделе Quick Start внизу этой страницы.

Использование:

You can also check for usages in the FHIR IG Statistics

Формальные представления содержимого профиля

Описание профилей, дифференциалов, снимков и их представлений.

НаименованиеФлагиКарта.ТипОписание и ограничения    Filter: Filtersdoco
.. Provenance 0..* Provenance(5.0.0) Who, What, When for a set of resources
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... Разрезы для occurred[x] 0..1 When the activity occurred
Разрез: Не упорядочено, Открыто от type:$this
.... occurredPeriod Period
.... occurredDateTime dateTime
.... occurred[x]:occurredDateTime S 0..1 dateTime When the activity occurred
... activity S 0..1 CodeableConcept Activity that occurred
Привязка: ProvenanceActivityTypesVS (0.5.0) (required)
... patient S 0..1 Reference(Patient) The patient is the subject of the data created/updated (.target) by the activity
... agent SΣC 1..* BackboneElement Actor involved
Constraints: prov-1, prov-2, prov-3
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... type SΣ 0..1 CodeableConcept How the agent participated
Привязка: ProvenanceParticipationRoleTypeVS (0.5.0) (required)
.... who SΣC 1..1 Reference(UZ Core PractitionerRole(0.5.0)) The agent that participated in the event
.... onBehalfOf C 0..1 Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient) The agent that delegated
... entity SΣ 0..* BackboneElement An entity used in this activity
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... role SΣ 1..1 code revision | quotation | source | instantiates | removal
Привязка: ProvenanceEntityRoleVS (0.5.0) (required)
.... what SΣ 1..1 Reference(Resource) Identity of entity
... signature S 0..* Signature Signature on target
.... type SΣ 0..* Coding Indication of the reason the entity signed the object(s)
Привязка: SignatureTypeVS (0.5.0) (required)
.... when SΣ 0..1 instant When the signature was created
.... who SΣ 0..1 Reference(UZ Core PractitionerRole(0.5.0)) Who signed
.... sigFormat S 0..1 code The technical format of the signature
Привязка: MimeTypes (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)
.... data S 0..1 base64Binary The actual signature content (XML DigSig. JWS, picture, etc.)

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

Привязки к терминологии

Путь Статус Использование ValueSet Версия Источник
Provenance.activity Base required Provenance Activity Types 📍0.5.0 этот IG
Provenance.agent.type Base required Provenance Participation Role Type 📍0.5.0 этот IG
Provenance.entity.role Base required Provenance Entity Role 📍0.5.0 этот IG
Provenance.signature.​type Base required Signature Type 📍0.5.0 этот IG
Provenance.signature.​sigFormat Base required Mime Types 📍5.0.0 Стандарт FHIR

Ограничения

Id Градация Путь(и) Описание Выражение
dom-2 error Provenance If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Provenance 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Provenance If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Provenance If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 лучшая практика Provenance A resource should have narrative for robust management text.`div`.exists()
ele-1 error Provenance.implicitRules, Provenance.modifierExtension, Provenance.target, Provenance.occurred[x], Provenance.occurred[x]:occurredDateTime, Provenance.activity, Provenance.patient, Provenance.agent, Provenance.agent.modifierExtension, Provenance.agent.type, Provenance.agent.who, Provenance.agent.onBehalfOf, Provenance.entity, Provenance.entity.modifierExtension, Provenance.entity.role, Provenance.entity.what, Provenance.signature, Provenance.signature.type, Provenance.signature.when, Provenance.signature.who, Provenance.signature.sigFormat, Provenance.signature.data All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error Provenance.modifierExtension, Provenance.agent.modifierExtension, Provenance.entity.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
prov-1 error Provenance.agent Who and onBehalfOf cannot be the same who.resolve().exists() and onBehalfOf.resolve().exists() implies who.resolve() != onBehalfOf.resolve()
prov-2 error Provenance.agent If who is a PractitionerRole, onBehalfOf can't reference the same Practitioner who.resolve().ofType(PractitionerRole).practitioner.resolve().exists() and onBehalfOf.resolve().ofType(Practitioner).exists() implies who.resolve().practitioner.resolve() != onBehalfOf.resolve()
prov-3 error Provenance.agent If who is an organization, onBehalfOf can't be a PractitionerRole within that organization who.resolve().ofType(Organization).exists() and onBehalfOf.resolve().ofType(PractitionerRole).organization.resolve().exists() implies who.resolve() != onBehalfOf.resolve().organization.resolve()

НаименованиеФлагиКарта.ТипОписание и ограничения    Filter: Filtersdoco
.. Provenance 0..* Provenance(5.0.0) Who, What, When for a set of resources
... target S 1..* Reference(Medication | DocumentReference) Target Reference(s) (usually version specific)
... Разрезы для occurred[x] 0..1 Period, dateTime When the activity occurred
Разрез: Не упорядочено, Открыто от type:$this
.... occurred[x]:occurredDateTime S 0..1 dateTime When the activity occurred
... activity S 0..1 CodeableConcept Activity that occurred
Привязка: ProvenanceActivityTypesVS (0.5.0) (required)
... agent S 1..* BackboneElement Actor involved
.... type S 0..1 CodeableConcept How the agent participated
Привязка: ProvenanceParticipationRoleTypeVS (0.5.0) (required)
.... who S 1..1 Reference(UZ Core PractitionerRole(0.5.0)) The agent that participated in the event
... entity S 0..* BackboneElement An entity used in this activity
.... role S 1..1 code revision | quotation | source | instantiates | removal
Привязка: ProvenanceEntityRoleVS (0.5.0) (required)
.... what S 1..1 Reference(Resource) Identity of entity
... signature S 0..* Signature Signature on target
.... type S 0..* Coding Indication of the reason the entity signed the object(s)
Привязка: SignatureTypeVS (0.5.0) (required)
.... when S 0..1 instant When the signature was created
.... who S 0..1 Reference(UZ Core PractitionerRole(0.5.0)) Who signed
.... sigFormat S 0..1 code The technical format of the signature
.... data S 0..1 base64Binary The actual signature content (XML DigSig. JWS, picture, etc.)

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

Терминологические привязки (дифференциал)

Путь Статус Использование ValueSet Версия Источник
Provenance.activity Base required Provenance Activity Types 📍0.5.0 этот IG
Provenance.agent.type Base required Provenance Participation Role Type 📍0.5.0 этот IG
Provenance.entity.role Base required Provenance Entity Role 📍0.5.0 этот IG
Provenance.signature.​type Base required Signature Type 📍0.5.0 этот IG
НаименованиеФлагиКарта.ТипОписание и ограничения    Filter: Filtersdoco
.. Provenance 0..* Provenance(5.0.0) Who, What, When for a set of resources
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... target SΣ 1..* Reference(Medication | DocumentReference) Target Reference(s) (usually version specific)
... Разрезы для occurred[x] 0..1 When the activity occurred
Разрез: Не упорядочено, Открыто от type:$this
.... occurredPeriod Period
.... occurredDateTime dateTime
.... occurred[x]:occurredDateTime S 0..1 dateTime When the activity occurred
... recorded Σ 0..1 instant When the activity was recorded / updated
... policy 0..* uri Policy or plan the activity was defined by
... location 0..1 Reference(Location) Where the activity occurred, if relevant
... authorization 0..* CodeableReference() Authorization (purposeOfUse) related to the event
Привязка: PurposeOfUse (3.1.0) (example): The authorized purposeOfUse for the activity.
... activity S 0..1 CodeableConcept Activity that occurred
Привязка: ProvenanceActivityTypesVS (0.5.0) (required)
... basedOn 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest | Task) Workflow authorization within which this event occurred
... patient S 0..1 Reference(Patient) The patient is the subject of the data created/updated (.target) by the activity
... encounter 0..1 Reference(Encounter) Encounter within which this event occurred or which the event is tightly associated
... agent SΣC 1..* BackboneElement Actor involved
Constraints: prov-1, prov-2, prov-3
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... type SΣ 0..1 CodeableConcept How the agent participated
Привязка: ProvenanceParticipationRoleTypeVS (0.5.0) (required)
.... role 0..* CodeableConcept What the agents role was
Привязка: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.
.... who SΣC 1..1 Reference(UZ Core PractitionerRole(0.5.0)) The agent that participated in the event
.... onBehalfOf C 0..1 Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient) The agent that delegated
... entity SΣ 0..* BackboneElement An entity used in this activity
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... role SΣ 1..1 code revision | quotation | source | instantiates | removal
Привязка: ProvenanceEntityRoleVS (0.5.0) (required)
.... what SΣ 1..1 Reference(Resource) Identity of entity
.... agent 0..* Смотреть agent (Provenance) Entity is attributed to this agent
... signature S 0..* Signature Signature on target
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Разрез: Не упорядочено, Открыто от value:url
Constraints: ext-1
.... type SΣ 0..* Coding Indication of the reason the entity signed the object(s)
Привязка: SignatureTypeVS (0.5.0) (required)
.... when SΣ 0..1 instant When the signature was created
.... who SΣ 0..1 Reference(UZ Core PractitionerRole(0.5.0)) Who signed
.... onBehalfOf Σ 0..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) The party represented
.... targetFormat 0..1 code The technical format of the signed resources
Привязка: MimeTypes (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)
.... sigFormat S 0..1 code The technical format of the signature
Привязка: MimeTypes (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)
.... data S 0..1 base64Binary The actual signature content (XML DigSig. JWS, picture, etc.)

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

Привязки к терминологии

Путь Статус Использование ValueSet Версия Источник
Provenance.language Base required All Languages 📍5.0.0 Стандарт FHIR
Provenance.authorization Base example PurposeOfUse 📍3.1.0 THO v7.1
Provenance.activity Base required Provenance Activity Types 📍0.5.0 этот IG
Provenance.agent.type Base required Provenance Participation Role Type 📍0.5.0 этот IG
Provenance.agent.role Base example Security Role Type 📍5.0.0 Стандарт FHIR
Provenance.entity.role Base required Provenance Entity Role 📍0.5.0 этот IG
Provenance.signature.​type Base required Signature Type 📍0.5.0 этот IG
Provenance.signature.​targetFormat Base required Mime Types 📍5.0.0 Стандарт FHIR
Provenance.signature.​sigFormat Base required Mime Types 📍5.0.0 Стандарт FHIR

Ограничения

Id Градация Путь(и) Описание Выражение
dom-2 error Provenance If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Provenance 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Provenance If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Provenance If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 лучшая практика Provenance A resource should have narrative for robust management text.`div`.exists()
ele-1 error Provenance.meta, Provenance.implicitRules, Provenance.language, Provenance.text, Provenance.extension, Provenance.modifierExtension, Provenance.target, Provenance.occurred[x], Provenance.occurred[x]:occurredDateTime, Provenance.recorded, Provenance.policy, Provenance.location, Provenance.authorization, Provenance.activity, Provenance.basedOn, Provenance.patient, Provenance.encounter, Provenance.agent, Provenance.agent.extension, Provenance.agent.modifierExtension, Provenance.agent.type, Provenance.agent.role, Provenance.agent.who, Provenance.agent.onBehalfOf, Provenance.entity, Provenance.entity.extension, Provenance.entity.modifierExtension, Provenance.entity.role, Provenance.entity.what, Provenance.entity.agent, Provenance.signature, Provenance.signature.extension, Provenance.signature.type, Provenance.signature.when, Provenance.signature.who, Provenance.signature.onBehalfOf, Provenance.signature.targetFormat, Provenance.signature.sigFormat, Provenance.signature.data All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error Provenance.extension, Provenance.modifierExtension, Provenance.agent.extension, Provenance.agent.modifierExtension, Provenance.entity.extension, Provenance.entity.modifierExtension, Provenance.signature.extension Must have either extensions or value[x], not both extension.exists() != value.exists()
prov-1 error Provenance.agent Who and onBehalfOf cannot be the same who.resolve().exists() and onBehalfOf.resolve().exists() implies who.resolve() != onBehalfOf.resolve()
prov-2 error Provenance.agent If who is a PractitionerRole, onBehalfOf can't reference the same Practitioner who.resolve().ofType(PractitionerRole).practitioner.resolve().exists() and onBehalfOf.resolve().ofType(Practitioner).exists() implies who.resolve().practitioner.resolve() != onBehalfOf.resolve()
prov-3 error Provenance.agent If who is an organization, onBehalfOf can't be a PractitionerRole within that organization who.resolve().ofType(Organization).exists() and onBehalfOf.resolve().ofType(PractitionerRole).organization.resolve().exists() implies who.resolve() != onBehalfOf.resolve().organization.resolve()

Summary

Обязательная поддержка: 16 элементs

Структуры

Эта структура относится к этим другим структурам:

Разрезы

Эта структура определяет следующие Разрезы:

  • Элемент 1 разрешен в зависимости от значения Provenance.occurred[x]

Просмотр ключевых элементов

НаименованиеФлагиКарта.ТипОписание и ограничения    Filter: Filtersdoco
.. Provenance 0..* Provenance(5.0.0) Who, What, When for a set of resources
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... Разрезы для occurred[x] 0..1 When the activity occurred
Разрез: Не упорядочено, Открыто от type:$this
.... occurredPeriod Period
.... occurredDateTime dateTime
.... occurred[x]:occurredDateTime S 0..1 dateTime When the activity occurred
... activity S 0..1 CodeableConcept Activity that occurred
Привязка: ProvenanceActivityTypesVS (0.5.0) (required)
... patient S 0..1 Reference(Patient) The patient is the subject of the data created/updated (.target) by the activity
... agent SΣC 1..* BackboneElement Actor involved
Constraints: prov-1, prov-2, prov-3
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... type SΣ 0..1 CodeableConcept How the agent participated
Привязка: ProvenanceParticipationRoleTypeVS (0.5.0) (required)
.... who SΣC 1..1 Reference(UZ Core PractitionerRole(0.5.0)) The agent that participated in the event
.... onBehalfOf C 0..1 Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient) The agent that delegated
... entity SΣ 0..* BackboneElement An entity used in this activity
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... role SΣ 1..1 code revision | quotation | source | instantiates | removal
Привязка: ProvenanceEntityRoleVS (0.5.0) (required)
.... what SΣ 1..1 Reference(Resource) Identity of entity
... signature S 0..* Signature Signature on target
.... type SΣ 0..* Coding Indication of the reason the entity signed the object(s)
Привязка: SignatureTypeVS (0.5.0) (required)
.... when SΣ 0..1 instant When the signature was created
.... who SΣ 0..1 Reference(UZ Core PractitionerRole(0.5.0)) Who signed
.... sigFormat S 0..1 code The technical format of the signature
Привязка: MimeTypes (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)
.... data S 0..1 base64Binary The actual signature content (XML DigSig. JWS, picture, etc.)

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

Привязки к терминологии

Путь Статус Использование ValueSet Версия Источник
Provenance.activity Base required Provenance Activity Types 📍0.5.0 этот IG
Provenance.agent.type Base required Provenance Participation Role Type 📍0.5.0 этот IG
Provenance.entity.role Base required Provenance Entity Role 📍0.5.0 этот IG
Provenance.signature.​type Base required Signature Type 📍0.5.0 этот IG
Provenance.signature.​sigFormat Base required Mime Types 📍5.0.0 Стандарт FHIR

Ограничения

Id Градация Путь(и) Описание Выражение
dom-2 error Provenance If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Provenance 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Provenance If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Provenance If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 лучшая практика Provenance A resource should have narrative for robust management text.`div`.exists()
ele-1 error Provenance.implicitRules, Provenance.modifierExtension, Provenance.target, Provenance.occurred[x], Provenance.occurred[x]:occurredDateTime, Provenance.activity, Provenance.patient, Provenance.agent, Provenance.agent.modifierExtension, Provenance.agent.type, Provenance.agent.who, Provenance.agent.onBehalfOf, Provenance.entity, Provenance.entity.modifierExtension, Provenance.entity.role, Provenance.entity.what, Provenance.signature, Provenance.signature.type, Provenance.signature.when, Provenance.signature.who, Provenance.signature.sigFormat, Provenance.signature.data All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error Provenance.modifierExtension, Provenance.agent.modifierExtension, Provenance.entity.modifierExtension Must have either extensions or value[x], not both extension.exists() != value.exists()
prov-1 error Provenance.agent Who and onBehalfOf cannot be the same who.resolve().exists() and onBehalfOf.resolve().exists() implies who.resolve() != onBehalfOf.resolve()
prov-2 error Provenance.agent If who is a PractitionerRole, onBehalfOf can't reference the same Practitioner who.resolve().ofType(PractitionerRole).practitioner.resolve().exists() and onBehalfOf.resolve().ofType(Practitioner).exists() implies who.resolve().practitioner.resolve() != onBehalfOf.resolve()
prov-3 error Provenance.agent If who is an organization, onBehalfOf can't be a PractitionerRole within that organization who.resolve().ofType(Organization).exists() and onBehalfOf.resolve().ofType(PractitionerRole).organization.resolve().exists() implies who.resolve() != onBehalfOf.resolve().organization.resolve()

Дифференциальный вид

НаименованиеФлагиКарта.ТипОписание и ограничения    Filter: Filtersdoco
.. Provenance 0..* Provenance(5.0.0) Who, What, When for a set of resources
... target S 1..* Reference(Medication | DocumentReference) Target Reference(s) (usually version specific)
... Разрезы для occurred[x] 0..1 Period, dateTime When the activity occurred
Разрез: Не упорядочено, Открыто от type:$this
.... occurred[x]:occurredDateTime S 0..1 dateTime When the activity occurred
... activity S 0..1 CodeableConcept Activity that occurred
Привязка: ProvenanceActivityTypesVS (0.5.0) (required)
... agent S 1..* BackboneElement Actor involved
.... type S 0..1 CodeableConcept How the agent participated
Привязка: ProvenanceParticipationRoleTypeVS (0.5.0) (required)
.... who S 1..1 Reference(UZ Core PractitionerRole(0.5.0)) The agent that participated in the event
... entity S 0..* BackboneElement An entity used in this activity
.... role S 1..1 code revision | quotation | source | instantiates | removal
Привязка: ProvenanceEntityRoleVS (0.5.0) (required)
.... what S 1..1 Reference(Resource) Identity of entity
... signature S 0..* Signature Signature on target
.... type S 0..* Coding Indication of the reason the entity signed the object(s)
Привязка: SignatureTypeVS (0.5.0) (required)
.... when S 0..1 instant When the signature was created
.... who S 0..1 Reference(UZ Core PractitionerRole(0.5.0)) Who signed
.... sigFormat S 0..1 code The technical format of the signature
.... data S 0..1 base64Binary The actual signature content (XML DigSig. JWS, picture, etc.)

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

Терминологические привязки (дифференциал)

Путь Статус Использование ValueSet Версия Источник
Provenance.activity Base required Provenance Activity Types 📍0.5.0 этот IG
Provenance.agent.type Base required Provenance Participation Role Type 📍0.5.0 этот IG
Provenance.entity.role Base required Provenance Entity Role 📍0.5.0 этот IG
Provenance.signature.​type Base required Signature Type 📍0.5.0 этот IG

Обзор моментальных снимковView

НаименованиеФлагиКарта.ТипОписание и ограничения    Filter: Filtersdoco
.. Provenance 0..* Provenance(5.0.0) Who, What, When for a set of resources
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
Constraints: ext-1
... target SΣ 1..* Reference(Medication | DocumentReference) Target Reference(s) (usually version specific)
... Разрезы для occurred[x] 0..1 When the activity occurred
Разрез: Не упорядочено, Открыто от type:$this
.... occurredPeriod Period
.... occurredDateTime dateTime
.... occurred[x]:occurredDateTime S 0..1 dateTime When the activity occurred
... recorded Σ 0..1 instant When the activity was recorded / updated
... policy 0..* uri Policy or plan the activity was defined by
... location 0..1 Reference(Location) Where the activity occurred, if relevant
... authorization 0..* CodeableReference() Authorization (purposeOfUse) related to the event
Привязка: PurposeOfUse (3.1.0) (example): The authorized purposeOfUse for the activity.
... activity S 0..1 CodeableConcept Activity that occurred
Привязка: ProvenanceActivityTypesVS (0.5.0) (required)
... basedOn 0..* Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest | Task) Workflow authorization within which this event occurred
... patient S 0..1 Reference(Patient) The patient is the subject of the data created/updated (.target) by the activity
... encounter 0..1 Reference(Encounter) Encounter within which this event occurred or which the event is tightly associated
... agent SΣC 1..* BackboneElement Actor involved
Constraints: prov-1, prov-2, prov-3
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... type SΣ 0..1 CodeableConcept How the agent participated
Привязка: ProvenanceParticipationRoleTypeVS (0.5.0) (required)
.... role 0..* CodeableConcept What the agents role was
Привязка: SecurityRoleType (example): The role that a provenance agent played with respect to the activity.
.... who SΣC 1..1 Reference(UZ Core PractitionerRole(0.5.0)) The agent that participated in the event
.... onBehalfOf C 0..1 Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient) The agent that delegated
... entity SΣ 0..* BackboneElement An entity used in this activity
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Constraints: ext-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
Constraints: ext-1
.... role SΣ 1..1 code revision | quotation | source | instantiates | removal
Привязка: ProvenanceEntityRoleVS (0.5.0) (required)
.... what SΣ 1..1 Reference(Resource) Identity of entity
.... agent 0..* Смотреть agent (Provenance) Entity is attributed to this agent
... signature S 0..* Signature Signature on target
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Разрез: Не упорядочено, Открыто от value:url
Constraints: ext-1
.... type SΣ 0..* Coding Indication of the reason the entity signed the object(s)
Привязка: SignatureTypeVS (0.5.0) (required)
.... when SΣ 0..1 instant When the signature was created
.... who SΣ 0..1 Reference(UZ Core PractitionerRole(0.5.0)) Who signed
.... onBehalfOf Σ 0..1 Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) The party represented
.... targetFormat 0..1 code The technical format of the signed resources
Привязка: MimeTypes (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)
.... sigFormat S 0..1 code The technical format of the signature
Привязка: MimeTypes (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)
.... data S 0..1 base64Binary The actual signature content (XML DigSig. JWS, picture, etc.)

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

Привязки к терминологии

Путь Статус Использование ValueSet Версия Источник
Provenance.language Base required All Languages 📍5.0.0 Стандарт FHIR
Provenance.authorization Base example PurposeOfUse 📍3.1.0 THO v7.1
Provenance.activity Base required Provenance Activity Types 📍0.5.0 этот IG
Provenance.agent.type Base required Provenance Participation Role Type 📍0.5.0 этот IG
Provenance.agent.role Base example Security Role Type 📍5.0.0 Стандарт FHIR
Provenance.entity.role Base required Provenance Entity Role 📍0.5.0 этот IG
Provenance.signature.​type Base required Signature Type 📍0.5.0 этот IG
Provenance.signature.​targetFormat Base required Mime Types 📍5.0.0 Стандарт FHIR
Provenance.signature.​sigFormat Base required Mime Types 📍5.0.0 Стандарт FHIR

Ограничения

Id Градация Путь(и) Описание Выражение
dom-2 error Provenance If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Provenance 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Provenance If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Provenance If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 лучшая практика Provenance A resource should have narrative for robust management text.`div`.exists()
ele-1 error Provenance.meta, Provenance.implicitRules, Provenance.language, Provenance.text, Provenance.extension, Provenance.modifierExtension, Provenance.target, Provenance.occurred[x], Provenance.occurred[x]:occurredDateTime, Provenance.recorded, Provenance.policy, Provenance.location, Provenance.authorization, Provenance.activity, Provenance.basedOn, Provenance.patient, Provenance.encounter, Provenance.agent, Provenance.agent.extension, Provenance.agent.modifierExtension, Provenance.agent.type, Provenance.agent.role, Provenance.agent.who, Provenance.agent.onBehalfOf, Provenance.entity, Provenance.entity.extension, Provenance.entity.modifierExtension, Provenance.entity.role, Provenance.entity.what, Provenance.entity.agent, Provenance.signature, Provenance.signature.extension, Provenance.signature.type, Provenance.signature.when, Provenance.signature.who, Provenance.signature.onBehalfOf, Provenance.signature.targetFormat, Provenance.signature.sigFormat, Provenance.signature.data All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error Provenance.extension, Provenance.modifierExtension, Provenance.agent.extension, Provenance.agent.modifierExtension, Provenance.entity.extension, Provenance.entity.modifierExtension, Provenance.signature.extension Must have either extensions or value[x], not both extension.exists() != value.exists()
prov-1 error Provenance.agent Who and onBehalfOf cannot be the same who.resolve().exists() and onBehalfOf.resolve().exists() implies who.resolve() != onBehalfOf.resolve()
prov-2 error Provenance.agent If who is a PractitionerRole, onBehalfOf can't reference the same Practitioner who.resolve().ofType(PractitionerRole).practitioner.resolve().exists() and onBehalfOf.resolve().ofType(Practitioner).exists() implies who.resolve().practitioner.resolve() != onBehalfOf.resolve()
prov-3 error Provenance.agent If who is an organization, onBehalfOf can't be a PractitionerRole within that organization who.resolve().ofType(Organization).exists() and onBehalfOf.resolve().ofType(PractitionerRole).organization.resolve().exists() implies who.resolve() != onBehalfOf.resolve().organization.resolve()

Summary

Обязательная поддержка: 16 элементs

Структуры

Эта структура относится к этим другим структурам:

Разрезы

Эта структура определяет следующие Разрезы:

  • Элемент 1 разрешен в зависимости от значения Provenance.occurred[x]

 

Другие представления профиля: CSV, Excel, Schematron

Машинный перевод, требуется проверка человеком. Эта страница автоматически переведена с английского языка с помощью искусственного интеллекта и пока не проверена редактором. При любых расхождениях приоритет имеет оригинальная англоязычная версия.

Быстрый старт

Типовые варианты взаимодействия с API для данного профиля. Запросы требуют JWT-токена доступа - см. Безопасность и аутентификация. [base] - это базовый URL FHIR-сервера; | отделяет систему кодов от её значения и должен быть закодирован в URL как %7C.

Provenance обычно записывается системой-источником вместе с данными, которые он описывает, поэтому большинство клиентов читают его, следуя по ссылке target записи, а не создают его напрямую.

Чтение по идентификатору сервера

GET [base]/Provenance/[id]

Поиск происхождения записи или подписанных записей пациента

GET [base]/Provenance?target=DocumentReference/[id]
GET [base]/Provenance?patient=Patient/[id]
GET [base]/Provenance?patient=Patient/[id]&agent=PractitionerRole/[id]
GET [base]/Provenance?patient=Patient/[id]&when=ge2025-01-01
GET [base]/Provenance?entity=DocumentReference/[id]

Чтобы получить запись вместе с её происхождением за один вызов, используйте обратное включение, например GET [base]/DocumentReference?_id=[id]&_revinclude=Provenance:target.

Полный перечень поддерживаемых поисковых параметров см. в CapabilityStatement.

Связанные материалы