高明,石磊,何健
1. 解放軍第205醫院 信息科,遼寧 錦州 121000;2. 解放軍第210醫院 信息科,遼寧 大連 116011
自2002年10月中共中央、國務院發布《關于進一步加強農村衛生工作的決定》以來,新型農村合作醫療已在全國穩步地開展。2017年國家衛計委、財政部下發了《全國新型農村合作醫療異地就醫聯網結報實施方案》,據此遼寧省衛計委于2017年11月印發了《遼寧省參合農民工、參合雙創人員、參合異地長期居住人員異地就醫聯網即時結報實施方案》,要求到2017年底要保證省內每個統籌區均有能為異地居住人員提供聯網即時結報服務的新農合定點醫療機構,全面實現我省異地居住人員跨省異地就醫聯網結報[1]。
目前,省內新農合患者已經建立起完善的網絡轉診結算系統。但是,跨省轉診患者始終采用返回參合地手工結算的辦法。其缺點是需要患者墊付費用、報銷周期長,對于經濟狀況并不寬裕的農村患者來說無疑是從經濟上和精力上都增加了患者的負擔。為了解決這些問題在國家相關部門密切協作下開展了本次聯網結報工作。我院被確定為本次新農合跨省聯網結報定點醫院。截至2018年1月在國家衛計委和省衛計委主持下,市平臺、省平臺以及國家平臺的開發測試工作順利完成。為了最終實現跨省聯網結報工作,各定點醫院必須開發跨省轉診結報系統與各級平臺聯網,這也是整個聯網結報系統的末端落實。根據市平臺的要求該系統功能上應包括住院登記、撤銷住院登記、費用上傳、費用撤回、出院結算、退費及各類報表查詢打印等。為了確保系統的快速投入應用及與HIS系統其他模塊兼容,其操作流程和操作方法不應與醫院目前運行的“軍衛一號”住院登記、住院收費等子系統有太大差別。數據結構和操作數據規范上也應與“軍衛一號”相關規范一致[2]。
鑒于“軍衛一號”各個子系統均使用PowerBuilder語言作為開發工具,其版本通常是9.0或更低版本,我們仍然選用PowerBuilder作為本系統的開發工具,但為了更好的支持文字編碼的轉換以及更強大的WebService和XML支持,我們使用的是PB 11.5版本。
2015年我院自行開發了城鎮職工基本醫療保險管理系統,具備一定的技術積累,其系統總體架構和流程均可作為本系統的借鑒。但是由于市級平臺采取了與城鎮職工基本醫療保險系統完全不同的技術方案,使得本系統的開發又不能完全照搬醫保系統的做法。其必須解決的技術難點主要有兩點:
一是醫院HIS系統與市級平臺接口采用WebService方案。WebService是一種系統集成的方式,它是一個遠程調用接口,允許其他系統通過這個接口訪問本系統特定的業務邏輯和服務,從而得到相應數據的應用程序組件,其通信協議是簡單對象存取協議(Simple Object Access Protocol,SOAP)。本系統WebService由市級平臺提供,醫院HIS系統調用其函數完成各項業務。這與醫保管理系統的動態庫方案有很大不同。PB 11.5提供了兩種調用WebService的方式,一種是通過PB的WebService代理向導來讀取WebService的描述語言文檔WSDL(Web Service Description Language)并對其進行解析,自動生成相應的對象和結構;另一種方法是使用第三方工具(如SoapUI或SoapToolkit等)抓取WebService的格式。為了使程序結構更加簡潔,我們選用了代理向導的方法來加以解決[3-6]。
二是新農合跨省結報系統需要與新農合市平臺、省平臺以及國家平臺進行數據交換,這就涉及到要統一數據交換標準的問題。按照國家平臺的統一要求新農合跨省結報數據交換統一采用擴展型可標記語言(XML),要求符合XML 1.0標準,文字編碼采用UTF-8標準。PB支持將XML導入到數據窗口進行解析以及將數據窗口導出為XML文件的方法。但是在測試中我們認為該方法難以滿足本系統的需求,為了增加系統的靈活性和可靠性,我們選擇了重新編寫一個NDEMLXML對象的方法來解決這一難題。
與醫保管理系統常用的通過字符串進行數據交換的方式不同,新農合跨省數據標記格式采用新農合數據標記語言(New Rural Cooperative Medical Data Exchange Markup Language,NDEML)。該語言格式文件用于實現轉診結算數據的表達,通過交換報文來統一描述各種不同類型的數據。如下是預結算交易(preInpPay)的入參報文示例(由于報文體較長這里只保留了部分有代表性的內容):


其中<NDEML>標識是語言標識。<header>用于標識報文頭部,報文頭部內容包括報文創建時間、報文交易類型和報文傳輸路由等信息。<body>用于標識報文體,報文體包括<data>和<extendData>兩部分,主要的交換數據在<data>部分中,主要是完成交易所需的患者自然信息、醫療信息以及費用信息等,本例中主要是患者的自然信息、參合地信息、出院科室以及入院診斷等。各類交易的報文格式一致,其差異主要體現在報文體的<data>部分中[7]。
由于新農合跨省轉診平臺端文字編碼采用UTF-8標準,而PB默認的文字編碼是ANSI,所以在本地構造的XML文件需要進行轉碼后再上傳,否則平臺端解析后中文字符將出現亂碼。我們采用PB 11.5的類型轉換函數blob來實現,該函數有兩個入參,第一個是要轉換的字符串,第二個是編碼格式,選擇EncodingUTF8!。
由于通過數據窗口直接轉換方法存在一定的局限性,我們選擇采用面向對象的方法編寫一個NDEMLXML對象,為NDEMLXML對象設計了添加子節點(addNode)和刪除子節點(deleteNode)方法,以實現靈活創建多層次NDEML報文。每個節點都具有Name和Text屬性。Name屬性在對象構造時賦值且不可更改,其對應的是NDEML中節點的名稱。Text屬性對應NDEML節點的值,設計了setText和getText方法分別用于賦值和讀取。還為根節點設計了導入(Import)和導出為字符串(Export)方法,導入方法用于對平臺端返回的XML文件進行解析,導出方法用于將構建的NDEMLXML對象導出為XML文件上傳給平臺端[8-9]。
本系統與“軍衛一號”其他子系統是協調工作的一個有機整體。系統由前臺應用程序和后臺應用程序兩部分組成,前臺應用程序由操作員運行,完成入院登記、各種管理監控、統計分析以及出院結算功能。后臺應用程序部署到服務器上自動運行,完成費用上傳和退費處理功能,其整體架構如圖1所示。

圖1 新農合跨省聯網結報系統架構
系統設計遵循“軍衛一號”原有的數據操作規范,以確保和現有的其他應用程序及數據統計和上報程序兼容。操作界面上沿用“軍衛一號”住院登記和住院收費程序的用戶界面和操作方法,符合操作員的操作習慣,只需簡單培訓即可掌握。住院結算功能操作界面,見圖2。

圖2 住院結算操作界面
本系統功能上分前臺應用程序和后臺應用程序兩部分。
4.1.1 住院登記
為了避免可能發生的網絡故障以及患者轉診審批延誤對患者的救治的影響,本系統通過先按“軍衛一號”住院登記方法按自費進行住院登記,再進行費別轉換的方法進行入院登記。其好處是如果網絡出現故障或轉診審批手續延誤可以先行按自費住院治療,待網絡恢復或審批完成后再進行費別轉換。費別轉換的方法是通過患者身份證號調用市平臺referralSheetSeek接口查詢轉診單,對接口返回的XML數據進行解析可以獲得患者的自然信息、轉診信息以及參合信息。根據轉診單獲得的信息以及住院登記信息構建XML文件,并調用uploadInpRegister接口完成各級平臺入院登記交易,交易成功后將再住院主記錄表(pat_visit)中的費別改為“新農合”,完成住院登記。圖3所示為住院登記用戶操作界面。

圖3 住院登記操作界面
由于“軍衛一號”住院系統中患者多次住院時采用統一病案號,實際應用中通常用ID號(patient_id)加住院次數(visit_id)來唯一標識一次住院。農合跨省轉診平臺則規定每次住院都有一個唯一的住院號來標識一次住院,為此我們沿用了我院醫保管理系統的就診流水號來充當住院號,及其組成規則是“I”+ID號+住院次數[10-11]。
4.1.2 撤銷住院登記
撤銷住院登記相當于“軍衛一號”的退院操作,所不同的是本系統除了要完成HIS本地的退院操作外,還要完成平臺端的撤銷操作。所以系統自動先根據住院流水號調用市平臺cancelInpRegister接口完成各級平臺的住院登記撤銷,成功后再修改“軍衛一號”數據庫住院主記錄表(pat_visit)中的費別為“自費”,如果失敗則進行回滾以保證數據的一致性。然后再根據實際情況選擇自費結算或按自費退院流程進行退院操作。
4.1.3 住院結算
結算的操作方法和“軍衛一號”住院收費的操作方法完全一致。系統按照“軍衛一號”的標準進行必要的條件判斷后,自動調用市平臺preInpPay接口進行預結算,并顯示結算結果,包括各類報銷金額、起付線、年度累計報銷金額等。操作員確認無誤后進行確認,系統調用InpPay接口進行平臺端結算確認,成功后再按照“軍衛一號”數據操作規范完成HIS端結算數據的寫入。
由于“軍衛一號”只記錄交易的支付方式如:現金、支票等,但是,農合的支付信息更詳細,所以為了便于統計和對賬,我們在HIS數據庫中增加了新農合支付信息表以記錄新農合支付信息,包括農合補償費用、大病補償費用、補充醫保報銷等。既不影響“軍衛一號”的數據統計、上報及其他子系統的運行,又便于對新農合費用信息進行統計分析。
通過住院結算功能,患者只需支付自付的部分費用,而農合報銷的各類費用由醫院先行墊付,然后再由醫院與農合管理部門結賬。
4.1.4 已上傳費用撤回
前臺應用程序提供了已上傳費用撤回功能,該功能有兩種撤回模式:一種是對單條費用撤回,一種是全部撤回。單條費用撤回用于個別減免費用的處理。全部撤回功能用于當平臺端費用與HIS端不一致且難以查明原因時,全部撤回重傳。
費用明細撤回時先調用平臺端clearInpDetails接口完成平臺端撤回操作,成功后住院費用明細(inp_bill_detail)中相應的記錄的上傳狀態字段更改為“未上傳”。
4.1.5 撤銷結算
撤銷結算相當于“軍衛一號”的收據退費操作,但是除了完成HIS系統退費操作外還要完成平臺端的撤銷結算,所以系統自動先按照“軍衛一號”的住院收據退費數據操作規范進行退費操作,為了保持與平臺端的數據同步先不對數據庫事務進行提交。調用平臺端的backPay接口完成各級平臺端的結算撤銷,如果交易成功則提交本地數據庫事務,如果失敗則對本地數據庫事務進行回滾。
4.1.6 監控和統計分析
前臺應用程序提供了對患者費用總額、費用補償情況、藥占比、耗材占比等數據的監控功能。還設計了患者費用補償單、墊付資金撥付申請表、費用補償明細表等多種統計報表。
后臺應用程序用于自動上傳患者費用明細,避免在患者出院結算時上傳費用,提高結算速度。具體方法上沿用了我院醫保系統開發時使用的方法,在住院費用明細表(inp_bill_detail)上添加了上傳狀態和備注兩個字段,上傳狀態默認值為“未上傳”。程序運行時提取所有在院新農合跨省患者的未上傳或上傳失敗費用明細。逐條調用平臺端uploadInpDetails接口上傳,如果上傳成功則將上傳狀態狀態更改為“已上傳”,如果上傳失敗則將狀態修改為“上傳失敗”并在備注字段中記錄失敗原因,并生成日志文件備查。醫保科管理人員通過閱讀日志可以及時掌握患者費用上傳情況,發現上傳失敗現象及時查找原因并予以解決,避免患者結算時才發現上傳失敗,保證患者快速完成結算。市級定點醫院新農合跨省患者藥品和診療項目目錄沿用城鎮職工基本醫療保險的藥品和診療項目目錄,城鎮職工基本醫療保險的藥品和診療項目目錄中甲類和乙類項目即為農合可報銷范圍,丙類為不可報銷范圍[12]。
該系統自今年4月份投入運行以來已成功完成了大量患者聯網結報工作,系統運行穩定、數據準確、操作簡單、數據統計方便,主要體現在以下幾個方面:
(1)實現新農合跨省轉診患者在我院一站式就診和報銷補償,避免了以往患者前往參合地報銷的奔波和不便,從根本上改變了跨省轉診報銷手續相對比較復雜,耗時費力,容易出現差錯等問題[13]。
(2)采用了自動上傳費用的方式,大大縮短了患者出院結算手續的辦理時間,一般情況下可在3 min之內完成,節省了患者的時間也提高了醫院的工作效率。
(3)方便了醫院職能科室對跨省農合轉診患者的管理,促進了各類農合患者管理規定的落實,提高了醫療行為的合理性和規范性,提高了我院在其他省市的知名度及醫療收入。
(4)實現了與平臺端更深層次的數據共享,確保了數據的準確無誤,各類相關統計數據更加翔實可靠。
(5)先按自費辦理住院再進行費別轉換的方式,避免了因網絡故障或轉診審批問題耽誤患者救治的情況,使“以患者為中心”的理念真正落到實處。
本系統的開發和應用完善了HIS系統的功能,提升了醫院管理水平,同時也是國家新農合管理工作信息化的一個重要組成部分,標志著醫院與農合管理機構共同努力徹底結束了農合患者手工結算的歷史。目前階段新農合跨省轉診聯網結報系統在我院作為一個獨立系統運行,醫院同時運行的還有HIS系統的住院收費子系統,醫保聯網結報系統等,這種多系統同時運行的現狀也或多或少給系統操作人員帶來了一些麻煩,我們正在積極探索將不同系統進行整合的技術方案。