C/S方案概述
一、目的: 实现启动脉景客户端并获取到相应的推荐处方信息
二、操作流程:
1: 启动HIS系统时,HIS需检查是否有dll文件并引用该文件并调用初始化方法,如果需要脉景主动推送药品,则需要绑定事件;
2: 医生选好药房后自动调用或者通过点击按钮的方式传参,如果有存在推荐处方。则显示推荐处方,没有则不显示也不弹窗。
3: 如果推荐的处方中无sku药品则显示标红,有对应多个sku的药品,需全部显示药品并供医生选择。
4 当医生点击了推荐处方的选中按钮后,如果绑定了事件则直接回传信息给HIS,无绑定则需要HIS时刻监听选中事件
三、接口函数清单:
函数名 | 说明 |
---|---|
MDD_InitApp() | 初始化应用 |
MDD_QuitApp() | 退出应用 |
MDD_AddEvent() | 添加事件绑定 |
MDD_RemoveEvent() | 移除事件绑定 |
MDD_CheckRecommend() | 检查是否存在推荐处方 |
MDD_Win_LastRecommend() | 显示上一次推荐结果 |
MDD_Win_ReRecommend() | 显示重新推荐处方 |
MDD_GetMedicineSku() | 获取选中处方对应的药品SKU |
四、接口函数明细:
返回值说明
*字段名 | 数据类型 | 说明 |
---|---|---|
code | String | 200-调用成功 |
success | bool | true代表调用成功 false 代表失败 |
msg | String | 成功 或者失败 |
data | object | null或者具体数据 |
初始化应用:
函数定义 | 参数解析 | 返回值解析 | 接口调用注意事项 |
---|---|---|---|
MDD_InitApp(proxy,env,timeout) | String | 200-调用成功 success 接口成功 | 启动HIS系统时就要开始调用 |
参数说明:
参数名 | 说明 |
---|---|
proxy | 代理服务器地址 |
env | 环境类型,默认测试环境 |
timeout | 最大超时时间 |
退出应用:
函数定义 | 参数解析 | 返回值解析 | 接口调用注意事项 |
---|---|---|---|
MDD_QuitApp() | String | 200-调用成功 success 接口成功 | 选中处方后会自动关闭窗口 |
添加事件绑定:
函数定义 | 参数解析 | 返回值解析 | 接口调用注意事项 |
---|---|---|---|
MDD_AddEvent(Object events) | String | 200-调用成功 success 接口成功 | 选中后将处方自动回传给HIS |
对象events说明:
void OnResult_SkuMedicine(string result);
返回参数详情:
字段名 | 类型 | 是否必填 | 详细描述 |
---|---|---|---|
medicine_infos | object | 是 | 药品信息 |
medicine_type | string | 否 | 药品类型,药品类型, TCM:中药, CPM:西药 |
medicine_infos
字段名 | 类型 | 是否必填 | 详细描述 |
---|---|---|---|
sku_uuid | string | 否 | sku_uuid |
sku_name | string | 否 | sku_name |
spu_uuid | string | 否 | spu_uuid |
business_medicine_code | string | 否 | 外部药品编码 |
dosage_form | string | 否 | 剂型, TCM |
retail_unit | string | 否 | 零售单位, TCM |
equivalent | string | 否 | 药效当量, TCM |
quantity | string | 否 | 实际药品数量, TCM |
weight | string | 否 | 饮片克数, TCM |
medicine_num | string | 否 | 方剂里的药品数量, TCM |
retail_price | string | 否 | 零售价, CPM |
specification | string | 否 | 药品规格, CPM |
manufacturer | string | 否 | 生产商, CPM |
返回示例
{
"medicine_infos": [
{
"sku_uuid": "1aab3563843c41ddb3c82606a3da6773",
"sku_name": None,
"spu_uuid": None,
"business_medicine_code": None,
"dosage_form": "草药",
"retail_unit": 1.0,
"equivalent": "g",
"quantity": 1.0,
"weight": 1.0,
"medicine_num": "3"
"retail_price": "3",
"specification": "g",
"manufacturer": "生产商, CPM",
}],
"medicine_type":[]
}
移除事件绑定:
函数定义 | 参数解析 | 返回值解析 | 接口调用注意事项 |
---|---|---|---|
MDD_RemoveEvent() | String | 200-调用成功 success 接口成功 | 移除绑定 |
检查是否存在推荐处方:
函数定义 | 参数解析 | 返回值解析 | 接口调用注意事项 |
---|---|---|---|
MDD_CheckRecommend(string param) | String | 200-调用成功 success 接口成功 | 检查是否存在推荐处方 |
显示上一次推荐结果:
函数定义 | 参数解析 | 返回值解析 | 接口调用注意事项 |
---|---|---|---|
MDD_Win_LastRecommend(string uniqueCode) | String | 200-调用成功 success 接口成功 | 显示上一次推荐结果 |
显示重新推荐处方:
函数定义 | 参数解析 | 返回值解析 | 接口调用注意事项 |
---|---|---|---|
MDD_Win_ReRecommend(string param) | String | 200-调用成功 success 接口成功 | 显示重新推荐处方 |
获取选中处方对应的药品SKU:
函数定义 | 参数解析 | 返回值解析 | 接口调用注意事项 |
---|---|---|---|
MDD_GetMedicineSku() | String | 200-调用成功 success 接口成功 | 内部调用 |
五、运行环境及配置:
1: 安装PB环境;
1.1 解压PB安装包,点击setup.exe文件,一直点击下一步即可完成.
2:如果已安装有PB安装环境,配置环境变量;
2.1 将PB安装目录,默认为C:\Program Files (x86)\Sybase\Shared\PowerBuilder加入到环境变量path中
3:安装.net4.0并配置完环境变量:
3.1 在 32 位版本的 Windows 操作系统上:
路径地址为: C:\Windows\Microsoft .NET\Framework\NET Framework\v4.0.30319;
3.2 在 64位版本的 Windows 操作系统上:
查看路径为: C:\Windows\Microsoft .NET\Framework\NET Framework64\v4.0.30319;并将上述路径配置到环境变量path中
4:测试RegAsm.exe的注册与取消注册:
说明 RegAsm.exe 是一个用于注册和取消注册.NET 程序集的命令行工具
4.1 在 32 位版本的 Windows 操作系统上:
RegAsm.exe 的路径为: C:\Windows\Microsoft .NET\Framework[.NET Framework 版本号]\RegAsm.exe
4.2 在 64 位版本的 Windows 操作系统上:
RegAsm.exe 有两个版本:
4.2.1 32位版本:
具体的路径如下 C:\Windows\Microsoft.NET\Framework[.NET Framework 版本号]\RegAsm.exe
4.2.1 64 位版本:
具体的路径如下: C:\Windows\Microsoft.NET\Framework64[.NET Framework 版本号]\RegAsm.exe
需要注意的是,为了在命令行中使用 RegAsm.exe,你需要在环境变量中添加.NET Framework 的安装目录或者直接使用完整的路径
5:执行RegAsm.exe的注册:
操作方式 直接以管理员方式运行Regasm.bat文件
六、常见问题处理:
1:高版本安装.net4.0的方法:
官网下载vs2019安装程序,选择单个组件勾选.net版本号。
2:找不到PBSYS90.dll,无法继续执行代码:
未安装PB运行环境或者未配置PB环境变量
3: 点击调用开方dll文件按钮,如果返回code200说明调用成功,如果返回-3说明PB环境未配置或者.安装包中的RegAsm.exe没有替换为.net4.0版本;