高明,石磊,何健
1. 解放軍第205醫(yī)院 信息科,遼寧 錦州 121000;2. 解放軍第210醫(yī)院 信息科,遼寧 大連 116011
自2002年10月中共中央、國務(wù)院發(fā)布《關(guān)于進(jìn)一步加強(qiáng)農(nóng)村衛(wèi)生工作的決定》以來,新型農(nóng)村合作醫(yī)療已在全國穩(wěn)步地開展。2017年國家衛(wèi)計委、財政部下發(fā)了《全國新型農(nóng)村合作醫(yī)療異地就醫(yī)聯(lián)網(wǎng)結(jié)報實(shí)施方案》,據(jù)此遼寧省衛(wèi)計委于2017年11月印發(fā)了《遼寧省參合農(nóng)民工、參合雙創(chuàng)人員、參合異地長期居住人員異地就醫(yī)聯(lián)網(wǎng)即時結(jié)報實(shí)施方案》,要求到2017年底要保證省內(nèi)每個統(tǒng)籌區(qū)均有能為異地居住人員提供聯(lián)網(wǎng)即時結(jié)報服務(wù)的新農(nóng)合定點(diǎn)醫(yī)療機(jī)構(gòu),全面實(shí)現(xiàn)我省異地居住人員跨省異地就醫(yī)聯(lián)網(wǎng)結(jié)報[1]。
目前,省內(nèi)新農(nóng)合患者已經(jīng)建立起完善的網(wǎng)絡(luò)轉(zhuǎn)診結(jié)算系統(tǒng)。但是,跨省轉(zhuǎn)診患者始終采用返回參合地手工結(jié)算的辦法。其缺點(diǎn)是需要患者墊付費(fèi)用、報銷周期長,對于經(jīng)濟(jì)狀況并不寬裕的農(nóng)村患者來說無疑是從經(jīng)濟(jì)上和精力上都增加了患者的負(fù)擔(dān)。為了解決這些問題在國家相關(guān)部門密切協(xié)作下開展了本次聯(lián)網(wǎng)結(jié)報工作。我院被確定為本次新農(nóng)合跨省聯(lián)網(wǎng)結(jié)報定點(diǎn)醫(yī)院。截至2018年1月在國家衛(wèi)計委和省衛(wèi)計委主持下,市平臺、省平臺以及國家平臺的開發(fā)測試工作順利完成。為了最終實(shí)現(xiàn)跨省聯(lián)網(wǎng)結(jié)報工作,各定點(diǎn)醫(yī)院必須開發(fā)跨省轉(zhuǎn)診結(jié)報系統(tǒng)與各級平臺聯(lián)網(wǎng),這也是整個聯(lián)網(wǎng)結(jié)報系統(tǒng)的末端落實(shí)。根據(jù)市平臺的要求該系統(tǒng)功能上應(yīng)包括住院登記、撤銷住院登記、費(fèi)用上傳、費(fèi)用撤回、出院結(jié)算、退費(fèi)及各類報表查詢打印等。為了確保系統(tǒng)的快速投入應(yīng)用及與HIS系統(tǒng)其他模塊兼容,其操作流程和操作方法不應(yīng)與醫(yī)院目前運(yùn)行的“軍衛(wèi)一號”住院登記、住院收費(fèi)等子系統(tǒng)有太大差別。數(shù)據(jù)結(jié)構(gòu)和操作數(shù)據(jù)規(guī)范上也應(yīng)與“軍衛(wèi)一號”相關(guān)規(guī)范一致[2]。
鑒于“軍衛(wèi)一號”各個子系統(tǒng)均使用PowerBuilder語言作為開發(fā)工具,其版本通常是9.0或更低版本,我們?nèi)匀贿x用PowerBuilder作為本系統(tǒng)的開發(fā)工具,但為了更好的支持文字編碼的轉(zhuǎn)換以及更強(qiáng)大的WebService和XML支持,我們使用的是PB 11.5版本。
2015年我院自行開發(fā)了城鎮(zhèn)職工基本醫(yī)療保險管理系統(tǒng),具備一定的技術(shù)積累,其系統(tǒng)總體架構(gòu)和流程均可作為本系統(tǒng)的借鑒。但是由于市級平臺采取了與城鎮(zhèn)職工基本醫(yī)療保險系統(tǒng)完全不同的技術(shù)方案,使得本系統(tǒng)的開發(fā)又不能完全照搬醫(yī)保系統(tǒng)的做法。其必須解決的技術(shù)難點(diǎn)主要有兩點(diǎn):
一是醫(yī)院HIS系統(tǒng)與市級平臺接口采用WebService方案。WebService是一種系統(tǒng)集成的方式,它是一個遠(yuǎn)程調(diào)用接口,允許其他系統(tǒng)通過這個接口訪問本系統(tǒng)特定的業(yè)務(wù)邏輯和服務(wù),從而得到相應(yīng)數(shù)據(jù)的應(yīng)用程序組件,其通信協(xié)議是簡單對象存取協(xié)議(Simple Object Access Protocol,SOAP)。本系統(tǒng)WebService由市級平臺提供,醫(yī)院HIS系統(tǒng)調(diào)用其函數(shù)完成各項(xiàng)業(yè)務(wù)。這與醫(yī)保管理系統(tǒng)的動態(tài)庫方案有很大不同。PB 11.5提供了兩種調(diào)用WebService的方式,一種是通過PB的WebService代理向?qū)碜x取WebService的描述語言文檔WSDL(Web Service Description Language)并對其進(jìn)行解析,自動生成相應(yīng)的對象和結(jié)構(gòu);另一種方法是使用第三方工具(如SoapUI或SoapToolkit等)抓取WebService的格式。為了使程序結(jié)構(gòu)更加簡潔,我們選用了代理向?qū)У姆椒▉砑右越鉀Q[3-6]。
二是新農(nóng)合跨省結(jié)報系統(tǒng)需要與新農(nóng)合市平臺、省平臺以及國家平臺進(jìn)行數(shù)據(jù)交換,這就涉及到要統(tǒng)一數(shù)據(jù)交換標(biāo)準(zhǔn)的問題。按照國家平臺的統(tǒng)一要求新農(nóng)合跨省結(jié)報數(shù)據(jù)交換統(tǒng)一采用擴(kuò)展型可標(biāo)記語言(XML),要求符合XML 1.0標(biāo)準(zhǔn),文字編碼采用UTF-8標(biāo)準(zhǔn)。PB支持將XML導(dǎo)入到數(shù)據(jù)窗口進(jìn)行解析以及將數(shù)據(jù)窗口導(dǎo)出為XML文件的方法。但是在測試中我們認(rèn)為該方法難以滿足本系統(tǒng)的需求,為了增加系統(tǒng)的靈活性和可靠性,我們選擇了重新編寫一個NDEMLXML對象的方法來解決這一難題。
與醫(yī)保管理系統(tǒng)常用的通過字符串進(jìn)行數(shù)據(jù)交換的方式不同,新農(nóng)合跨省數(shù)據(jù)標(biāo)記格式采用新農(nóng)合數(shù)據(jù)標(biāo)記語言(New Rural Cooperative Medical Data Exchange Markup Language,NDEML)。該語言格式文件用于實(shí)現(xiàn)轉(zhuǎn)診結(jié)算數(shù)據(jù)的表達(dá),通過交換報文來統(tǒng)一描述各種不同類型的數(shù)據(jù)。如下是預(yù)結(jié)算交易(preInpPay)的入?yún)笪氖纠ㄓ捎趫笪捏w較長這里只保留了部分有代表性的內(nèi)容):
其中<NDEML>標(biāo)識是語言標(biāo)識。<header>用于標(biāo)識報文頭部,報文頭部內(nèi)容包括報文創(chuàng)建時間、報文交易類型和報文傳輸路由等信息。<body>用于標(biāo)識報文體,報文體包括<data>和<extendData>兩部分,主要的交換數(shù)據(jù)在<data>部分中,主要是完成交易所需的患者自然信息、醫(yī)療信息以及費(fèi)用信息等,本例中主要是患者的自然信息、參合地信息、出院科室以及入院診斷等。各類交易的報文格式一致,其差異主要體現(xiàn)在報文體的<data>部分中[7]。
由于新農(nóng)合跨省轉(zhuǎn)診平臺端文字編碼采用UTF-8標(biāo)準(zhǔn),而PB默認(rèn)的文字編碼是ANSI,所以在本地構(gòu)造的XML文件需要進(jìn)行轉(zhuǎn)碼后再上傳,否則平臺端解析后中文字符將出現(xiàn)亂碼。我們采用PB 11.5的類型轉(zhuǎn)換函數(shù)blob來實(shí)現(xiàn),該函數(shù)有兩個入?yún)ⅲ谝粋€是要轉(zhuǎn)換的字符串,第二個是編碼格式,選擇EncodingUTF8!。
由于通過數(shù)據(jù)窗口直接轉(zhuǎn)換方法存在一定的局限性,我們選擇采用面向?qū)ο蟮姆椒ň帉懸粋€NDEMLXML對象,為NDEMLXML對象設(shè)計了添加子節(jié)點(diǎn)(addNode)和刪除子節(jié)點(diǎn)(deleteNode)方法,以實(shí)現(xiàn)靈活創(chuàng)建多層次NDEML報文。每個節(jié)點(diǎn)都具有Name和Text屬性。Name屬性在對象構(gòu)造時賦值且不可更改,其對應(yīng)的是NDEML中節(jié)點(diǎn)的名稱。Text屬性對應(yīng)NDEML節(jié)點(diǎn)的值,設(shè)計了setText和getText方法分別用于賦值和讀取。還為根節(jié)點(diǎn)設(shè)計了導(dǎo)入(Import)和導(dǎo)出為字符串(Export)方法,導(dǎo)入方法用于對平臺端返回的XML文件進(jìn)行解析,導(dǎo)出方法用于將構(gòu)建的NDEMLXML對象導(dǎo)出為XML文件上傳給平臺端[8-9]。
本系統(tǒng)與“軍衛(wèi)一號”其他子系統(tǒng)是協(xié)調(diào)工作的一個有機(jī)整體。系統(tǒng)由前臺應(yīng)用程序和后臺應(yīng)用程序兩部分組成,前臺應(yīng)用程序由操作員運(yùn)行,完成入院登記、各種管理監(jiān)控、統(tǒng)計分析以及出院結(jié)算功能。后臺應(yīng)用程序部署到服務(wù)器上自動運(yùn)行,完成費(fèi)用上傳和退費(fèi)處理功能,其整體架構(gòu)如圖1所示。
圖1 新農(nóng)合跨省聯(lián)網(wǎng)結(jié)報系統(tǒng)架構(gòu)
系統(tǒng)設(shè)計遵循“軍衛(wèi)一號”原有的數(shù)據(jù)操作規(guī)范,以確保和現(xiàn)有的其他應(yīng)用程序及數(shù)據(jù)統(tǒng)計和上報程序兼容。操作界面上沿用“軍衛(wèi)一號”住院登記和住院收費(fèi)程序的用戶界面和操作方法,符合操作員的操作習(xí)慣,只需簡單培訓(xùn)即可掌握。住院結(jié)算功能操作界面,見圖2。
圖2 住院結(jié)算操作界面
本系統(tǒng)功能上分前臺應(yīng)用程序和后臺應(yīng)用程序兩部分。
4.1.1 住院登記
為了避免可能發(fā)生的網(wǎng)絡(luò)故障以及患者轉(zhuǎn)診審批延誤對患者的救治的影響,本系統(tǒng)通過先按“軍衛(wèi)一號”住院登記方法按自費(fèi)進(jìn)行住院登記,再進(jìn)行費(fèi)別轉(zhuǎn)換的方法進(jìn)行入院登記。其好處是如果網(wǎng)絡(luò)出現(xiàn)故障或轉(zhuǎn)診審批手續(xù)延誤可以先行按自費(fèi)住院治療,待網(wǎng)絡(luò)恢復(fù)或?qū)徟瓿珊笤龠M(jìn)行費(fèi)別轉(zhuǎn)換。費(fèi)別轉(zhuǎn)換的方法是通過患者身份證號調(diào)用市平臺referralSheetSeek接口查詢轉(zhuǎn)診單,對接口返回的XML數(shù)據(jù)進(jìn)行解析可以獲得患者的自然信息、轉(zhuǎn)診信息以及參合信息。根據(jù)轉(zhuǎn)診單獲得的信息以及住院登記信息構(gòu)建XML文件,并調(diào)用uploadInpRegister接口完成各級平臺入院登記交易,交易成功后將再住院主記錄表(pat_visit)中的費(fèi)別改為“新農(nóng)合”,完成住院登記。圖3所示為住院登記用戶操作界面。
圖3 住院登記操作界面
由于“軍衛(wèi)一號”住院系統(tǒng)中患者多次住院時采用統(tǒng)一病案號,實(shí)際應(yīng)用中通常用ID號(patient_id)加住院次數(shù)(visit_id)來唯一標(biāo)識一次住院。農(nóng)合跨省轉(zhuǎn)診平臺則規(guī)定每次住院都有一個唯一的住院號來標(biāo)識一次住院,為此我們沿用了我院醫(yī)保管理系統(tǒng)的就診流水號來充當(dāng)住院號,及其組成規(guī)則是“I”+ID號+住院次數(shù)[10-11]。
4.1.2 撤銷住院登記
撤銷住院登記相當(dāng)于“軍衛(wèi)一號”的退院操作,所不同的是本系統(tǒng)除了要完成HIS本地的退院操作外,還要完成平臺端的撤銷操作。所以系統(tǒng)自動先根據(jù)住院流水號調(diào)用市平臺cancelInpRegister接口完成各級平臺的住院登記撤銷,成功后再修改“軍衛(wèi)一號”數(shù)據(jù)庫住院主記錄表(pat_visit)中的費(fèi)別為“自費(fèi)”,如果失敗則進(jìn)行回滾以保證數(shù)據(jù)的一致性。然后再根據(jù)實(shí)際情況選擇自費(fèi)結(jié)算或按自費(fèi)退院流程進(jìn)行退院操作。
4.1.3 住院結(jié)算
結(jié)算的操作方法和“軍衛(wèi)一號”住院收費(fèi)的操作方法完全一致。系統(tǒng)按照“軍衛(wèi)一號”的標(biāo)準(zhǔn)進(jìn)行必要的條件判斷后,自動調(diào)用市平臺preInpPay接口進(jìn)行預(yù)結(jié)算,并顯示結(jié)算結(jié)果,包括各類報銷金額、起付線、年度累計報銷金額等。操作員確認(rèn)無誤后進(jìn)行確認(rèn),系統(tǒng)調(diào)用InpPay接口進(jìn)行平臺端結(jié)算確認(rèn),成功后再按照“軍衛(wèi)一號”數(shù)據(jù)操作規(guī)范完成HIS端結(jié)算數(shù)據(jù)的寫入。
由于“軍衛(wèi)一號”只記錄交易的支付方式如:現(xiàn)金、支票等,但是,農(nóng)合的支付信息更詳細(xì),所以為了便于統(tǒng)計和對賬,我們在HIS數(shù)據(jù)庫中增加了新農(nóng)合支付信息表以記錄新農(nóng)合支付信息,包括農(nóng)合補(bǔ)償費(fèi)用、大病補(bǔ)償費(fèi)用、補(bǔ)充醫(yī)保報銷等。既不影響“軍衛(wèi)一號”的數(shù)據(jù)統(tǒng)計、上報及其他子系統(tǒng)的運(yùn)行,又便于對新農(nóng)合費(fèi)用信息進(jìn)行統(tǒng)計分析。
通過住院結(jié)算功能,患者只需支付自付的部分費(fèi)用,而農(nóng)合報銷的各類費(fèi)用由醫(yī)院先行墊付,然后再由醫(yī)院與農(nóng)合管理部門結(jié)賬。
4.1.4 已上傳費(fèi)用撤回
前臺應(yīng)用程序提供了已上傳費(fèi)用撤回功能,該功能有兩種撤回模式:一種是對單條費(fèi)用撤回,一種是全部撤回。單條費(fèi)用撤回用于個別減免費(fèi)用的處理。全部撤回功能用于當(dāng)平臺端費(fèi)用與HIS端不一致且難以查明原因時,全部撤回重傳。
費(fèi)用明細(xì)撤回時先調(diào)用平臺端clearInpDetails接口完成平臺端撤回操作,成功后住院費(fèi)用明細(xì)(inp_bill_detail)中相應(yīng)的記錄的上傳狀態(tài)字段更改為“未上傳”。
4.1.5 撤銷結(jié)算
撤銷結(jié)算相當(dāng)于“軍衛(wèi)一號”的收據(jù)退費(fèi)操作,但是除了完成HIS系統(tǒng)退費(fèi)操作外還要完成平臺端的撤銷結(jié)算,所以系統(tǒng)自動先按照“軍衛(wèi)一號”的住院收據(jù)退費(fèi)數(shù)據(jù)操作規(guī)范進(jìn)行退費(fèi)操作,為了保持與平臺端的數(shù)據(jù)同步先不對數(shù)據(jù)庫事務(wù)進(jìn)行提交。調(diào)用平臺端的backPay接口完成各級平臺端的結(jié)算撤銷,如果交易成功則提交本地數(shù)據(jù)庫事務(wù),如果失敗則對本地數(shù)據(jù)庫事務(wù)進(jìn)行回滾。
4.1.6 監(jiān)控和統(tǒng)計分析
前臺應(yīng)用程序提供了對患者費(fèi)用總額、費(fèi)用補(bǔ)償情況、藥占比、耗材占比等數(shù)據(jù)的監(jiān)控功能。還設(shè)計了患者費(fèi)用補(bǔ)償單、墊付資金撥付申請表、費(fèi)用補(bǔ)償明細(xì)表等多種統(tǒng)計報表。
后臺應(yīng)用程序用于自動上傳患者費(fèi)用明細(xì),避免在患者出院結(jié)算時上傳費(fèi)用,提高結(jié)算速度。具體方法上沿用了我院醫(yī)保系統(tǒng)開發(fā)時使用的方法,在住院費(fèi)用明細(xì)表(inp_bill_detail)上添加了上傳狀態(tài)和備注兩個字段,上傳狀態(tài)默認(rèn)值為“未上傳”。程序運(yùn)行時提取所有在院新農(nóng)合跨省患者的未上傳或上傳失敗費(fèi)用明細(xì)。逐條調(diào)用平臺端uploadInpDetails接口上傳,如果上傳成功則將上傳狀態(tài)狀態(tài)更改為“已上傳”,如果上傳失敗則將狀態(tài)修改為“上傳失敗”并在備注字段中記錄失敗原因,并生成日志文件備查。醫(yī)??乒芾砣藛T通過閱讀日志可以及時掌握患者費(fèi)用上傳情況,發(fā)現(xiàn)上傳失敗現(xiàn)象及時查找原因并予以解決,避免患者結(jié)算時才發(fā)現(xiàn)上傳失敗,保證患者快速完成結(jié)算。市級定點(diǎn)醫(yī)院新農(nóng)合跨省患者藥品和診療項(xiàng)目目錄沿用城鎮(zhèn)職工基本醫(yī)療保險的藥品和診療項(xiàng)目目錄,城鎮(zhèn)職工基本醫(yī)療保險的藥品和診療項(xiàng)目目錄中甲類和乙類項(xiàng)目即為農(nóng)合可報銷范圍,丙類為不可報銷范圍[12]。
該系統(tǒng)自今年4月份投入運(yùn)行以來已成功完成了大量患者聯(lián)網(wǎng)結(jié)報工作,系統(tǒng)運(yùn)行穩(wěn)定、數(shù)據(jù)準(zhǔn)確、操作簡單、數(shù)據(jù)統(tǒng)計方便,主要體現(xiàn)在以下幾個方面:
(1)實(shí)現(xiàn)新農(nóng)合跨省轉(zhuǎn)診患者在我院一站式就診和報銷補(bǔ)償,避免了以往患者前往參合地報銷的奔波和不便,從根本上改變了跨省轉(zhuǎn)診報銷手續(xù)相對比較復(fù)雜,耗時費(fèi)力,容易出現(xiàn)差錯等問題[13]。
(2)采用了自動上傳費(fèi)用的方式,大大縮短了患者出院結(jié)算手續(xù)的辦理時間,一般情況下可在3 min之內(nèi)完成,節(jié)省了患者的時間也提高了醫(yī)院的工作效率。
(3)方便了醫(yī)院職能科室對跨省農(nóng)合轉(zhuǎn)診患者的管理,促進(jìn)了各類農(nóng)合患者管理規(guī)定的落實(shí),提高了醫(yī)療行為的合理性和規(guī)范性,提高了我院在其他省市的知名度及醫(yī)療收入。
(4)實(shí)現(xiàn)了與平臺端更深層次的數(shù)據(jù)共享,確保了數(shù)據(jù)的準(zhǔn)確無誤,各類相關(guān)統(tǒng)計數(shù)據(jù)更加翔實(shí)可靠。
(5)先按自費(fèi)辦理住院再進(jìn)行費(fèi)別轉(zhuǎn)換的方式,避免了因網(wǎng)絡(luò)故障或轉(zhuǎn)診審批問題耽誤患者救治的情況,使“以患者為中心”的理念真正落到實(shí)處。
本系統(tǒng)的開發(fā)和應(yīng)用完善了HIS系統(tǒng)的功能,提升了醫(yī)院管理水平,同時也是國家新農(nóng)合管理工作信息化的一個重要組成部分,標(biāo)志著醫(yī)院與農(nóng)合管理機(jī)構(gòu)共同努力徹底結(jié)束了農(nóng)合患者手工結(jié)算的歷史。目前階段新農(nóng)合跨省轉(zhuǎn)診聯(lián)網(wǎng)結(jié)報系統(tǒng)在我院作為一個獨(dú)立系統(tǒng)運(yùn)行,醫(yī)院同時運(yùn)行的還有HIS系統(tǒng)的住院收費(fèi)子系統(tǒng),醫(yī)保聯(lián)網(wǎng)結(jié)報系統(tǒng)等,這種多系統(tǒng)同時運(yùn)行的現(xiàn)狀也或多或少給系統(tǒng)操作人員帶來了一些麻煩,我們正在積極探索將不同系統(tǒng)進(jìn)行整合的技術(shù)方案。