mcpField
F
fhir-hl7-validator

fhir-hl7-validator

github.com/1mangesh1数据与数据库878 次安装19 周前更新
代码仓库

关于 fhir-hl7-validator

面向 AI Agent 的医疗数据格式校验技能,可验证 FHIR、HL7 v2 和 CDA 文档。它检查结构、术语、引用及实施指南符合性,并生成含错误和修复建议的报告。

主要功能

  1. 01校验 FHIR R5 资源
  2. 02解析并校验 HL7 v2 消息
  3. 03校验 CDA R2 文档
  4. 04检查引用、基数与数据类型
  5. 05验证术语和值集
  6. 06生成多格式错误报告

适用场景

  1. 01检查 EHR 导出的 FHIR 资源
  2. 02验证实验室 HL7 消息
  3. 03核对 CDA 临床文档与实施指南
  4. 04批量审查医疗数据文件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/1mangesh1/hipaa-guardian --skill fhir-hl7-validator

安装后在 Claude Code 中输入/fhir-hl7-validator确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agent-skills.json
metadata.json
README.md

详细介绍

FHIR 与 HL7 验证器

面向 AI Agent 的医疗保健数据格式验证技能。验证 FHIR R5 资源、HL7 v2 消息和 CDA 临床文档。确保医疗保健数据交换符合 HL7 标准,并识别架构违规、缺少必填字段以及互操作性问题。

功能

  1. FHIR 验证 - 根据官方架构验证 FHIR R5 资源
  2. HL7 消息解析 - 解析并验证 HL7 v2.x 消息(ADT、ORU、OBX、RXO)
  3. CDA 文档验证 - 验证临床文档架构(CDA)R2 文档
  4. 架构合规性 - 根据 FHIR 规范和 UK Core 检查资源
  5. 数据类型验证 - 验证 FHIR 数据类型(Identifier、CodeableConcept、Reference 等)
  6. 引用解析 - 验证内部和外部引用
  7. 基数检查 - 确保符合必填与可选字段要求
  8. 术语验证 - 检查值集和编码系统(SNOMED CT、LOINC、ICD-10)
  9. 互操作性分析 - 识别对实施指南的遵循情况
  10. 错误报告 - 生成详细的验证错误报告并提供修正建议

用法

/fhir-hl7-validator [command] [target] [options]
命令
  • validate-fhir <file> - 验证 FHIR JSON/XML 资源
  • validate-hl7 <file> - 验证 HL7 v2 消息
  • validate-cda <file> - 验证 CDA 临床文档
  • parse-fhir <file> - 解析并显示 FHIR 资源结构
  • parse-hl7 <file> - 解析并显示 HL7 段
  • check-references <file> - 验证所有资源引用
  • check-terminology <file> - 验证编码系统和值集
  • bulk-validate <directory> - 验证多个文件
  • report <output-format> - 生成验证报告(JSON、Markdown、HTML)
选项
  • --version <ver> - FHIR 版本(默认:R5;也支持 4.0、3.0)
  • --variant <name> - 实施指南(例如 uk-core、us-core)
  • --strict - 强制执行 must-support 约束
  • --terminology-check - 验证编码系统(启用在线查询)
  • --output <file> - 将报告写入文件
  • --format <type> - 输出格式:json、markdown、html、xml

工作流

调用时请遵循以下工作流:

第 1 步:识别医疗保健数据类型

询问用户指定:

  • 数据格式(FHIR、HL7 v2、CDA)
  • FHIR 版本或 HL7 方言
  • 实施指南/配置文件(如适用)
  • 数据来源(EHR、实验室系统、影像系统)
第 2 步:验证结构

检查:

  • JSON/XML 格式是否正确
  • 是否包含必需元素
  • 是否符合数据类型要求
  • 是否符合基数要求(最小/最大出现次数)
  • 模式和正则表达式验证
第 3 步:语义验证

验证:

  • 是否属于相应编码系统(SNOMED CT、LOINC、ICD-10 等)
  • 引用是否一致(本地与外部)
  • 标识符是否唯一且格式正确
  • 日期/时间格式是否准确(ISO 8601)
  • 数量单位是否有效
第 4 步:互操作性检查

确保符合:

  • FHIR 实施指南
  • US Core 或 UK Core 配置文件
  • HL7 消息规范
  • 临床数据交换标准
第 5 步:生成报告

提供:

  • 带行号的验证错误列表
  • 严重级别(错误、警告、信息)
  • 修正建议
  • 相关标准的参考信息

FHIR 资源示例

Patient 资源
{
  "resourceType": "Patient",
  "id": "example",
  "identifier": [
    {
      "system": "http://example.org/medical-record",
      "value": "12345"
    }
  ],
  "name": [
    {
      "use": "official",
      "given": ["Jane"],
      "family": "Doe"
    }
  ],
  "birthDate": "1990-01-15",
  "address": [
    {
      "use": "home",
      "line": ["123 Main St"],
      "city": "Springfield",
      "state": "IL",
      "postalCode": "62701"
    }
  ]
}
Observation 资源
{
  "resourceType": "Observation",
  "id": "example",
  "status": "final",
  "code": {
    "coding": [
      {
        "system": "http://loinc.org",
        "code": "39156-5",
        "display": "BMI"
      }
    ]
  },
  "subject": {
    "reference": "Patient/example"
  },
  "valueQuantity": {
    "value": 24.5,
    "unit": "kg/m2",
    "system": "http://unitsofmeasure.org",
    "code": "kg/m2"
  }
}

HL7 v2 段示例

ADT 消息(患者入院)
MSH|^~\&|SendingApp|SendingFac|ReceivingApp|ReceivingFac|202502071350||ADT^A01|123456|P|2.5
PID^^^12345||JaneDoe||19900115|F|||123 Main St^^Springfield^IL^62701|||||||S
PV1||I|ICU^FL2^BED01|||||||||||||||||||||||||||

常见验证错误

错误原因解决方案
缺少必需元素未提供标记为 cardinality: 1..1 的元素添加必需元素
数据类型无效值与指定类型不匹配转换为正确的类型(例如,将日期转换为 YYYY-MM-DD)
未知编码系统代码不在指定值集中使用官方编码系统中的代码(SNOMED CT、LOINC)
引用失效引用目标不存在检查引用路径和 ID
标识符格式无效ID 格式与模式不匹配遵循特定系统的标识符格式

标准与实施指南

参考资料

  • 快速医疗互操作性资源(FHIR) - R5 规范
  • HL7 Version 2.5.1 - 医疗数据交换标准
  • 临床文档架构 R2 - CDA 规范
  • NIST SP 800-66 Rev. 2 - HIPAA 安全实施指南
  • HL7 FHIR 实施指南

评论

支持 Markdown