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

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

Resource Profile: 家族史疾病结构定义

Defining URL:http://hl7.org.cn/fhir/sd/ehr/StructureDefinition/profile-family-member-diseases
Version:0.8.0.2022705
Name:FamilyMemberDiseases
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-family-member-diseases

定义内容的视图

家族史疾病结构定义是在FHIR标准的FamilyMemberHistory基础上进行更加详细的规则约束,下表展示了家族史疾病结构定义的结构表示。

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

这种结构源自 FamilyMemberHistory

Summary

Mandatory: 1 element (4 nested mandatory elements)
Must-Support: 2 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element FamilyMemberHistory.age[x] is sliced based on the value of type:$this

这种结构源自 FamilyMemberHistory

NameFlagsCard.TypeDescription & Constraintsdoco
.. FamilyMemberHistory 0..*FamilyMemberHistoryInformation about patient's relatives, relevant for patient
... status 1..1codepartial | completed | entered-in-error | health-unknown
Required Pattern: completed
... patient 1..1Reference(患者信息结构定义)指向居民本身。不是其他家族成员。
... relationship 1..1CodeableConcept家族成员与居民本人的关系。
Binding: 家庭关系代码表 (required)
... age[x] S0..1(Slice Definition)记录家族成员的年龄
Slice: Unordered, Open by type:$this
... ageAge 0..1Age年龄类型
.... value 1..1decimalNumerical value (with implicit precision)
.... unit 1..1stringUnit representation
Required Pattern:
.... system 1..1uriSystem that defines coded unit form
Required Pattern: http://unitsofmeasure.org
.... code 1..1codeCoded form of the unit
Required Pattern: a
... condition 1..*BackboneElement记录家族成员的疾病
.... code 1..1CodeableConceptCondition suffered by relation
Binding: 既往常见疾病种类代码表 (required)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. FamilyMemberHistory I0..*FamilyMemberHistoryInformation about patient's relatives, relevant for patient
... 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
... identifier Σ0..*IdentifierExternal Id(s) for this record
... instantiatesCanonical Σ0..*canonical(PlanDefinition | Questionnaire | ActivityDefinition | Measure | OperationDefinition)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... status ?!Σ1..1codepartial | completed | entered-in-error | health-unknown
Binding: FamilyHistoryStatus (required): A code that identifies the status of the family history record.


Required Pattern: completed
... dataAbsentReason Σ0..1CodeableConceptsubject-unknown | withheld | unable-to-obtain | deferred
Binding: FamilyHistoryAbsentReason (example): Codes describing the reason why a family member's history is not available.

... patient Σ1..1Reference(患者信息结构定义)指向居民本身。不是其他家族成员。
... date Σ0..1dateTimeWhen history was recorded or last updated
... name Σ0..1stringThe family member described
... relationship Σ1..1CodeableConcept家族成员与居民本人的关系。
Binding: 家庭关系代码表 (required)
... sex SΣ0..1CodeableConcept家族成员的性别
Binding: 生理性别代码表 (required)
... born[x] I0..1(approximate) date of birth
.... bornPeriodPeriod
.... bornDatedate
.... bornStringstring
... age[x] SΣI0..1(Slice Definition)记录家族成员的年龄
Slice: Unordered, Closed by type:$this
.... age[x]:ageAge ΣI0..1Age年龄类型
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... value Σ1..1decimalNumerical value (with implicit precision)
..... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... unit Σ1..1stringUnit representation
Required Pattern:
..... system ΣI1..1uriSystem that defines coded unit form
Required Pattern: http://unitsofmeasure.org
..... code Σ1..1codeCoded form of the unit
Required Pattern: a
... estimatedAge ΣI0..1booleanAge is estimated?
... deceased[x] Σ0..1Dead? How old/when?
.... deceasedBooleanboolean
.... deceasedAgeAge
.... deceasedRangeRange
.... deceasedDatedate
.... deceasedStringstring
... reasonCode Σ0..*CodeableConceptWhy was family member history performed?
Binding: SNOMEDCTClinicalFindings (example): Codes indicating why the family member history was done.


... reasonReference Σ0..*Reference(Condition | Observation | AllergyIntolerance | QuestionnaireResponse | DiagnosticReport | DocumentReference)Why was family member history performed?
... note 0..*AnnotationGeneral note about related person
... condition 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
.... code 1..1CodeableConceptCondition suffered by relation
Binding: 既往常见疾病种类代码表 (required)
.... outcome 0..1CodeableConceptdeceased | permanent disability | etc.
Binding: ConditionOutcomeCodes (example): The result of the condition for the patient; e.g. death, permanent disability, temporary disability, etc.

.... contributedToDeath 0..1booleanWhether the condition contributed to the cause of death
.... onset[x] 0..1When condition first manifested
..... onsetAgeAge
..... onsetRangeRange
..... onsetPeriodPeriod
..... onsetStringstring
.... note 0..*AnnotationExtra information about condition

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. FamilyMemberHistory I0..*FamilyMemberHistoryInformation about patient's relatives, relevant for patient
... sex Σ0..1CodeableConcept家族成员的性别
Binding: 生理性别代码表 (required)
... age[x] ΣI0..1(Slice Definition)记录家族成员的年龄
Slice: Unordered, Closed by type:$this

doco Documentation for this format

这种结构源自 FamilyMemberHistory

Summary

Mandatory: 1 element (4 nested mandatory elements)
Must-Support: 2 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element FamilyMemberHistory.age[x] is sliced based on the value of type:$this

差异视图

这种结构源自 FamilyMemberHistory

NameFlagsCard.TypeDescription & Constraintsdoco
.. FamilyMemberHistory 0..*FamilyMemberHistoryInformation about patient's relatives, relevant for patient
... status 1..1codepartial | completed | entered-in-error | health-unknown
Required Pattern: completed
... patient 1..1Reference(患者信息结构定义)指向居民本身。不是其他家族成员。
... relationship 1..1CodeableConcept家族成员与居民本人的关系。
Binding: 家庭关系代码表 (required)
... age[x] S0..1(Slice Definition)记录家族成员的年龄
Slice: Unordered, Open by type:$this
... ageAge 0..1Age年龄类型
.... value 1..1decimalNumerical value (with implicit precision)
.... unit 1..1stringUnit representation
Required Pattern:
.... system 1..1uriSystem that defines coded unit form
Required Pattern: http://unitsofmeasure.org
.... code 1..1codeCoded form of the unit
Required Pattern: a
... condition 1..*BackboneElement记录家族成员的疾病
.... code 1..1CodeableConceptCondition suffered by relation
Binding: 既往常见疾病种类代码表 (required)

doco Documentation for this format

快照视图

NameFlagsCard.TypeDescription & Constraintsdoco
.. FamilyMemberHistory I0..*FamilyMemberHistoryInformation about patient's relatives, relevant for patient
... 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
... identifier Σ0..*IdentifierExternal Id(s) for this record
... instantiatesCanonical Σ0..*canonical(PlanDefinition | Questionnaire | ActivityDefinition | Measure | OperationDefinition)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... status ?!Σ1..1codepartial | completed | entered-in-error | health-unknown
Binding: FamilyHistoryStatus (required): A code that identifies the status of the family history record.


Required Pattern: completed
... dataAbsentReason Σ0..1CodeableConceptsubject-unknown | withheld | unable-to-obtain | deferred
Binding: FamilyHistoryAbsentReason (example): Codes describing the reason why a family member's history is not available.

... patient Σ1..1Reference(患者信息结构定义)指向居民本身。不是其他家族成员。
... date Σ0..1dateTimeWhen history was recorded or last updated
... name Σ0..1stringThe family member described
... relationship Σ1..1CodeableConcept家族成员与居民本人的关系。
Binding: 家庭关系代码表 (required)
... sex SΣ0..1CodeableConcept家族成员的性别
Binding: 生理性别代码表 (required)
... born[x] I0..1(approximate) date of birth
.... bornPeriodPeriod
.... bornDatedate
.... bornStringstring
... age[x] SΣI0..1(Slice Definition)记录家族成员的年龄
Slice: Unordered, Closed by type:$this
.... age[x]:ageAge ΣI0..1Age年龄类型
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
..... value Σ1..1decimalNumerical value (with implicit precision)
..... comparator ?!Σ0..1code< | <= | >= | > - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

..... unit Σ1..1stringUnit representation
Required Pattern:
..... system ΣI1..1uriSystem that defines coded unit form
Required Pattern: http://unitsofmeasure.org
..... code Σ1..1codeCoded form of the unit
Required Pattern: a
... estimatedAge ΣI0..1booleanAge is estimated?
... deceased[x] Σ0..1Dead? How old/when?
.... deceasedBooleanboolean
.... deceasedAgeAge
.... deceasedRangeRange
.... deceasedDatedate
.... deceasedStringstring
... reasonCode Σ0..*CodeableConceptWhy was family member history performed?
Binding: SNOMEDCTClinicalFindings (example): Codes indicating why the family member history was done.


... reasonReference Σ0..*Reference(Condition | Observation | AllergyIntolerance | QuestionnaireResponse | DiagnosticReport | DocumentReference)Why was family member history performed?
... note 0..*AnnotationGeneral note about related person
... condition 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
.... code 1..1CodeableConceptCondition suffered by relation
Binding: 既往常见疾病种类代码表 (required)
.... outcome 0..1CodeableConceptdeceased | permanent disability | etc.
Binding: ConditionOutcomeCodes (example): The result of the condition for the patient; e.g. death, permanent disability, temporary disability, etc.

.... contributedToDeath 0..1booleanWhether the condition contributed to the cause of death
.... onset[x] 0..1When condition first manifested
..... onsetAgeAge
..... onsetRangeRange
..... onsetPeriodPeriod
..... onsetStringstring
.... note 0..*AnnotationExtra information about condition

doco Documentation for this format

 

本定义的其它表示法: Schematron

Terminology Bindings

PathConformanceValueSet / Code
FamilyMemberHistory.languagepreferredCommonLanguages
Max Binding: AllLanguages
FamilyMemberHistory.statusrequiredPattern: completed
FamilyMemberHistory.dataAbsentReasonexampleFamilyHistoryAbsentReason
FamilyMemberHistory.relationshiprequiredGB4761_2008
FamilyMemberHistory.sexrequiredGB2261_1_2003
FamilyMemberHistory.age[x]:ageAge.comparatorrequiredQuantityComparator
FamilyMemberHistory.reasonCodeexampleSNOMEDCTClinicalFindings
FamilyMemberHistory.condition.coderequiredCV02_10_005
FamilyMemberHistory.condition.outcomeexampleConditionOutcomeCodes

Constraints

IdPathDetailsRequirements
dom-2FamilyMemberHistoryIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3FamilyMemberHistoryIf 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-4FamilyMemberHistoryIf 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-5FamilyMemberHistoryIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6FamilyMemberHistoryA resource should have narrative for robust management
: text.`div`.exists()
fhs-1FamilyMemberHistoryCan have age[x] or born[x], but not both
: age.empty() or born.empty()
fhs-2FamilyMemberHistoryCan only have estimatedAge if age[x] is present
: age.exists() or estimatedAge.empty()
ele-1FamilyMemberHistory.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1FamilyMemberHistory.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1FamilyMemberHistory.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1FamilyMemberHistory.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1FamilyMemberHistory.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.instantiatesCanonicalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.instantiatesUriAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.dataAbsentReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.patientAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.dateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.nameAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.relationshipAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.sexAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.born[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.age[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.age[x]:ageAgeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.age[x]:ageAge.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1FamilyMemberHistory.age[x]:ageAge.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1FamilyMemberHistory.age[x]:ageAge.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.age[x]:ageAge.comparatorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.age[x]:ageAge.unitAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.age[x]:ageAge.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.age[x]:ageAge.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.estimatedAgeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.deceased[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.reasonCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.reasonReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.conditionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.condition.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1FamilyMemberHistory.condition.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1FamilyMemberHistory.condition.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1FamilyMemberHistory.condition.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1FamilyMemberHistory.condition.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.condition.outcomeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.condition.contributedToDeathAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.condition.onset[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1FamilyMemberHistory.condition.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())