Skip to content

灵医智惠CDSS标准版C/S SDK开发指南v2——LIS系统

SDK初始化

客户端安装

在医生电脑上,下载灵医智惠CDSS程序01cdss.exe,按照提示安装即可。

动态库引用

在HIS/EMR等医疗信息系统代码中引入01cdss.dll动态库,动态库不可与01cdss.exe文件放置同一目录。 以csharp为例,引入动态库代码如下:

[DllImport("01cdss.dll", EntryPoint = "SetReceiveHandle",
    CallingConvention = CallingConvention.Cdecl)]
public static extern void SetReceiveHandle(string systemType, int handleNum);

[DllImport("01cdss.dll", EntryPoint = "SetSecurityKeys",
    CallingConvention = CallingConvention.Cdecl)]
public static extern void SetSecurityKeys(string ak, string sk);

[DllImport("01cdss.dll", EntryPoint = "UserLogin",
    CallingConvention = CallingConvention.Cdecl)]
public static extern void UserLogin(string userInfo);

[DllImport("01cdss.dll", EntryPoint = "SendMessageToCDSS",
    CallingConvention = CallingConvention.Cdecl)]
public static extern int SendMessageToCDSS(string message, int handleNum, int trigger);

[DllImport("01cdss.dll", EntryPoint = "BroadcastMessageToCDSS",
    CallingConvention = CallingConvention.Cdecl)]
public static extern void BroadcastMessageToCDSS(string msg, int handleNum);

注册

// handleNum: 窗口句柄号
SetReceiveHandle("LIS", int handleNum);

// ak和sk请联系灵医智惠CDSS技术人员提供
SetSecurityKeys(string ak, string sk);

HIS/EMR等信息系统程序启动后: * 1)调用DLL提供的SetReceiveHandle("LIS", int handleNum)方法注册程序信息,用于告知接收Windows消息(医嘱回填数据)的窗体,若接受回传数据的界面在同一个窗体内,则只需要注册一次即可。 * 2)调用DLL提供的SetSecurityKeys(string ak, string sk)方法注册密钥信息,ak和sk请联系灵医智惠CDSS技术人员提供。

用户登录

// userInfo: 用户信息,值为JSON字符串,用户包括医生/护士/药师等
//  {
//    "name": "医生/护士/药师姓名",
//    "id": "医生/护士/药师ID",
//    "department": "科室",
//    "hospital": "医院名称"
//  }
UserLogin(string userInfo);

当用户登录HIS系统时,调用DLL提供的UserLogin(string userInfo)方法注册用户基本信息。

SDK接口定义

灵医智惠CDSS支持多种触发方式,见下方表格:

trigger取值 触发类型 触发交互逻辑 是否可选
0 人工手动触发 点击新增的CDSS按钮 必选
12 后台自动触发 关闭检验报告 必选
14 后台自动触发 检验标本签收/检验报告审核/查看检验报告 必选

新增按钮手动触发

// message: 患者数据,必须符合《患者数据规范》
// handleNum: 窗口句柄号
// trigger=0: 触发方式为按钮手动触发
string message = "{\"xx\":\"xx\"}";
SendMessageToCDSS(message, handleNum, 0);

当医生编辑检验报告过程中,点击新增的按钮手动触发,将当前检验报告数据按规定的Json格式通过异步接口发送给CDSS程序。新增按钮的样式与文案由医院、HIS厂商、灵医智惠三方共同讨论确定。

检验标本签收时自动触发

// message: 患者数据,必须符合《患者数据规范》
// handleNum: 窗口句柄号
// trigger=14: 触发方式为检验标本签收时自动触发
string message = "{\"xx\":\"xx\"}";
SendMessageToCDSS(message, handleNum, 14);

当医生**检验标本签收时后台自动触发**,将当前检验报告数据按规定的Json格式通过异步接口发送给CDSS程序。

检验报告审核时自动触发

// message: 患者数据,必须符合《患者数据规范》
// handleNum: 窗口句柄号
// trigger=14: 触发方式为点击审核按钮时自动触发
string message = "{\"xx\":\"xx\"}";
SendMessageToCDSS(message, handleNum, 14);

当医生完成检验报告审核后,点击审核按钮时后台自动触发,将当前检验报告数据按规定的Json格式通过异步接口发送给CDSS程序。

查看检验报告时自动触发

// message: 患者数据,必须符合《患者数据规范》
// handleNum: 窗口句柄号
// trigger=14: 触发方式为查看检验报告时自动触发
string message = "{\"xx\":\"xx\"}";
SendMessageToCDSS(message, handleNum, 14);

当医生**查看检验报告时后台自动触发**,将当前检验报告数据按规定的Json格式通过异步接口发送给CDSS程序。

关闭检验报告时自动触发

// message: 空字符串
// handleNum: 窗口句柄号
// trigger=12: 触发方式为关闭检验报告时自动触发
SendMessageToCDSS("", handleNum, 12);

当医生**关闭检验报告窗口时后台自动触发**,通过异步接口发送给CDSS程序。关闭检验报告窗口或选项卡时,执行trigger=12告知当前窗口或选项卡已关闭。

SDK入参:患者数据规范

检验报告

{
  "场景":  ["检验标本签收","检验报告审核","查看检验报告"],
  "trigger": "保存/提交/CDSS",   // 触发CDSS的方式
                                //  1) 保存:点击保存时自动触发;
                                //  2) 提交:点击提交时自动触发;
                                //  3) CDSS:点击单独新增的CDSS按钮触发。
  "工作人员信息": {
    "医院": "",               // [必填]医院名称
    "科室": "",               // [必填]科室名称
    "姓名": "",               // [必填]工作人员姓名
    "账号ID": "",             // [必填]医疗信息系统账号
    "角色": "医生/护士/药师/等",
    "职称": "",
    "ip": ""                  //  医生电脑ip地址
  },
  "患者信息": {
    "就诊类型": "门诊/住院/急诊/体检",      // [必填]
    "就诊次数": "",           // "1":初诊,大于1表示复诊
    "就诊ID": "",            // [必填] 住院号 或者 门诊号(一次就诊有唯一ID)
    "患者ID": "",            // [必填] (一个患者有唯一ID)
    "姓名": "",              // [必填]
    "年龄": "28岁",          // [必填] xx岁/xx月/xx天/xx小时
    "性别": "男/女",         // [必填]
    "出生日期": "",          // yyyy-MM-dd
    "职业": "",
    "出生地": "",
    "现住地": "",
    "费用类型": "医保/商保/自费/公费/等",
    "身高": "180cm",
    "体重": "70kg",
    "ABO血型": "A/B/AB/O",
    "Rh血型": "阴/阳",
    "婚姻状态": "未婚/已婚/离异/丧偶"
  },
  "检验报告": [
    {
      "科室": "",             // 检验科室
      "检验报告ID": "",
      "医嘱ID": "",           // 医嘱申请单ID
      "标本类型": "",          // [必填] 标本类型,比如血清、尿等
      "标本号": "",
      "申请时间": "yyyy-MM-dd HH:mm:ss",
      "预约时间": "yyyy-MM-dd HH:mm:ss",
      "采样时间": "yyyy-MM-dd HH:mm:ss",          // [必填] 检验采样时间
      "收样时间": "yyyy-MM-dd HH:mm:ss",
      "检验时间": "yyyy-MM-dd HH:mm:ss",
      "报告时间": "yyyy-MM-dd HH:mm:ss",
      "检验项目": "",          // [必填] 检验项目(大项)
      "检验结果": [
        {
          "检验指标项": "",      // [必填] 检验指标项目(小项)
          "检验指标缩写": "",
          "结果": "",           // [必填] 检验指标结果
          "单位": "",           // [必填] 检验指标结果单位
          "结果提示": "",        // [必填] 检验指标结果状态,枚举值:偏高(↑)、偏低(↓)、正常、异常
                                // 结果明确的填具体值,不明确留空
          "最大值": "",           // [必填] 检验指标最大值
          "最小值": "",           // [必填] 检验指标最小值
          "正常值": ""            // [必填] 检验指标正常值
        }
      ]
    }
  ]
}