Единая платформа цифрового здравоохранения Узбекистана
0.5.0 - ci-build
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/ и регулярно изменяется. Смотрите каталог опубликованных версий
| Официальный 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, когда у неё есть соответствующие данные, и обрабатывать его при получении. Это краткое описание для человека; формальные представления ниже задают точные кардинальности, типы и терминологические связки.
Этот профиль не добавляет собственных обязательных кардинальностей. Обязательные элементы - это те, что унаследованы от базового ресурса: хотя бы один target (ресурс, который описывает данный Provenance) и хотя бы один agent с who (ответственный участник). Здесь target ограничен значениями DocumentReference или Medication, а agent's who - значением PractitionerRole.
Для подписанных документов двоичный объект подписи хранится в
signature.data;targetссылается на подписанный документ.
Вы создаёте Provenance, когда отправляете клинически значимые данные, - чтобы зафиксировать их авторство и, для подписанных документов, перенести подпись. Приведённые ниже примеры идут от наименьшей записи, которую примет сервер, до полного события подписанного документа. Скопируйте один из них и адаптируйте - каждое показанное значение проходит валидацию по этому профилю. Полный эталонный экземпляр - это example 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: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Provenance(5.0.0) | Who, What, When for a set of resources | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Resource | Contained, inline Resources | |
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 |
![]() ![]() |
SΣ | 1..* | Reference(Medication | DocumentReference) | Target Reference(s) (usually version specific) |
![]() ![]() |
0..1 | When the activity occurred Разрез: Не упорядочено, Открыто от type:$this | ||
![]() ![]() ![]() |
Period | |||
![]() ![]() ![]() |
dateTime | |||
![]() ![]() ![]() |
S | 0..1 | dateTime | When the activity occurred |
![]() ![]() |
S | 0..1 | CodeableConcept | Activity that occurred Привязка: ProvenanceActivityTypesVS (0.5.0) (required) |
![]() ![]() |
S | 0..1 | Reference(Patient) | The patient is the subject of the data created/updated (.target) by the activity |
![]() ![]() |
SΣC | 1..* | BackboneElement | Actor involved Constraints: prov-1, prov-2, prov-3 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 |
![]() ![]() ![]() |
SΣ | 0..1 | CodeableConcept | How the agent participated Привязка: ProvenanceParticipationRoleTypeVS (0.5.0) (required) |
![]() ![]() ![]() |
SΣC | 1..1 | Reference(UZ Core PractitionerRole(0.5.0)) | The agent that participated in the event |
![]() ![]() ![]() |
C | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient) | The agent that delegated |
![]() ![]() |
SΣ | 0..* | BackboneElement | An entity used in this activity |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 |
![]() ![]() ![]() |
SΣ | 1..1 | code | revision | quotation | source | instantiates | removal Привязка: ProvenanceEntityRoleVS (0.5.0) (required) |
![]() ![]() ![]() |
SΣ | 1..1 | Reference(Resource) | Identity of entity |
![]() ![]() |
S | 0..* | Signature | Signature on target |
![]() ![]() ![]() |
SΣ | 0..* | Coding | Indication of the reason the entity signed the object(s) Привязка: SignatureTypeVS (0.5.0) (required) |
![]() ![]() ![]() |
SΣ | 0..1 | instant | When the signature was created |
![]() ![]() ![]() |
SΣ | 0..1 | Reference(UZ Core PractitionerRole(0.5.0)) | Who signed |
![]() ![]() ![]() |
S | 0..1 | code | The technical format of the signature Привязка: MimeTypes (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049) |
![]() ![]() ![]() |
S | 0..1 | base64Binary | The actual signature content (XML DigSig. JWS, picture, etc.) |
Документация для этого формата | ||||
| Путь | Статус | Использование | 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: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Provenance(5.0.0) | Who, What, When for a set of resources | |
![]() ![]() |
S | 1..* | Reference(Medication | DocumentReference) | Target Reference(s) (usually version specific) |
![]() ![]() |
0..1 | Period, dateTime | When the activity occurred Разрез: Не упорядочено, Открыто от type:$this | |
![]() ![]() ![]() |
S | 0..1 | dateTime | When the activity occurred |
![]() ![]() |
S | 0..1 | CodeableConcept | Activity that occurred Привязка: ProvenanceActivityTypesVS (0.5.0) (required) |
![]() ![]() |
S | 0..1 | Reference(Patient) | The patient is the subject of the data created/updated (.target) by the activity |
![]() ![]() |
S | 1..* | BackboneElement | Actor involved |
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | How the agent participated Привязка: ProvenanceParticipationRoleTypeVS (0.5.0) (required) |
![]() ![]() ![]() |
S | 1..1 | Reference(UZ Core PractitionerRole(0.5.0)) | The agent that participated in the event |
![]() ![]() |
S | 0..* | BackboneElement | An entity used in this activity |
![]() ![]() ![]() |
S | 1..1 | code | revision | quotation | source | instantiates | removal Привязка: ProvenanceEntityRoleVS (0.5.0) (required) |
![]() ![]() ![]() |
S | 1..1 | Reference(Resource) | Identity of entity |
![]() ![]() |
S | 0..* | Signature | Signature on target |
![]() ![]() ![]() |
S | 0..* | Coding | Indication of the reason the entity signed the object(s) Привязка: SignatureTypeVS (0.5.0) (required) |
![]() ![]() ![]() |
S | 0..1 | instant | When the signature was created |
![]() ![]() ![]() |
S | 0..1 | Reference(UZ Core PractitionerRole(0.5.0)) | Who signed |
![]() ![]() ![]() |
S | 0..1 | code | The technical format of the signature |
![]() ![]() ![]() |
S | 0..1 | base64Binary | The actual signature content (XML DigSig. JWS, picture, etc.) |
Документация для этого формата | ||||
| Путь | Статус | Использование | 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: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Provenance(5.0.0) | Who, What, When for a set of resources | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Привязка: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 | ||||
![]() ![]() |
SΣ | 1..* | Reference(Medication | DocumentReference) | Target Reference(s) (usually version specific) | ||||
![]() ![]() |
0..1 | When the activity occurred Разрез: Не упорядочено, Открыто от type:$this | ||||||
![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() |
S | 0..1 | dateTime | When the activity occurred | ||||
![]() ![]() |
Σ | 0..1 | instant | When the activity was recorded / updated | ||||
![]() ![]() |
0..* | uri | Policy or plan the activity was defined by | |||||
![]() ![]() |
0..1 | Reference(Location) | Where the activity occurred, if relevant | |||||
![]() ![]() |
0..* | CodeableReference() | Authorization (purposeOfUse) related to the event Привязка: PurposeOfUse (3.1.0) (example): The authorized purposeOfUse for the activity. | |||||
![]() ![]() |
S | 0..1 | CodeableConcept | Activity that occurred Привязка: ProvenanceActivityTypesVS (0.5.0) (required) | ||||
![]() ![]() |
0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest | Task) | Workflow authorization within which this event occurred | |||||
![]() ![]() |
S | 0..1 | Reference(Patient) | The patient is the subject of the data created/updated (.target) by the activity | ||||
![]() ![]() |
0..1 | Reference(Encounter) | Encounter within which this event occurred or which the event is tightly associated | |||||
![]() ![]() |
SΣC | 1..* | BackboneElement | Actor involved Constraints: prov-1, prov-2, prov-3 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() |
SΣ | 0..1 | CodeableConcept | How the agent participated Привязка: ProvenanceParticipationRoleTypeVS (0.5.0) (required) | ||||
![]() ![]() ![]() |
0..* | CodeableConcept | What the agents role was Привязка: SecurityRoleType (example): The role that a provenance agent played with respect to the activity. | |||||
![]() ![]() ![]() |
SΣC | 1..1 | Reference(UZ Core PractitionerRole(0.5.0)) | The agent that participated in the event | ||||
![]() ![]() ![]() |
C | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient) | The agent that delegated | ||||
![]() ![]() |
SΣ | 0..* | BackboneElement | An entity used in this activity | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() |
SΣ | 1..1 | code | revision | quotation | source | instantiates | removal Привязка: ProvenanceEntityRoleVS (0.5.0) (required) | ||||
![]() ![]() ![]() |
SΣ | 1..1 | Reference(Resource) | Identity of entity | ||||
![]() ![]() ![]() |
0..* | Смотреть agent (Provenance) | Entity is attributed to this agent | |||||
![]() ![]() |
S | 0..* | Signature | Signature on target | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Разрез: Не упорядочено, Открыто от value:url Constraints: ext-1 | |||||
![]() ![]() ![]() |
SΣ | 0..* | Coding | Indication of the reason the entity signed the object(s) Привязка: SignatureTypeVS (0.5.0) (required) | ||||
![]() ![]() ![]() |
SΣ | 0..1 | instant | When the signature was created | ||||
![]() ![]() ![]() |
SΣ | 0..1 | Reference(UZ Core PractitionerRole(0.5.0)) | Who signed | ||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | The party represented | ||||
![]() ![]() ![]() |
0..1 | code | The technical format of the signed resources Привязка: MimeTypes (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049) | |||||
![]() ![]() ![]() |
S | 0..1 | code | The technical format of the signature Привязка: MimeTypes (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049) | ||||
![]() ![]() ![]() |
S | 0..1 | base64Binary | The actual signature content (XML DigSig. JWS, picture, etc.) | ||||
Документация для этого формата | ||||||||
| Путь | Статус | Использование | 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
Структуры
Эта структура относится к этим другим структурам:
Разрезы
Эта структура определяет следующие Разрезы:
Просмотр ключевых элементов
| Наименование | Флаги | Карта. | Тип | Описание и ограничения Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Provenance(5.0.0) | Who, What, When for a set of resources | |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
0..* | Resource | Contained, inline Resources | |
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 |
![]() ![]() |
SΣ | 1..* | Reference(Medication | DocumentReference) | Target Reference(s) (usually version specific) |
![]() ![]() |
0..1 | When the activity occurred Разрез: Не упорядочено, Открыто от type:$this | ||
![]() ![]() ![]() |
Period | |||
![]() ![]() ![]() |
dateTime | |||
![]() ![]() ![]() |
S | 0..1 | dateTime | When the activity occurred |
![]() ![]() |
S | 0..1 | CodeableConcept | Activity that occurred Привязка: ProvenanceActivityTypesVS (0.5.0) (required) |
![]() ![]() |
S | 0..1 | Reference(Patient) | The patient is the subject of the data created/updated (.target) by the activity |
![]() ![]() |
SΣC | 1..* | BackboneElement | Actor involved Constraints: prov-1, prov-2, prov-3 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 |
![]() ![]() ![]() |
SΣ | 0..1 | CodeableConcept | How the agent participated Привязка: ProvenanceParticipationRoleTypeVS (0.5.0) (required) |
![]() ![]() ![]() |
SΣC | 1..1 | Reference(UZ Core PractitionerRole(0.5.0)) | The agent that participated in the event |
![]() ![]() ![]() |
C | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient) | The agent that delegated |
![]() ![]() |
SΣ | 0..* | BackboneElement | An entity used in this activity |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 |
![]() ![]() ![]() |
SΣ | 1..1 | code | revision | quotation | source | instantiates | removal Привязка: ProvenanceEntityRoleVS (0.5.0) (required) |
![]() ![]() ![]() |
SΣ | 1..1 | Reference(Resource) | Identity of entity |
![]() ![]() |
S | 0..* | Signature | Signature on target |
![]() ![]() ![]() |
SΣ | 0..* | Coding | Indication of the reason the entity signed the object(s) Привязка: SignatureTypeVS (0.5.0) (required) |
![]() ![]() ![]() |
SΣ | 0..1 | instant | When the signature was created |
![]() ![]() ![]() |
SΣ | 0..1 | Reference(UZ Core PractitionerRole(0.5.0)) | Who signed |
![]() ![]() ![]() |
S | 0..1 | code | The technical format of the signature Привязка: MimeTypes (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049) |
![]() ![]() ![]() |
S | 0..1 | base64Binary | The actual signature content (XML DigSig. JWS, picture, etc.) |
Документация для этого формата | ||||
| Путь | Статус | Использование | 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: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | Provenance(5.0.0) | Who, What, When for a set of resources | |
![]() ![]() |
S | 1..* | Reference(Medication | DocumentReference) | Target Reference(s) (usually version specific) |
![]() ![]() |
0..1 | Period, dateTime | When the activity occurred Разрез: Не упорядочено, Открыто от type:$this | |
![]() ![]() ![]() |
S | 0..1 | dateTime | When the activity occurred |
![]() ![]() |
S | 0..1 | CodeableConcept | Activity that occurred Привязка: ProvenanceActivityTypesVS (0.5.0) (required) |
![]() ![]() |
S | 0..1 | Reference(Patient) | The patient is the subject of the data created/updated (.target) by the activity |
![]() ![]() |
S | 1..* | BackboneElement | Actor involved |
![]() ![]() ![]() |
S | 0..1 | CodeableConcept | How the agent participated Привязка: ProvenanceParticipationRoleTypeVS (0.5.0) (required) |
![]() ![]() ![]() |
S | 1..1 | Reference(UZ Core PractitionerRole(0.5.0)) | The agent that participated in the event |
![]() ![]() |
S | 0..* | BackboneElement | An entity used in this activity |
![]() ![]() ![]() |
S | 1..1 | code | revision | quotation | source | instantiates | removal Привязка: ProvenanceEntityRoleVS (0.5.0) (required) |
![]() ![]() ![]() |
S | 1..1 | Reference(Resource) | Identity of entity |
![]() ![]() |
S | 0..* | Signature | Signature on target |
![]() ![]() ![]() |
S | 0..* | Coding | Indication of the reason the entity signed the object(s) Привязка: SignatureTypeVS (0.5.0) (required) |
![]() ![]() ![]() |
S | 0..1 | instant | When the signature was created |
![]() ![]() ![]() |
S | 0..1 | Reference(UZ Core PractitionerRole(0.5.0)) | Who signed |
![]() ![]() ![]() |
S | 0..1 | code | The technical format of the signature |
![]() ![]() ![]() |
S | 0..1 | base64Binary | The actual signature content (XML DigSig. JWS, picture, etc.) |
Документация для этого формата | ||||
| Путь | Статус | Использование | 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: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Provenance(5.0.0) | Who, What, When for a set of resources | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Привязка: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored Constraints: ext-1 | ||||
![]() ![]() |
SΣ | 1..* | Reference(Medication | DocumentReference) | Target Reference(s) (usually version specific) | ||||
![]() ![]() |
0..1 | When the activity occurred Разрез: Не упорядочено, Открыто от type:$this | ||||||
![]() ![]() ![]() |
Period | |||||||
![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() |
S | 0..1 | dateTime | When the activity occurred | ||||
![]() ![]() |
Σ | 0..1 | instant | When the activity was recorded / updated | ||||
![]() ![]() |
0..* | uri | Policy or plan the activity was defined by | |||||
![]() ![]() |
0..1 | Reference(Location) | Where the activity occurred, if relevant | |||||
![]() ![]() |
0..* | CodeableReference() | Authorization (purposeOfUse) related to the event Привязка: PurposeOfUse (3.1.0) (example): The authorized purposeOfUse for the activity. | |||||
![]() ![]() |
S | 0..1 | CodeableConcept | Activity that occurred Привязка: ProvenanceActivityTypesVS (0.5.0) (required) | ||||
![]() ![]() |
0..* | Reference(CarePlan | DeviceRequest | ImmunizationRecommendation | MedicationRequest | NutritionOrder | ServiceRequest | Task) | Workflow authorization within which this event occurred | |||||
![]() ![]() |
S | 0..1 | Reference(Patient) | The patient is the subject of the data created/updated (.target) by the activity | ||||
![]() ![]() |
0..1 | Reference(Encounter) | Encounter within which this event occurred or which the event is tightly associated | |||||
![]() ![]() |
SΣC | 1..* | BackboneElement | Actor involved Constraints: prov-1, prov-2, prov-3 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() |
SΣ | 0..1 | CodeableConcept | How the agent participated Привязка: ProvenanceParticipationRoleTypeVS (0.5.0) (required) | ||||
![]() ![]() ![]() |
0..* | CodeableConcept | What the agents role was Привязка: SecurityRoleType (example): The role that a provenance agent played with respect to the activity. | |||||
![]() ![]() ![]() |
SΣC | 1..1 | Reference(UZ Core PractitionerRole(0.5.0)) | The agent that participated in the event | ||||
![]() ![]() ![]() |
C | 0..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient) | The agent that delegated | ||||
![]() ![]() |
SΣ | 0..* | BackboneElement | An entity used in this activity | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Constraints: ext-1 | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1 | ||||
![]() ![]() ![]() |
SΣ | 1..1 | code | revision | quotation | source | instantiates | removal Привязка: ProvenanceEntityRoleVS (0.5.0) (required) | ||||
![]() ![]() ![]() |
SΣ | 1..1 | Reference(Resource) | Identity of entity | ||||
![]() ![]() ![]() |
0..* | Смотреть agent (Provenance) | Entity is attributed to this agent | |||||
![]() ![]() |
S | 0..* | Signature | Signature on target | ||||
![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Разрез: Не упорядочено, Открыто от value:url Constraints: ext-1 | |||||
![]() ![]() ![]() |
SΣ | 0..* | Coding | Indication of the reason the entity signed the object(s) Привязка: SignatureTypeVS (0.5.0) (required) | ||||
![]() ![]() ![]() |
SΣ | 0..1 | instant | When the signature was created | ||||
![]() ![]() ![]() |
SΣ | 0..1 | Reference(UZ Core PractitionerRole(0.5.0)) | Who signed | ||||
![]() ![]() ![]() |
Σ | 0..1 | Reference(Practitioner | PractitionerRole | RelatedPerson | Patient | Device | Organization) | The party represented | ||||
![]() ![]() ![]() |
0..1 | code | The technical format of the signed resources Привязка: MimeTypes (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049) | |||||
![]() ![]() ![]() |
S | 0..1 | code | The technical format of the signature Привязка: MimeTypes (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049) | ||||
![]() ![]() ![]() |
S | 0..1 | base64Binary | The actual signature content (XML DigSig. JWS, picture, etc.) | ||||
Документация для этого формата | ||||||||
| Путь | Статус | Использование | 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
Структуры
Эта структура относится к этим другим структурам:
Разрезы
Эта структура определяет следующие Разрезы:
Другие представления профиля: 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.