HL7中国FHIR Connectathon测试实施指南
V20230304 - release

本指南适用于HL7中国的FHIR Connectathon测试。

Resource Profile: 核心审计事件结构定义

Defining URL:http://hl7.org.cn/fhir/StructureDefinition/profile-core-auditevent
Version:V20230304
Name:CoreAuditEvent
Title:核心审计事件结构定义
Status:Active as of 2023-03-04T16:13:14+08:00
Definition:

核心审计事件资源本地化定义。

Publisher:HL7中国
Source Resource:XML / JSON / Turtle

本定义的正式URL为:

http://hl7.org.cn/fhir/StructureDefinition/profile-core-auditevent

定义内容的视图

关于定义、差异、快照以及如何解读这些表示法

这种结构源自 AuditEvent

Summary

Mandatory: 4 elements

这种结构源自 AuditEvent

NameFlagsCard.TypeDescription & Constraintsdoco
.. AuditEvent 0..*AuditEventEvent record kept for security purposes
... type 1..1Coding审计事件类型(粗粒度)
Binding: AuditEventID (required)
... subtype 1..1Coding审计事件类型(细粒度)
Binding: AuditEventSub-Type (required)
... action 1..1code活动类型:创建、读取、更新、删除、执行
... recorded 1..1instant审计记录时间
... outcome 1..1code执行结果:成功、一般错误、严重错误、重大错误
... agent 1..*BackboneElement事件参与者
.... type 0..1CodeableConcept事件参与者类型
.... who 0..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)参与者(可以是系统或者人员)
.... name 0..1string名称
.... requestor 1..1boolean是否为事件的发起者
.... network 0..1BackboneElement网络信息
..... address 0..1string网络地址
..... type 0..1code网络类型
... source 1..1BackboneElement审计源,记录了提交审计事件的系统
.... site 0..1string审计源所处位置
.... observer 1..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)审计源系统标识
.... type 0..*Coding审计源类型

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. AuditEvent 0..*AuditEventEvent record kept for security purposes
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... type Σ1..1Coding审计事件类型(粗粒度)
Binding: AuditEventID (required)
... subtype Σ1..1Coding审计事件类型(细粒度)
Binding: AuditEventSub-Type (required)
... action Σ1..1code活动类型:创建、读取、更新、删除、执行
Binding: AuditEventAction (required): Indicator for type of action performed during the event that generated the event.

... period 1..1Period活动发生时间
... recorded Σ1..1instant审计记录时间
... outcome Σ1..1code执行结果:成功、一般错误、严重错误、重大错误
Binding: AuditEventOutcome (required): Indicates whether the event succeeded or failed.

... outcomeDesc Σ0..1stringDescription of the event outcome
... purposeOfEvent Σ0..*CodeableConceptThe purposeOfUse of the event
Binding: PurposeOfUse (extensible): The reason the activity took place.


... agent 1..*BackboneElement事件参与者
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type 0..1CodeableConcept事件参与者类型
Binding: ParticipationRoleType (extensible): The Participation type of the agent to the event.

.... role 0..*CodeableConceptAgent role in the event
Binding: SecurityRoleType (example): What security role enabled the agent to participate in the event.


.... who Σ0..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)参与者(可以是系统或者人员)
.... altId 0..1stringAlternative User identity
.... name 0..1string名称
.... requestor Σ1..1boolean是否为事件的发起者
.... location 0..1Reference(Location)Where
.... policy 0..*uriPolicy that authorized event
.... media 0..1CodingType of media
Binding: MediaTypeCode (extensible): Used when the event is about exporting/importing onto media.

.... network 0..1BackboneElement网络信息
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... address 0..1string网络地址
..... type 0..1code网络类型
Binding: AuditEventAgentNetworkType (required): The type of network access point of this agent in the audit event.

.... purposeOfUse 0..*CodeableConceptReason given for this user
Binding: PurposeOfUse (extensible): The reason the activity took place.


... source 1..1BackboneElement审计源,记录了提交审计事件的系统
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... site 0..1string审计源所处位置
.... observer Σ1..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)审计源系统标识
.... type 0..*Coding审计源类型
Binding: AuditEventSourceType (extensible): Code specifying the type of system that detected and recorded the event.


... entity I0..*BackboneElementData or objects used
sev-1: Either a name or a query (NOT both)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... what Σ0..1Reference(Resource)Specific instance of resource
.... type 0..1CodingType of entity involved
Binding: AuditEventEntityType (extensible): Code for the entity type involved in the audit event.

.... role 0..1CodingWhat role the entity played
Binding: AuditEventEntityRole (extensible): Code representing the role the entity played in the audit event.

.... lifecycle 0..1CodingLife-cycle stage for the entity
Binding: ObjectLifecycleEvents (extensible): Identifier for the data life-cycle stage for the entity.

.... securityLabel 0..*CodingSecurity labels on the entity
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... name ΣI0..1stringDescriptor for entity
.... description 0..1stringDescriptive text
.... query ΣI0..1base64BinaryQuery parameters
.... detail 0..*BackboneElementAdditional Information about the entity
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type 1..1stringName of the property
..... value[x] 1..1Property value
...... valueStringstring
...... valueBase64Binarybase64Binary

doco Documentation for this format

这种结构源自 AuditEvent

Summary

Mandatory: 4 elements

差异视图

这种结构源自 AuditEvent

NameFlagsCard.TypeDescription & Constraintsdoco
.. AuditEvent 0..*AuditEventEvent record kept for security purposes
... type 1..1Coding审计事件类型(粗粒度)
Binding: AuditEventID (required)
... subtype 1..1Coding审计事件类型(细粒度)
Binding: AuditEventSub-Type (required)
... action 1..1code活动类型:创建、读取、更新、删除、执行
... recorded 1..1instant审计记录时间
... outcome 1..1code执行结果:成功、一般错误、严重错误、重大错误
... agent 1..*BackboneElement事件参与者
.... type 0..1CodeableConcept事件参与者类型
.... who 0..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)参与者(可以是系统或者人员)
.... name 0..1string名称
.... requestor 1..1boolean是否为事件的发起者
.... network 0..1BackboneElement网络信息
..... address 0..1string网络地址
..... type 0..1code网络类型
... source 1..1BackboneElement审计源,记录了提交审计事件的系统
.... site 0..1string审计源所处位置
.... observer 1..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)审计源系统标识
.... type 0..*Coding审计源类型

doco Documentation for this format

快照视图

NameFlagsCard.TypeDescription & Constraintsdoco
.. AuditEvent 0..*AuditEventEvent record kept for security purposes
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... type Σ1..1Coding审计事件类型(粗粒度)
Binding: AuditEventID (required)
... subtype Σ1..1Coding审计事件类型(细粒度)
Binding: AuditEventSub-Type (required)
... action Σ1..1code活动类型:创建、读取、更新、删除、执行
Binding: AuditEventAction (required): Indicator for type of action performed during the event that generated the event.

... period 1..1Period活动发生时间
... recorded Σ1..1instant审计记录时间
... outcome Σ1..1code执行结果:成功、一般错误、严重错误、重大错误
Binding: AuditEventOutcome (required): Indicates whether the event succeeded or failed.

... outcomeDesc Σ0..1stringDescription of the event outcome
... purposeOfEvent Σ0..*CodeableConceptThe purposeOfUse of the event
Binding: PurposeOfUse (extensible): The reason the activity took place.


... agent 1..*BackboneElement事件参与者
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type 0..1CodeableConcept事件参与者类型
Binding: ParticipationRoleType (extensible): The Participation type of the agent to the event.

.... role 0..*CodeableConceptAgent role in the event
Binding: SecurityRoleType (example): What security role enabled the agent to participate in the event.


.... who Σ0..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)参与者(可以是系统或者人员)
.... altId 0..1stringAlternative User identity
.... name 0..1string名称
.... requestor Σ1..1boolean是否为事件的发起者
.... location 0..1Reference(Location)Where
.... policy 0..*uriPolicy that authorized event
.... media 0..1CodingType of media
Binding: MediaTypeCode (extensible): Used when the event is about exporting/importing onto media.

.... network 0..1BackboneElement网络信息
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... address 0..1string网络地址
..... type 0..1code网络类型
Binding: AuditEventAgentNetworkType (required): The type of network access point of this agent in the audit event.

.... purposeOfUse 0..*CodeableConceptReason given for this user
Binding: PurposeOfUse (extensible): The reason the activity took place.


... source 1..1BackboneElement审计源,记录了提交审计事件的系统
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... site 0..1string审计源所处位置
.... observer Σ1..1Reference(PractitionerRole | Practitioner | Organization | Device | Patient | RelatedPerson)审计源系统标识
.... type 0..*Coding审计源类型
Binding: AuditEventSourceType (extensible): Code specifying the type of system that detected and recorded the event.


... entity I0..*BackboneElementData or objects used
sev-1: Either a name or a query (NOT both)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... what Σ0..1Reference(Resource)Specific instance of resource
.... type 0..1CodingType of entity involved
Binding: AuditEventEntityType (extensible): Code for the entity type involved in the audit event.

.... role 0..1CodingWhat role the entity played
Binding: AuditEventEntityRole (extensible): Code representing the role the entity played in the audit event.

.... lifecycle 0..1CodingLife-cycle stage for the entity
Binding: ObjectLifecycleEvents (extensible): Identifier for the data life-cycle stage for the entity.

.... securityLabel 0..*CodingSecurity labels on the entity
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... name ΣI0..1stringDescriptor for entity
.... description 0..1stringDescriptive text
.... query ΣI0..1base64BinaryQuery parameters
.... detail 0..*BackboneElementAdditional Information about the entity
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type 1..1stringName of the property
..... value[x] 1..1Property value
...... valueStringstring
...... valueBase64Binarybase64Binary

doco Documentation for this format

 

本定义的其它表示法: Schematron

Terminology Bindings

PathConformanceValueSet
AuditEvent.languagepreferredCommonLanguages
Max Binding: AllLanguages
AuditEvent.typerequiredAuditEventID
AuditEvent.subtyperequiredAuditEventSub-Type
AuditEvent.actionrequiredAuditEventAction
AuditEvent.outcomerequiredAuditEventOutcome
AuditEvent.purposeOfEventextensiblePurposeOfUse
AuditEvent.agent.typeextensibleParticipationRoleType
AuditEvent.agent.roleexampleSecurityRoleType
AuditEvent.agent.mediaextensibleMediaTypeCode
AuditEvent.agent.network.typerequiredAuditEventAgentNetworkType
AuditEvent.agent.purposeOfUseextensiblePurposeOfUse
AuditEvent.source.typeextensibleAuditEventSourceType
AuditEvent.entity.typeextensibleAuditEventEntityType
AuditEvent.entity.roleextensibleAuditEventEntityRole
AuditEvent.entity.lifecycleextensibleObjectLifecycleEvents
AuditEvent.entity.securityLabelextensibleAll Security Labels

Constraints

IdPathDetailsRequirements
dom-2AuditEventIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3AuditEventIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4AuditEventIf 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-5AuditEventIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6AuditEventA resource should have narrative for robust management
: text.`div`.exists()
ele-1AuditEvent.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AuditEvent.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AuditEvent.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AuditEvent.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AuditEvent.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.subtypeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.actionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.recordedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.outcomeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.outcomeDescAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.purposeOfEventAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.agentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.agent.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AuditEvent.agent.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AuditEvent.agent.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AuditEvent.agent.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AuditEvent.agent.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.agent.roleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.agent.whoAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.agent.altIdAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.agent.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.agent.requestorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.agent.locationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.agent.policyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.agent.mediaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.agent.networkAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.agent.network.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AuditEvent.agent.network.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AuditEvent.agent.network.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AuditEvent.agent.network.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AuditEvent.agent.network.addressAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.agent.network.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.agent.purposeOfUseAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.sourceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.source.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AuditEvent.source.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AuditEvent.source.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AuditEvent.source.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AuditEvent.source.siteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.source.observerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.source.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.entityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
sev-1AuditEvent.entityEither a name or a query (NOT both)
: name.empty() or query.empty()
ele-1AuditEvent.entity.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AuditEvent.entity.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AuditEvent.entity.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AuditEvent.entity.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AuditEvent.entity.whatAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.entity.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.entity.roleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.entity.lifecycleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.entity.securityLabelAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.entity.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.entity.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.entity.queryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.entity.detailAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.entity.detail.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AuditEvent.entity.detail.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AuditEvent.entity.detail.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1AuditEvent.entity.detail.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1AuditEvent.entity.detail.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1AuditEvent.entity.detail.value[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())