HIS醫(yī)保接口設(shè)計(jì)規(guī)范解析3_第1頁
HIS醫(yī)保接口設(shè)計(jì)規(guī)范解析3_第2頁
HIS醫(yī)保接口設(shè)計(jì)規(guī)范解析3_第3頁
HIS醫(yī)保接口設(shè)計(jì)規(guī)范解析3_第4頁
HIS醫(yī)保接口設(shè)計(jì)規(guī)范解析3_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

HIS醫(yī)保接口設(shè)計(jì)規(guī)范解析HIS醫(yī)保接口設(shè)計(jì)規(guī)范解析/HIS醫(yī)保接口設(shè)計(jì)規(guī)范解析HIS醫(yī)保接口設(shè)計(jì)規(guī)范一、導(dǎo)言

BSHIS在兩年前就開始涉與醫(yī)保軟件接口的設(shè)計(jì)和實(shí)施了。隨著時(shí)間的推移,越來越多的新簽醫(yī)院工程也要求實(shí)施醫(yī)保;而一些以前上的老工程,也開始在實(shí)施各地的醫(yī)保政策??梢哉f,醫(yī)保的實(shí)施已經(jīng)成為HIS軟件在醫(yī)院實(shí)施中一個(gè)很重要的組成部分。從某種意義上講,醫(yī)保實(shí)施的好壞也已經(jīng)直接影響了工程實(shí)施的進(jìn)度和效果。

由于醫(yī)保政策的復(fù)雜性,再加上政策有很大的地區(qū)差異。在實(shí)施過程中,軟件設(shè)計(jì)人員遇到了很多比較復(fù)雜也或者很難于解決的問題。另外,由于醫(yī)保政策一般都是剛剛指定出來不久的。所以,在實(shí)施的過程中,經(jīng)常會遇到修改政策的過程。這在一定程度上給軟件設(shè)計(jì)和實(shí)施增加了不少的難度。同時(shí),也會導(dǎo)致醫(yī)保接口軟件設(shè)計(jì)上的不確定性,直接的后果是可能導(dǎo)致很多的重復(fù)勞動。

結(jié)合前面很多人醫(yī)保實(shí)施成功和失敗的教訓(xùn),對在醫(yī)保接口設(shè)計(jì)過程中的,好的方法進(jìn)行了歸納,并盡量給出一種比較完善和完美的設(shè)計(jì)解決方法和規(guī)范,可幫助醫(yī)保實(shí)施和軟件接口設(shè)計(jì)人員比較好地實(shí)施醫(yī)保。當(dāng)然,現(xiàn)在只是個(gè)草稿,需要醫(yī)保實(shí)施實(shí)踐不斷地?cái)U(kuò)充此規(guī)范,以至形成一種比較固定的綜合解決方案。

二、關(guān)于醫(yī)保政策軟件和應(yīng)對方案

我們通過對北京安寧盈科、創(chuàng)智公司、東大阿兒派、杭州新世紀(jì)、建達(dá)電子、萬達(dá)公司等各個(gè)醫(yī)保險(xiǎn)政策軟件提供商提供的接口方案進(jìn)行了分析,總計(jì)出他們之間的共性如下:1、

一般都提供DOS和WINDOWS兩套方案,DOS下一般用文件形式傳遞數(shù)據(jù),WINDOWS下一般以WIN32API的形式在HIS和醫(yī)保前置機(jī)之間調(diào)用和傳遞數(shù)據(jù)(DLL提供了政策函數(shù))。我們以后者為重點(diǎn)說明問題。2、

政策函數(shù)一般分為兩類:單個(gè)函數(shù)和多個(gè)函數(shù)兩種類型設(shè)計(jì)多個(gè)函數(shù)是指每中業(yè)務(wù)或者比較相似的業(yè)務(wù)為一個(gè)函數(shù),這樣組成結(jié)算、登記、退費(fèi)等多個(gè)函數(shù)。如:杭州新世紀(jì)、東大阿兒派單個(gè)函數(shù)是指所有的業(yè)務(wù)都用一個(gè)函數(shù)實(shí)現(xiàn)。參數(shù)一般用結(jié)構(gòu)字符串實(shí)現(xiàn)。如:上海萬達(dá)公司。3、

明細(xì)數(shù)據(jù)一般都和結(jié)算時(shí)必要的項(xiàng)目數(shù)據(jù)分開傳遞到醫(yī)保中心服務(wù)器。這樣做的目的是為了減少網(wǎng)絡(luò)阻塞。如果是同時(shí)要傳的,一般在結(jié)算準(zhǔn)備階段就已經(jīng)將數(shù)據(jù)計(jì)算好了。4、

平時(shí)發(fā)生費(fèi)用時(shí),一般分成兩種方式處理:1)

平時(shí)的自負(fù)比例按HIS中設(shè)置的算,也不需要審批如:萬達(dá)公司2)

平時(shí)的自負(fù)比例不按HIS中設(shè)置的算,需要審批;需要維護(hù)標(biāo)準(zhǔn)的HIS藥品/項(xiàng)目的對照表,并在對照表中設(shè)置比例。如:東大阿兒派,記費(fèi)代碼需修改。5、

結(jié)算前一般都要刷卡,有些允許只在登記或者掛號的時(shí)候刷卡,結(jié)算時(shí)不刷卡,只要將必要的個(gè)人信息從HIS端保存的檔中取即可。6、結(jié)算分計(jì)算(準(zhǔn)備)階段和確認(rèn)結(jié)算階段兩部分。計(jì)算(準(zhǔn)備)階段:處理結(jié)算數(shù)據(jù)的上傳或者調(diào)用結(jié)算計(jì)算函數(shù)獲得醫(yī)保支付信息,并獲得自負(fù)金額,HIS端可據(jù)此結(jié)算和打印發(fā)票。

確認(rèn)結(jié)算階段:執(zhí)行結(jié)算處理,和醫(yī)保政策軟件進(jìn)行結(jié)算交易。

基于上面的分析和考慮,我們希望能夠利用各個(gè)醫(yī)保政策軟件的共性,屏蔽其個(gè)性和特殊性、隔離HIS端業(yè)務(wù)和醫(yī)保端業(yè)務(wù)。這樣,對HIS端調(diào)用來說,調(diào)用的方式和接口是相同,有利于批量的實(shí)施和迎合醫(yī)保險(xiǎn)業(yè)務(wù)的多變性;減少HIS端程序的頻繁修改和很大的后期維護(hù)量。所以,我們總的原則是:1)

隔離HIS端業(yè)務(wù)和醫(yī)保端業(yè)務(wù):HIS端窗口和模塊中,不要加入醫(yī)保的處理過程,但可以加入對象方法的數(shù)據(jù)準(zhǔn)備和方法調(diào)用。這樣可減少HIS端業(yè)務(wù)和醫(yī)保端業(yè)務(wù)的關(guān)聯(lián)性,可適合批量醫(yī)院上醫(yī)保、各家醫(yī)院程序又有客戶化的情況。2)

利用共性,屏蔽個(gè)性:盡量將HIS端該調(diào)用醫(yī)保處理的位置、函數(shù)名稱和步驟明確化,規(guī)范化,避免不必要的重復(fù)勞動和差異程序維護(hù)。3)

盡量減少調(diào)用醫(yī)保的地方,或者在一個(gè)事件或者函數(shù)中集中處理,利于維護(hù)。4)

調(diào)用方法參數(shù)用結(jié)構(gòu)體或者DATAWINDOW,避免很多的參數(shù)。5)

函數(shù)返回值類型單一化,就成功或者失敗兩種情況,其他的返回信息放在醫(yī)保接口對象的實(shí)例結(jié)構(gòu)體變量或者實(shí)例變量中。

三、醫(yī)保接口規(guī)范1、醫(yī)保病人結(jié)算的一般流程入院或者掛號(需要驗(yàn)證身份)

發(fā)生費(fèi)用

結(jié)算發(fā)生費(fèi)用時(shí)處理:

有些醫(yī)保需要個(gè)別項(xiàng)目進(jìn)行審批,有些需要統(tǒng)一按標(biāo)準(zhǔn)目錄取比例

這時(shí)需要HIS藥品/項(xiàng)目和醫(yī)保之間有個(gè)對照

如杭州醫(yī)保就需要按上面的方法處理

有些醫(yī)保則不需在發(fā)生費(fèi)用時(shí)和醫(yī)保有關(guān),只是在結(jié)算時(shí)發(fā)送相關(guān)的大項(xiàng)目結(jié)算金額就可以了。

如上海醫(yī)保,無對單個(gè)項(xiàng)目的處理結(jié)算的流程:

先身份驗(yàn)證

計(jì)算請求:結(jié)算前先獲得費(fèi)用支付結(jié)構(gòu)

確認(rèn)結(jié)算:發(fā)送確認(rèn)交易命令,調(diào)用醫(yī)保軟件實(shí)現(xiàn)結(jié)算

退款的流程:

先身份驗(yàn)證

由HIS向醫(yī)保政策軟件發(fā)送退款需要的數(shù)據(jù)和請求命令

獲得醫(yī)保政策軟件響應(yīng)處理HIS業(yè)務(wù)

退款補(bǔ)結(jié)算的流程(指不是退全部款,而是新增或者退一部分):

先身份驗(yàn)證

由HIS向醫(yī)保政策軟件發(fā)送退款和重新結(jié)算的數(shù)據(jù)和請求命令

獲得醫(yī)保政策軟件響應(yīng)處理HIS業(yè)務(wù)

門診掛號(住院入院登記)處理:

在正式保存數(shù)據(jù)前,先調(diào)用醫(yī)保政策提供商提供的函數(shù)驗(yàn)證,成功后,才保存正式的掛號或者已登記人員(在返回時(shí)一般可從函數(shù)的返回值中獲得病人的基本信息,該信息保存在醫(yī)保中心)

2、在程序設(shè)計(jì)中應(yīng)該遵循的原則1)保證醫(yī)保處理業(yè)務(wù)和HIS處理業(yè)務(wù)隔離開新增

yb_ybcl.pbl

放醫(yī)保公用對象和數(shù)據(jù);以后,只要替換此文件即實(shí)現(xiàn)醫(yī)保變化。新增醫(yī)保處理基對象

u_ybcl_base(基礎(chǔ)類,負(fù)責(zé)和醫(yī)保的業(yè)務(wù)調(diào)用),醫(yī)保處理對象u_ybcl(業(yè)務(wù)類,負(fù)責(zé)從HIS端獲得和準(zhǔn)備數(shù)據(jù),以與與HIS端的交互操作)。HIS端調(diào)用對象u_ybcl的方法(函數(shù)和事件),并提供必要的參數(shù)信息。2)若有醫(yī)院和標(biāo)準(zhǔn)業(yè)務(wù)不同,請從

u_ybcl

對象繼承3)需要修改

u_nbcl

對象和yb_ybcl.pbl,請?jiān)谛薷暮螅采w所有使用該P(yáng)BL的地方,保持版本的統(tǒng)一,避免不必要的版本不相同而導(dǎo)致不能充分地共享代碼。4)要書寫上了醫(yī)保后的表結(jié)構(gòu)變化記錄和字段變化記錄。建議寫成能直接執(zhí)行的SQL語句,這樣實(shí)施醫(yī)保險(xiǎn)的人,直接執(zhí)行即可。避免讓實(shí)施的人到DBMS上去修改。如,寧波醫(yī)保的SQL如下:字段添加請參考

《bshis2.x寧波新醫(yī)保__新增字段》

適用于

SybaseorMsSql表的添加請參考

《bshis2.x寧波新醫(yī)保__新增表sybase》

適用于

Sybase11orlater或者

《bshis2.x寧波新醫(yī)保__新增表sql70》

適用于

MicrosoftSqlServer5)需要書寫必要的注意事項(xiàng),以便實(shí)施??勺尮こ碳夹g(shù)人員閱讀,知道其上醫(yī)保系統(tǒng)。最主要的是說明“需要設(shè)置的基礎(chǔ)數(shù)據(jù)”(包括了執(zhí)行表結(jié)構(gòu)修改和新增表的SQL語句)如,可看《bshis2.x寧波新醫(yī)保__若干注意事項(xiàng).txt》6)代碼中,對象的函數(shù)和事件命名要統(tǒng)一和規(guī)范化。如:事件的命名規(guī)范為:

ue_mzgh_xxxx

門診掛號相關(guān)的事件

ue_mzsf_xxxx

門診收費(fèi)相關(guān)的事件

ue_mztf_xxxx

門診退費(fèi)相關(guān)的事件

ue_zydj_xxxx

住院(入院)登記相關(guān)的事件

ue_zysf_xxxx

住院收費(fèi)相關(guān)的事件

ue_zytf_xxxx

住院退費(fèi)相關(guān)的事件7)醫(yī)保對象中,提供結(jié)算結(jié)果、個(gè)人信息結(jié)構(gòu)體等必要的實(shí)例變量(即對象屬性)??勺孒IS端在計(jì)算自負(fù)金額和打印用,以與其他處理的時(shí)候用。結(jié)算結(jié)果結(jié)構(gòu)體中的信息有:自理金額、現(xiàn)金金額(就是自理金額+醫(yī)保的現(xiàn)金支付部分)、本次結(jié)算總費(fèi)用、結(jié)算后的帳戶余額、其他必要的結(jié)算信息(如當(dāng)前結(jié)算的類型等)、醫(yī)保支付信息子結(jié)構(gòu)體、各項(xiàng)目金額組成子機(jī)構(gòu)體、個(gè)人信息子結(jié)構(gòu)體等。具體需要多少信息可根據(jù)實(shí)際情況而定。下面是醫(yī)保的結(jié)構(gòu)體實(shí)例變量的說明://====================================================================//s_his_ybjsxxisu_ybjsxx

結(jié)算信息(可供HIS端打印發(fā)票是用)//====================================================================integer

ghsf

結(jié)算類型

1掛號2門診3住院-2門診退費(fèi)-3住院退費(fèi)integer

jsbz

結(jié)算方式

0普通1特病2家床string

jzbz

普通/急診

1普通2急診yb_ybfymx

fymx

項(xiàng)目費(fèi)用信息(在預(yù)結(jié)算時(shí)產(chǎn)生)

decimal{2}

zjje

當(dāng)前結(jié)算費(fèi)用總額

decimal{2}

fyje[100]

按醫(yī)保歸并得到的項(xiàng)目金額

...

其他需要的項(xiàng)目費(fèi)用數(shù)據(jù)yb_ybzfxx

zfmx

支付結(jié)構(gòu)(預(yù)結(jié)算后得到)子結(jié)構(gòu)體

(因?yàn)楦鱾€(gè)地區(qū)醫(yī)保不同,內(nèi)部項(xiàng)目具體命名可到時(shí)候?qū)嵤┑臅r(shí)候再修改)

decimal{2}

grzhzf

個(gè)人帳戶支付

decimal{2}

gbjjzf

公補(bǔ)基金支付

decimal{2}

tczf

統(tǒng)籌支付

decimal{2}

jzzf

救助支付

decimal{2}

xjzf

醫(yī)保現(xiàn)金支付

decimal{2}

qfdzhzf

起付段帳戶支付

decimal{2}

qfdgbzf

起付段公補(bǔ)支付

decimal{2}

qfdxjzf

起付段現(xiàn)金支付

decimal{2}

tcdzhzf

統(tǒng)籌段帳戶支付

decimal{2}

tcdgbzf

統(tǒng)籌段公補(bǔ)支付

decimal{2}

tcdxjzf

統(tǒng)籌段現(xiàn)金支付

decimal{2}

jzdzhzf

救助段帳戶支付

decimal{2}

jzdgbzf

救助段公補(bǔ)支付

decimal{2}

jzdxjzf

救助段現(xiàn)金支付

decimal{2}

xjzfa

現(xiàn)金支付A

decimal{2}

xjzfb

現(xiàn)金支付B

decimal{2}

xjzfc

現(xiàn)金支付C

decimal{2}

grzhye

進(jìn)行了當(dāng)前結(jié)算后的帳戶余額decimal{2}

tfxjje

退費(fèi)現(xiàn)金(<0退

>0補(bǔ)交),退費(fèi)時(shí)用;一般不建議退費(fèi),而用隔日作廢后重新結(jié)算decimal{2}

zjje

當(dāng)前結(jié)算的總計(jì)金額decimal{2}

qzlje

當(dāng)前結(jié)算的全自理金額decimal{2}

xjzf

當(dāng)前結(jié)算的醫(yī)?,F(xiàn)金金額decimal{2}

xjje

當(dāng)前結(jié)算的全部現(xiàn)金金額

=

當(dāng)前結(jié)算的全自理金額

+

當(dāng)前結(jié)算的醫(yī)?,F(xiàn)金金額decimal{2}

zhye

進(jìn)行了當(dāng)前結(jié)算后的帳戶余額string

tsbbm

特病代碼(不是特病結(jié)算無意義)string

zcyydm

轉(zhuǎn)目標(biāo)醫(yī)院代碼(不是轉(zhuǎn)院結(jié)算無意義)//====================================================================//

s_his_jbxxisu_jbxx

病人基本信息(刷卡后獲得)//====================================================================string

knxx

卡內(nèi)信息string

brkh

病人卡號string

bxhm

保險(xiǎn)號碼yb_ybgrxx

grxx

個(gè)人信息子結(jié)構(gòu)體

string

brxm

病人姓名

string

sfzh

身份證號

string

zhbz

帳戶標(biāo)志

string

dwdm

單位編碼

string

qxdm

區(qū)縣代碼

integer

brnl

年齡

integer

brxb

性別

string

djbz

凍結(jié)狀態(tài)

0未凍結(jié)

1已凍結(jié)

datetime

csny

出生年月decimal{2}

zhye

帳戶余額...

其他項(xiàng)目可根據(jù)實(shí)際情況添加integer

bz

-1

表示刷卡未成功

否則成功8)調(diào)用方法參數(shù)用結(jié)構(gòu)體或者DATAWINDOW,避免很多的參數(shù)。若返回值有很多的信息,建議放在對象的結(jié)構(gòu)體實(shí)例變量中。HIS端要用的時(shí)候,再訪問這個(gè)結(jié)構(gòu)體實(shí)例變量即可。9)函數(shù)返回值類型單一化。成功/失敗兩種情況,其他的返回信息放在醫(yī)保接口對象的實(shí)例結(jié)構(gòu)體變量或者實(shí)例變量中。如:returninteger=1

成功

–1

失敗,對象的

is_errortext

變量保存了錯(cuò)誤信息。10)對象內(nèi)部之間調(diào)用,一般用對象的函數(shù)實(shí)現(xiàn);供外部調(diào)用的,一般用對象事件實(shí)現(xiàn)。這樣避免不必要的看到很多的函數(shù)或者事件,也搞不清楚哪些是內(nèi)部調(diào)用的,哪些是外部調(diào)用的,不易于程序維護(hù)和代碼修改。11)代碼書寫風(fēng)格請參考公司相關(guān)的開發(fā)文檔。

另外,注釋一定要寫的詳細(xì),注釋的風(fēng)格請參考BHIS2.2住院系統(tǒng)的風(fēng)格。

主要是代碼中,要做階段性的注釋。每個(gè)塊做寫什么。這樣,有利于整理看懂代碼。12)一般不直接在原來的HIS代碼上嵌入醫(yī)保,需要定義事件和使用對象繼承。

需要繼承的窗口有:結(jié)算確認(rèn)窗口:w_hjsf_jscl

(門診確認(rèn))

w_ghcl_jkcl

(門診掛號確認(rèn))

w_zy_jsgl_jscl

(住院結(jié)算確認(rèn))

窗口命名方法,一般以:

w_yb_xx_xxxx

或者:

w_xx_xxxx_yb

一般在祖先窗口中定義事件的調(diào)用次序,而在繼承的醫(yī)保的窗口中,重載該事件。如果是HIS2.21

或者以后的版本,住院系統(tǒng)一般用原來系統(tǒng)中的醫(yī)保預(yù)留事件的定義。門診系統(tǒng)到現(xiàn)在為止,一直沒有醫(yī)保預(yù)留事件,需要按下面的方式定義:下面的事件都是窗口事件,不是按鈕或者是DATAWINDOW的事件。事件:ue_Pre_Dispose(),RETURNBOOLEAN

預(yù)結(jié)算事件,用于醫(yī)保結(jié)算請求費(fèi)用計(jì)算事件:ue_Before_Dispose(),RETURNBOOLEAN

在HIS的

gf_begin_transaction(sqlca)前做的工作事件:ue_On_Dispose(),RETURNBOOLEAN

在HIS的

gf_begin_transaction(sqlca)后在gf_commit_transaction(sqlca)前做的工作事件:ue_After_Dispose(),RETURNBOOLEAN

在HIS的gf_commit_transaction(sqlca)后做的工作至于到底是在ue_Before_Dispose(),還是在ue_On_Dispose(),還是在ue_After_Dispose()中處理醫(yī)保代碼,一般需要根據(jù)實(shí)際情況而定。以上三個(gè)事件,祖先的初始代碼是:RETURNTRUE

在繼承的醫(yī)保的窗口中,才實(shí)現(xiàn)具體的代碼。

下面已BHIS2.21的門診系統(tǒng)的門診收費(fèi)確認(rèn)窗口的修改說明:門診系統(tǒng):w_hjsf_jscl:結(jié)算確認(rèn)窗口修改1)新增實(shí)例變量string

is_errortext2)新增窗口事件

ue_Pre_Dispose、ue_Before_Dispose、ue_On_Dispose,returnboolean三個(gè)事件的中,都增加

RETURNTRUE

3)EVENT:OPEN:修改如下:。。。。。。。IFNOTeventue_Pre_Dispose()then

messagebox('提示',is_errortext)

gs_exchange.longparm[1]=-1

close(this)

returnendif

id_yshj=iw_hjsf.id_prefyhj+round(id_qtje,iw_hjsf.ii_decnum)

//應(yīng)收合計(jì)=上次未收+本次合計(jì)sle_zjje.text=string(id_zjje,"0.00")。。。。。。。。。3)EVENT:cb_ok.chicked

修改如下:。。。。。。。IFNOTeventue_Before_Dispose()then

messagebox('提示',is_errortext)

returnendif

ifnotiw_hjsf.wf_save(il_jkfs,id_zhje,id_qtje)then//保存單據(jù)

gf_rollback_transaction(sqlca)

iw_hjsf.id_fyhj=iw_hjsf.id_prefyhj

messagebox("提示","保存數(shù)據(jù)出錯(cuò),本次收費(fèi)無效!")else

IFNOTeventue_On_Dispose()then

gf_rollback_transaction(sqlca)

messagebox('提示',is_errortext)

return

endif

gf_commit_transaction(sqlca)

IFNOTeventue_After_Dispose()then

messagebox('提示',is_errortext)

return

endif

iw_hjsf.wf_ResetUpdate()

debugbreak()

wf_create_fp()

//生成發(fā)票信息并打印endif

sle_pay.setfocus()

門診系統(tǒng):繼承w_hjsf_jscl

w_yb_hjsf_jscl,存在

mz_ybcl.pbl

中,然后做后面的修改1)在界面中,新增DATAWINDOWDW_YBJSXX,DATAOBJECT=

“d_yb_jsxx”并調(diào)整界面為下面的樣子:2)重載窗口EVENTue_Pre_Dispose,增下面的代碼://Script-ue_pre_disposeforw_yb_hjsf_jsclinheritedfromw_hjsf_jscl//Description:

醫(yī)保預(yù)結(jié)算//Returns:

(BOOLEAN)//Author:

LIQW

Date:2002.03.14ib_ifyb=gu_ybcl.uf_ifyb(iw_hjsf.is_mzxx.id,1)IFNOTib_ifybTHENRETURNTRUE//====================================================================//預(yù)結(jié)算數(shù)據(jù)準(zhǔn)備//====================================================================gsu_mzjsxx.jsrq

=gf_server_date()

//

結(jié)算日期gsu_mzjsxx.czgh

=base_info.userid

//

操作工號gsu_mzjsxx.brid

=iw_hjsf.is_mzxx.id

//

病人的ID編號gsu_mzjsxx.mzhm

=iw_hjsf.is_mzxx.mzhm

//

病人的門診號碼gsu_mzjsxx.fphm

=iw_hjsf.st_fphm.text

//

發(fā)票號碼gsu_mzjsxx.dw_cf02

=iw_hjsf.dw_cf02

//

處方數(shù)據(jù)源gsu_mzjsxx.dw_yj02

=iw_hjsf.dw_yj02

//

檢查單數(shù)據(jù)源gsu_mzjsxx.dw_sfxm

=iw_hjsf.dw_sfmx

//HIS中的項(xiàng)目金額gsu_mzjsxx.dw_ybjsxx=dw_ybjsxx

//

醫(yī)保結(jié)算信息返回gsu_mzjsxx.ghgl

=iw_hjsf.is_mzxx.ghgl

//

掛號關(guān)聯(lián)//====================================================================//調(diào)用醫(yī)保支持對象預(yù)結(jié)算函數(shù)//====================================================================ifgu_ybcl.triggereventue_mzsf_yjs(gsu_mzjsxx)<>1then

is_errortext=

gu_ybcl.is_errortext

returnFALSEelse

//====================================================================

//預(yù)結(jié)算后取結(jié)算信息

//====================================================================

id_zhje=0

id_qtje=gu_ybcl.isu_ybjsxx.xjjeendif

RETURNTRUE

3)重載窗口EVENTue_Before_Dispose,增下面的代碼://Script-ue_pre_disposeforw_yb_hjsf_jsclinheritedfromw_hjsf_jscl//Description:

處理醫(yī)保的結(jié)算//Returns:

(BOOLEAN)//Author:

LIQW

Date:2002.03.14ifib_ifyb

then

gf_begin_transaction(sqlca)

ifgu_ybcl.triggereventue_mzsf_js()<>1then

gf_rollback_transaction(sqlca)

is_errortext=gu_ybcl.is_errortext

return

FALSE

endif

endif

RETURNTRUE13)務(wù)必保持兩個(gè)事務(wù)的一致性。以前,很多地方的醫(yī)保在開始做的時(shí)候,沒有認(rèn)真考慮此問題。很有可能導(dǎo)致到時(shí)候做報(bào)表的時(shí)候,數(shù)據(jù)不一致。一般將醫(yī)保的業(yè)務(wù)放在HIS業(yè)務(wù)最后一條即commit之前。先做好HIS所有的業(yè)務(wù),再做醫(yī)保的業(yè)務(wù)。這樣有個(gè)好處,萬一醫(yī)保失敗了我們可以回滾HIS業(yè)務(wù)。如果醫(yī)保的業(yè)務(wù)可能需要很長的時(shí)間,我們不能用兩個(gè)事務(wù)一致的控制方法。一般先做好HIS的所有的業(yè)務(wù)并提交。然后在打發(fā)票前處理醫(yī)保的業(yè)務(wù),若失敗則自動作廢HIS業(yè)務(wù),而不是回滾事務(wù)(這時(shí)HIS業(yè)務(wù)已提交)。湖州醫(yī)保就是這樣做的,可參考。14)醫(yī)保對象和前置機(jī)的交互方式和實(shí)現(xiàn)方法一般不讓HIS端的程序來處理和實(shí)現(xiàn)。而應(yīng)該全部封裝在醫(yī)保支持對象中。這樣可充分隔離HIS端的處理和醫(yī)保端的處理。15)其他和醫(yī)保相關(guān)的處理,如:藥品審批、用藥限制等最好都放在醫(yī)保的對象中處理。以便統(tǒng)一修改程序和版本維護(hù)。

3、醫(yī)保接口對象常用方法說明下面列出是u_ybcl對象中給HIS端調(diào)用的函數(shù)和事件,內(nèi)部相互調(diào)用的函數(shù)不再說明:(和前置機(jī)的交互方式和實(shí)現(xiàn)方法一般不讓HIS端的程序處理,而是封裝在u_ybcl中)1)

函數(shù):uf_ifyb(longal_byh,integeral_lb),RETURNBOOLEAN判斷是不是醫(yī)保病人:通過傳入病人唯一編號來判斷此函數(shù)一般用在進(jìn)行業(yè)務(wù)處理前,判斷接下來的業(yè)務(wù)是不是要進(jìn)行醫(yī)保處理

判斷是否為醫(yī)保病人,al_byh:

門診病人用

MS_BRDA.ID

住院病人用

zyh

al_lb=1

門診

=2

住院

returntrue

false

不是

2)

函數(shù):uf_ifyb(longal_brxz),RETURNBOOLEAN判斷是不是醫(yī)保病人:通過傳入病人性質(zhì)來判斷此函數(shù)一般用在進(jìn)行業(yè)務(wù)處理前,判斷接下來的業(yè)務(wù)是不是要進(jìn)行醫(yī)保處理

判斷是否為醫(yī)保病人,al_brxz:病人性質(zhì)returntrue

false

不是

3)事件:ue_init(integerai_xtsb)

對象事件,returnBoolean初始化數(shù)據(jù),一般用于處理醫(yī)保接口支持對象的初始數(shù)據(jù)準(zhǔn)備參數(shù):ai_xtsb,系統(tǒng)識別,=base_info.syscode對象的is_errortext

實(shí)例變量,保存了失敗信息一般業(yè)務(wù)庫和醫(yī)保接口DATABASE都連接了事物后調(diào)用,比如設(shè)置了base_info

信息后,在打開業(yè)務(wù)窗口前調(diào)用returntrue

初始化成功returnfalse初始化失敗,一般HIS調(diào)用的地方,就應(yīng)該終止程序了。

4)事件:ue_getbrxx(longal_byh,integerai_sflx,integerai_mode),returninteger獲得病人信息,一般指刷卡的過程。分門診掛號(包括掛號、退號)、門診結(jié)算(包括收費(fèi)、作廢、退費(fèi))、住院登記(登記、注銷)、住院結(jié)算(包括結(jié)算、作廢、退費(fèi))等地方都要調(diào)用。也可在此函數(shù)中處理應(yīng)急醫(yī)保(即在醫(yī)保中心聯(lián)系不上的情況下,在本地完成大致的醫(yī)保的結(jié)算計(jì)算和結(jié)算,到時(shí)候再到醫(yī)保中心手工處理報(bào)銷,寧波醫(yī)保有應(yīng)急處理)。參數(shù):al_byh

病員號

門診為

MS_BRDA.ID

住院為

ZY_BRRY.ZYH

當(dāng)ai_mode=0andai_sflx=1時(shí)設(shè)置為

0ai_sflx

收費(fèi)類型

1掛號

2門診

3住院ai_mode

使用場合和方式

0掛號或者入院登記建立檔案時(shí)用

1收費(fèi)結(jié)算或者掛號

2退費(fèi)

–1作廢結(jié)算或者退號其他必要設(shè)置的參數(shù):idw_hisdata

設(shè)置為必要傳參數(shù)的DATAWINDOW

有時(shí)候同時(shí)起到回填數(shù)據(jù)的功能return1

成功

–1

失敗

下面是幾種常見的使用場合:住院登記:al_byh=0

ai_sflx=3

ai_mode=0在入院登記窗口中,新增“醫(yī)?!卑粹o,并處理刷卡和獲得基本數(shù)據(jù)。掛號建檔:al_byh=0

ai_sflx=1

ai_mode=0門診病人建立新檔案時(shí)調(diào)用。如:w_mzgh_new建議新增“醫(yī)保”按鈕,統(tǒng)一處理醫(yī)保病人的檔案建立和刷卡過程。掛號:

al_byh=ID

ai_sflx=1

ai_mode=1

一般在掛號模塊中選定了病人后,要選掛號科室前調(diào)用。退號:

al_byh=ID

ai_sflx=1

ai_mode=-1

進(jìn)行退號確認(rèn)時(shí)調(diào)用門診收費(fèi):al_byh=ID

ai_sflx=2

ai_mode=1

選擇了病人后,進(jìn)入收費(fèi)結(jié)算主界面前,一般在

w_hjsf_mzxx“確定”按鈕門診作廢:al_byh=ID

ai_sflx=2

ai_mode=-1

進(jìn)行作廢確認(rèn)時(shí)調(diào)用門診退費(fèi):al_byh=ID

ai_sflx=2

ai_mode=2

選擇了病人后,在進(jìn)行退費(fèi)操作前

也可以在進(jìn)行確認(rèn)結(jié)算前,如:w_tfcl的“確認(rèn)”按鈕中住院結(jié)算:al_byh=ZYH

ai_sflx=3

ai_mode=1住院作廢:al_byh=ZYH

ai_sflx=3

ai_mode=-1住院退費(fèi):al_byh=ZYH

ai_sflx=3

ai_mode=2

此功能一般在BSHIS2.1中使用,在BSHIS2.21以上的版本中,一般建議使用隔日作廢功能。5)事件:ue_zydj_login(),returninteger住院入院登記__保存檔案,處理向醫(yī)保前置機(jī)發(fā)登記請求其他必要設(shè)置的參數(shù):idw_hisdata

在這里做入院登記的DATAWINDOW,用于參數(shù)傳遞return1

成功

–1

失敗

一般在入院登記窗口中,“確定”按鈕中處理

6)事件:ue_zydj_logout(),returninteger住院入院注銷__撤消檔案,處理向醫(yī)保前置機(jī)發(fā)登記請求其他必要設(shè)置的參數(shù):idw_hisdata

在這里做入院登記的DATAWINDOW,用于參數(shù)傳遞return1

成功

–1

失敗

一般在住院病人基本信息維護(hù),處理注銷病人的“確定”按鈕中處理

7)事件:ue_zysf_yjs(),returninteger住院預(yù)結(jié)算,在調(diào)用前,先給對象的isu_zyjsxx結(jié)構(gòu)體變量賦值。isu_zyjsxx

結(jié)算信息必要的結(jié)構(gòu)體變量,具體內(nèi)容(如zyh、jscs、jsrq、czgh等)根據(jù)實(shí)際需要而定。建議將結(jié)算界面中的項(xiàng)目DATAWINDOW傳入以便結(jié)算。retur

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論