slug: medical-scribe-dictation displayName: 醫療口述轉結構化病歷 version: 1.1.0 description: 將醫生口述內容轉換為結構化的 SOAP(主觀資料/客觀資料/評估/計劃)病歷。適用於處理醫生口述轉錄文本、規範醫學術語、生成標準格式病歷、進行病歷完整性質量檢查等場景。以下場景也會觸發本技能:"把這段口述轉成 SOAP 病歷""幫我整理這段問診記錄""生成結構化病歷""醫學術語規範化"。 license: MIT author: AIPOCH
將非結構化的醫生口述內容轉換為專業格式的 SOAP(Subjective 主觀資料、Objective 客觀資料、Assessment 評估、Plan 計劃)病歷,包含醫學術語規範化和臨床質量檢查。
references/soap-templates.md 提供內科、急診、心內科、兒科、外科、精神科、婦產科、骨科等專科模板參考指令碼 scripts/main.py 實際實現的是基於規則的文本解析,並非語音識別或大語言模型智慧抽取:
MedicalTerminologyProcessor.ABBREVIATIONS,硬編碼在指令碼內,與 references/medical-abbreviations.json 中收錄的約 2000 條術語表是兩套獨立資料,指令碼不會讀取該 JSON 檔案)展開文本中的常見醫學縮寫openai 或 anthropic 庫並通過 --llm 指定提供方,則會呼叫相應大語言模型做更智慧的結構化抽取;未安裝或未指定時自動降級為規則解析--audio 且已安裝 openai-whisper,可將音訊轉寫為文本後再處理;否則會報錯並提示安裝該依賴# 處理已轉錄文本(直接傳入字串)
python scripts/main.py --input "患者主訴:胸痛。血壓 130/85,心率 90。評估:穩定型心絞痛。計劃:繼續現有用藥。"
# 處理文本檔案
python scripts/main.py --input dictation.txt --output note.md
# 處理音訊檔案(需先安裝 openai-whisper)
python scripts/main.py --audio consultation.wav --output note.md
# 指定專科(僅作為後設資料記錄在輸出中,不影響解析邏輯)
python scripts/main.py --input dictation.txt --specialty cardiology
# 輸出為 JSON 而非 Markdown
python scripts/main.py --input dictation.txt --format json
# 使用大語言模型進行智慧抽取(需安裝並配置 openai 或 anthropic)
python scripts/main.py --input dictation.txt --llm anthropic
# 從標準輸入讀取
cat dictation.txt | python scripts/main.py
| 引數 | 簡寫 | 是否必填 | 說明 |
|---|---|---|---|
--input |
-i |
否 | 待處理的文本,或指向文本檔案的路徑。與 --audio 二選一;兩者都未提供時從標準輸入讀取 |
--audio |
-a |
否 | 音訊檔案路徑(需安裝 openai-whisper) |
--output |
-o |
否 | 輸出檔案路徑;未提供時列印到標準輸出 |
--specialty |
-s |
否 | 醫學專科名稱,預設 general,僅作後設資料記錄,不改變解析規則 |
--llm |
— | 否 | 可選值 openai / anthropic,指定後啟用大語言模型智慧抽取 |
--format |
— | 否 | 輸出格式,markdown(預設)或 json |
pip install -r requirements.txt小蔥技能7w4.net有更新,你可以訪問看下。
requirements.txt 中列出的 anthropic、openai、whisper 均為可選依賴——指令碼對它們做了 try/except 優雅降級處理,未安裝時基礎的規則解析功能仍可正常使用;dataclasses 是 Python 3.7+ 標準庫內建模組,無需單獨安裝(該檔案在 Python 3.6 及更早版本上才需要回填包,正常環境下無需理會)。
若需要音訊轉寫功能,還需另外安裝 openai-whisper(pip install openai-whisper)。
references/soap-templates.md —— 按專科(內科、急診、心內科、兒科、外科、精神科、婦產科、骨科)整理的 SOAP 病歷模板,供人工撰寫或校對時參考references/example-cases.md —— 5 個完整的"口述文本 → 期望 SOAP 輸出"示例,覆蓋內科隨訪、急診胸痛、兒科體檢、骨科運動損傷、精神科隨訪references/terminology-sources.md —— 醫學術語標準與編碼體系介紹(SNOMED CT、ICD-10、LOINC、RxNorm、CPT 等),供瞭解術語規範化背景時參考,指令碼本身不直接呼叫這些外部編碼系統references/medical-abbreviations.json —— 約 2000 條醫學縮寫對照表(按首字母分組,英文縮寫 → 英文全稱)。注意:這是一份獨立的參考資料檔案,腳本當前不會讀取或使用它;考慮到詞條數量龐大且為純資料性質的英文術語對照,本次本地化保留其原始英文內容未做翻譯,僅在此說明其用途和真實使用狀態⚠️ 需要臨床稽核:所有生成的病歷在正式錄入病歷系統前,必須經主診醫師稽核確認。
⚠️ 無診斷能力:本工具只負責整理結構化臨床資訊,不提供診斷建議。
--input 也未提供 --audio,且標準輸入為空,指令碼會列印 Error: No input provided 並以狀態碼 1 退出。--audio 但未安裝 openai-whisper,指令碼會丟擲提示安裝該依賴的錯誤。--llm 但對應的大語言模型呼叫失敗(例如未配置 API key),指令碼會捕獲異常並自動降級為規則解析,同時列印警告資訊,不會中斷執行。這是一個功能明確的醫療口述轉病歷工具,質量中等偏上。它能處理常見的主訴、診斷、計劃等結構化提取,還能校驗病歷完整性、生成置信度評分。但如果不用大語言模型,純規則解析能力有限,複雜口述內容可能識別不準確。適合作為輔助工具,最終病歷仍需醫生稽核確認。中文場景的術語處理是明顯短板。