mcpField
F
fhir-hl7-validator

fhir-hl7-validator

github.com/1mangesh1データ・データベース878 回インストール19 週間前に更新
リポジトリ

fhir-hl7-validator について

AIエージェント向けの医療データ検証スキルで、FHIR、HL7 v2、CDA文書を検証します。構造、用語、参照、実装ガイドへの準拠を確認し、エラーと修正案を含むレポートを作成します。

主な機能

  1. 01FHIR R5リソースの検証
  2. 02HL7 v2メッセージの解析と検証
  3. 03CDA R2文書の検証
  4. 04参照、カーディナリティ、データ型の確認
  5. 05用語と値セットの検証
  6. 06複数形式のレポート作成

活用シーン

  1. 01EHRから出力した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 Validator

AI エージェント向けの医療データ形式検証スキルです。FHIR R5 リソース、HL7 v2 メッセージ、CDA 臨床文書を検証します。HL7 標準への準拠を確認し、スキーマ違反、必須フィールドの不足、相互運用性の問題を特定します。

機能

  1. FHIR 検証 - 公式スキーマに照らして FHIR R5 リソースを検証します
  2. HL7 メッセージ解析 - HL7 v2.x メッセージ(ADT、ORU、OBX、RXO)を解析、検証します
  3. CDA 文書検証 - Clinical Document Architecture(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:レポートを生成する

次の内容を提示します。

  • 行番号付きの検証エラー一覧
  • 重大度(error、warning、info)
  • 修正方法のガイダンス
  • 関連標準への参照

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 の形式がパターンと一致しないシステム固有の識別子形式に従います

標準と実装ガイド

参考資料

  • Fast Healthcare Interoperability Resources (FHIR) - R5 仕様
  • HL7 Version 2.5.1 - 医療データ交換の標準
  • Clinical Document Architecture R2 - CDA 仕様
  • NIST SP 800-66 Rev. 2 - HIPAA セキュリティ実装ガイダンス
  • HL7 FHIR 実装ガイド

コメント