• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    狂犬病暴露登記及預(yù)防接種系統(tǒng)設(shè)計(jì)及分析

    2019-03-16 06:12:46姚偉
    計(jì)算機(jī)時(shí)代 2019年2期

    摘? 要: 文章介紹了狂犬病暴露登記及預(yù)防接種系統(tǒng)的設(shè)計(jì)。系統(tǒng)前臺(tái)采用Ext JS,后臺(tái)采用M語言的Caché數(shù)據(jù)庫,并嘗試在JS中通過調(diào)用VB類方法作為中間件,再去調(diào)用PB類方法去實(shí)現(xiàn)打印疫苗計(jì)劃接種標(biāo)簽。系統(tǒng)根據(jù)醫(yī)療規(guī)范進(jìn)行規(guī)則設(shè)置并提醒護(hù)士,以確保醫(yī)療安全。在信息查詢及統(tǒng)計(jì)報(bào)表編制過程中采取了以M語言為主,SQL語句為輔的兩種語言相結(jié)合。系統(tǒng)的應(yīng)用提高了臨床工作質(zhì)量及效率并為上級(jí)部門提供了準(zhǔn)確的數(shù)據(jù)保證。

    關(guān)鍵詞: Ext JS; Caché; 類方法; 動(dòng)態(tài)庫

    中圖分類號(hào):TP311? ? ? ? ? 文獻(xiàn)標(biāo)志碼:A? ? ?文章編號(hào):1006-8228(2019)02-30-04

    Design and analysis of rabies exposure registration and vaccination system

    Yao Wei

    (Equipment & Information Department, People's Hospital of YangZhong City, Zhenjiang, Jiangsu 212200, China)

    Abstract: This paper introduces the development of a rabies exposure registration and vaccination system. The system adopts Ext JS and M language Caché database, and tries to use VB class method as middleware in JS, and then PB class method to print vaccination label. In order to ensure medical safety, the system sets rules according to medical norms and reminds nurses. In the process of information query and statistical report preparation, the combination of M language and SQL language is adopted. The application of the system improves the quality and efficiency of clinical work and provides accurate data guarantee for higher departments.

    Key words: Ext JS; Caché; class method; dynamic link library

    0 引言

    狂犬病是由狂犬病病毒引起的一種急性傳染病,屬于人畜共患自然疫源性疾病[1]。犬為主要宿主動(dòng)物和傳染源[2],通過攜帶狂犬病病毒的犬、貓等動(dòng)物咬傷或抓傷等使病毒侵入中樞神經(jīng)系統(tǒng),并在神經(jīng)細(xì)胞內(nèi)繁殖復(fù)制,一旦發(fā)病,無一例外,均死亡[3]。由于目前狂犬病無藥可治,因此,只能以預(yù)防為主。為了能更準(zhǔn)確高效地管理我院狂犬病的暴露登記及預(yù)防接種情況,信息科開發(fā)了一套暴露登記及預(yù)防接種的系統(tǒng),目前該系統(tǒng)已正式應(yīng)用于臨床,該系統(tǒng)的應(yīng)用可為今后信息的追溯查詢及統(tǒng)計(jì)分析提供參考依據(jù)。

    1 開發(fā)環(huán)境簡介

    系統(tǒng)設(shè)計(jì)為B/S架構(gòu),系統(tǒng)基于我院HIS生產(chǎn)庫Caché數(shù)據(jù)庫環(huán)境,開發(fā)操作系統(tǒng)平臺(tái)為Windows,前端采用Ext JS,后臺(tái)采用M語言開發(fā)。前臺(tái)Ext JS具有UI組件豐富,外觀漂亮,瀏覽器兼容性好,不管后臺(tái)是用什么語言開發(fā)的都不會(huì)受影響等優(yōu)點(diǎn)。后臺(tái)Caché數(shù)據(jù)庫是美國Intersystems公司產(chǎn)品,后關(guān)系型數(shù)據(jù)庫中的領(lǐng)頭羊。Caché數(shù)據(jù)庫對(duì)大多數(shù)國內(nèi)IT人員來說還是比較陌生,然而在國外特別是國外的醫(yī)療領(lǐng)域中,Caché數(shù)據(jù)庫所占的比例是最大的,被醫(yī)療界公認(rèn)為首選數(shù)據(jù)庫。官方數(shù)據(jù)顯示,Caché數(shù)據(jù)庫的數(shù)據(jù)查詢速度約為其他數(shù)據(jù)庫的7~20倍,并方便的支持關(guān)系型數(shù)據(jù)庫和對(duì)象型數(shù)據(jù)庫[4]。

    2 開發(fā)過程介紹

    2.1 患者信息查詢

    只需掃描掛號(hào)小條上的登記號(hào),通過調(diào)取類方法ClassMethod QueryInfo(cardno As %String) As %String,從患者院內(nèi)建卡信息表中獲取基本信息,既減少工作人員負(fù)擔(dān)又保證了檔案信息的準(zhǔn)確性。暴露登記信息中的具體內(nèi)容,和業(yè)務(wù)部門溝通后設(shè)置了默認(rèn)值,提高了錄入速度,見圖1。

    2.2 預(yù)防接種登記

    ⑴ 護(hù)士可通過暴露登記日期、登記號(hào)、姓名、身份證號(hào)、聯(lián)系電話進(jìn)行任意組合模糊查詢,便于快速定位患者暴露登記信息[5]。查詢類方法ClassMethod QueryRabiesPatExecute(ByRef qHandle As %Binary, patcardno, patname, patid, pattele, chkdate, patdate) As %Status。

    部分主要代碼:

    s result=##class(%Library.ResultSet).%New()

    ssqlStr="select ID,PatId,PatDate,PatName,Sex,Birthday,

    IdCard, TelePhone,ExposedDate…? from sqluser

    .DHC_YzRabiesReg where? 1=1 "

    //將SQL查詢語句賦值給ssqlStr變量

    i patcardno'="" s sqlStr=sqlStr_" and "_"PatId=

    "_"'"_patcardno_"'" …… //根據(jù)模糊查詢條件拼裝SQL查詢語句

    d result.Prepare(sqlStr)

    d result.Execute()

    While(result.Next())

    { s RabRowId=result.Data("ID")

    s PatNo=result.Data("PatId")…

    d OutputRow1? //查詢出符合條件記錄并輸出

    }

    d result.Close()

    點(diǎn)擊查詢后見圖2。

    ⑵ 如患者當(dāng)天為首次接種,系統(tǒng)將自動(dòng)推算出后續(xù)計(jì)劃接種日期,以首次接種日期為基準(zhǔn),如為五針法則間隔3、7、14、28天,如為2-1-1法則間隔7、21天,非首次接種則直接從系統(tǒng)中調(diào)取計(jì)劃接種記錄。見圖3。

    調(diào)取計(jì)劃接種記錄類方法ClassMethod

    QueryNurPlanInjectExecute(ByRef qHandle As %Binary, rabdr) As %Status // rabdr為入?yún)?,是患者暴露登記主鍵,此方法出參為計(jì)劃接種表RowId、暴露登記RowId、注射方式、計(jì)劃注射日期

    { fs xRowId=$o(^User.DHCYZInjectPlanI

    ("IndexRabiesRegPlanDr",rabdr,xRowId)) q:xRowId=""d

    //rabdr為節(jié)點(diǎn),遍歷索引^User.DHCYZInjectPlanI,找到xRowId主鍵

    .s Method=$listget(^User.DHCYZInjectPlanD(xRowId),2)

    //通過主索引遍歷后執(zhí)行$l獲取注射方式

    .s PlanDate=$listget(^User.DHCYZInjectPlanD(xRowId),3)

    //通過主索引遍歷后執(zhí)行$l獲取計(jì)劃注射日期

    .s PlanDate=$zd(PlanDate,3)

    //將系統(tǒng)內(nèi)保存的日期轉(zhuǎn)化為yyyy-mm-dd格式

    .s ret=rabdr_"^"_MethodName_"^"_PlanDate

    //拼裝需輸出的字符串

    .d OutputRow1

    set Data=$lb(Prowid,rabdr,MethodName,PlanDate)

    //出參數(shù)據(jù)組合

    }

    ⑶ 在護(hù)士給患者接種疫苗前需填報(bào)此次注射的相關(guān)信息,在記錄保存前必須經(jīng)過兩個(gè)類方法的規(guī)則校驗(yàn)⑴、ClassMethod DataPass(rbrowid, PatDate, nowmethoddr) ,此方法將對(duì)此次注射療程規(guī)則進(jìn)行判斷,如上次是5-0針,而此次注射登記必須為5-3針法,不允許選擇其他療程方式。見圖4。

    ⑷ ClassMethod InjJudge(RabRegRowId, injdate, injmethod),此方法主要判斷此次注射日期是否提前,因根據(jù)疫苗注射的嚴(yán)格規(guī)定,不允許提前注射。見圖5。

    2.3 預(yù)防接種計(jì)劃標(biāo)簽打印

    如首次注射疫苗接種填報(bào)成功后,系統(tǒng)會(huì)自動(dòng)彈出框提醒護(hù)士打印一標(biāo)簽給患者,貼在患者病歷內(nèi)側(cè),標(biāo)簽內(nèi)容主要是疫苗接種計(jì)劃日期表,點(diǎn)擊打印按鈕后系統(tǒng)將調(diào)用PB編制的打印窗口頁面,打印標(biāo)簽則與我院輸液瓶簽同規(guī)格7*6cm大小。

    具體實(shí)現(xiàn)步驟:

    ⑴ 新建window窗體w_printcard和數(shù)據(jù)窗口dw_printcard。

    ⑵ 通過PB開發(fā)工具新建一類uo_rabgetinfo,方法名為getinfo,入?yún)閕nfostr,具體代碼為:

    OpenWithParm(w_printcard,string(infostr)) return infostr

    ⑶ 新建COM/MTS/COM+/Component組件,命名為printcard.dll。

    ⑷ 在w_printcard的open事件中對(duì)傳入的參數(shù)進(jìn)行解析。

    ll_pos=pos(as_parm, '^') //傳入?yún)?shù)以”^”作為分隔符

    do while ll_pos>0

    ll_item ++

    as_data[ll_item]=left(as_parm, ll_pos-1)

    as_parm=mid(as_parm, ll_pos+1)

    ll_pos=pos(as_parm, '^')

    loop

    ll_item ++

    as_data[ll_item]=as_parm //循環(huán)時(shí)將以”^”為分隔符,將分隔出來的字符串保存在as_data[]中,后續(xù)將顯示在數(shù)據(jù)窗口中;

    ⑸ 在VB中新建ActiveXdll控件,工程命名為Classvbtopb類模塊名為Class1,引用在PB中生成的printcard.dll文件。

    ⑹ 在Class1類中新建 test方法;

    Public Function test(information As String) As String

    Dim obj As New uo_rabgetinfo

    //實(shí)例化PB中類uo_rabgetinfo

    Dim i

    i=obj.getinfo(information) //調(diào)用PB中類方法getinfo

    End Function

    ⑺ 編譯生成VB動(dòng)態(tài)庫文件Classvbtopb.dll。

    ⑻ 在系統(tǒng)應(yīng)用過程中,需先在客戶端c:\windows\system32下先后注冊(cè)printcard.dll和Classvbtopb.dll兩個(gè)文件。

    ⑼ Ext JS中實(shí)現(xiàn)瓶簽打印功能主要代碼,打印標(biāo)簽窗口。見圖6。

    obj.btnPrint_OnClick=function() {

    if (row==0) { ExtTool.alert("提示", "請(qǐng)選中患者基本

    信息!") ;return; }

    //通過調(diào)取類方法ObjDHCYZInjectDetailSrv

    .PrintPlanInjectDetail,入?yún)ow為暴露登記表中主索引ROWID,從表中獲取需打印在瓶簽上患者的基本信息及注射計(jì)劃日期等

    var getstr=ObjDHCYZInjectDetailSrv

    .PrintPlanInjectDetail(row);

    //新建名為CacheDllobj的Active對(duì)象,其中工程名

    Classvbtopb,類模塊名Class1

    var CacheDllobj=new ActiveXObject('Classvbtopb.Class1');

    //調(diào)用test方法, 并返回打印成功或失敗消息

    var rtn=CacheDllobj.test(getstr);

    alert(rtn);

    };

    2.4 各類統(tǒng)計(jì)報(bào)表

    根據(jù)疾控中心及院部管理部門要求,編制了患者接種疫苗計(jì)劃一覽表、疫苗注射人員工作量以及監(jiān)測暴露人群情況匯總等報(bào)表。所有統(tǒng)計(jì)報(bào)表后臺(tái)全部采用了M語言和SQL語句相結(jié)合語法,匯總表最終通過潤乾報(bào)表展現(xiàn)。見圖7。

    此報(bào)表后臺(tái)類方法為class(web.DHCYZInjectDetail).RbReport(stdate, enddate),入?yún)tdate,enddate為統(tǒng)計(jì)起始日期和終止日期,主要實(shí)現(xiàn)代碼

    Import SQLUser

    Class web.DHCYZInjectDetail Extends

    %RegisteredObject

    { ClassMethod RbReport(stdate, enddate) As %String

    { s stdate=$zdh(stdate,3)

    //日期轉(zhuǎn)化成記錄在數(shù)據(jù)庫里格式化

    s enddate=$zdh(enddate,3)

    //暴露等級(jí) 一級(jí)

    &SQL(SELECT count(*) INTO :firlv from sqluser

    .DHC_YzRabiesReg

    where PatDate between :stdate and :enddate

    and ExposedLevel=1)

    //疫苗接種全程 調(diào)用方法InjectProc

    set proc=..InjectProc(stdate, enddate)

    //未接種調(diào)用方法UndoInject

    set noproc=..UndoInject(stdate,enddate)

    }

    }

    3 系統(tǒng)的應(yīng)用

    ⑴ 降低錯(cuò)登及漏登記情況:暴露登記及預(yù)防接種系統(tǒng)直接調(diào)用患者在HIS中的基本信息,無須護(hù)士手工錄入,特別在防止安全隱患方面起到了良好的作用,且為正確統(tǒng)計(jì)提供了可靠的依據(jù)。

    ⑵ 節(jié)省人力及物力:當(dāng)前我院注射工作量平均每天80人次,為了保證治療準(zhǔn)確性,原來每次患者來院都需在記錄本上找之前注射信息,注射后又需在登記本上記錄簽名,非常耗時(shí),而且登記本保存比較麻煩,需要大量的空間進(jìn)行資料的保存,系統(tǒng)的使用可在幾秒鐘內(nèi)快速定位患者暴露登記信息及注射信息,然后與病歷內(nèi)標(biāo)簽上核對(duì)后簽名,這大大降低了護(hù)士登記及審核所需的時(shí)間。涉及每月上報(bào)數(shù)據(jù)較多,原需一個(gè)護(hù)士花1-2天時(shí)間統(tǒng)計(jì),現(xiàn)只需幾秒鐘大大節(jié)省了人力提高了效率。

    ⑶ 為管理提供了可靠依據(jù):此系統(tǒng)具備完整的登記、查詢和統(tǒng)計(jì)功能,可提供一定時(shí)期臨床護(hù)士的接種登記工作量及患者注射監(jiān)測暴露人群情況匯總等情況,此舉為醫(yī)院對(duì)門診質(zhì)量管理及對(duì)工作人員的績效考核提供了客觀依據(jù),提高了管理水平。詳細(xì)的記錄保存,為醫(yī)院的科研、教學(xué)提供了寶貴的資料,也為醫(yī)院工作提供了分析和決策的數(shù)據(jù)依據(jù),取得了很好的效果。

    通過幾個(gè)月的應(yīng)用與實(shí)踐,目前系統(tǒng)運(yùn)行穩(wěn)定,應(yīng)用效果顯著,大大提高了醫(yī)護(hù)人員的工作效率。下一步將利用Ext JS新技術(shù)在界面展現(xiàn)及數(shù)據(jù)交互上進(jìn)行優(yōu)化,涉及后臺(tái)代碼利用Caché數(shù)據(jù)庫特有的快速索引技術(shù)進(jìn)行逐步調(diào)整以提高數(shù)據(jù)統(tǒng)計(jì)速度。另外此系統(tǒng)數(shù)據(jù)在狂犬病預(yù)防等科研方面對(duì)廣大醫(yī)院信息工作者和醫(yī)護(hù)人員有利用價(jià)值。

    參考文獻(xiàn)(References):

    [1] 金祝平,龐志峰.2010年金華市狂犬病暴露病例流行病學(xué)特征分析[J].中國預(yù)防醫(yī)學(xué)雜志,2011.12(9):782-784

    [2] 趙東麗,趙夏釵,吳月華.690例狂犬病暴露人群流行病學(xué)特征分析[J].中國公共衛(wèi)生管理,2013.29(3):364-365

    [3] 肖雷,王鳳雙,唐瑩,等.2008-2014年北京市順義區(qū)狂犬病暴露人群流行病學(xué)特征分析[J].中國生物制品學(xué)雜志,2016.29(3):283-287

    [4] 雷舜東,吳幫華,黃?,?,李玉明,張紅.Caché數(shù)據(jù)庫在醫(yī)院信息系統(tǒng)中的優(yōu)勢[J].實(shí)用醫(yī)院臨床雜志,2012.1:162-165

    [5] 李成亮,姚偉.Caché數(shù)據(jù)庫簡單模糊查詢的研究與分析[J].計(jì)算機(jī)時(shí)代,2017.1:51-54

    中山市| 商丘市| 靖江市| 陵川县| 商河县| 达州市| 高要市| 商河县| 平原县| 永州市| 肇庆市| 西昌市| 吉水县| 赤水市| 都昌县| 雷山县| 互助| 宜昌市| 岑巩县| 芜湖县| 诸城市| 湖南省| 江门市| 鹤壁市| 卢氏县| 桂平市| 昌宁县| 萨迦县| 墨竹工卡县| 烟台市| 东乡县| 泉州市| 衢州市| 固镇县| 黑河市| 肥东县| 吴江市| 山西省| 苗栗市| 武胜县| 乐山市|