技术文档3-PASS4 CS版系统嵌入手册
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、PASSv4.0功能简介
(一)、以接口方式提供医嘱(处方)审查功能和药物信息查询功能。
1、医嘱(处方)审查功能,审查项目包括:
•药物与药物(联合用药)
相互作用体外配伍配伍浓度重复用药(重复成份、重复治疗)•药物与患者
超适应症禁忌症不良反应药物过敏史
•特殊人群
老年人用药儿童用药妊娠期用药哺乳期用药
性别用药成人用药
•用法用量
剂量(每次、每天、频次、持续时间、疗程总量)
肝损害剂量肾损害剂量
给药途径(药品与给药途径、剂型与给药途径)
•围术期用药
•细菌耐药率
•越权用药
2、药物信息查询功能,查询项目包括:
药品说明书药品重要信息浮动窗口查询
(二)、以程序方式提供医院数据维护和审查结果统计分析功能
1、医院数据维护
•基础数据配对
药品配对抗菌药物whonet配对疾病配对过敏源配对给药途径配对药品属性定义给药频次配对
•药品说明书维护
•审查自定义
药品警示 医生权限
围手术期警示
• 审查结果屏蔽
2、 审查结果统计分析
二、PASSv4.0软件架构
◆PASS4.0系统服务器主要用于安装“PASS 系统数据库”和“PASS 系统服务程序”。
PASS 系统服务程序通过ADO 访问PASS 系统数据库。
◆PASS 系统客户端程序以socket 或webservice 访问PASS 服务程序,所以住院(门诊)医生工作站只需安装PASS 系统客户端程序,不需安装数据库客户连接程序。
◆HIS 系统程序通过嵌入PASS 系统提供的PASS4Invoke.dll 文件DLL 函数来嵌入PASS 系统提供的功能。
◆支持webservice ,可以支持广域网的访问,适合于区域医疗平台的使用。
三、PASSv4.0在医院的应用
1、嵌入PASS 功能的住院(门诊)医生工作站
为了实现PASS 系统对HIS 病人用药自动、实时审查和查询功能,要求HIS 医生工作站嵌入PASS 系统提供的DLL 函数来加入PASS 系统提供的功能,嵌入具体要求如下:
◆ 在医嘱界面点击药品时,可方便查询药品说明书。
◆ 加入“药品重要信息提示窗口”自动弹出功能。
(可选) ◆ 保存处方时,加入PASS 自动审查功能,并要求HIS 系统根据PASS 系统结果进
行警示变色。
另外,PASS 系统自动将审查出的不合理用药结果保存到PASS 系统服务器,以便医院管理层、专业人员对PASS 审查结果进行查询、统计分
PASS4.0系统数据(SQL Server )
PASS4.0系统服务程序
ADO 连接
PASS4.0客户端DLL 文件
PASS 系统应用程序
socket 连接
DLL 函数调用
PASS 系统服务器 PASS 系统工作站
webservice 连接
析。
◆点击黑、红、橙、黄警示灯时,系统自动弹出“药品审查结果简要信息提示窗
口”。
(可选)。
2、PASS维护工具
为了让PASS能正确、全面识别从HIS系统传入的病人用药情况信息,PASS系统需要预先建立HIS系统药品数据、给药途径数据、给药频次数据、诊断数据、过敏史数据、手术数据等字典的对应关系表,建立对应关系表的过程称为数据维护。
PASS系统维护项目主要包括“药品配对”、“给药途径配对”、“诊断配对”、“手术配对”等这些配对工作,主要作用是建立用户数据与PASS系统数据之间的对应关系。
为了让医院能尽快实施和使用PASS,美康公司要求医院在工程实施前以电子文档方式提供医院HIS系统中的药品、给药途径数据字典表,然后由美康公司专业人员负责完成药品、给药途径的配对工作,并将配对结果直接打包到PASS系统安装光盘数据库中。
对于安装完PASS系统后医院新进药品,美康公司提供独立的维护工具,以便医院专业人员及时完成新进药品配对,保证PASS系统能对医院药品信息进行准确、全面的审查。
3、审查结果统计分析工作站
前面提到,PASS系统在医生工作站对病人用药自动审查时,会自动将审查出的不合理用药结果保存到PASS系统服务器。
美康公司提供的“审查结果统计分析”就是供医
院管理层、专业人员对全院审查结果进行全面、准确统计分析的独立程序,医院管理层、专业人员通过此程序可以了解、掌握全院医生用药情况,有针对性地制定出有效的用药管理措施。
四、PASSv4.0嵌套前准备
1.提取基础数据
参见文档“技术文档1-PASS4系统工程实施前医院准备工作.doc”
2.安装PASS服务器
参见文档“”
3.安装PASS客户端
参见文档“”
五、PASSv4.0嵌套流程
PASS接口的嵌套工作实际上是围绕实现PASS审查与查询这两大功能进行的。
下面首先简要介绍接口函数的调用流程。
接口函数调用示意图:
HIS程序首先调用初始化函数后,如需使用PASS查询功能,首先调用MDC_DoSetDrug 函数将待查询药品的信息传送至PASS服务器,然后再调用MDC_DoSetDrug函数显示药品说明书或者药品重要信息提示窗口。
如需使用PASS审查功能首先传入病人的基本信息,接着传入病人的诊断信息,过敏史信息,手术信息,用药清单,再调用PASS的审查函数MDC_DoCheck进行审查,如系统发现有潜在的用药风险会弹出警示框进行提示。
最后HIS程序退出时,调用MDC_Quit函数,释放PASS资源。
整个PASS嵌套工作大体上可分为四大步:第一步:是否调用PASS功能参数设置;第二步:PASS初始化;第三步:PASS查询功能;第四步:PASS审查功能。
下面依次进行介绍。
第一步:是否调用PASS功能参数设置
1.全局控制参数
为了方便医院对PASS进行管理,需要在HIS数据库中设立一个或者多个全局控制参数,由它来总体或者分别控制不同类型工作站(门诊医生工作站,住院医生工作站……)PASS
功能的开启与关闭。
考虑到有些医院正在使用PASSv3.0版本,因此该参数的设置应保证同时只能使用PASS系统的一个版本,不能同时使用两个版本,即PASSv4.0与PASSv3.0互斥。
例如:在HIS系统表“APP_CONFIGER_PARAMETER”中加入一是否调用PASS系统参数设置记录,具体如下:
第二步:PASS初始化
PASSv4.0初始化需要一下这些工作根据读取的全局控制参数确定能否调用PASS功能、初始化与PASS服务器的连接、设置客户端审查的模式、以当前用户登录通信平台客户端(用户购买相关模块)。
1. 注意事项:
◆获取HIS数据库参数配置表中PASS4.0功能是否开启的控制参数,并根据此参数决定是
否调用PASS4.0初始化函数。
◆由于PASS4.0门诊、住院、药房、静脉配置中心、摆药工作站等平台的审方功能均可能
存在着不同的审查模式(审查模块与警示级别),初始化函数的调用放在启动进入不同类型医生站程序时以及用户切换时来进行。
◆在调用PASS4.0初始化函数时,需要先判断“PASS4Invoke.dll”嵌套接口文件是否存在,
如存在则进行调用,否则不调用。
2. 调用函数的参数解析:
1)初始化函数
Function integer MDC_Init(String pcCheckMode,&
String pcHisCode,&
String pcDoctorCode) Library "PASS4Invoke.dll"
/*传入参数:
pcCheckMode: 字符串,审查模式,传入使用系统设置定义的模式,根据传入值的不同审查结果不同。
传入空串按默认PASS审查模式审查
pcHisCode: 字符串,从HIS数据库中获取中文医院名称信息,而非医院编码,如:XXXXX医院。
pcDoctorCode: 字符串,医生编码,传入登录医生编码,必须是医生字典表里有的。
以便确定医生身份,用来登录互动平台。
返回值:整型
1-成功
0-调用PASS初始化接口失败
-1-执行命令超时
-2-连接PASS服务器失败
-3-获取审查、查询列表出错
-4-初始化工具条出错
-5-更新资源文件出错
调用:系统必须首先调用MDC_Init成功后才能调用其他功能函数。
*/
3.算法:
//*******************美康嵌入代码开始(PASS初始化)*******************
//声明变量
bool gl_PassEnabled //全局变量,是否使用pass4功能
String loginuserid //当前登录用户工号和姓名
String hosname //医院名称
String checkmode //当前登录科室编码和名称
gl_PassEnabled =【HIS系统服务器"是否使用PASS系统"记录值】
//1、从HIS系统服务器读是否使用PASS系统设置值到"否使用PASS系统"全局变量//gi_passe4nabled中,
// 例如从HIS系统服务器中HisSysSetTable表读是否使用PASS系统代码如下:// Select nSysSetValueField From HisSysSetTable
// Into :gl_PassEnabled
// Where Item = 'PASS';
IF (gl_PassEnabled = 4) THEN
//如果调用PASS系统功能
If FileExists("PASS4Invoke.dll") Then
//如果找到passinvoke.dll文件,则调用PASS提供的DLL函数MDC_Init ()进行初始化。
loginuserid = [当前登录用户工号]
//取当前当前登录用户工号和用户名,例如lcLoginUserIDandName = '001'
checkmode=[工作站类型]
//门诊医生站传’mz’;住院医生站传’zy’;其余传值参见passset.exe
If Mdc_Init(checkmode, hosname, loginuserid) = 1 Then
//调用MDC_Init()函数进行初始化成功
gl_PassEnabled = 4
//将"是否使用PASS系统"全局变量设为使用状态
Else
gl_PassEnabled = 0
//将"是否使用PASS系统"全局变量设为不使用状态
End If
Else // passinvoke.dll文件未找到
gl_PassEnabled = 0
//将"是否使用PASS系统"全局变量设为不使用状态
messagebox('提示',' PASS4Invoke.dll文件不存在,合理用药监测系统无法正常使用!请与系统管理员联系!')
End If
End If
//*******************美康嵌入代码结束(PASS初始化)*******************
第三步:PASS查询功能
1.注意事项
1)病人处方、医嘱药品信息的查询包含PASS系统数据库中用药重要信息的查询,也包括用户自定义的用于医生需要重点关注的该药品信息,如社保、高危、抗菌药物等信息;也包含该药品的说明书查询。
、
2)查询功能的嵌套地点,主要在医嘱(处方浏览)界面和医嘱(处方)的新开界面以及其他需要查询药品信息的地点。
2.调用函数参数解析:
1) 传入查询药品函数
Function integer MDC_DoSetDrug(string pcDrugUniqueCode, &
string pcDrugName) Library "PASS4Invoke.dll"
/*传入参数:
pcDrugUniqueCode:字符串类型,表示药品唯一码,要求与PASS系统配对时采用的药品唯一码完全一致,否则PASS系统无法识别药品信息。
此参数不能为空。
pcDrugName:字符串类型,表示药品名称。
返回值:整型,1-成功
0-失败*/
2) 药品信息查询函数
Function integer MDC_DoRefDrug(integer piQueryType) Library "PASS4Invoke.dll" /*传入参数:
piQueryType:整型,表示查询模块。
具体如下:
11-药品说明书,51-简要信息(浮动窗口)
返回值:整型,1-成功
0-失败*/
3.算法:
//声明变量
string pcdruguniquecode //待查询药品唯一码
string pcdrugname //待查询药品名称
datawindow ldw //数据窗口
if gl_PassEnabled=0 then
return //不使用pass功能,返回。
else //使用PASS功能
ldw=【his界面中的数据窗口】
if 【当前医嘱类型】=【药品医嘱】 then
pcdruguniquecode = ldw.【药品唯一码字段名】.value
pcdrugname=ldw.【药品名称字段名】.value
else //当前医嘱为非药品医嘱
pcdruguniquecode= '' //非药品医嘱唯一码与传空值
pcdrugname= '' //非药品医嘱名称传空值
end if
MDC_DoSetDrug(pcdruguniquecode, pcdrugname); //传查询药品的唯一码与药品名称传
//如名称将显示在浮动工具栏上
MDC_DoRefDrug(51) //显示药品重要信息提示窗口
end if
第四步:PASS审查功能
1.注意事项:
病人处方、医嘱的审查是围绕病人诊疗行为的过程来进行,在代码嵌入过程中有以下几点需要引起注意:
1)处方、医嘱审查动作发生在提交病人的处方、医嘱时,以便发现并纠正用药方案问题,减少不合理用药事件的发生。
2)PASS4病人处方、医嘱的审查分解动作包含调用该病人基本信息函数MDC_SetPatient、过敏史信息函数MDC_AddAller、诊断记录信息函数MDC_AddMedCond、手术记录信息函数MDC_AddOperation、处方或医嘱中药品记录信息函数MDC_AddScreenDrug、审方函数MDC_DoCheck;审查完成后,需调用MDC_GetWarningCode函数获取该病人审查结果药品医嘱”警示级别,如存在严重用药禁忌问题则提示“存在用药禁忌问题,是否调整用药方案”,如没有则无需提示。
3)病人基本信息、过敏史、诊断、手术、药品医嘱(新开,停止,作废,删除等)任一记录信息发生改变,在最后确认时,需重新传入病人基本信息,过敏史,诊断,手术,用药列表进行审查。
2. 调用函数参数解析:
1) 病人基本信息函数:
Function Int MDC_SetPatient (String pcPatCode, &
String pcInHospNo, &
String pcVisitCode, &
String pcName, &
String pcSex, &
String pcBirthday, &
String pcHeightCM, &
String pcWeighKG, &
String pcDeptCode, &
String pcDeptName, &
String pcDoctorCode, &
String pcDoctorName, &
Int piPatStatus, &
Int piIsLactation, &
Int piIsPregnancy, &
String pcPregStartDate, &
Int piHepDamageDegree, &
Int piRenDamageDegree) Library "PASS4Invoke.dll"
传入参数:
pcPatCode:字符串类型,表示病人ID,与参数pcVisitCode唯一确定一个病人,此参数不能为空。
pcInHospNo:符串类型,表示病人门诊号或住院号,此参数不能为空,此参数主要用于“统计分析”显示门诊号或住院号,便于查询和核对。
pcVisitCode:字符串类型,表示病人就诊次数或住院次数,与参数pcPatCode唯一确定一个病人,如果HIS系统没有此信息,则可传入"1"。
pcName:字符串类型,表示病人姓名。
pcSex:字符串类型,表示病人性别,格式为"男"、"女"、"不详",如果没有赋值将会影响病人“妊娠”、“哺乳”、“性别”模块的审查。
pcBirthday:字符串类型,表示病人出生日期,格式为"yyyy-mm-dd",如果没有赋值将会影响病人"剂量"、"儿童警告"、"老年人警告"、"成人"、"肝、肾剂量"模块的审查。
例如:"1976-08-12"。
pcHeightCM:字符串类型,表示病人以厘米为单位的身高值,例如某病人身高为175厘米,则应传入"175"。
如果HIS系统没有管理病人身高信息,则应传入空字符串。
pcWeighKG:字符串类型,表示病人以公斤为单位的体重值,例如某病人体重为23.5公斤,则应传入"23.5",由于传入身高时不能传入单位,所以如果HIS系统病人身高不是以公斤为单位,则要求必须换算成公斤后,再传入数值。
如果HIS系统没有管理病人体重信息,则应传入空字符串。
与剂量,肝、肾剂量损害相关。
pcDeptCode: 字符串类型,表示科室编码。
pcDeptName:字符串类型,表示科室名称。
pcDoctorCode:字符串类型,表示主治/挂号医生编码。
pcDoctorName:字符串类型,表示主治/挂号医生名称。
piPatStatus:整型,表示病人状态:1表示住院病人(默认),2表示门诊病人,3表示急诊病人。
用于采集病人的类型。
Mdc_init中的审查模式只决定审查项目,不能决定病人类型。
piIsLactation:整型,表示病人哺乳状态,优先于通过PassSetMedCond()函数传入“哺乳期”方式的审查,取值: -1-无法获取哺乳状态(默认);0-不是;1-是piIsPregnancy:整型,表示病人妊娠状态,优先于通过PassSetMedCond()函数传入“妊娠期”方式的审查,取值: -1-无法获取妊娠状态(默认);0-不是;1-是pcPregStartDate:字符串类型,表示妊娠开始日期,格式为yyyy-mm-dd。
piHepDamageDegree:整型,表示病人肝损害程度,优先于通过PassSetMedCond()函数传入肝损害类诊断的审查,取值: -1-不确定(默认);0-无肝损害;1-肝功能不全;2-轻度肝损害;3-中度肝损害;4-重度肝损害
piRenDamageDegree整型,表示病人肾损害程度,优先于通过PassSetMedCond()函数传入肾损害类诊断的审查,取值: -1-不确定(默认);0-无肾损害;1-肾功能不全;2-轻度肾损害;3-中度肾损害;4-重度肾损害
返回值:整型,1-成功
0-失败
调用:在审查时,第一个调用该函数
2)传入病人过敏史函数
Function integer MDC_AddAller ( string pcIndex, &
string pcAllerCode, &
string pcAllerName, &
string pcAllerSymptom) Library "PASS4Invoke.dll"
/*传入参数:
pcIndex:字符串类型,表示过敏源序号,在同一循环传入时,要求各记录的pcIndex值必须唯一。
pcAllerCode: 字符串类型,表示过敏源唯一码,要求与PASS系统配对时采用的过敏源唯一码完全一致,否则PASS系统无法识别此过敏信息。
此参数不能为空。
pcAllerName:字符串类型,表示过敏源名称。
pcAllerSymptom:字符串类型,表示过敏源症状。
返回值:整型,1-成功
0-失败
调用:如果当前病人有多条过敏信息记录时,要求循环调用传入。
*/
3)传入病人诊断信息函数
Function integer MDC_AddMedCond (string pcIndex,&
string pcDiseaseCode,&
string pcDiseaseName,&
string pcRecipNo) Library "PASS4Invoke.dll"
/*传入参数:
pcIndex:字符串类型,表示诊断序号,在同一循环传入时,要求各记录的pcIndex值必须唯一。
pcDiseaseCode:字符串类型,表示诊断唯一码,要求与PASS系统配对时采用的诊断唯一码完全一致,否则PASS系统无法识别此诊断信息。
此参数不能为空。
pcDiseaseName:字符串类型,表示诊断名称。
pcRecipNo:处方号。
门诊处方处方专用,住院传空。
适应症审查模块与处方号参数相关返回值:整型,1-成功
0-失败
调用:如果当前病人有多条诊断信息记录时时,要求循环调用传入。
*/
4)传入病人手术记录函数
Function integer MDC_AddOperation (string pcIndex, &
string pcOprCode, &
string pcOprName, &
string pcOprStartDateTime, &
string pcIncisionType,&
string pcOprEndDateTime) Library "PASS4Invoke.dll" /*传入参数:
pcIndex:字符串类型,表示手术序号,在同一循环传入时,要求各记录的pcIndex值必须唯一。
pcOprCode:字符串类型,表示手术唯一码,要求与PASS系统配对时采用的手术唯一码完全一致,否则PASS系统无法识别此手术信息。
此参数不能为空。
pcOprName:字符串类型,表示手术名称。
pcOprStartDateTime:字符串类型,表示手术开始时间,格式为"yyyy-mm-dd hh:mm:ss"。
pcOprEndDateTime:字符串类型,表示手术结束时间,格式为"yyyy-mm-dd hh:mm:ss"。
返回值:整型,1-成功
0-失败
调用:如果当前病人有多条手术信息记录时时,要求循环调用传入。
*/
5)传入病人用药列表函数
Function integer MDC_AddScreenDrug(String pcIndex, &
Int piOrderNo, &
String pcDrugUniqueCode, &
String pcDrugName, &
String pcDosePerTime, &
String pcDoseUnit, &
String pcFrequency, &
String pcRouteCode, &
String pcRouteName, &
String pcStartTime, &
String pcEndTime, &
String pcExecuteTime, &
String pcGroupTag, &
String pcIsTempDrug, &
String pcOrderType, &
String pcDeptCode, &
String pcDeptName, &
String pcDoctorCode, &
String pcDoctorName, &
String pcRecipNo, &
String pcNum, &
String pcNumUnit, &
String pcPurpose, &
String pcOprCode, &
String pcMediTime, &
String pcRemark) Library "PASS4Invoke.dll"
/*传入参数:
pcIndex:字符串类型,表示医嘱唯一码,PASS系统将根据此参数来识别和区分传入的各条
医嘱记录,审查后HIS系统只能通过此参数来获取PASS审查的结果值。
在同一循环传入时,要求各记录的pcIndex值必须唯一,例如,可传入记录的行号值。
piOrderNo:整型,表示医嘱编号。
pcDrugUniqueCode:字符串类型,表示药品唯一码,要求与PASS系统配对时采用的药品唯一码完全一致,否则PASS系统无法识别药品信息。
此参数不能为空。
pcDrugName:字符串类型,表示药品名称。
pcDosePerTime:字符串类型,表示每次使用剂量的数字部分,传入此参数主要用于PASS 对病人每次服用剂量的审查。
注意:此处要求是转化为与药品配对剂量单位完全一致单位后的数值。
例如药品配对剂量单位为"mg",而病人的每次服用剂量为"0.5g",此时就不能传入"0.5",而应换算为"500mg"后,传入"500"。
此参数如果为空,则不能审查剂量。
pcDoseUnit:字符串类型,表示每次服用剂量单位,要求与药品配对剂量单位完全一致,否则可能造成剂量审查不正确。
pcFrequency:字符串类型,表示药品服用频次信息。
pcRouteCode:字符串类型,表示给药途径编码。
注意,要求与PASS系统配对时采用的给药途径编码完全一致,由于PASS给药途径配对时将用户名称作为给药途径的编码,所以此处应将给药途径名称作为给药途径编码来进行传入,由于PASS系统审查与给药途径关系密切,此参数传入错误,将直接致审查错误;如果传空,则导致PASS系统不作任何审查。
pcRouteName:字符串类型,表示给药途径名称。
pcStartTime:字符串类型,表示开立医嘱日期。
格式为"yyyy-mm-dd hh:mm:ss ",例如开嘱日期为1999年3月12日,则应传入"1999-03-12"。
pcEndTime:字符串类型,传入参数,表示停嘱日期,格式为"yyyy-mm-dd hh:mm:ss ",例如停嘱日期为1999年3月12日,则应传入"1999-03-12"。
临嘱停嘱日期等于开嘱日期,未停长期医嘱停嘱日期取当天。
pcExecuteTime:字符串类型,表示执行医嘱时间。
格式为"yyyy-mm-dd hh:mm:ss"。
pcGroupTag:字符串类型,表示成组医嘱标记。
主要用于PASS系统进行注射剂体外配伍审查识别注射剂是否配在一起使用,在循环传入的医嘱中,如果此参数值相同,则表示是配制在一起用,此种情况下才有可能存在体外配伍问题。
pcIsTempDrug:字符串类型,表示医嘱是长期医嘱还是临时医嘱,pcIsTempDrug ='0'表示长期医嘱;pcIsTempDrug ='1',表示临时医嘱。
在门诊医生站上,所有的处方用药都传0(长期医嘱)。
住院医生站,根据实际医嘱的状态进行传值,长嘱传0,临嘱传1。
pcOrderType:字符串类型,表示医嘱类别,取值"0"-在用(默认);"1"-已作废;"2"-已停嘱;"3"-出院带药(根据系统设置参与审查)
pcDeptCode:字符串类型,表示开嘱科室编码。
pcDeptName:字符串类型,表示开嘱科室名称。
pcDoctorCode:字符串类型,表示开嘱医生编码。
pcDoctorName:字符串类型,表示开嘱医生名称。
pcRecipNo:字符串类型,处方号,门诊处方处方专用,住院传空。
用于“统计分析”显示处方号,便于查询和核对。
其中门诊同一病人的多处方审查,处方号相同的才审药物与药物间的审查项目,与疾病相关审查规则为,适应症审查与处方号相关,禁忌症和不良反应与处方号无关。
pcNum:字符串类型,药品开出数量,门诊处方审查专用,住院传空。
为PA审7日用量预留。
pcNumUnit:字符串类型,药品开出数量单位,门诊处方审查专用,住院传空。
为PA审7日用量预留。
pcPurpose:字符串类型,表示用药目的,传入值定义为:’1’表示可能预防,’2’表示可
能治疗,’3’表示预防,’4’表示治疗,’5’表示预防+治疗, 默认值为’0’。
pcOprCode:字符串类型,表示手术编号,如果对应多手术,用','隔开,表示该药为该编号对应的手术用药。
pcMediTime:字符串类型,表示手术用药时机类型,具体取值要求见下表:
pcRemark:表示医嘱备注信息。
返回值:整型,1-成功
0-失败
调用:如果当前病人有多条用药信息记录时时,要求循环调用传入。
*/
注意事项:
◆临时医嘱不参与“重复用药的审查”,因此如果门诊用药如传“临嘱”将不能进行该项审
查。
建议门诊都取长嘱,如果医院不需要该项审查,在PASSSET.EXE里面设置关闭。
◆剂量模块中的“用药持续时间”审查有个前提条件,病人类型只能为住院且医嘱为长嘱,
才能审查该项目。
6)调用审查函数
病人处方、医嘱提交或病人基本信息、过敏史、诊断、手术、用药信息发生修改进行提交时调用医嘱审查函数进行审查。
Function integer MDC_DoCheck ( int piShowMode, &
int piIsSave) Library "PASS4Invoke.dll"
/*传入参数:
piShowMode:整型,表示审查结果显示模式, 0-不显示界面 1-显示界面。
piIsSave:整型,表示审查结果采集模式,决定审查结果是否采集到PASS统计分析库,以便医院临床药学部门通知统计分析程序掌握医院用药问题情况。
一般来讲门诊、住院医生站医嘱审查要进行采集,药房发药、摆药工作站、静脉配液中心工作站则不用进行采集。
取值为:0-不采集 1-采集。
返回值:整型,1-成功
0-失败*/
3.算法示例
审查功能可能需要在HIS程序不同点上进行调用,为了减少嵌套代码的重复性,同时也便于今后的升级与维护。
强烈建议his程序自定义以下的审查函数wf_recipe_check。
在wf_recipe_check函数中,首先调用MDC_SetPatient函数传入病人基本信息、调用MDC_AddAller函数传入病人的过敏史信息、调用MDC_AddMedCond函数传入病人的诊断信息、调用MDC_AddOperation(可选)传入病人的手术信息、最后调用MDC_AddScreenDrug函数传入病人的用药信息并审查。
1)自定义审查函数 wf_recipt_check
int wf_recipt_check(int isshow,int issave)
参数:isshow:是否显示审查结果界面
1:显示审查结果界面
0:不显示审查结果界面
issave:PASS是否采集审查结果(统计分析程序使用)
1:采集审查结果
0:不采集审查结果
返回值:imaxwarn
//声明变量
/*声明病人基本信息变量
string pcpatcode, pcinhospno, pcvisitcode, pcname, pcsex, pcbirthday
string pcheightcm, pcweighkg, pcdeptcode,pcdeptname,pcdoctorcode
string pcdoctorname, pcpregstartdate
int pipatstatus, piislactation, piispregnancy,pihepdamagedegree
int pirendamagedegree
*/声明病人基本信息变量结束
/*声明病人诊断信息变量
string pcdiseaseindex, pcdiseasecode, pcdiseasename, pcrecipno
*/声明病人诊断信息变量结束
/*声明病人过敏信息变量
string allerindex, pcallercode, pcallername, pcallersymptom
*/声明病人过敏信息变量结束
/*声明病人手术信息变量 (可选)
string oprindex, pcoprcode, pcoprname, pcincisiontype, pcoprstartdatetime
string pcOprEndDateTime
*/声明病人手术信息变量结束
string pcindex,pcdruguniquecode,pcdrugname,pcdoseunit,pcroutecode,pcroutename string pcfrequency,pcdosepertime,pcdeptcode,pcdeptname,pcdoctorcode
string pcdoctorname,pcstarttime,pcendtime,pcexcutetime,pcgrouptag, pcistempdrug, string pcordertype, pcrecipno, pcnum, pcnumunit, pcpurpose, pcoprcode, pcmeditime string pcremark
string orderstatus //医嘱状态
int piorderno
int imaxwarn,iwarn //警示值
datawindow ldw //数据窗口
imaxwarn = 0 //初始化最严重警示级别为0
if gl_PassEnabled=0 then
return //不使用PASS功能,返回
else //使用PASS功能
pcpatcode=【病人ID号】
pcinhospno=【门诊号或者住院号】//用于统计分析程序中显示用pcvisitcode=【病人的住院次数或者就诊次数】//如his没有此项信息,传'1' pcname=【病人姓名】
pcsex=【性别】
pcbirthday=【出生年月日】//格式为“2015-01-01”
pcheightcm=【身高】//表示以厘米为单位的数值
pcweighkg=【体重】//表示以公斤为单位的数值
pcdeptcode=【科室编码】
pcdeptname【科室名称】
pcdoctorcode =【医生编码】
pcdoctorname=【医生姓名】
pipatstatus=【病人状态】//1:住院 2:门诊 3:急诊
piislactation=【病人哺乳状态】 //1:是 0:否 -1:无法获取状态默认 -1 piIsPregnancy=【病人妊娠状态】//1:是 0:否 -1:无法获取状态默认 -1 pcPregStartDate=【妊娠开始日期】 //格式‘2015-01-01’piHepDamageDegree=【病人肝损害程度】
/* -1:不确定(默认);0-无肝损害;1-肝功能不全;2-轻度肝损害;3-中度肝损害;4-重度肝损害*/
piRenDamageDegree=[【病人肾损害程度】
/* -1:不确定(默认);0-无肾损害;1-肾功能不全;2-轻度肾损害;3-中度肾损害;4-重度肾损害*/
MDC_SetPatient ( pcpatcode,&
pcinhospno,&
pcvisitcode,&
pcname,&
pcsex,&
pcbirthday,&
pcheightcm,&
pcweighkg,&
pcdeptcode,&
pcdeptname,&
pcdoctorcode,&
pcdoctorname,&
pipatstatus,&
piislactation,&
piispregnancy,&
pcpregstartdate,&
pihepdamagedegree,&。