HIS Parser Architecture

台灣醫療資訊系統資料轉換器

> PROJECT_INIT: 2025-12-04
## (go-tw-his-parser)

「資料不該是混亂的,它是被囚禁的秩序。」

面對數十家 HIS 廠商各自為政的封閉格式,我們選擇用 Go 語言的強型別與高併發,強行定義出統一的介面。

GitHub Repo Live Demo

00. 開發緣起 / ORIGIN

在開發 Saki Pharmacy OS 的過程中,我們發現最巨大的阻礙不是商業邏輯,而是與那些古老、封閉且缺乏標準的醫療軟體進行對接。

這部分的工作,純粹是格式轉換的苦工。我們決定將這個核心模組抽離並開源。既然我們已經為了生存而造了輪子,就沒理由讓其他開發者再受一次苦。

> TARGET: TAIWAN NHI VPN FORMAT
> STATUS: CHAOTIC
> ACTION: NORMALIZE (標準化)
> OUTPUT: JSON / CSV / GO STRUCT
> 結果: 秩序重構完成。

01. 功能特徵 / FEATURES

這不只是解析 XML 或 CSV,這是對台灣醫療資料生態的深度理解與重構。

核心能力

  • 自動編碼偵測 (Auto-Encoding):台灣 HIS 系統仍大量使用 Big5。我們不問來源,自動偵測並轉換為 UTF-8,徹底消滅亂碼。
  • 民國年自動轉換 (ROC Date)1140315 自動轉換為 2025-03-15。讓時間回歸標準。
  • 慢箋邏輯識別 (Refill Logic):這是一般 Parser 做不到的。我們根據就醫類別、IC 序號與給藥天數,自動判斷這是否為慢箋,以及是第幾次領藥。
  • 廠商特徵指紋 (Vendor Fingerprint):即使檔名模糊不清,我們能從檔案內容的特徵(Header, XML Structure)反向推導出是哪家 HIS 廠商(耀聖、展望、看診大師...)。

2. 支援廠商與格式

我們不挑食。只要是數據,我們就消化。

廠商 支援格式 說明
健保署標準 XML, CSV 每日上傳檔、月申報檔 (The Standard)
耀聖 HIS XML, CSV, DAT, TXT 完整支援各種匯出格式
展望 HIS XML, CSV 常見的診所系統
看診大師 XML, CSV, TXT 支援 pipe 分隔格式
通用格式 CSV, TXT 標準逗號分隔檔案

3. 如何使用

一鍵安裝 (對於非開發者)

我們為終端使用者(藥師、行政人員)準備了不需要寫 code 的解決方案。 前往 GitHub Releases 下載對應您系統的執行檔,雙擊即可啟動本機網頁介面。

  • Windows: his-parser-web-windows.exe
  • macOS: his-parser-web-darwin-arm64 (Apple Silicon)

Golang 開發者

go get github.com/Saki-tw/go-tw-his-parser
// 讓代碼說話
f, _ := os.Open("病患資料.xml")
// 自動偵測廠商與編碼,強型別回傳
result, _ := parser.ParseHISFileByVendor(f, "filename.xml", parser.VendorAuto)

隱私與安全宣言

Local First (本機優先)

醫療資料是隱私的絕對領域。此工具設計為完全離線運行

  • 不儲存:解析後的資料僅存在於記憶體 (RAM) 中。
  • 不上傳:除非您自己寫 code 傳送,否則此 Parser 絕不主動對外連線。
  • 自動遮蔽:預設對身分證字號進行遮蔽處理 (Masking)。

供養 / Support

我們在開源的荒原中前行。

Touch me if you had desolation

如果這個工具幫到你,可以請我活下去。


© 2025 Saki Studio