1. 3 つのパラダイムが FHIR でデータを交換する
| パラダイム | 説明 | ユースケース |
|---|---|---|
| RESTful API | 各リソースに対する CRUD 操作 | リアルタイム対話型アプリケーション |
| 書類 | Resources コレクションは完全な「ドキュメント」を形成します。 | 退院概要、転送書類、医療記録 |
| メッセージング | イベント駆動型、システム間でメッセージを送信 | 入院通知、検査結果、指示書 |
2. FHIR 文書
FHIR ドキュメントは バンドルタイプ「ドキュメント」、最初のエントリは次のようにする必要があります 構成、その後に参照されているすべてのリソースが続きます。
構成リソース
{
"resourceType": "Composition",
"id": "comp-discharge-001",
"status": "final",
"type": {
"coding": [
{
"system": "http://loinc.org",
"code": "18842-5",
"display": "Discharge summary"
}
],
"text": "Tóm tắt xuất viện"
},
"subject": {
"reference": "Patient/patient-001",
"display": "Nguyễn Văn A"
},
"encounter": {
"reference": "Encounter/encounter-inpatient-001"
},
"date": "2025-01-20T16:00:00+07:00",
"author": [
{
"reference": "Practitioner/practitioner-001",
"display": "BS. Trần Thị B"
}
],
"title": "Tóm tắt xuất viện - Nguyễn Văn A",
"custodian": {
"reference": "Organization/org-bvdk-001"
},
"section": [
{
"title": "Chẩn đoán",
"code": {
"coding": [
{
"system": "http://loinc.org",
"code": "11535-2",
"display": "Hospital discharge Dx Narrative"
}
]
},
"text": {
"status": "generated",
"div": "Tăng huyết áp độ 2, Đái tháo đường type 2
"
},
"entry": [
{"reference": "Condition/cond-hypertension-001"},
{"reference": "Condition/cond-diabetes-001"}
]
},
{
"title": "Thuốc kê đơn khi xuất viện",
"code": {
"coding": [
{
"system": "http://loinc.org",
"code": "10183-2",
"display": "Hospital discharge medications"
}
]
},
"entry": [
{"reference": "MedicationRequest/mr-amlodipine-001"},
{"reference": "MedicationRequest/mr-metformin-001"}
]
},
{
"title": "Kết quả xét nghiệm",
"code": {
"coding": [
{
"system": "http://loinc.org",
"code": "30954-2",
"display": "Relevant diagnostic tests/lab data"
}
]
},
"entry": [
{"reference": "DiagnosticReport/dr-cbc-001"},
{"reference": "Observation/obs-hba1c-001"}
]
}
]
}
文書の束
{
"resourceType": "Bundle",
"type": "document",
"identifier": {
"system": "http://hospital.vn/documents",
"value": "DOC-20250120-001"
},
"timestamp": "2025-01-20T16:00:00+07:00",
"entry": [
{
"fullUrl": "urn:uuid:comp-001",
"resource": {
"resourceType": "Composition"
}
},
{
"fullUrl": "urn:uuid:patient-001",
"resource": {
"resourceType": "Patient"
}
},
{
"fullUrl": "urn:uuid:cond-001",
"resource": {
"resourceType": "Condition"
}
}
]
}
文書規則
- Bundle.type = "ドキュメント"
- 最初のエントリはCompositionである必要があります
- 構成から参照されるすべてのリソースはバンドル内に存在する必要があります
- 文書は署名後は変更できません
- デジタル署名可能 (バンドルまたは来歴の署名)
3. FHIR メッセージング
メッセージングの使用法 バンドルタイプ「メッセージ」 と メッセージヘッダー 最初のエントリを作成します。
メッセージヘッダーリソース
{
"resourceType": "MessageHeader",
"id": "msg-admission-001",
"eventCoding": {
"system": "http://terminology.hl7.org/CodeSystem/message-events",
"code": "admin-notify"
},
"source": {
"name": "HIS Bệnh viện ĐK TW",
"endpoint": "https://his.bvdk.vn/fhir/$process-message"
},
"destination": [
{
"name": "Hệ thống BHXH",
"endpoint": "https://api.bhxh.gov.vn/fhir/$process-message"
}
],
"focus": [
{
"reference": "Encounter/encounter-inpatient-001"
},
{
"reference": "Patient/patient-001"
}
],
"reason": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/message-reasons-encounter",
"code": "admit"
}
],
"text": "Thông báo nhập viện"
}
}
メッセージバンドル
{
"resourceType": "Bundle",
"type": "message",
"timestamp": "2025-01-15T14:30:00+07:00",
"entry": [
{
"fullUrl": "urn:uuid:msg-001",
"resource": {
"resourceType": "MessageHeader"
}
},
{
"fullUrl": "urn:uuid:encounter-001",
"resource": {
"resourceType": "Encounter"
}
},
{
"fullUrl": "urn:uuid:patient-001",
"resource": {
"resourceType": "Patient"
}
}
]
}
メッセージを送信する
POST /fhir/$process-message HTTP/1.1
Content-Type: application/fhir+json
{
"resourceType": "Bundle",
"type": "message",
...
}
4. 3 つのパラダイムを比較する
| 基準 | 休息 | 書類 | メッセージング |
|---|---|---|---|
| モデル | リクエスト/レスポンス CRUD | 不変パッケージ | イベント駆動型 |
| カップリング | 緩い | なし (自己完結型) | 緩い |
| 原子性 | トランザクションバンドル | 文書全体 | メッセージ全体 |
| ルーティング | URLベース | 該当なし | エンドポイントベース |
| タイミング | 同期 | 該当なし | 非同期または同期 |
| HL7 v2と互換性があります | 別のモデル | CDAに似ている | HL7 v2 メッセージに類似 |
5. まとめ
書類 — 構成 + バンドル「ドキュメント」、自己完結型、不変、署名可能
メッセージング — MessageHeader + バンドル「メッセージ」、イベント駆動型、$process-message
休息 は依然として最も人気のあるパラダイムですが、ドキュメントとメッセージングは多くの従来の医療ユースケースに不可欠です