基于FHIR标准的健康档案共享文档实施指南
0.8.0.2022705 - 持续集成版

基于FHIR的健康档案共享文档实施时必须严格遵循本实施指南的规定。

Resource Profile: 通用文档本地化定义

Defining URL:http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/profile-realmHeader
Version:0.8.0.2022705
Name:RealmHeader
Title:通用文档本地化定义
Status:Active as of 2022-07-05T13:46:42+08:00
Definition:

通用文档本地化定义。

Publisher:CHIMA&HL7中国委员会
Source Resource:XML / JSON / Turtle

通用文档本地化定义的正式唯一标识为:

http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/profile-realmHeader

定义内容的视图

通用文档本地化定义是在FHIR标准的Clinical Document基础上进行更加详细的规则约束,下表展示了通用文档本地化定义的结构表示。

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

这种结构源自 Clinical Document

NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition 0..*Clinical DocumentA set of resources composed into a single coherent clinical statement with clinical attestation
... ext-composition-dataEnterer 0..1Reference(Practitioner | PractitionerRole)文档的数据录入者
URL: http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/ext-composition-dataEnterer
... identifier 1..1Identifier文档的业务标识符
... status 1..1code文档的状态
... category 1..1CodeableConcept文档的分类:EMR|EHR|PHR
Binding: 共享文档类别代码表 (required)
... subject 1..1Reference(患者信息结构定义)指向诊疗活动中的患者
... date 1..1dateTime文档的生成时间
... author 1..1Reference(卫生服务人员信息结构定义)文档的作者
... title 1..1string文档的标题
... confidentiality 1..1code文档的保密级别
... attester 0..*BackboneElement文档的责任人
... custodian 1..1Reference(医疗机构结构定义)文档所属管理机构
... event 0..*BackboneElement文档记录的事件列表
... section 1..*BackboneElementComposition is broken into sections
.... title 1..1string章节标题
.... code 1..1CodeableConcept章节的编码表示
Binding: 共享文档章节代码表 (required)
.... text 0..1Narrative文本描述
.... entry 0..*Reference(Resource)章节所包含的条目,指向一个资源

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition 0..*Clinical DocumentA set of resources composed into a single coherent clinical statement with clinical attestation
... 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..*ExtensionExtension
Slice: Unordered, Open by value:url
... composition-clinicaldocument-versionNumber 0..*stringVersion-specific identifier for composition
URL: http://hl7.org/fhir/StructureDefinition/composition-clinicaldocument-versionNumber
... ext-composition-dataEnterer 0..1Reference(Practitioner | PractitionerRole)文档的数据录入者
URL: http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/ext-composition-dataEnterer
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ1..1Identifier文档的业务标识符
... status ?!Σ1..1code文档的状态
Binding: CompositionStatus (required): The workflow/clinical status of the composition.

... type Σ1..1CodeableConcept文档类型,由具体的文档定义指定其类型
Binding: 健康档案共享文档类型代码表 (required)
... category Σ1..1CodeableConcept文档的分类:EMR|EHR|PHR
Binding: 共享文档类别代码表 (required)
... subject Σ1..1Reference(患者信息结构定义)指向诊疗活动中的患者
... encounter Σ0..1Reference(Encounter)Context of the Composition
... date Σ1..1dateTime文档的生成时间
... author Σ1..1Reference(卫生服务人员信息结构定义)文档的作者
... title Σ1..1string文档的标题
... confidentiality Σ1..1code文档的保密级别
Binding: v3.ConfidentialityClassification (2014-03-26) (required): Codes specifying the level of confidentiality of the composition.

... attester 0..*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
.... mode 1..1codepersonal | professional | legal | official
Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.

.... time 0..1dateTimeWhen the composition was attested
.... party 0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization)Who attested the composition
... custodian Σ1..1Reference(医疗机构结构定义)文档所属管理机构
... relatesTo 0..*BackboneElementRelationships to other compositions/documents
.... 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
.... code 1..1codereplaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.

.... target[x] 1..1Target of the relationship
..... targetIdentifierIdentifier
..... targetReferenceReference(Composition)
... event Σ0..*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
.... code Σ0..*CodeableConceptCode(s) that apply to the event being documented
Binding: v3 Code System ActCode (example): This list of codes represents the main clinical acts being documented.


.... period Σ0..1PeriodThe period covered by the documentation
.... detail Σ0..*Reference(Resource)The event(s) being documented
... section I1..*BackboneElementComposition is broken into sections
.... 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
.... title 1..1string章节标题
.... code 1..1CodeableConcept章节的编码表示
Binding: 共享文档章节代码表 (required)
.... author 0..*Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization)Who and/or what authored the section
.... focus 0..1Reference(Resource)Who/what the section is about, when it is not about the subject of composition
.... text I0..1Narrative文本描述
.... mode 0..1codeworking | snapshot | changes
Binding: ListMode (required): The processing mode that applies to this section.

.... orderedBy 0..1CodeableConceptOrder of section entries
Binding: ListOrderCodes (preferred): What order applies to the items in the entry.

.... entry I0..*Reference(Resource)章节所包含的条目,指向一个资源
.... emptyReason I0..1CodeableConceptWhy the section is empty
Binding: ListEmptyReasons (preferred): If a section is empty, why it is empty.

.... section I0..*See section (Composition)Nested Section

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition 0..*Clinical DocumentA set of resources composed into a single coherent clinical statement with clinical attestation

doco Documentation for this format

差异视图

这种结构源自 Clinical Document

NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition 0..*Clinical DocumentA set of resources composed into a single coherent clinical statement with clinical attestation
... ext-composition-dataEnterer 0..1Reference(Practitioner | PractitionerRole)文档的数据录入者
URL: http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/ext-composition-dataEnterer
... identifier 1..1Identifier文档的业务标识符
... status 1..1code文档的状态
... category 1..1CodeableConcept文档的分类:EMR|EHR|PHR
Binding: 共享文档类别代码表 (required)
... subject 1..1Reference(患者信息结构定义)指向诊疗活动中的患者
... date 1..1dateTime文档的生成时间
... author 1..1Reference(卫生服务人员信息结构定义)文档的作者
... title 1..1string文档的标题
... confidentiality 1..1code文档的保密级别
... attester 0..*BackboneElement文档的责任人
... custodian 1..1Reference(医疗机构结构定义)文档所属管理机构
... event 0..*BackboneElement文档记录的事件列表
... section 1..*BackboneElementComposition is broken into sections
.... title 1..1string章节标题
.... code 1..1CodeableConcept章节的编码表示
Binding: 共享文档章节代码表 (required)
.... text 0..1Narrative文本描述
.... entry 0..*Reference(Resource)章节所包含的条目,指向一个资源

doco Documentation for this format

快照视图

NameFlagsCard.TypeDescription & Constraintsdoco
.. Composition 0..*Clinical DocumentA set of resources composed into a single coherent clinical statement with clinical attestation
... 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..*ExtensionExtension
Slice: Unordered, Open by value:url
... composition-clinicaldocument-versionNumber 0..*stringVersion-specific identifier for composition
URL: http://hl7.org/fhir/StructureDefinition/composition-clinicaldocument-versionNumber
... ext-composition-dataEnterer 0..1Reference(Practitioner | PractitionerRole)文档的数据录入者
URL: http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/ext-composition-dataEnterer
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ1..1Identifier文档的业务标识符
... status ?!Σ1..1code文档的状态
Binding: CompositionStatus (required): The workflow/clinical status of the composition.

... type Σ1..1CodeableConcept文档类型,由具体的文档定义指定其类型
Binding: 健康档案共享文档类型代码表 (required)
... category Σ1..1CodeableConcept文档的分类:EMR|EHR|PHR
Binding: 共享文档类别代码表 (required)
... subject Σ1..1Reference(患者信息结构定义)指向诊疗活动中的患者
... encounter Σ0..1Reference(Encounter)Context of the Composition
... date Σ1..1dateTime文档的生成时间
... author Σ1..1Reference(卫生服务人员信息结构定义)文档的作者
... title Σ1..1string文档的标题
... confidentiality Σ1..1code文档的保密级别
Binding: v3.ConfidentialityClassification (2014-03-26) (required): Codes specifying the level of confidentiality of the composition.

... attester 0..*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
.... mode 1..1codepersonal | professional | legal | official
Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition.

.... time 0..1dateTimeWhen the composition was attested
.... party 0..1Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization)Who attested the composition
... custodian Σ1..1Reference(医疗机构结构定义)文档所属管理机构
... relatesTo 0..*BackboneElementRelationships to other compositions/documents
.... 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
.... code 1..1codereplaces | transforms | signs | appends
Binding: DocumentRelationshipType (required): The type of relationship between documents.

.... target[x] 1..1Target of the relationship
..... targetIdentifierIdentifier
..... targetReferenceReference(Composition)
... event Σ0..*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
.... code Σ0..*CodeableConceptCode(s) that apply to the event being documented
Binding: v3 Code System ActCode (example): This list of codes represents the main clinical acts being documented.


.... period Σ0..1PeriodThe period covered by the documentation
.... detail Σ0..*Reference(Resource)The event(s) being documented
... section I1..*BackboneElementComposition is broken into sections
.... 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
.... title 1..1string章节标题
.... code 1..1CodeableConcept章节的编码表示
Binding: 共享文档章节代码表 (required)
.... author 0..*Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization)Who and/or what authored the section
.... focus 0..1Reference(Resource)Who/what the section is about, when it is not about the subject of composition
.... text I0..1Narrative文本描述
.... mode 0..1codeworking | snapshot | changes
Binding: ListMode (required): The processing mode that applies to this section.

.... orderedBy 0..1CodeableConceptOrder of section entries
Binding: ListOrderCodes (preferred): What order applies to the items in the entry.

.... entry I0..*Reference(Resource)章节所包含的条目,指向一个资源
.... emptyReason I0..1CodeableConceptWhy the section is empty
Binding: ListEmptyReasons (preferred): If a section is empty, why it is empty.

.... section I0..*See section (Composition)Nested Section

doco Documentation for this format

 

本定义的其它表示法: Schematron

Terminology Bindings

PathConformanceValueSet
Composition.languagepreferredCommonLanguages
Max Binding: AllLanguages
Composition.statusrequiredCompositionStatus
Composition.typerequiredVSEHRDocumentType
Composition.categoryrequiredVSDocumentCategory
Composition.confidentialityrequiredv3.ConfidentialityClassification
Composition.attester.moderequiredCompositionAttestationMode
Composition.relatesTo.coderequiredDocumentRelationshipType
Composition.event.codeexampleActCode
Composition.section.coderequiredDocSectionCodes
Composition.section.moderequiredListMode
Composition.section.orderedBypreferredListOrderCodes
Composition.section.emptyReasonpreferredListEmptyReasons

Constraints

IdPathDetailsRequirements
dom-2CompositionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3CompositionIf 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-4CompositionIf 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-5CompositionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6CompositionA resource should have narrative for robust management
: text.`div`.exists()
ele-1Composition.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.extension:versionNumberAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.extension:versionNumberMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.extension:DataEntererAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.extension:DataEntererMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.dateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.authorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.confidentialityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.attesterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.attester.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.attester.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.attester.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.attester.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.attester.modeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.attester.timeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.attester.partyAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.custodianAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.relatesToAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.relatesTo.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.relatesTo.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.relatesTo.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.relatesTo.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.relatesTo.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.relatesTo.target[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.eventAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.event.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.event.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.event.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.event.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.event.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.event.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.event.detailAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
cmp-1Composition.sectionA section must contain at least one of text, entries, or sub-sections
: text.exists() or entry.exists() or section.exists()
cmp-2Composition.sectionA section can only have an emptyReason if it is empty
: emptyReason.empty() or entry.empty()
ele-1Composition.sectionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.section.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.section.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Composition.section.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Composition.section.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.authorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.focusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.modeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.orderedByAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.entryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.emptyReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Composition.section.sectionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())