基于FHIR标准的健康档案共享文档实施指南
0.8.0.2022705 - 持续集成版
基于FHIR的健康档案共享文档实施时必须严格遵循本实施指南的规定。
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
Summary
Mandatory: 8 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
这种结构源自 Clinical Document
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Composition | 0..* | Clinical Document | A set of resources composed into a single coherent clinical statement with clinical attestation | |
id | Σ | 0..1 | string | 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 |
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
composition-clinicaldocument-versionNumber | 0..* | string | Version-specific identifier for composition URL: http://hl7.org/fhir/StructureDefinition/composition-clinicaldocument-versionNumber | |
ext-composition-dataEnterer | 0..1 | Reference(Practitioner | PractitionerRole) | 文档的数据录入者 URL: http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/ext-composition-dataEnterer | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 1..1 | Identifier | 文档的业务标识符 |
status | ?!Σ | 1..1 | code | 文档的状态 Binding: CompositionStatus (required): The workflow/clinical status of the composition. |
type | Σ | 1..1 | CodeableConcept | 文档类型,由具体的文档定义指定其类型 Binding: 健康档案共享文档类型代码表 (required) |
category | Σ | 1..1 | CodeableConcept | 文档的分类:EMR|EHR|PHR Binding: 共享文档类别代码表 (required) |
subject | Σ | 1..1 | Reference(患者信息结构定义) | 指向诊疗活动中的患者 |
encounter | Σ | 0..1 | Reference(Encounter) | Context of the Composition |
date | Σ | 1..1 | dateTime | 文档的生成时间 |
author | Σ | 1..1 | Reference(卫生服务人员信息结构定义) | 文档的作者 |
title | Σ | 1..1 | string | 文档的标题 |
confidentiality | Σ | 1..1 | code | 文档的保密级别 Binding: v3.ConfidentialityClassification (2014-03-26) (required): Codes specifying the level of confidentiality of the composition. |
attester | 0..* | BackboneElement | 文档的责任人 | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
mode | 1..1 | code | personal | professional | legal | official Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition. | |
time | 0..1 | dateTime | When the composition was attested | |
party | 0..1 | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) | Who attested the composition | |
custodian | Σ | 1..1 | Reference(医疗机构结构定义) | 文档所属管理机构 |
relatesTo | 0..* | BackboneElement | Relationships to other compositions/documents | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | 1..1 | code | replaces | transforms | signs | appends Binding: DocumentRelationshipType (required): The type of relationship between documents. | |
target[x] | 1..1 | Target of the relationship | ||
targetIdentifier | Identifier | |||
targetReference | Reference(Composition) | |||
event | Σ | 0..* | BackboneElement | 文档记录的事件列表 |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | Σ | 0..* | CodeableConcept | Code(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..1 | Period | The period covered by the documentation |
detail | Σ | 0..* | Reference(Resource) | The event(s) being documented |
section | I | 1..* | BackboneElement | Composition is broken into sections |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
title | 1..1 | string | 章节标题 | |
code | 1..1 | CodeableConcept | 章节的编码表示 Binding: 共享文档章节代码表 (required) | |
author | 0..* | Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization) | Who and/or what authored the section | |
focus | 0..1 | Reference(Resource) | Who/what the section is about, when it is not about the subject of composition | |
text | I | 0..1 | Narrative | 文本描述 |
mode | 0..1 | code | working | snapshot | changes Binding: ListMode (required): The processing mode that applies to this section. | |
orderedBy | 0..1 | CodeableConcept | Order of section entries Binding: ListOrderCodes (preferred): What order applies to the items in the entry. | |
entry | I | 0..* | Reference(Resource) | 章节所包含的条目,指向一个资源 |
emptyReason | I | 0..1 | CodeableConcept | Why the section is empty Binding: ListEmptyReasons (preferred): If a section is empty, why it is empty. |
section | I | 0..* | See section (Composition) | Nested Section |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Composition | 0..* | Clinical Document | A set of resources composed into a single coherent clinical statement with clinical attestation | |
Documentation for this format |
这种结构源自 Clinical Document
Summary
Mandatory: 8 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
差异视图
这种结构源自 Clinical Document
快照视图
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Composition | 0..* | Clinical Document | A set of resources composed into a single coherent clinical statement with clinical attestation | |
id | Σ | 0..1 | string | 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 |
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
composition-clinicaldocument-versionNumber | 0..* | string | Version-specific identifier for composition URL: http://hl7.org/fhir/StructureDefinition/composition-clinicaldocument-versionNumber | |
ext-composition-dataEnterer | 0..1 | Reference(Practitioner | PractitionerRole) | 文档的数据录入者 URL: http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/ext-composition-dataEnterer | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | Σ | 1..1 | Identifier | 文档的业务标识符 |
status | ?!Σ | 1..1 | code | 文档的状态 Binding: CompositionStatus (required): The workflow/clinical status of the composition. |
type | Σ | 1..1 | CodeableConcept | 文档类型,由具体的文档定义指定其类型 Binding: 健康档案共享文档类型代码表 (required) |
category | Σ | 1..1 | CodeableConcept | 文档的分类:EMR|EHR|PHR Binding: 共享文档类别代码表 (required) |
subject | Σ | 1..1 | Reference(患者信息结构定义) | 指向诊疗活动中的患者 |
encounter | Σ | 0..1 | Reference(Encounter) | Context of the Composition |
date | Σ | 1..1 | dateTime | 文档的生成时间 |
author | Σ | 1..1 | Reference(卫生服务人员信息结构定义) | 文档的作者 |
title | Σ | 1..1 | string | 文档的标题 |
confidentiality | Σ | 1..1 | code | 文档的保密级别 Binding: v3.ConfidentialityClassification (2014-03-26) (required): Codes specifying the level of confidentiality of the composition. |
attester | 0..* | BackboneElement | 文档的责任人 | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
mode | 1..1 | code | personal | professional | legal | official Binding: CompositionAttestationMode (required): The way in which a person authenticated a composition. | |
time | 0..1 | dateTime | When the composition was attested | |
party | 0..1 | Reference(Patient | RelatedPerson | Practitioner | PractitionerRole | Organization) | Who attested the composition | |
custodian | Σ | 1..1 | Reference(医疗机构结构定义) | 文档所属管理机构 |
relatesTo | 0..* | BackboneElement | Relationships to other compositions/documents | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | 1..1 | code | replaces | transforms | signs | appends Binding: DocumentRelationshipType (required): The type of relationship between documents. | |
target[x] | 1..1 | Target of the relationship | ||
targetIdentifier | Identifier | |||
targetReference | Reference(Composition) | |||
event | Σ | 0..* | BackboneElement | 文档记录的事件列表 |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | Σ | 0..* | CodeableConcept | Code(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..1 | Period | The period covered by the documentation |
detail | Σ | 0..* | Reference(Resource) | The event(s) being documented |
section | I | 1..* | BackboneElement | Composition is broken into sections |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
title | 1..1 | string | 章节标题 | |
code | 1..1 | CodeableConcept | 章节的编码表示 Binding: 共享文档章节代码表 (required) | |
author | 0..* | Reference(Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization) | Who and/or what authored the section | |
focus | 0..1 | Reference(Resource) | Who/what the section is about, when it is not about the subject of composition | |
text | I | 0..1 | Narrative | 文本描述 |
mode | 0..1 | code | working | snapshot | changes Binding: ListMode (required): The processing mode that applies to this section. | |
orderedBy | 0..1 | CodeableConcept | Order of section entries Binding: ListOrderCodes (preferred): What order applies to the items in the entry. | |
entry | I | 0..* | Reference(Resource) | 章节所包含的条目,指向一个资源 |
emptyReason | I | 0..1 | CodeableConcept | Why the section is empty Binding: ListEmptyReasons (preferred): If a section is empty, why it is empty. |
section | I | 0..* | See section (Composition) | Nested Section |
Documentation for this format |
本定义的其它表示法: Schematron
Path | Conformance | ValueSet |
Composition.language | preferred | CommonLanguages Max Binding: AllLanguages |
Composition.status | required | CompositionStatus |
Composition.type | required | VSEHRDocumentType |
Composition.category | required | VSDocumentCategory |
Composition.confidentiality | required | v3.ConfidentialityClassification |
Composition.attester.mode | required | CompositionAttestationMode |
Composition.relatesTo.code | required | DocumentRelationshipType |
Composition.event.code | example | ActCode |
Composition.section.code | required | DocSectionCodes |
Composition.section.mode | required | ListMode |
Composition.section.orderedBy | preferred | ListOrderCodes |
Composition.section.emptyReason | preferred | ListEmptyReasons |
Id | Path | Details | Requirements |
dom-2 | Composition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | Composition | 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().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-4 | Composition | 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 | Composition | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Composition | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | Composition.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.extension:versionNumber | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.extension:versionNumber | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.extension:DataEnterer | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.extension:DataEnterer | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.category | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.subject | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.encounter | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.date | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.author | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.title | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.confidentiality | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.attester | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.attester.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.attester.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.attester.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.attester.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.attester.mode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.attester.time | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.attester.party | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.custodian | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.relatesTo | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.relatesTo.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.relatesTo.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.relatesTo.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.relatesTo.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.relatesTo.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.relatesTo.target[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.event | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.event.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.event.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.event.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.event.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.event.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.event.period | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.event.detail | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
cmp-1 | Composition.section | A section must contain at least one of text, entries, or sub-sections : text.exists() or entry.exists() or section.exists() | |
cmp-2 | Composition.section | A section can only have an emptyReason if it is empty : emptyReason.empty() or entry.empty() | |
ele-1 | Composition.section | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.section.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.section.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Composition.section.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Composition.section.title | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.author | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.focus | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.mode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.orderedBy | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.entry | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.emptyReason | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Composition.section.section | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |