第 2 頁 (共 2 頁)
Re: 異地備份
發表於 : 週三 2月 23, 2011 9:01 am
由 chichang
squeak 寫:amigo 寫:wcywsy 寫:
一般診所內應該只要把主要資料庫檔案定時備分, 外加一台 spare PC or NB 已安裝好看診主程式,
隨時準備可以 restore backup data, 應可把損害控管在 1 hour 之內
資料方面,個人覺得可用Symbolic Link方式,將資料存到外接式硬碟,當主機掛掉時,硬碟的資料隨時可以轉到另一台電腦而不用拆機拿出來。
M$ 系統的外接式硬碟在分配磁碟機代號時,有時候會自己跑掉。即使已經分配了固定的代號也會莫名其妙的跳走。
有時候是因為開機順序改變造成的。所以外接式硬碟用這種方式移到其他電腦時一定要注意磁碟機代號的問題。
提供經驗。
電腦最容易故障的算是硬碟。所以還有可以追加另外的一種安全方案(以目前的電腦設備來說,錢花得不多)
1. 裝抽換式硬碟盒,另外備一顆硬碟做原來系統的映像碟,發現硬碟掛了,換掉立刻可以用。
2. 不想裝抽換式硬碟盒的,就拆開機殼,另外加裝一顆硬碟,一樣做好clone以後,拔掉電源。
開機硬碟掛掉的時候,再接上電源也可以。
Re: 異地備份
發表於 : 週三 2月 23, 2011 9:01 am
由 cytu
無奈健保局的api只有windows版本
這個部份,應該是全聯會可以介入要求的部份。
linux版本只到93年3月的1.4版,之後再也沒更新過。希望全聯會有辦法的話要求健保局的資訊單位同步更新linux版本;如果他們沒人會做/沒人力做的話就把windows dll的原始碼釋出,我願意接手處理...
題外話:
1. 為什麼這麼重大的健保卡計畫的api竟然是封閉原始碼的?
2. 為什麼健保的各種申報格式(包括IC卡機制)與參數的決定都像是沒仔細考慮過的樣子,累贅重複就算了,不時還有各種令人哭笑不得的「修正」?
Re: 異地備份
發表於 : 週三 2月 23, 2011 9:37 am
由 cytu
chichang 寫:可是還要應付健保局3不5時的申報規定變動,長期下來的維護工作可能會很煩心。
我深深地感覺國內官方的思維是:醫生都是賊,都是奴隸。
+1000000000000
再加上官方的資訊管理知識/素養/能力...舉個例。之前分局曾來過公文要求解釋「為何患者會有兩筆相同卡序掛號資料」,看了實在令人搖頭:
1. 都用了IC卡,為何還需要保留紙卡時代的就醫可用次數六次這種機制?
2. 健保卡序因為目前的非同步機制只能當作參考,可是我們每天都上傳掛號資料的安全簽章給你們啊,你們為什麼不去檢查這兩筆安全簽章呢?
官方不懂資訊管理沒關係,可以多找一些懂的人虛心求教/諮詢,而不是閉門造車發明一些台灣奇蹟啊!每次修改都讓我一肚子火...
Re: 異地備份
發表於 : 週三 2月 23, 2011 9:53 am
由 amigo
應該推薦cytu大大加入全聯會資訊委員會,為大家謀福利跟拼正義。
Re: 異地備份
發表於 : 週三 2月 23, 2011 9:56 am
由 514
amigo 寫:應該推薦cytu大大加入全聯會資訊委員會,為大家謀福利跟拼正義。
誠心推薦!
Re: 異地備份
發表於 : 週三 2月 23, 2011 10:32 am
由 squeak
chichang 寫:squeak 寫:amigo 寫:wcywsy 寫:
一般診所內應該只要把主要資料庫檔案定時備分, 外加一台 spare PC or NB 已安裝好看診主程式,
隨時準備可以 restore backup data, 應可把損害控管在 1 hour 之內
資料方面,個人覺得可用Symbolic Link方式,將資料存到外接式硬碟,當主機掛掉時,硬碟的資料隨時可以轉到另一台電腦而不用拆機拿出來。
M$ 系統的外接式硬碟在分配磁碟機代號時,有時候會自己跑掉。即使已經分配了固定的代號也會莫名其妙的跳走。
有時候是因為開機順序改變造成的。所以外接式硬碟用這種方式移到其他電腦時一定要注意磁碟機代號的問題。
提供經驗。
電腦最容易故障的算是硬碟。所以還有可以追加另外的一種安全方案(以目前的電腦設備來說,錢花得不多)
1. 裝抽換式硬碟盒,另外備一顆硬碟做原來系統的映像碟,發現硬碟掛了,換掉立刻可以用。
2. 不想裝抽換式硬碟盒的,就拆開機殼,另外加裝一顆硬碟,一樣做好clone以後,拔掉電源。
開機硬碟掛掉的時候,再接上電源也可以。
剛去Apple store 逛了一下,發現Mac mini server搭配的 Promise SmartStor DS4600 4x1TB RAID 系統
Promise SmartStor DS4600
簡介如下:是完整的 4 槽式 Firewire/USB RAID 解決方案,配備 4 個 1TB 7200-rpm 的 SATA 磁碟與功能強大的硬碟 RAID 引擎,適合小型伺服器、創意專業工作站,或需要快速外部儲存與完善資料保護的使用者。
可以在不動到原來主機硬碟配備的狀況下,用Symbolic link指向外接式RAID系統,獲得最佳解決。
Re: 異地備份
發表於 : 週三 2月 23, 2011 10:55 am
由 amigo
磁碟陣列大大地增加了容錯的能力,更能保護重要資料的安全。
不過,還是要很小心,即便硬碟同時failure的機會很小,
但是萬一不幸發生的話,資料的回復可大可小,
因此,使用磁碟陣列的人還是要定期備份資料。
linux也可以整個系統安裝在磁碟陣列上,當作檔案伺服器也是不錯的選擇。
Re: 異地備份
發表於 : 週三 2月 23, 2011 11:58 am
由 wcywsy
感謝514大開的帖, 這篇有蓋大樓的的潛力 (三八萌)
把各路高手, 潛水高人都引出來了
全聯會如能提供後援, 才有籌碼跟對手談判與提出醫界的需求 (眼汪汪)
Re: 異地備份
發表於 : 週三 2月 23, 2011 12:47 pm
由 Weily
cytu 寫:個人目前使用的異地備份方式是自己寫的python script,利用gmail的空間(IMAP介面)上傳資料庫的delta。gmail是以tls(ssl)方式登入,安全性無虞。若要再加密也不是問題。gmail的免費空間至少有7G,delta大小大概百k左右。script大小不過10k,四百行上下。
......
研究過幾個國外的開源HIS:medical,openemr,openvista,openmolar, gnumed,發現若要應用在國內的環境都必須大更動--只能說,台灣健保的申報、上傳格式、IC卡使用與官方思維(說好聽點)獨樹一格...
cytu大大真的很強,邀請你加入全聯會資訊小組,一起為全體醫師貢獻心力!
昨天我代表資訊小組去全聯會開會,就提出開發open source的全聯會公版HIS + 衛生署公版EMR,免費提供全體診所使用。
對於絕大部分的資訊能力入門級或小戶user而言,HIS能夠穩定、正確、快速地掛號、看診、申報即可。
免費與資料轉換到新HIS應該可以提供很大的誘因,並促使HIS廠商提出更優惠的服務,或專注於開發新功能、0204 24 hrs call center與外派人員到診所解決問題。
對於轉換不同HIS的資料,以及提供類似的使用界面或習慣,我覺得都不是問題。
屆時在公版HIS的平台上,可以擴充廠商與程式設計師提供、經過全聯會授權單位審查通過的成千上萬種免費或付費應用程式,就看個人的需求決定是否採用。
Re: 異地備份
發表於 : 週三 2月 23, 2011 12:52 pm
由 Vivian
(眼汪汪) (眼汪汪)
Re: 異地備份
發表於 : 週三 2月 23, 2011 1:48 pm
由 cytu
先謝謝大家的溢美!從2003年健保IC卡上路到現在,一路參與診所與健保局間的各種往來作業,從HIS實做到申復報告撰寫,無役不與,惟大部分時間人在國外(研究),必須想辦法把大部分作業與維護簡單、自動化。自己是開源運動的完全擁護者,同時為樽節金錢成本計,只考慮各種免費、開源與擴充性高、有效的方案,時間成本倒是沒去管:p
潛水許久,剛好路過看到異地備份的討論。對於硬體方案自己的認識不多,軟體方案則是有幾年來的實踐經驗,或許能提供大家一些想法。對於健保局的各種顢頇政策與制度,自己也有許多看法,之後還望各位先進指教!
有開源的HIS固然不錯,但目前既有各資訊廠商對此態度自己則是不抱希望。就個人所知幾家大廠商仍採用dBase相關的舊資料庫技術(這是系統難以維護、新功能難以實現、bug難以根除的最重要原因之一),若要改成目前主流的sql資料庫工程浩大,這幾家大廠商能撐多久不動就不動,不變應萬變,只要用戶不跑掉就行;基層院所用戶也大部分都是從一而終,少有更換HIS之舉。開源HIS會撼動這些大廠商的利基,如果各廠商資料庫轉換順利的話--他們當然會抵抗。當然,對有實力的小廠商或程式設計者來說這正是大好機會。
Weily大大的其他想法都跟自己的不謀而合,尤其當障礙「健保局同步更新Linux版健保IC卡讀卡機控制軟體(最好開源)」除去之後,HIS所在的電腦作業系統用Linux,不會有亂七八糟的病毒,系統可自動更新,有能力的資訊廠商可提供各種加值服務(LiveCD,自動本機/異地備份,遠端遙控、錄音錄影/監視系統),資訊廠商的購置/開發/維護成本低,用戶訂購服務的價格也可以更合理...
Re: 異地備份
發表於 : 週三 2月 23, 2011 2:59 pm
由 squeak
cytu 寫:個人目前使用的異地備份方式是自己寫的python script,利用gmail的空間(IMAP介面)上傳資料庫的delta。gmail是以tls(ssl)方式登入,安全性無虞。若要再加密也不是問題。gmail的免費空間至少有7G,delta大小大概百k左右。script大小不過10k,四百行上下。
個人目前使用的HIS也是自己以python撰寫,功能雖然陽春但該有的都有。使用的開源函數庫為:
使用者介面:pyqt
資料庫:sqlite
pdf 輸出:reportlab
近端備份:rsync
可以自動上傳、申報、近\遠端備份、自動更新藥品處置資料庫(從健保局網頁),pdf 輸出各種標準表單與簡單查詢等。主要執行檔大小不過200~k,六千多行程式。目前缺乏的是電子病歷系統,但如果想增加這部份的話應該不是問題。診所使用的主機是eeebox,作業系統是winxp sp3。近端備份的話用到了eeebox 裡面內建的SD讀卡機槽,插入一片2G的SD做HIS的備份。一直很希望能把作業系統換到linux上,畢竟python程式原本就是跨平台的;無奈健保局的api只有windows版本(除非reverse engineer...)。
研究過幾個國外的開源HIS:medical,openemr,openvista,openmolar, gnumed,發現若要應用在國內的環境都必須大更動--只能說,台灣健保的申報、上傳格式、IC卡使用與官方思維(說好聽點)獨樹一格...
本身對python也有點興趣(純粹是newby and hobbyist),不知使用的Python 版本多少?
call 健保局api 是用FFI ,使用到python公用的程式庫嗎?可以share一些script參考? (偽可愛)
Re: 異地備份
發表於 : 週三 2月 23, 2011 3:21 pm
由 cytu
squeak 寫:
本身對python也有點興趣(純粹是newby and hobbyist),不知使用的Python 版本多少?
call 健保局api 是用FFI ,使用到python公用的程式庫嗎?可以share一些script參考? (偽可愛)
開發時使用的是python 2.6.5(我在ubuntu 10.04底下),2.6+應該都可以使用。
還沒有使用python 3的原因是裡面繪圖的函數庫matplotlib還只支援到python 2。
使用python 2.5+內建的ctypes呼叫健保局的dll,範例如下:
from ctypes import *
cs = windll.LoadLibrary('CsHis.dll')
def mid(buf, ini, n):
return str(buf.raw)[ini - 1 : ini - 1 + n]
# 取得 IC 卡基本資料
buf = create_string_buffer(78)
r = cs.hisGetRegisterBasic(buf, byref(c_int(sizeof(buf))))
l = [mid(buf, 1, 12),
mid(buf, 13, 20).decode('cp950'),
mid(buf, 33, 10),
mid(buf, 43, 7),
mid(buf, 50, 1),
mid(buf, 51, 7),
mid(buf, 58, 1),
mid(buf, 59, 2),
mid(buf, 61, 1),
mid(buf, 62, 7),
mid(buf, 69, 2),
mid(buf, 71, 7),
mid(buf, 78, 1)]
cardno, name, pid, birthday, gender, issue, valid, insurertype_code, state_code, expiry, avail, newborn, newbornmark = l
(天啊,縮排不見了...)
Re: 異地備份
發表於 : 週三 2月 23, 2011 3:44 pm
由 chichang
cytu 寫:
有開源的HIS固然不錯,但目前既有各資訊廠商對此態度自己則是不抱希望。就個人所知幾家大廠商仍採用dBase相關的舊資料庫技術(這是系統難以維護、新功能難以實現、bug難以根除的最重要原因之一),若要改成目前主流的sql資料庫工程浩大,這幾家大廠商能撐多久不動就不動,不變應萬變,只要用戶不跑掉就行;基層院所用戶也大部分都是從一而終,少有更換HIS之舉。開源HIS會撼動這些大廠商的利基,如果各廠商資料庫轉換順利的話--他們當然會抵抗。當然,對有實力的小廠商或程式設計者來說這正是大好機會。
事實上,舊有資料是否應該全數轉換,我有另外的想法。
1.
只要能把客戶的基本資料轉出來,就事情完成一半了。舊的HIS就讓他中斷服務,停留在某一點,留下一台電腦當作查詢依據。其他病歷可以頭建立起。我相信這一點就能讓目前的HISs坐下來和全聯會討論公版的可行性。
2. 由 UBUNTU 的成功案例可以發現,即使是開放原始碼,要能不斷更新,錢還是最重要的。
台灣的醫療市場,老實說不大。醫界還是得出一些錢,這一點必須先有共識。
3. 說服修改法令,取消時間的簽章。這個是最無理的要求。已經碰到好幾次是因為這一部份的網站出問題,連帶無法做簽章的時間超過24小時。(就星期六給你連不上)
Re: 異地備份
發表於 : 週三 2月 23, 2011 4:25 pm
由 cytu
chichang 寫:
3. 將 HIS+EMR 導向 WEB-BASE 的應用。這可以有效的避免壟斷。
4. 說服修改法令,取消時間的簽章。這個是最無理的要求。已經碰到好幾次是因為這一部份的網站出問題,連帶無法做簽章的時間超過24小時。(就星期六給你連不上)
健保局笨(寬大為懷?)的地方之一就是這整套上傳/申報機制,有力工具在手卻不使用,該改進的地方又遲不改進(整套健保資訊網路服務系統):
1. 為何需要24小時之內上傳?從IC卡與讀卡機取得的安全簽章就已經是一切了啊,又不能更改!
2. 為何需要編預算發放「改善IC卡上傳品質輔助款」?把現有申報機制廢除,以上傳資料為準就行了啊!
3. 目前的上傳系統還真是*&^*%*,結果正確與否無法馬上知道,也沒有api可供HIS使用,還要用戶三不五時連上健保資訊網服務系統去手動查詢...
導向web-base最大的阻礙就是現有的ic卡與讀卡機操作機制,如果沒有人開發ActiveX或Java元件就沒轍了(前面已有大大提到過)-- 如果ic卡計畫不是封閉程式碼的話這些問題早就可以解決了。還有,現在的ic卡根本沒有額外作用,效用與一張護貝的條碼卡片沒兩樣--前中研院資訊所李德財所長就這麼建議過,但健保局執意進行,幾十億就這麼白花了。
一篇網路舊文寫的最好:
http://www.tahr.org.tw/site/PDPA/her.htm
Re: 異地備份
發表於 : 週三 2月 23, 2011 4:32 pm
由 amigo
健保局花錢如流水,不僅花人民的納稅錢,
也開一些單子叫醫療院所繳保護費給中華電信還有資訊廠商
健保局花這些錢一點都不心疼,
因為,都不是從自己口袋掏出來的。
Re: 異地備份
發表於 : 週三 2月 23, 2011 4:39 pm
由 squeak
依該文原意,應廣設公眾讀寫設備,意義是說這是權利、義務清清楚楚的問題。
費用申請多少是民眾與保險機構之間的事情,在台灣卻變成是醫療院所的責任,還會被抽審、放大、核刪,和點值… 世界奇蹟。
Re: 異地備份
發表於 : 週三 2月 23, 2011 5:09 pm
由 squeak
cytu 寫:squeak 寫:
開發時使用的是python 2.6.5(我在ubuntu 10.04底下),2.6+應該都可以使用。
還沒有使用python 3的原因是裡面繪圖的函數庫matplotlib還只支援到python 2。
使用python 2.5+內建的ctypes呼叫健保局的dll,範例如下:
from ctypes import *
cs = windll.LoadLibrary('CsHis.dll')
def mid(buf, ini, n):
return str(buf.raw)[ini - 1 : ini - 1 + n]
# 取得 IC 卡基本資料
buf = create_string_buffer(78)
r = cs.hisGetRegisterBasic(buf, byref(c_int(sizeof(buf))))
l = [mid(buf, 1, 12),
mid(buf, 13, 20).decode('cp950'),
mid(buf, 33, 10),
mid(buf, 43, 7),
mid(buf, 50, 1),
mid(buf, 51, 7),
mid(buf, 58, 1),
mid(buf, 59, 2),
mid(buf, 61, 1),
mid(buf, 62, 7),
mid(buf, 69, 2),
mid(buf, 71, 7),
mid(buf, 78, 1)]
cardno, name, pid, birthday, gender, issue, valid, insurertype_code, state_code, expiry, avail, newborn, newbornmark = l
(天啊,縮排不見了...)
Thanks a lot, it's really helpful as a first step.
The encoding in the second field for name you use is cp950, why? can we use big5 ?
BTW, is the CsHIS.dll written in C or C++, the function call datatypes are in accordance with c-onvensions ? I knew some languages don't support C++ FFI. can you use java JNI to do that?
how many apis are there for NIH
Re: 異地備份
發表於 : 週三 2月 23, 2011 5:16 pm
由 chichang
CP950是微軟自訂的繁體中文編碼方式,是由Big5擴充而來,例如"堃"這個字就是在Big5中沒有的。
cp950 的字集
http://zunedevice.wordpress.com/2009/03/31/ch-tr/
Re: 異地備份
發表於 : 週三 2月 23, 2011 5:19 pm
由 chichang
有 cytu 出現,感覺公版的 HIS 以及 EMR 頗有希望達成。
Re: 異地備份
發表於 : 週三 2月 23, 2011 6:07 pm
由 cytu
squeak 寫:
Thanks a lot, it's really helpful as a first step.
The encoding in the second field for name you use is cp950, why? can we use big5 ?
BTW, is the CsHIS.dll written in C or C++, the function call datatypes are in accordance with c-onvensions ? I knew some languages don't support C++ FFI. can you use java JNI to do that?
how many apis are there for NIH
1. 應該可以,不過big5跟cp950的字集不完全相同...
2. CsHis.dll應該是用 __stdcall (winapi convention) 而不是 __cdecl。用關鍵字 java __stdcall 搜尋 google 就有一大堆 snippets,應該可以解決這個疑問...
3. 算了一下,3.1版有62個api,常用的大概不到二十個。
Re: 異地備份
發表於 : 週四 2月 24, 2011 2:46 am
由 Weily
chichang 寫:有 cytu 出現,感覺公版的 HIS 以及 EMR 頗有希望達成。
剛才用PM邀請cwhsueh加入電腦資訊小組,內容如下,現在也誠摯地邀請cytu等電腦高手加入。
更多不同領域的高手互相合作,我相信台灣醫界沒有做不到的事。
電腦資訊小組目前是全聯會暫時性的任務編組,從去年上立法院要求VPN降價時開始成軍,歷經電子病歷(EMR)、醫令寫入IC卡等事件的討論與抗爭。
加入小組並沒有什麼責任與義務,更沒有酬勞與福利,頂多是有空應邀到全聯會開會時領出席費與便當而已。
平時就是用email加入
https://groups.google.com/group/TMA-IT?hl=zh
不定期分享、討論。當全聯會有事相商時,提出意見供理事們參考,如是而已。
如何,是否可以提供email,以利小組提供相關資料與討論?
Re: 異地備份
發表於 : 週四 2月 24, 2011 10:52 am
由 squeak
建議有各個學會的開業小組或資訊小組成員參與,讓每個學會都有代表出席發聲,並了解公會與健保局之間的互動情形。
以免有些較與世無爭或弱勢的科別,被邊緣化。
其實有實力撰寫程式的人,是不會想去寫健保IC的程式,一點好處也沒有,還會惹來一身腥和滿肚的火,倒不如寫些遊戲、網路程式或是像iPad, Android的應用程式,才有前途與實用性。
Re: 異地備份
發表於 : 週四 2月 24, 2011 10:53 am
由 yapi
感謝各位資訊高手的討論與努力
看這討論串 忽然感覺好像回到醫學院裡上課的情境:單字都懂 連在一起卻不懂 (我不依)
Re: 異地備份
發表於 : 週四 2月 24, 2011 11:26 am
由 amigo
公版HIS如果能夠誕生,而且能夠有效地持續更新,真是功德無量
Weily老大加油,眾高手們加油
Re: 異地備份
發表於 : 週四 2月 24, 2011 4:53 pm
由 jadeDragon
異地備份 (咦) 這東西能吃嗎
個人覺得不需要 (打小人)
備份 : 我每天下班前 都備份一次到隨身碟
即時備援 :
(以前想過
如果是停電以外的問題,用台筆電解決)
但
有次下午真的遇到突然停電
那台小小不斷電
多年從沒注意它存在,
電池應該早掛了! (失魂)
我正想把筆電拿出來灌耀聖 (爽)
才想到 隨身碟內的沒早上的看診資料 (咦)
....
如何銜接兩邊 (無盡漩渦)
...
不曉得有哪套看診係統?
可以把停電時刻看的資料
在恢復供電後
傳回原看診電腦
Re: 異地備份
發表於 : 週四 2月 24, 2011 5:16 pm
由 chichang
jadeDragon 寫:
但
有次下午真的遇到突然停電
那台小小不斷電
多年從沒注意它存在,
電池應該早掛了! (失魂)
我正想把筆電拿出來灌耀聖 (爽)
才想到 隨身碟內的沒早上的看診資料 (咦)
....
如何銜接兩邊
請每節看診完就備份資料
如果是看診到中途突然停電的情況下,那只能指望有發電機了。沒電這時候連異地備援也派不上用場。
不過我可以提供一個好消息,資料要整合在一起對電腦公司來說是 小 case。請先聯絡電腦公司,看他們怎麼教你。
不過通常都是:先紙上作業,事後補登入
筆電裝好舊資料做什麼用?拿來查舊資料。拿同藥時不會突槌 (樂奔)
異地備份要預防的主要不是你模擬出來的這種狀況。電子資料很脆弱,多一份備份總是好的。