星期日, 7月 24, 2022

再戰 VB6

VB6 自動化研究又有了進度。爆肝摸索、找了可靠的第三方庫、殺了一卡車 bug、解完山一樣高的例外,看完海一樣深的 log 以後,自動化表單查詢程式終於穩定運行,也不枉昨天搞到 9PM。

禮拜日開一天,就看到機器人已經查了約 500 份病歷。這樣查詢完 N=2~3K 的 study 還真的就電腦多開幾天的事。資料齊了後用 python 簡單統計和 NLP,應該就能生成大部分夥伴和統計專家需要的資料。
 
可以的話還是希望能用 SQL。從 VB6 form dump 資料其實比直接下 SQL 複雜很多,效能還差。幾行 SQL 就可以解決的事,為了合法合規不得不用複雜的方式。
 

 
全文連結

星期日, 7月 10, 2022

醫療人員寫程式有用嗎?

 改自 ptt 的發文

以個人經驗來說,醫療人會點程式有沒有用?個人經驗是有的,我自己弄的東西:

關鍵字搜尋引擎

有引擎前,蒐集 case 主要靠自己作筆記。有引擎後 keyword 和查詢條件丟下去 case就噴出來。可能辛苦作筆記收了不曉得多久才能收一兩百個,引擎只要用正確的搜尋條件一分鐘就生出一千個。

查資料自動化

最近做回溯研究收案超過兩千個。這幾天弄出 RPA 機器人可以自動填病歷號查資料,申請通過正式上線。一樣的事情,別人可能要弄經費、請助理、花不知道多久搞定。我自己做可能電腦多開幾個晚上還不用想辦法找錢。

各種自動化和改善工作流程

學會 Autohotkey,可以打 fu 自動變成 Advise follow-up,一鍵自動從其他表單帶入資料、一鍵文字自動排版...

隨著技能樹越來越深廣,能做的事情還能越來越炫炮,例如



幫普通表單程式加上改字型、拼字檢查、自動完成、顏色佈景...等功能。潛在應用的地方很多,例如 HIS 或 RIS 各式表單程式。

以前會想:這種事委託專門單位、學校、或是外包廠商不就能做?自己會的價值在哪裡?

後來發現專門單位可以非常忙,手上待處理的案件可以到四位數。需求如果對全院不夠重要、急迫不一定能可以做,可以做也可能要排隊,排隊成功程式開始做也可能要反覆修改處理眉角問題,每次修改可能又是另一個循環。學校或外包廠商做,要想辦法弄資源,弄計畫、請經費、etc,一個程式綁一堆東西,原始碼還可能在別人手上、以後只能一直投入。自己弄就沒有上述一堆問題、程式想改就開記事本改就好。       


「又快又好」是可能形成價值的。以大規模撈 case 查資料做回溯性研究為例,別人流程是:

1. 寫申請單委託資訊單位
2. 花時間排隊(可以等很久
3. 得到結果,發現眉角問題、協商修正 * N(用 nodule 查結果 Nodule、nodlue 沒撈到 etc.)
4. 請助理一筆筆查資料整理
5. 生成那張跑統計的 Excel 表格。

而如果都能自己做呢?可能 IRB 通過的當天,下班前搜尋引擎就把 case 列出來了。然後多花幾個晚上用機器人把資料查好。最後用 python 字串、報表分析,很快就能統計好大部分資料,這時候可能別人還在排隊。大幅改善效率,就能大幅降低投入成本和時間,就能顯著提高研究成功率。這時哪怕作為醫療人員和研究者的本職技能都不頂尖,別人也會願意合作。
                                                               
就算一時做不了這些事,起碼也能讓自己上班更輕鬆。別人花時間按 Enter 和空白幫報告排版還是從其他系統抄數字,你一鍵就無腦完成,更快下班不好嗎?如果喜歡寫,替自己節省精力,創造機會的同時還能做喜歡的事,緩解 burnout 不香嗎?

所以如果本來就有寫程式的興趣,可以繼續鑽研深入,然後設法找自己周圍有必要但別人顧不到的事,遵循法規、看好政治和環境允許的限度,抓準機會切進去,programming skill 不會虧待我們。

至於學哪些語言,我是學 Python 和 Autohotkey 為主。AHK 主攻辦公室自動化,Python 補一些 AHK 不好做的事情,例如運用瀏覽器自動化測試套件自動點頁面之類。Python 也可以銜接 Machine Learning 和 Deep learning。另外零碎玩過一些 Rust、C/C++、PHP 之類的東西,但這些對醫療職業可能就不那麼直接有用。

值得一提的是數學,有後悔沒趁年輕的時候學好數學,最近鑽研 Deep learning 和統計都遇到數學的檻,回頭補同濟的高等數學。結果現在奔四體質變差很多,用腦一多就 tinnitus 甚至 vertigo,而且有些基礎的東西忘了還要「復健」。所以如果還在學校,學習數學其實是好選擇。程式語法那些在有明確目的的情形下快速入門不難,但數學就不行。線性代數和微積分剛好也是現在 deep learning 會用到的東西。  

全文連結

星期四, 7月 07, 2022

Python future 安裝 No module named 'src' 解法

安裝 Pyinstaller 時會自動安裝依賴包 future,然後就遇到這問題,從連結找到解法。 手動去 github 抓包,解壓縮,setup.py 中 import src 之前加入一行 statement 即可:
sys.path.append('')
其實 sys.path.append('.') 也可以。看來是 path 的問題。弄好後 python setup.py install 問題解決!
全文連結

星期一, 7月 04, 2022

魔法少女天穹法妮雅

Steam 頁面

夏特時收的小遊戲。一打開就廢寢忘食通關主線。「實用」部份非常實用該有的都有,不多描述>////<

撇開實用,RPG 的部份也屬於上乘,劇情就簡單流暢的王道魔法少女變身救世,戰鬥方面多種難度可選,角色 Build 有彈性,近身格鬥或各系魔法隨選。

蒐集要素多,各式打材料、拼練成,開寶箱或練成的特殊道具可以開特殊玩法,例如把魔攻倍增普攻變 1 的特殊道具,可以打造純粹的魔法砲台少女,或是花海量資源和肝才能疊出的自動秒殺裝再瘋狂跑圖練級,不小心就跑到 99 級 etc. 。

遊戲還有多週目要素,可以繼承等級、道具、魔法提昇難度進行虐菜挑戰。看網路上攻略一堆練功魔人想發設法疊滿屬性,角色屬性貼出來讓人懷疑這真的是同一款遊戲嗎 XD

無論是作為 RPG 本身的劇情或「實用」成份都屬於上乘。Steam 上的好東西越來越多了。 全文連結