如何在FHIR中合规存储患者健康素养分级数据?
符合FHIR规范的健康素养数据存储方案
针对你的需求,以下是两种最贴合FHIR规范的存储方案,结合你的QuestionnaireResponse转换和StructureMap映射场景,可根据实际需求选择:
方案1:使用Observation资源(推荐)
健康素养属于临床评估类数据,Observation是FHIR中专门用于存储观察、评估结果的标准资源,能完整保留评估的上下文信息,适合需要记录多次评估历史的场景:
- 核心字段配置:
code:指定健康素养评估对应的标准术语(例如选择合适的LOINC代码,或自定义术语编码)valueCodeableConcept:绑定自定义的ValueSet,包含literate(精通)、informed(了解)、curious(好奇)三个选项,每个选项需定义专属的编码系统(如http://your-org.com/fhir/CodeSystem/health-literacy)subject:关联对应的Patient资源derivedFrom:指向原始的QuestionnaireResponse资源,实现评估结果的溯源effectiveDateTime:记录评估完成的时间,便于追踪健康素养的变化
- StructureMap映射逻辑:从
QuestionnaireResponse的答案节点提取健康素养分类值,映射到Observation.valueCodeableConcept,同时将问卷中的患者信息、评估时间等字段映射到Observation的对应属性。
方案2:扩展Patient资源
如果仅需记录患者当前的健康素养水平,无需保留多次评估历史,可通过FHIR扩展直接附加到Patient资源上:
- 扩展定义:创建自定义扩展,URL示例为
http://your-org.com/fhir/StructureDefinition/patient-health-literacy,扩展类型为CodeableConcept,绑定包含三个分类的ValueSet - 使用方式:将该扩展添加到
Patient资源的extension数组中,存储当前的健康素养分类值 - StructureMap映射逻辑:从
QuestionnaireResponse提取答案值,直接映射到Patient的自定义扩展字段。
选型建议
- 若需要追踪健康素养的变化历史、记录评估者/评估场景等元数据,优先选择
Observation方案 - 若仅需存储患者当前的健康素养状态,追求数据结构简洁,可选择
Patient扩展方案
内容的提问来源于stack exchange,提问作者Alexander Heidl
相关产品推荐
相关产品推荐

