台灣醫療資訊系統資料轉換器
> PROJECT_INIT: 2025-12-04
## (go-tw-his-parser)
「資料不該是混亂的,它是被囚禁的秩序。」
面對數十家 HIS 廠商各自為政的封閉格式,我們選擇用 Go 語言的強型別與高併發,強行定義出統一的介面。
00. 開發緣起 / ORIGIN
在開發 Saki Pharmacy OS 的過程中,我們發現最巨大的阻礙不是商業邏輯,而是與那些古老、封閉且缺乏標準的醫療軟體進行對接。
這部分的工作,純粹是格式轉換的苦工。我們決定將這個核心模組抽離並開源。既然我們已經為了生存而造了輪子,就沒理由讓其他開發者再受一次苦。
> TARGET: TAIWAN NHI VPN FORMAT
> STATUS: CHAOTIC
> ACTION: NORMALIZE (標準化)
> OUTPUT: JSON / CSV / GO STRUCT
> 結果: 秩序重構完成。
> 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