Intake AI · 現場最痛的一件事
每個月都有新的檔案送進來,格式還會變。過去只有一條路:有人一格一格看懂、判斷、搬進系統。這件事做對了沒有人看見,做錯了也不會有人發現——錯的那一格會安靜地變成病歷,下一個看到它的人不知道它是錯的。而這件事之所以值得花八年,是因為一個人的健康紀錄能不能被下一個照顧他的人接上,前提就是每一格都搬對了。地基不對,上面蓋得越聰明越危險。這一頁講的是平台裡負責這件事的那顆引擎——我們叫它 Intake AI——它怎麼運作,以及我們刻意不讓 AI 碰哪些地方。
痛在哪裡
「他院」那一欄,有一格是醫院名稱、一個換行、兩個英文字母。那兩個字母是疾病的縮寫。一格、兩件事,中間只有一個換行。搬資料的人得自己知道後面那截是疾病,還要知道它對應哪個診斷;漏掉了,這個人的病史就少一條——而且沒有人會發現少了。
同一份表裡還有:姓名和病歷號擠在同一格。血壓寫成「120/2」,舒張壓 2 不可能,那是打錯的,但原本要打什麼已經沒有人知道。有一欄的標題只叫「欄16」。另一欄標著「血壓」,裡面放的其實是心跳——照著欄位名搬,這個人的血壓就變成了他的心跳。
這些不是特例,是常態。表是人在忙的時候填的,欄位名是上一任留下來的,格式每年會變。而搬錯不會當場報錯,它會留在紀錄裡,等到下一次有人根據這筆紀錄做判斷。
上面都是改寫過的示意。我們保留的是這些格子真正的長相,不是任何真人的資料:真實檔案裡的姓名、病歷號與院所名稱不會出現在這裡,也不會離開機構自己的機房。
而她真正的工作不是搬資料,是照顧人。
它怎麼運作
難的地方不是「叫 AI 讀檔案」。難的是要讀得可靠、要能解釋為什麼這樣讀、而且不能把病歷送上雲端。所以順序是刻意排的:
真正的標題列在第幾行?一列是一個人,還是一次服務?有沒有橫向展開的場次、有沒有跨工作表?試算表本身就帶著這些事實(合併儲存格、儲存格格式),先讀它,不要用統計去猜。這一層完全沒有 AI。
關鍵是不能只看欄位名。欄位名會騙人,所以我們同時看那一整欄的值長什麼樣子:一整欄都是「137/67」就是血壓,出現「123/AC」就是飯前血糖,「V(114年)」是那一年做過。典型的檔案,這一層就解掉九成以上,完全不碰 AI。
有人確認過一次的配對會被記住,而且記的不只是欄位名,是「欄位名+值的形狀+當初判斷出的意思」的組合。所以同一個據點下個月的表、藥局每個月的表,第二次起連 AI 都跳過。
而且整批一次問完,不是每一欄問一次。用的是我們自己訓練的地端語意模型,跑在機構自己的機器上,不連網、不計費。模型只補確定性程式讀不出來的那一小塊,不准覆蓋已經確定的判斷;模型回傳壞掉的結果,就退回上一層,不會整批匯入失敗。
只問真的無解的——像 120/2 這種原值救不回來的格子。問的時候附上這一欄的值樣本和系統自己的猜測,不是丟一張空表格要人從頭對。人給的答案寫回記憶,下一次不用再問。
我們拿來檢查自己的指標只有一個:一份檔案匯進來,還需要人動手的欄位有幾個。這個數字要一直往零走。
我們刻意不做的事
每一格都送去問一次雲端模型,帳單會轉嫁到機構身上,而且地端這一層就不成立了。所以一份檔案的模型呼叫次數是「一次批次」或「零次」(記憶命中),永遠不會等於欄位數。
血壓寫 120/2,我們就標出來、保留原值,不「順手修成」120/82。系統可以猜錯一次讓人改,但不能悄悄把一個看起來合理的數字寫進病歷。
真的解出來的欄位會顯示它真正的意思;只認出形狀的,就老實說「我看得出這是一組編碼欄,但不知道它在問什麼,請你確認或給我一份對照表」。畫面上好看比較容易,但那會讓人以為已經檢查過了。
判斷用的模型跑在機構自己的機器上。病人資料不必離開機房,也不必為了讀懂一格字而簽一份跨境傳輸的同意。
我們怎麼知道它沒搬錯
因為搬錯不會當場報錯,所以唯一的辦法是一格一格去對。這六份是不同據點、不同人做的年度總表和電訪追蹤表,不是我們自己出的題目。系統把每一格送到哪裡,我們逐格檢查:1,088 筆裡有 9 筆送錯地方。
那 9 筆錯在哪,我們自己寫成報告。前面提到的「醫院名稱+換行+疾病縮寫」那一格就是其中一種:醫院名拆對了,疾病縮寫還黏在後面。每改一版我們就把六份重跑一次,因為修好一種黏法,不代表另一種也修好了。
還有一批資料我們不匯入:沒有姓名的電訪追蹤列、身分證格式判不出來的。這些直接標出來讓人處理,不猜、不硬塞。寧可讓人多看一眼,也不要讓一筆錯的紀錄悄悄進去。
1,088
六份真實總表逐格檢查的資料筆數
9
送錯地方的筆數,錯在哪都寫進報告
九成以上
典型檔案由確定性程式讀完、完全不碰 AI 的欄位
全在院內
判斷用的模型跑在機構自己的機器上,不上雲
為什麼這件事需要自己的模型
第四層要判斷的是「他院」欄裡的 CV、健檢名冊上的 L-CT、護理紀錄裡的皮蛇。我們試過市面上表現最好的中文模型,這些字幾乎都讀不出來,因為它們不存在於公開的訓練資料裡。所以我們自己訓練了一顆,然後開源。
還有一段是聲音。面談和家訪講完的話,本來也得回辦公室重打一遍;而長輩講的是台語。那是另一類模型的故事。