1. FHIR セキュリティの概要
医療データは、最も機密性の高いデータの 1 つです。 FHIR は、多くの組み込みセキュリティ メカニズムを提供します。
| セキュリティ層 | FHIR機構 |
|---|---|
| 認証 | FHIR、OAuth 2.0 でのスマート |
| 認可 | 臨床範囲、同意 |
| 監査 | 監査イベントリソース |
| 来歴 | 来歴リソース |
| ラベリング | セキュリティラベル (meta.security) |
| 同意 | 同意リソース |
| 輸送 | TLS 1.2+ |
2. セキュリティラベル
セキュリティラベルが貼られています メタセキュリティ セキュリティラベルをリソースに割り当てます。
{
"resourceType": "Observation",
"meta": {
"security": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-Confidentiality",
"code": "R",
"display": "Restricted"
},
{
"system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
"code": "HIV",
"display": "HIV/AIDS information sensitivity"
}
]
}
}
機密性コード
| コード | ディスプレイ | 説明 |
|---|---|---|
| U | 無制限 | 制限なし |
| L | 低い | 低レベル |
| M | 中等度 | 平均レベル |
| N | ノーマル | ノーマル |
| R | 制限付き | 制限事項 |
| V | 非常に制限されている | 非常に限定的(精神医学、HIV、虐待) |
3. AuditEvent リソース
注記 あらゆる操作 データ アクセス — 誰がどのデータに対して、いつ、どこで、なぜ行ったのか。
{
"resourceType": "AuditEvent",
"category": [
{
"coding": [
{
"system": "http://dicom.nema.org/resources/ontology/DCM",
"code": "110112",
"display": "Query"
}
]
}
],
"code": {
"coding": [
{
"system": "http://hl7.org/fhir/restful-interaction",
"code": "search-type",
"display": "search"
}
]
},
"action": "E",
"recorded": "2025-01-15T10:30:00+07:00",
"outcome": {
"code": {
"system": "http://terminology.hl7.org/CodeSystem/audit-event-outcome",
"code": "success"
}
},
"agent": [
{
"type": {
"coding": [
{
"system": "http://dicom.nema.org/resources/ontology/DCM",
"code": "110153",
"display": "Source Role ID"
}
]
},
"who": {
"reference": "Practitioner/practitioner-001",
"display": "BS. Trần Thị B"
},
"requestor": true,
"networkString": "192.168.1.100"
}
],
"source": {
"observer": {
"reference": "Device/fhir-server-001"
},
"type": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/security-source-type",
"code": "4",
"display": "Application Server"
}
]
}
]
},
"entity": [
{
"what": {
"reference": "Patient/patient-001"
},
"role": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/object-role",
"code": "1",
"display": "Patient"
}
]
}
}
]
}
4. 来歴リソース
注記 起源 そして 歴史 データの変更 — 作成者、編集者、ソースからのもの。
{
"resourceType": "Provenance",
"target": [
{"reference": "Observation/obs-hba1c-001"}
],
"recorded": "2025-01-15T10:30:00+07:00",
"activity": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-DataOperation",
"code": "CREATE"
}
]
},
"agent": [
{
"type": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
"code": "author"
}
]
},
"who": {
"reference": "Practitioner/practitioner-001"
},
"onBehalfOf": {
"reference": "Organization/org-lab-001"
}
}
],
"entity": [
{
"role": "source",
"what": {
"reference": "Device/lab-analyzer-001",
"display": "Máy xét nghiệm huyết học tự động"
}
}
]
}
5. 同意リソース
同意 データ使用に対する患者の同意/拒否を記録します。
{
"resourceType": "Consent",
"status": "active",
"category": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/consentcategorycodes",
"code": "59284-0",
"display": "Patient Consent"
}
]
}
],
"subject": {
"reference": "Patient/patient-001"
},
"date": "2025-01-15",
"grantor": [
{
"reference": "Patient/patient-001"
}
],
"controller": [
{
"reference": "Organization/org-bvdk-001"
}
],
"decision": "permit",
"provision": [
{
"type": "permit",
"actor": [
{
"role": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-ParticipationType",
"code": "PRCP",
"display": "Primary information recipient"
}
]
},
"reference": {
"reference": "Organization/org-bvdk-001"
}
}
],
"action": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/consentaction",
"code": "access"
}
]
}
],
"securityLabel": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-Confidentiality",
"code": "N"
}
],
"purpose": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-ActReason",
"code": "TREAT",
"display": "Treatment"
}
],
"provision": [
{
"type": "deny",
"securityLabel": [
{
"system": "http://terminology.hl7.org/CodeSystem/v3-ActCode",
"code": "PSY",
"display": "Psychiatry"
}
]
}
]
}
]
}
6. FHIR の RBAC/ABAC
| モデル | 説明 | たとえば |
|---|---|---|
| RBAC | 役割ベースのアクセス制御 | 循環器科の医師は循環器科の患者のみを診察します |
| アバック | 属性ベースのアクセス制御 | セキュリティラベル、場所、時間に基づく |
| PBAC | 目的に基づいたアクセス制御 | 治療目的のみのアクセス (TREAT) |
7. コンプライアンス — HIPAA、GDPR、ベトナム
| 規制 | 範囲 | 主な要件 |
|---|---|---|
| ヒパア | 米国 | PHI 保護、必要最小限、監査証跡、BAA |
| GDPR | EU | 同意、消去する権利、DPO、データポータビリティ |
| サイバーセキュリティ法 (86/2015) | ベトナム | 個人情報を保護し、違反した場合は通知します |
| 政令 13/2023/ND-CP | ベトナム | 個人データ保護、同意、DPO |
| 回覧 46/2018/TT-BYT | ベトナム | 電子医療記録、機密 |
8. FHIR サーバーのセキュリティのベスト プラクティス
- TLS 1.2+ すべての接続に対して
- OAuth 2.0 (SMART on FHIR) 認証/認可用
- 監査イベント すべての訪問を記録する — 保存期間 ≥ 7 年 (医療)
- セキュリティラベル 機密データ (HIV、精神医学、遺伝学) の場合
- 同意 — 患者の同意を保存および強制する
- 保存時の暗号化 — データベースの暗号化
- ネットワークのセグメンテーション — 内部ネットワークの FHIR サーバー
- レート制限 — 不正行為防止 API
- 入力の検証 — すべての FHIR リソースを検証する
- 最小限の露出 — CapabilityStatement を介して必要な場合のみ公開します
9. まとめ
セキュリティラベル — リソースに対するラベルの機密性と機密性
監査イベント — すべてのデータアクセスの監査証跡
来歴 — データのトレーサビリティ
同意 — 患者の同意管理、目的別の許可/拒否
コンプライアンス — HIPAA (米国)、GDPR (EU)、政令 13/2023 (ベトナム)