臺灣牙醫實作指引 (Taiwan Dental Implementation Guide)
0.0.1 - ballot

臺灣牙醫實作指引 (Taiwan Dental Implementation Guide) - Local Development build (v0.0.1) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

## Standardization

# 臺灣牙醫實作指引 (TW Dental IG) 標準化流程

## 引言

本文件旨在詳細闡述臺灣牙醫實作指引 (TW Dental IG) 工作小組將傳統紙本或 PDF 格式的牙醫相關表格文件，轉換並建立為符合 HL7® FHIR® (Fast Healthcare Interoperability Resources) 標準的實作指引 (Implementation Guide, IG) 之完整流程。隨著醫療資訊化的推進，標準化的電子資料交換已成為提升醫療品質、促進系統互通及數據再利用的關鍵。臺灣牙醫領域亦面臨此需求，期望透過本標準化流程，系統性地將既有臨床作業流程中的表單數位化、結構化，並與國際標準接軌。

本流程參考國際 HL7 FHIR IG 的建置方法及相關工作小組的運作實務，並考量臺灣本地的醫療資訊環境與牙醫臨床需求，目標是建立一個清晰、可依循的指引，協助工作小組成員及未來參與者理解標準如何形成，並確保 IG 的品質與實用性。內容將涵蓋從需求分析、資料塑模 (Data Modeling)、FHIR Profile 與 Extension 設計、術語 (Terminology) 綁定、到驗證與發布的各個階段。

## 標準化流程總覽

TW Dental IG 的標準化流程是一個迭代的過程，主要包含以下幾個核心階段：

- 需求探索與定義：確立標準化的範圍、目標與預期效益。
- 資料分析與塑模：分析現有紙本/PDF 文件，萃取關鍵資料元素並進行概念塑模。
- FHIR Profile 與 Extension 設計：依據 FHIR R4 標準及臺灣核心實作指引 (TW Core IG)，設計符合牙醫領域需求的 Profile 與必要的 Extension。
- 術語集定義與綁定：選擇或建立合適的代碼系統 (CodeSystem) 與值集 (ValueSet)，並將其綁定至相應的資料欄位。
- 範例製作與文件化：產出符合 Profile 定義的範例實例，並撰寫清晰的說明文件。
- 驗證、審查與測試：透過工具驗證、同儕審查及聯測松 (Connectathon) 等方式，確保 IG 的正確性與互操作性。
- 版本控制與發布：管理 IG 版本，並依據成熟度模型 (FMM) 逐步發布。

## 詳細流程說明

### 需求探索與定義

標準化的起點是明確了解需求。此階段工作包含：

- 確立範圍：明確指出哪些紙本/PDF 表格文件或業務流程將被納入標準化範圍。例如，初診病歷、牙周病檢查表、治療同意書等。
- 收集資料：收集相關的紙本表格、PDF 文件、現行系統畫面截圖、以及相關法規或行政要求文件。
- 訪談專家：與牙醫師、牙科助理、醫療資訊人員、以及可能的系統廠商進行訪談，了解實際作業流程、資料記錄習慣、以及對資料交換的需求與痛點。
- 目標設定：基於收集到的資訊，設定標準化的具體目標，例如提升特定診療流程的效率、支援跨院所的病歷交換、或滿足特定研究計畫的數據需求（如「Smile Guard智慧口腔平台系統建置及FHIR規範導入」研究計畫）。

### 資料分析與塑模

在確立需求後，需對收集到的文件進行深入分析：

- 欄位識別：逐一檢視文件中的所有欄位，記錄其名稱、用途、可能的填寫內容或格式。
- 資料類型判斷：判斷各欄位的資料類型，例如文字、數字、日期、時間、布林值、或特定代碼。
- 值域分析：分析欄位可能的值範圍或選項，這將是後續定義 ValueSet 的基礎。例如，特定檢查結果的選項、藥物劑型選項等。
- 業務規則梳理：識別隱含在表格設計或填寫說明中的業務規則。例如，某些欄位是否為必填、欄位間的依賴關係、特定條件下才需填寫的欄位等。
- 概念塑模：將分析結果轉換為概念模型，識別核心的資訊實體（如病人、就診、治療計畫、觀察結果等）及其之間的關係。此階段可參考現有 FHIR Resource 的結構，初步思考對應可能性。

### FHIR Profile 設計與開發

此階段是將分析結果轉換為具體 FHIR 規範的核心步驟，主要依循 FHIR R4 版本及 TW Core IG 的基礎上進行擴展：

- 選定基礎 Resource：根據概念模型，為每個核心資訊實體選擇最合適的 FHIR Resource 作為 Profile 的基礎。例如，病患資料對應到 `Patient` Resource，就診紀錄對應到 `Encounter` Resource。
- 定義 Profile：
  - 約束 (Constraining)：對選定的基礎 Resource 進行約束，以符合臺灣牙醫的特定需求。約束內容包括：
    - 基數 (Cardinality)：調整欄位的強制性 (如 0..1, 1..1, 0.., 1..)。
    - 資料類型 (Data Type)：限縮或指定更精確的資料類型。
    - 值集綁定 (ValueSet Binding)：將特定欄位綁定到預先定義的 ValueSet，規範其允許值。
    - 切片 (Slicing)：當一個重複性元素需要根據不同條件有不同約束時，使用切片進行定義。
  - 參考 TW Core IG：優先繼承或參考 TW Core IG 中已定義的 Profile，以確保與臺灣核心資料交換標準的一致性。TW Dental IG 中的 `DentalPatient` Profile 即是一個例子。
- 設計 Extension：當現有的 FHIR Resource 及其元素無法完全滿足臺灣牙醫特有的資料需求時（例如，某些特定的牙位記錄方式或本地化的評估指標），需要設計 Extension。
  - 定義 Extension Context：明確 Extension 附加於哪個 Resource 或 Element。
  - 定義 Value[x]：指定 Extension 的值可以是何種資料類型。
  - 文件化：清晰描述 Extension 的用途、定義和使用範例。
- 命名與標識：所有 Profile 和 Extension 都應有清晰、一致的命名規則和唯一的 Canonical URL。

### 術語標準化 (Terminology)

術語標準化是確保資料語義一致性和互操作性的關鍵。TW Dental IG 的術語工作主要包含：

- 術語需求分析：根據 Profile 設計中各欄位的語義，識別需要進行術語綁定的欄位。
- CodeSystem (代碼系統) 的選擇與建立：
  - 優先採用標準：優先評估並採用國際公認的代碼系統 (如 SNOMED CT, LOINC, ICD-10) 或臺灣本地已有的標準代碼 (如衛福部相關代碼)。
  - 建立本地 CodeSystem：若現有代碼系統無法滿足特定需求（例如，牙醫特有的觀察項目或処置分類），則需建立本地的 CodeSystem。建立時需遵循明確的編碼原則、概念定義，並確保可維護性。
  - 目前 `terminologies.md` 中已規劃此部分，但尚待充實具體內容。
- ValueSet (值集) 的定義與管理：
  - 定義範圍：為需要代碼化的欄位定義 ValueSet，明確其允許的代碼範圍。
  - 值集來源：
    - 引用外部 CodeSystem：從一個或多個 CodeSystem 中篩選特定的代碼組成 ValueSet。
    - 直接定義 (Enumerated)：對於選項固定且數量較少的欄位，可直接列舉所有可能的代碼及其顯示名稱。
  - 綁定強度 (Binding Strength)：決定 Profile 欄位與 ValueSet 綁定的強制程度 (如 Required, Extensible, Preferred, Example)。
- ConceptMap (概念對應)：若 IG 中使用了多個不同的代碼系統來表達相似概念，或需要與舊有系統的代碼進行對應時，可使用 ConceptMap 來定義它們之間的映射關係。
- 文件化：所有自定義的 CodeSystem 和 ValueSet 都必須在 IG 中有清晰的描述、定義和內容。

### 範例製作與文件撰寫

為了讓實作者更容易理解和使用 IG，高品質的範例和文件至關重要：

- 製作範例實例：針對每個定義的 Profile，製作至少一個符合其約束和術語綁定的範例實例 (通常提供 JSON 和 XML 格式)。範例應盡可能涵蓋 Profile 中的主要元素和常見使用情境。參考 `downloads.md` 中提供的範例下載。
- 撰寫說明文件：
  - Profile 說明：詳細描述每個 Profile 的用途、範圍、與基礎 Resource 的差異、各欄位的定義、基數、資料類型、綁定的 ValueSet 及範例。
  - Extension 說明：清晰解釋每個 Extension 的目的、附加的上下文、以及如何使用。
  - 術語資源說明：提供所有 CodeSystem 和 ValueSet 的詳細資訊。
  - 整體 IG 導覽：如 `index.md` 所示，提供 IG 的介紹、背景、閱讀指南等。

### 驗證、審查與測試

確保 IG 品質的關鍵步驟：

- 自動化驗證：使用官方的 FHIR Validator 工具 (如 `validator_cli.jar`)，配合 IG Package，對 Profile 定義本身以及範例實例進行驗證，確保其符合 FHIR 規範及 IG 的約束。`validates.md` 文件中詳細說明了驗證步驟。
- 同儕審查 (Peer Review)：工作小組成員間，或邀請外部專家對 IG 的設計、文件和範例進行審查，提供修改建議。
- 聯測松 (Connectathon)：
  - 實地測試：如 `connectathon.md` 所述，參與 MI-TW Connectathon 等聯測活動，讓不同的系統實作者根據 IG 進行開發和互操作性測試。
  - 情境驗證：透過預設的測試情境，檢驗 IG 在實際應用場景中的可用性和完整性。
  - 回饋收集：從聯測參與者處收集實作問題和改進建議，作為 IG 修訂的依據。

### 版本控制與發布

IG 是一個持續演進的產物：

- 版本管理：採用語義化版本控制 (Semantic Versioning) 或類似機制管理 IG 的版本。版本號應清晰反映變更的性質（重大變更、向後相容的新功能、錯誤修復）。
- 成熟度模型 (FMM)：如 `index.md` 中所述，為 IG 中的各個 Profile 標記其 FHIR Maturity Model (FMM) 等級，向實作者表明其穩定性和完成度。初始版本通常為 FMM0 或 FMM1。
- 發布流程：
  - 草案發布：定期發布 IG 草案版本，供社群預覽和評論。
  - 正式發布：經過充分驗證和審查後，發布正式版本。
  - 更新日誌 (Changelog)：每次發布新版本時，提供詳細的變更日誌。
- 意見回饋機制：建立公開的管道（如 Issue Tracker、論壇、郵件列表），讓實作者和使用者可以回報問題、提出建議。

## 工具與資源

建置 FHIR IG 依賴一系列工具和資源：

- FHIR IG Publisher：HL7 官方提供的核心工具，用於將 IG 的原始碼（包括 Profile 定義、Markdown 文件、範例等）編譯成可發布的 HTML 網站和 IG Package。
- Profile 編輯器：如 Forge, Trifolia-on-FHIR 等工具，可協助以圖形化界面設計和編輯 Profile 與 Extension。
- Terminology Server：用於管理和瀏覽 CodeSystem 和 ValueSet。
- Validator：如前述的 `validator_cli.jar`，用於驗證 FHIR 資源。
- 版本控制系統：如 Git，用於管理 IG 原始碼的版本。
- IG 網站資源：如本 IG 的 `downloads.md` 頁面，提供 IG Package、定義檔、範例檔等下載。

## 工作小組運作方式

為確保標準化工作的順利進行與高品質產出，工作小組的運作方式至關重要。一般而言，可參考國際 HL7 工作小組或其他成熟 FHIR IG 社群的運作模式：

- 定期會議：定期召開工作小組會議，討論進度、解決問題、審查產出。
- 任務分工：根據成員專長分配任務，如資料分析、Profile 設計、術語定義、文件撰寫、範例製作等。
- 協作平台：使用如 Confluence、GitHub、Jira 等協作工具，進行文件共享、議題追蹤和版本控制。
- 透明決策：重要決策（如 Profile 設計方向、術語選擇）應有明確的討論記錄和決策依據。
- 社群參與：鼓勵更廣泛的社群（包括潛在實作者、臨床專家、學術機構等）參與討論並提供回饋。
- 持續學習：FHIR 標準本身及相關工具鏈不斷發展，工作小組成員需持續學習新知。

## 結論與展望

將紙本/PDF 表格文件轉換為標準化的 FHIR IG 是一個複雜但極具價值的工作。透過本文件所闡述的系統化流程，TW Dental IG 工作小組能夠更有條理地推進標準的制定，確保其符合臨床實際需求，並具備良好的互操作性。

本標準化流程不僅適用於初期的 IG 建置，也為後續的維護、擴充和版本更新提供了框架。隨著牙醫資訊化的不斷深入，TW Dental IG 將持續演進，納入更多應用場景，完善術語定義，並積極與國內外相關標準協同發展，共同促進臺灣牙醫健康資訊的標準化與智慧化應用。