Chuyển đến nội dung chính

レッスン 25: FHIR の将来 — R6、AI/ML、ゲノミクス、および新しいトレンド

FHIR R6 ロードマップ、FHIR および AI/ML (CDS フック、推論)、ゲノミクス (MolecularSequence、DiagnosticReport Genetics)、FHIR バルク データ、SMART ヘルス カード、IoT/ウェアラブル用 FHIR、PHR、デジタル ヘルスの将来。

🏗️ 建築 — レッスン 25 レッスン 25: FHIR の将来 — R6、AI/ML、 ゲノミクスと新しいトレンド

HL7 FHIR - 基本から高度な医療データ標準

パート 7: 生産、規模、将来

xdev.asia

1. FHIR R6 ロードマップ

FHIR R5 (2023) が現在の標準バージョンです。 R6 は多くの改良を加えて開発されています。

バージョン年ステータス
DSTU12014年レガシー
DSTU22015年レガシー
STU32017年レガシー
R42019年標準(最も広く使用されている)
R4B2022年規範的
R52023年規範(現在)
R6~2026年開発中

R6が利用可能になる予定です

  • サブスクリプションの改善 — トピックベースのサブスクリプションはより完全です
  • 強化された検索 — 複合検索パラメータ、GraphQL の改善
  • AI/MLの統合 — モデル推論用の標準化されたリソース
  • デバイス/IoT — 医療機器とウェアラブルのリソースを改善する
  • バージョン間の互換性 — ツールはバージョンの移行に適しています
  • パフォーマンス — バイナリリソースのストリーミング、ページネーションの改善

2. FHIR と AI/ML

CDS フック + AI — 臨床意思決定のサポート

┌──────────┐    CDS Hook     ┌──────────────┐     ┌──────────┐
│   EHR    │───────────────▶│   CDS Server  │────▶│  AI/ML   │
│ (trigger │    prefetch     │  (mediator)   │     │  Model   │
│  event)  │◀───────────────│               │◀────│(TF/PyTorch)│
└──────────┘    CDS Card     └──────────────┘     └──────────┘
// CDS Hook request: patient-view → AI risk prediction
{
  "hook": "patient-view",
  "hookInstance": "abc-123",
  "context": {
    "userId": "Practitioner/practitioner-001",
    "patientId": "patient-001"
  },
  "prefetch": {
    "patient": {
      "resourceType": "Patient",
      "id": "patient-001",
      "gender": "male",
      "birthDate": "1960-05-15"
    },
    "conditions": {
      "resourceType": "Bundle",
      "entry": [
        {
          "resource": {
            "resourceType": "Condition",
            "code": {"coding": [{"system": "http://snomed.info/sct", "code": "44054006", "display": "Diabetes mellitus type 2"}]}
          }
        }
      ]
    },
    "observations": {
      "resourceType": "Bundle",
      "entry": [
        {
          "resource": {
            "resourceType": "Observation",
            "code": {"coding": [{"system": "http://loinc.org", "code": "4548-4", "display": "HbA1c"}]},
            "valueQuantity": {"value": 8.5, "unit": "%"}
          }
        }
      ]
    }
  }
}
// CDS Response: AI prediction card
{
  "cards": [
    {
      "summary": "Nguy cơ biến chứng tim mạch cao",
      "detail": "AI model dự đoán nguy cơ biến chứng tim mạch trong 5 năm: **42%** (dựa trên HbA1c 8.5%, ĐTĐ type 2, nam, 64 tuổi). Khuyến nghị tăng cường kiểm soát HbA1c < 7%.",
      "indicator": "warning",
      "source": {
        "label": "Cardiovascular Risk AI Model v2.1",
        "url": "https://ai.hospital.vn/models/cv-risk"
      },
      "suggestions": [
        {
          "label": "Tạo y lệnh xét nghiệm Lipid Panel",
          "actions": [
            {
              "type": "create",
              "resource": {
                "resourceType": "ServiceRequest",
                "status": "draft",
                "intent": "proposal",
                "code": {"coding": [{"system": "http://loinc.org", "code": "24331-1", "display": "Lipid Panel"}]},
                "subject": {"reference": "Patient/patient-001"}
              }
            }
          ]
        }
      ]
    }
  ]
}

FHIR → ML パイプライン

# Extract FHIR data → Train ML model
import requests
import pandas as pd
from sklearn.ensemble import GradientBoostingClassifier

FHIR_BASE = "http://localhost:8080/fhir"

def extract_training_data():
    """Trích xuất dữ liệu từ FHIR Server cho ML training"""
    
    # Bulk export
    patients_bundle = requests.get(
        f"{FHIR_BASE}/Patient?_count=1000"
    ).json()
    
    records = []
    for entry in patients_bundle.get("entry", []):
        patient = entry["resource"]
        pid = patient["id"]
        
        # Lấy Observations
        obs_bundle = requests.get(
            f"{FHIR_BASE}/Observation?subject=Patient/{pid}&code=4548-4"
        ).json()
        
        # Lấy Conditions
        cond_bundle = requests.get(
            f"{FHIR_BASE}/Condition?subject=Patient/{pid}"
        ).json()
        
        record = {
            "patient_id": pid,
            "age": calculate_age(patient.get("birthDate")),
            "gender": 1 if patient.get("gender") == "male" else 0,
            "hba1c": extract_latest_value(obs_bundle),
            "diabetes": has_condition(cond_bundle, "44054006"),
            "hypertension": has_condition(cond_bundle, "38341003"),
        }
        records.append(record)
    
    return pd.DataFrame(records)

# Train model
df = extract_training_data()
X = df[["age", "gender", "hba1c", "diabetes", "hypertension"]]
y = df["cv_event_5yr"]  # label từ follow-up data

model = GradientBoostingClassifier()
model.fit(X, y)

3. FHIR ゲノミクス

FHIR は、専門リソースを通じてゲノミクス データをサポートします。

リソース目的
分子配列DNA/RNA/タンパク質配列
観察(遺伝学)遺伝子検査結果
診断レポート (遺伝学)遺伝子検査報告書
リスク評価遺伝的リスクを評価する
{
  "resourceType": "Observation",
  "meta": {
    "profile": ["http://hl7.org/fhir/StructureDefinition/observation-genetics"]
  },
  "status": "final",
  "category": [
    {
      "coding": [
        {"system": "http://terminology.hl7.org/CodeSystem/observation-category", "code": "laboratory"}
      ]
    }
  ],
  "code": {
    "coding": [
      {
        "system": "http://loinc.org",
        "code": "69548-6",
        "display": "Genetic variant assessment"
      }
    ]
  },
  "subject": {"reference": "Patient/patient-001"},
  "valueCodeableConcept": {
    "coding": [
      {
        "system": "http://loinc.org",
        "code": "LA6703-8",
        "display": "Heterozygous"
      }
    ]
  },
  "component": [
    {
      "code": {
        "coding": [{"system": "http://loinc.org", "code": "48018-6", "display": "Gene studied"}]
      },
      "valueCodeableConcept": {
        "coding": [
          {"system": "http://www.genenames.org", "code": "HGNC:1100", "display": "BRCA1"}
        ]
      }
    },
    {
      "code": {
        "coding": [{"system": "http://loinc.org", "code": "81252-9", "display": "Discrete genetic variant"}]
      },
      "valueCodeableConcept": {
        "coding": [
          {"system": "http://www.ncbi.nlm.nih.gov/clinvar", "code": "37153", "display": "NM_007294.4(BRCA1):c.5266dupC"}
        ]
      }
    }
  ]
}

4. IoT およびウェアラブル向け FHIR

┌──────────────┐    BLE/WiFi    ┌──────────────┐    FHIR API    ┌──────────────┐
│  Wearable    │──────────────▶│  Mobile App  │──────────────▶│ FHIR Server  │
│  (Apple Watch│               │  (HealthKit) │               │              │
│   Mi Band)   │               │              │               │              │
└──────────────┘               └──────────────┘               └──────────────┘
{
  "resourceType": "Observation",
  "status": "final",
  "category": [
    {
      "coding": [
        {"system": "http://terminology.hl7.org/CodeSystem/observation-category", "code": "vital-signs"}
      ]
    }
  ],
  "code": {
    "coding": [
      {"system": "http://loinc.org", "code": "8867-4", "display": "Heart rate"}
    ]
  },
  "subject": {"reference": "Patient/patient-001"},
  "effectiveDateTime": "2025-01-15T10:30:00+07:00",
  "valueQuantity": {
    "value": 72,
    "unit": "beats/minute",
    "system": "http://unitsofmeasure.org",
    "code": "/min"
  },
  "device": {
    "reference": "Device/apple-watch-001",
    "display": "Apple Watch Series 9"
  },
  "method": {
    "coding": [
      {"system": "http://snomed.info/sct", "code": "258104002", "display": "Measured"}
    ]
  }
}

5. SMART ヘルスカード

SMART ヘルス カード (SHC) — 医療(ワクチン、検査)の検証可能な資格情報。

  • JWT 内での FHIR バンドルの使用 (JWS コンパクト)
  • QR コードにはタグが含まれています - オフラインで検証可能
  • COVID-19 ワクチン記録に広く使用されています (SMART Health Cards Framework)
SHC QR Code → JWT → FHIR Bundle:
{
  "resourceType": "Bundle",
  "type": "collection",
  "entry": [
    {
      "resource": {
        "resourceType": "Patient",
        "name": [{"family": "Nguyen", "given": ["Van A"]}],
        "birthDate": "1990-05-15"
      }
    },
    {
      "resource": {
        "resourceType": "Immunization",
        "status": "completed",
        "vaccineCode": {
          "coding": [{"system": "http://hl7.org/fhir/sid/cvx", "code": "208", "display": "COVID-19 mRNA"}]
        },
        "occurrenceDateTime": "2024-03-15",
        "lotNumber": "EN6207",
        "performer": [{"actor": {"display": "TTYT Quận 1"}}]
      }
    }
  ]
}

6. 個人健康記録 (PHR)

PHR により患者は 自己管理 健康記録。 FHIR 患者アクセス API が基盤です。

PHR機能FHIR API
医療記録を見る患者/$すべて
試験結果観察?患者=X
処方箋MedicationRequest?patient=X
予約スケジュール予約?患者=X
新しい BS と共有するIPSドキュメント
ウェアラブルからポスト観察(バイタルサイン)

7. 新しいトレンド

トレンド説明FHIRのサポート
AI 臨床副操縦士LLM は医師の意思決定をサポートしますCDS フック + SMART アプリ
精密医療遺伝学に基づいた個別治療ゲノミクスリソース
遠隔医療遠隔診療出会い(バーチャル)、コミュニケーション
フェデレーテッド ラーニングローカルの非集中型データで AI をトレーニングするバルクデータ + ローカル推論
ブロックチェーン + FHIR不変の監査証跡AuditEvent + オンチェーンハッシュ
FHIR 略記法 (FSH)IG作成を民主化するSUSHI、GoFSHツール
FHIR 用の GraphQLREST に代わる柔軟なクエリ$graphql オペレーション

8. シリーズの終了

25 のレッスンを通じて、FHIR の旅全体を体験しました。

  1. パート 1 — プラットフォーム: HL7 の歴史、FHIR R5 の概要、開発環境
  2. パート 2 — コアリソース: 患者、遭遇、状態、観察、投薬...
  3. パート 3 — RESTful API: CRUD、検索、バンドル、トランザクション
  4. パート 4 — データ型、用語、プロファイル、拡張子、IG
  5. パート 5 — ドキュメント、メッセージング、サブスクリプション、SMART on FHIR、セキュリティ
  6. パート6 — ハンズオン: HAPI FHIR サーバー、クライアント、VN コア IG、EMR/HIS 統合
  7. パート 7 — 制作: パフォーマンス、VN コンテキスト、ケーススタディ、将来

FHIR は、世界が医療データを交換する方法を変えています。この知識ベースを使用すると、ベトナムの医療用の相互運用可能なシステムを構築する準備が整います。

9. まとめ

  • FHIR R6 — サブスクリプション、AI 統合、IoT リソースの改善

  • AI/ML + FHIR — 臨床意思決定サポートのための CDS フック、FHIR データからの ML パイプライン

  • ゲノミクス — MolecularSequence、精密医療のための遺伝子観察

  • IoT/ウェアラブル — Apple Watch、Mi Band → 観測 → FHIR サーバー

  • SMART ヘルスカード — 検証可能な健康証明書(ワクチン、検査)

  • PHR — 医療記録を自己管理するための患者アクセス API