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

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

Resource Profile: 患者信息结构定义

Defining URL:http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/profile-core-patient
Version:0.8.0.2022705
Name:CorePatient
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-core-patient

简介

患者信息使用 Patient资源进行表示。该资源的本地化结构定义声明了对适用于健康医疗信息平台中患者信息的最低要求。它确定在使用此资源时应包含哪些核心元素、扩展和术语

快速实施指导

除非无法判别两个患者资源是否属于同一患者,在实现系统中一个患者只能存在一个患者资源。

患者的各种用于医疗就诊活动的卡和证件标识都记录在identifier元素中,identifier.system元素用于记录标识域,identifier.value元素用于记录标识号。

当两个患者资源判定为同一患者后,进行患者合并。合并后被废弃的患者资源通过保留患者资源的link元素进行链接。

定义内容的视图

患者信息结构定义是在FHIR标准的Patient基础上进行更加详细的规则约束,下表展示了患者信息结构定义的结构表示。

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

这种结构源自 Patient

这种结构源自 Patient

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..*PatientInformation about an individual or animal receiving health care services
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ext-person-nationality 0..1Coding国籍
URL: http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/ext-person-nationality
Binding: 世界各国和地区名称代码 (required)
... ext-person-ethnicGroup 0..1Coding民族
URL: http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/ext-person-ethnicGroup
Binding: 民族类别代码表 (required)
... active 1..1boolean患者状态,默认取值为true。
... name 1..*HumanName患者名称
... telecom 0..*ContactPoint患者的联系方式
... gender 1..1codemale | female | other | unknown
.... extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
.... ext-person-gender 1..1Coding国标性别代码
URL: http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/ext-person-gender
Binding: 生理性别代码表 (required)
... birthDate 1..1date患者的出生日期
... address 0..*CNAddress患者的地址
... maritalStatus 0..1CodeableConcept婚姻状态
Binding: 婚姻状况代码表 (required)
... contact 0..*BackboneElement患者的联系人
.... relationship 0..*CodeableConcept患者与联系人之间的关系
Binding: 家庭关系代码表 (required)
.... name 1..1HumanName联系人的姓名
.... telecom 0..*ContactPoint联系人的联系方式
.... address 0..1CNAddress联系人的地址
... link 0..*BackboneElement连接到另一个患者资源
.... other 1..1Reference(Patient | RelatedPerson)指向其它患者资源的引用
.... type 1..1code连接的类型

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..*PatientInformation about an individual or animal receiving health care services
... 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
... ext-person-nationality 0..1Coding国籍
URL: http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/ext-person-nationality
Binding: 世界各国和地区名称代码 (required)
... ext-person-ethnicGroup 0..1Coding民族
URL: http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/ext-person-ethnicGroup
Binding: 民族类别代码表 (required)
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ1..*Identifier患者业务标识符。例如:身份证、健康卡、社保卡等
... active ?!Σ1..1boolean患者状态,默认取值为true。
... name Σ1..*HumanName患者名称
... telecom Σ0..*ContactPoint患者的联系方式
... gender Σ1..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
.... ext-person-gender 1..1Coding国标性别代码
URL: http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/ext-person-gender
Binding: 生理性别代码表 (required)
.... value 0..1stringPrimitive value for code
... birthDate Σ1..1date患者的出生日期
... deceased[x] ?!Σ0..1Indicates if the individual is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address 0..*CNAddress患者的地址
... maritalStatus 0..1CodeableConcept婚姻状态
Binding: 婚姻状况代码表 (required)
... multipleBirth[x] 0..1Whether patient is part of a multiple birth
.... multipleBirthBooleanboolean
.... multipleBirthIntegerinteger
... photo 0..*AttachmentImage of the patient
... contact I0..*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
.... relationship 0..*CodeableConcept患者与联系人之间的关系
Binding: 家庭关系代码表 (required)
.... name 1..1HumanName联系人的姓名
.... telecom 0..*ContactPoint联系人的联系方式
.... address 0..1CNAddress联系人的地址
.... gender 0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

.... organization I0..1Reference(Organization)Organization that is associated with the contact
.... period 0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
... communication 0..*BackboneElementA language which may be used to communicate with the patient about his or her health
.... 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
.... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages: A human language.

.... preferred 0..1booleanLanguage preference indicator
... generalPractitioner 0..*Reference(Organization | Practitioner | PractitionerRole)Patient's nominated primary care provider
... managingOrganization Σ0..1Reference(Organization)Organization that is the custodian of the patient record
... link ?!Σ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
.... other Σ1..1Reference(Patient | RelatedPerson)指向其它患者资源的引用
.... type Σ1..1code连接的类型
Binding: LinkType (required): The type of link between this patient resource and another patient resource.


doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..*PatientInformation about an individual or animal receiving health care services

doco Documentation for this format

这种结构源自 Patient

差异视图

这种结构源自 Patient

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..*PatientInformation about an individual or animal receiving health care services
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... ext-person-nationality 0..1Coding国籍
URL: http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/ext-person-nationality
Binding: 世界各国和地区名称代码 (required)
... ext-person-ethnicGroup 0..1Coding民族
URL: http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/ext-person-ethnicGroup
Binding: 民族类别代码表 (required)
... active 1..1boolean患者状态,默认取值为true。
... name 1..*HumanName患者名称
... telecom 0..*ContactPoint患者的联系方式
... gender 1..1codemale | female | other | unknown
.... extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
.... ext-person-gender 1..1Coding国标性别代码
URL: http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/ext-person-gender
Binding: 生理性别代码表 (required)
... birthDate 1..1date患者的出生日期
... address 0..*CNAddress患者的地址
... maritalStatus 0..1CodeableConcept婚姻状态
Binding: 婚姻状况代码表 (required)
... contact 0..*BackboneElement患者的联系人
.... relationship 0..*CodeableConcept患者与联系人之间的关系
Binding: 家庭关系代码表 (required)
.... name 1..1HumanName联系人的姓名
.... telecom 0..*ContactPoint联系人的联系方式
.... address 0..1CNAddress联系人的地址
... link 0..*BackboneElement连接到另一个患者资源
.... other 1..1Reference(Patient | RelatedPerson)指向其它患者资源的引用
.... type 1..1code连接的类型

doco Documentation for this format

快照视图

NameFlagsCard.TypeDescription & Constraintsdoco
.. Patient 0..*PatientInformation about an individual or animal receiving health care services
... 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
... ext-person-nationality 0..1Coding国籍
URL: http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/ext-person-nationality
Binding: 世界各国和地区名称代码 (required)
... ext-person-ethnicGroup 0..1Coding民族
URL: http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/ext-person-ethnicGroup
Binding: 民族类别代码表 (required)
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ1..*Identifier患者业务标识符。例如:身份证、健康卡、社保卡等
... active ?!Σ1..1boolean患者状态,默认取值为true。
... name Σ1..*HumanName患者名称
... telecom Σ0..*ContactPoint患者的联系方式
... gender Σ1..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
.... ext-person-gender 1..1Coding国标性别代码
URL: http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/ext-person-gender
Binding: 生理性别代码表 (required)
.... value 0..1stringPrimitive value for code
... birthDate Σ1..1date患者的出生日期
... deceased[x] ?!Σ0..1Indicates if the individual is deceased or not
.... deceasedBooleanboolean
.... deceasedDateTimedateTime
... address 0..*CNAddress患者的地址
... maritalStatus 0..1CodeableConcept婚姻状态
Binding: 婚姻状况代码表 (required)
... multipleBirth[x] 0..1Whether patient is part of a multiple birth
.... multipleBirthBooleanboolean
.... multipleBirthIntegerinteger
... photo 0..*AttachmentImage of the patient
... contact I0..*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
.... relationship 0..*CodeableConcept患者与联系人之间的关系
Binding: 家庭关系代码表 (required)
.... name 1..1HumanName联系人的姓名
.... telecom 0..*ContactPoint联系人的联系方式
.... address 0..1CNAddress联系人的地址
.... gender 0..1codemale | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

.... organization I0..1Reference(Organization)Organization that is associated with the contact
.... period 0..1PeriodThe period during which this contact person or organization is valid to be contacted relating to this patient
... communication 0..*BackboneElementA language which may be used to communicate with the patient about his or her health
.... 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
.... language 1..1CodeableConceptThe language which can be used to communicate with the patient about his or her health
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages: A human language.

.... preferred 0..1booleanLanguage preference indicator
... generalPractitioner 0..*Reference(Organization | Practitioner | PractitionerRole)Patient's nominated primary care provider
... managingOrganization Σ0..1Reference(Organization)Organization that is the custodian of the patient record
... link ?!Σ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
.... other Σ1..1Reference(Patient | RelatedPerson)指向其它患者资源的引用
.... type Σ1..1code连接的类型
Binding: LinkType (required): The type of link between this patient resource and another patient resource.


doco Documentation for this format

 

本定义的其它表示法: Schematron

Terminology Bindings

PathConformanceValueSet
Patient.languagepreferredCommonLanguages
Max Binding: AllLanguages
Patient.genderrequiredAdministrativeGender
Patient.maritalStatusrequiredGB2261_2_2003
Patient.contact.relationshiprequiredGB4761_2008
Patient.contact.genderrequiredAdministrativeGender
Patient.communication.languagepreferredCommonLanguages
Max Binding: AllLanguages
Patient.link.typerequiredLinkType

Constraints

IdPathDetailsRequirements
dom-2PatientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3PatientIf 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-4PatientIf 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-5PatientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6PatientA resource should have narrative for robust management
: text.`div`.exists()
ele-1Patient.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.extension:NationalityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.extension:NationalityMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.extension:EthnicGroupAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.extension:EthnicGroupMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.activeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.telecomAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.genderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.gender.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.gender.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.gender.extension:GenderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.gender.extension:GenderMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.birthDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.deceased[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.addressAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.maritalStatusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.multipleBirth[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.photoAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.contactAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
pat-1Patient.contactSHALL at least contain a contact's details or a reference to an organization
: name.exists() or telecom.exists() or address.exists() or organization.exists()
ele-1Patient.contact.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.contact.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.contact.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.contact.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.contact.relationshipAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.contact.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.contact.telecomAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.contact.addressAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.contact.genderAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.contact.organizationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.contact.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.communicationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.communication.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.communication.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.communication.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.communication.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.communication.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.communication.preferredAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.generalPractitionerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.managingOrganizationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.linkAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.link.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.link.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.link.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Patient.link.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Patient.link.otherAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Patient.link.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())