中國附醫是臺灣少數很早開始擁抱微服務架構的大型企業。早在5年前,一位IT老將不再做新技術旁觀者,親自跳下海,發起了臺灣醫院少見的醫療資訊系統(HIS)微服務再造計畫。
2015年,微服務架構已經在國外掀起波瀾,這個新架構,翻轉了過去龐大單體式架構的做法,將應用程式更細緻切分不同用途的服務,好在雲端環境中水平擴充,從容應對突如其來的流量。容器技術的興起,更助長微服務發展,應用程式可利用輕量級虛擬化容器,打破對底層基礎架構的依賴,同時提高重複使用性。當時,不少網路科技公司如Uber、Netflix都積極擁抱微服務,也帶動不少廠商爭相推出微服務管理產品。
這股風潮,在2016年從新創圈吹進了企業圈,在國外,已有不少企業開始大膽嘗試,如花旗銀行就在該年啟動IT架構微服務化的系統轉型。但是,在臺灣,仍然只有網路科技公司或新創擁抱微服務架構,少有大型企業身影,更多企業只是觀望。
對大型企業而言,長年累積的大型IT系統,包袱累累,要改採微服務架構,得先將龐雜的系統砍掉重練,重新開發成本和風險都難以估計,尤其,對有點歷史的醫院來說,更是如此。
醫院主要核心系統是HIS,就像醫院的神經系統,舉凡病患住出院、門診掛號、領藥,還是抽血檢查、拍X光片,或是人事差勤、洗衣房管理等行政作業,都靠它。醫院HIS系統通常由數十套,甚至上百套子系統組合而成,這些子系統過往大多是採取單體式架構的設計,中國附醫的HIS系統,就是如此。
發起再造的中國附醫資訊室副主任孫培然形容,單體架構的應用程式,將許多功能綁在一起,涵蓋了所有業務邏輯,程式間的相依性非常高。一旦要更新或開發功能,就得暫停服務,還無法處理特殊儲存需求,也難以採用新語言和新架構。「這種單體式架構,很難在未來10年發揮作用,」他說。
孫培然歷經過多次醫院IT的大改造,20多年前一手將童綜合醫院的IT系統改為當時先進的3層式架構,後來他進入中山附醫後,動手將委外開發的Delphi舊系統砍掉重練,換成主流的C#,更重新打造為隨插即用的模組化設計,來提高開發彈性。
到了中國附醫,他觀察到,伴隨著容器和雲端技術,微服務技術在國外開始走紅。多年開發經驗告訴他:「系統要上雲,雲端原生是未來趨勢!」而他信奉的模組化開發理念,正好能與這些技術搭配結合。
於是,他向上爭取IT轉型機會,第一步先以微服務架構,來翻新老舊的HIS,趁機讓IT團隊熟悉開源管理工具,然後再來推動上雲。他帶領了20位IT同仁,在2017年展開了HIS微服務再造計畫,要來一步步打造中國附醫第四代的HIS系統。
中國附醫資訊室副主任孫培然發起第四代醫療資訊系統(HIS)優化再造計畫,要以微服務架構重新設計核心HIS系統,打破單體式架構資源難以調度、功能開發和更新不易的限制。
盤點系統,歸納8大類作為微服務開發依據
首先,他們盤點了中國附醫HIS,大大小小共有500多套子系統,將這些系統分為8大類,作為微服務架構開發的整合目標。
孫培然解釋,這8大類系統,不只是為了微服務開發而設置的分類,更為了日後中國附醫體系雲的發展而規劃。未來,他們要將每一類都發展成一朵私有雲,可以支援體系下各醫院的需求,比如,他們已將後勤補給管理系統體系化,統一打造成一套系統,可供各地分院採購之用,未來計畫將這套系統上雲,也打算利用公有雲搭配私有雲,來提供備援。這就是孫培然口中的HIS 4.0優化改造規畫。
中國附醫的運用微服務架構的作法,還可以分成兩種,改造和優化。改造指的是改用微服務技術重新開發出原本功能的系統,而優化就是保留原有的系統,但透過API介接原有系統和新的微服務化系統,進行資料同步。
或者,過去委外開發或是穩定運作的系統,也會考慮採取優化而非改造的策略。孫培然指出,醫療核心系統傾向重新開發,而較少變化的周邊系統,則採取介接策略。
比如,「醫師臨床整合系統」就是採取改造策略的做法,整合了原本門診、急診和住院相關的醫囑系統,先把所有醫囑系統相關操作的介面統一,再會根據不同科別,重新設計使用者介面。並且,他們將原有系統的共用功能獨立出來,打造成微服務共用元件,以利重複使用。
電子病歷整合查詢系統則是優化為主。醫師、護理師、檢驗師原本各自有套查詢檢驗報告系統,現在改以單一入口來存取原本散落各處的子系統,並以微服務介接不同功能之間的運作,成為統一查詢操作介面。
其他像是護理整合照護系統、檢查治療整合系統、後勤補給管理系統、行政整合系統、教學研究相關系統,以及用來存放健保和病人安全規則引擎的病人安全管理系統,也都採取了優化和改造這兩大策略來整合。
由於系統與醫療流程息息相關,改造新系統時,中國附醫也格外重視流程重整,「先優化流程,再整合系統。」孫培然表示。比如,中國附醫先將原本需要大量人工配送的門診針劑藥品運送流程,改為全自動的藥品管理流程,然後再將新流程系統,整合到微服務架構下的護理整合照護系統。
3階段定調系統再造藍圖,改採Typescript和JSON打下上雲基礎
將500套子系統分成8大類後,中國附醫進一步制定HIS再造時程,分為三階段來完成系統的優化改造。
第1階段的目標,是要利用微服務來優化5大類系統的部分系統,像是醫師臨床整合系統中的住院醫囑相關係統、護理整合照護系統中的住院護理相關系統、電子病歷整合查詢系統,以及半數的病人安全管理系統和衛藥材庫管理系統(即後勤補給管理系統)。
第2階段改造則鎖定急診,將醫師臨床整合系統中的急診醫囑相關系統、護理整合照護系統中的急診相關系統微服務化,再將剩餘的病人安全管理系統、衛藥材庫管理系統完成微服務化,同時完成所有檢查治療整合系統的微服務化工作,接著開始改造部分行政整合系統。
最後一個階段,則要將醫師臨床整合系統、護理整合照護系統中的門診相關系統微服務化,並完成行政整合系統和教學管理系統的優化工作。
中國附醫於2017年訂出這份系統開發和上線時程表後,先逐步將舊有系統轉為Web應用,像是將開發微服務後端的C#程式語言,改為Typescript來開發,在資料格式上,也改用網頁慣用的JSON格式作為主要格式。這個Web化改造,對中國附醫後續的上雲計畫來說,是非常關鍵的一步。
至今,除了開發語言和資料格式的改變,他們也完成第1階段範圍內的系統微服務化,更導入Google雲端的混合雲和多雲管理平臺Anthos,來自動監控部署在開源平臺Kubernetes(簡稱K8s)上的微服務。
有了基礎架構的改善,中國附醫也陸續上線微服務新系統,讓新舊系統至少並行數個月,確認醫護使用者熟悉新系統後,再下架舊系統。2021年底,第1階段正式劃下句點,邁入第2階段。雖然中國附醫並未明確訂出接下來兩階段的預計完成時間,這也給開發團隊不少彈性,好來邊執行邊修正。
制定基礎架構時程表,明年要強化K8s資安
不只制定系統開發和上線藍圖,孫培然也揭露一張基礎架構的中長期規畫時程表。這個時程表一樣分為3階段,首先是搬遷與優化階段,其中,中國附醫導入了Anthos管理平臺、開源服務網格工具Istio Service Mesh,也完成了既有服務轉移、優化維運整合和備份作業。該階段的整體作業,在2021年大功告成。
第2階段聚焦於混合雲和可靠性,也是2022年正進行的任務,包括建置Google雲端平臺的災難復原站點(DR Site)、導入主流的開源維運平臺機制GitOps ACM,以及整合混合雲服務。
而2023年要完成的第3階段,鎖定了安全性,要強化K8s原生安全性,如加強RABC授權機制,另外也要導入OICD驗證通訊協定,以及強化Istio等工具的安全機制。
不論是系統開發藍圖,還是基礎架構時程表,中國附醫在這兩大方向的指引下,陸續實現HIS微服務化。
容器是微服務最佳拍檔,速度快、不怕死又易移動
自計畫發起至今,經過幾年琢磨,中國附醫也體驗不少微服務的好處,像是可跨語言、跨平臺開發,能重新分配系統資源,來支援動態擴展。而微服務小巧的模組化,容易重新組裝,還可藉API在後端互相調用。
在這之中,孫培然最有感的微服務優勢,是搭配輕量級虛擬化容器技術維運管理時,「不會死」的特性。
因為,應用程式打造成微服務,放置於顆粒度更細緻的容器,部署在K8s環境中,就能享有K8s的資源自動調度好處,有別於傳統以硬體為中心的架構,資源調度被硬體綁住,不易動態調整。這也是微服務的容錯優勢,當系統發生故障時,應用程式不會受到影響,依然能繼續運作。
容器部署還有快速的好處。不論是功能發布、修改、更新還是移植,都能快速完成,這也是他力推微服務搭配容器的原因。
下一步:打造中臺、發展體系醫療雲
如同孫培然先前的預告,中國附醫HIS微服務再造,一方面是優化IT架構,一方面是為中國附醫體系醫院的醫療雲打基礎。
為實現這個目標,中國附醫也建置一套資料倉儲,來儲存以往單獨設置的臨床資料庫資料,像是中風資料庫、外傷資料庫等。他們要將HIS內外部資料整合在不同資料倉儲,作為資料中臺,這些中臺,就是未來中國附醫醫療體系雲的資料重心,協助發展更多資料驅動的服務。
中國附醫HIS 4.0系統三階段優化改造
第一階段 已於2021年完成
醫師臨床整合系統(住院醫囑相關系統)
護理整合照護系統 (住院護理相關系統)
電子病歷整合查詢系統
病人管理安全系統(上)
衛藥材庫管理系統(上)
第二階段 進行中
醫師臨床整合系統(急診醫囑相關系統)
護理整合照護系統(急診護理相關系統)
檢查治療整合系統
病人安全管理系統(下)
衛藥材庫管理系統(下)
行政優化整合系統(上)
第三階段 規畫中
醫師臨床整合系統(門診醫囑相關系統)
護理整合照護系統(門診護理相關系統)
行政優化整合系統(下)
教學研究相關系統
備註:未上線新系統,則以新舊系統橋接同步資料。
資料來源:孫培然,iThome整理,2022年4月
中國附醫HIS 4.0優化改造策略
中國附醫資訊室在2017年發起醫療資訊系統第四代(HIS 4.0)優化改造計畫,要以微服務架構翻新HIS。首先,他們梳理自家HIS核心和周邊系統,將這500多套子系統分為8大類,如醫師臨床整合系統、電子病歷整合查詢系統、病人安全管理系統等,按「優化」和「改造」兩大策略來再造。比如,行之有年、少有變動的系統,如會計系統,就採優化策略,直接以RESTful API介接新HIS,而核心系統就以微服務架構設計,如將原本門診、急診、住院的醫囑系統整合起來,並打造微服務共用元件,以利重複使用。
資料來源:孫培然,iThome整理,2022年4月
中國附醫HIS 4.0基礎架構發展藍圖
● 2021年轉移和優化(已完成)
建置Anthos管理平臺、導入Istio服務網格工具、轉移既有服務、優化維運整合、備份
● 2022年混合雲和可靠性(進行中)
建置GCP災難復原站點(DR Site)、導入GitOps ACM、整合混合雲服務
● 2023年強化安全(規畫中)
強化K8s原生安全(RBAC驗證機制)、OIDC身分驗證整合、其他(如Istio安全功能)
資料來源:孫培然,iThome整理,2022年4月
熱門新聞
2024-11-10
2024-11-12
2024-11-10
2024-11-11
2024-11-11
2024-11-11