瑞美LIS※HIS接口(组件模式)文档
瑞美LIS系统与HIS系统对接的COM组件接口规范文档。标准COM组件,支持PB/VB/DELPHI/VC等多种开发语言。
一、组件架构与命名
组件命名规则
| 命名对象 | 命名方式 | 示例 |
|---|---|---|
| DLL文件名 | Rmhisinter_地区缩写_医院缩写.dll | rmhisinter_sh_3y.dll(上海第三人民医院) |
| ProgID(编程调用ID) | ruimei.hisinter_地区缩写_医院缩写 | ruimei.hisinter_sh_3y |
组件原理
以字符串形式组合多个参数传入组件函数,组件内部拆分参数后检索数据,再以固定格式生成字符串返回。
- 主分隔符:默认
|(可配置) - 次分隔符:默认 TAB(可配置)
- 例:传入
患者类型|住院号→ 返回住院号|姓名|性别|生日|科室|医生|...
二、三大核心函数
1. Uf_init — 初始化
参数(7个):
as_dbms 数据库类型版本(MSS / O73 / O84 等)
as_servername 数据库服务器名(IP/机器名/服务名)
as_dbname 数据库名称
as_logid 登录名称
as_logpass 登录密码
as_dbparm 其他补充数据库连接参数
as_delimiter 参数分隔符(默认"|")
as_delimiter1 参数分隔符1(默认TAB)
返回值:integer
0 = 成功
其他值 = 失败
2. Uf_uinit — 释放/反初始化
无传入参数
返回值:integer(0=成功,其他=失败)
功能:断开数据库连接,销毁相关对象
3. Uf_function — 主体事务处理函数
参数:
as_kind 处理事务类别(如 GETPATINFO、GETREQINFO 等)
as_parm 传入参数字串(多参数用分隔符分隔)
返回值:string
格式 = 返回数值 + 分隔符 + 返回内容
返回数值 >= 0:正常,值为记录数
返回数值 < 0:错误,后续内容为错误信息
三、15 类事务接口全集
字典类(5类)
| 类别 | 功能 | 传入参数 | 返回格式(每条结果TAB分隔) |
|---|---|---|---|
| GETCLINICDICT | 获取诊疗项目字典 | 空字串|SQL语法 | 项目代码TAB项目名称TAB单价TAB类别 |
| GETFEEDICT | 获取收费项目字典 | 空字串|SQL语法 | 项目代码TAB项目名称TAB单价TAB类别 |
| GETDOCTORLIST | 获取医生字典 | 空字串|SQL语法 | 医生代码TAB医生姓名 |
| GETDEPTLIST | 获取科室字典 | 空字串|SQL语法 | 科室病区代码TAB科室病区名称 |
| GETFEETYPELIST | 获取费别字典 | 空字串|SQL语法 | 费别代码TAB费别名称 |
患者信息类(6类)
| 类别 | 功能 | 关键传入参数 | 返回核心字段 |
|---|---|---|---|
| GETPATINFO | 获取患者信息+检验项目 | 病人类型|病历号|调用模块|SQL | 17+段:病人类型/病历号/姓名/性别/生日/科室/病区/床号/主治医生/临床诊断/申请单号/地址/电话/身份证/费别/备注 + 项目信息(每项9子段) |
| GETREQINFO | 获取条码申请单信息 | 病人类型|申请号|旧申请号|录入人员|操作标识|SQL | 申请单4子段 + 结果信息16子段(见下方详解) |
| GETPOPINFO | 患者列表(双击开窗) | 1=双击病历号, 2=双击姓名 | 病人类型/病历号/姓名/科室/床号 |
| GETWARDPATLIST | 病区患者列表 | 科室病区代号 | 病人类型/病历号/姓名/性别/出生日期/科室/病区/床号/主管医生/临床诊断/地址/电话/身份证号/费别(14段) |
| GETPATORDERS | 住院患者医嘱 | 科室代号|开始时间|结束时间 | 22列:患者信息 + 项目代码/名称/单价/数量/执行标志/申请时间/记录号 |
| GETOUTFEE | 门诊费用信息 | 患者编号/发票号|开始时间|结束时间 | 22列(同上) |
| GETOUTPATLIST | 门诊患者列表 | 患者姓名|申请起始时间 | 8段:返回值/就诊号/姓名/性别/来源/科室/医生/就诊时间 |
GETREQINFO 操作标识:
REC= 标本接收RECBILL= 接收完成确认计价INPUT= 报告录入中扫描条码
GETREQINFO 返回结果信息格式(16子段): 序号 TAB 报告项目代码 TAB 报告项目名称 TAB 检验结果 TAB 结果标志 TAB 单位 TAB 参考范围 TAB 标本日期 TAB 检验医生 TAB 核对医生 TAB 仪器代码 TAB 仪器名称 TAB 样本号 TAB 申请项目代码 TAB 发布时间 TAB 发布标志
结果标志:H=偏高、L=偏低、P=阳性、Q=弱阳性、E=错误 发布标志:1=初次发布、2=重新发布、9=召回(召回时HIS中对应结果应删除/作废)
报告与费用类(3类)
| 类别 | 功能 | 传入参数 | 返回值 |
|---|---|---|---|
| SENDREPORT | 报告发送(审核/批量发送) | 建议存储过程实现,@01-@04 患者信息 + @1-@16 结果信息 | 2列:0=成功/-1=失败,错误信息 |
| CONFIRMREQITEM | 费用审核/计价(扫描条码后自动计价) | 建议存储过程实现,@1-@7:病人来源/申请号/病历号/姓名/recordid/是否提交事务/确认人工号 | 3列:0/-1,计价金额,结果信息 |
| ADDHISREQ | 追加医嘱(保存申请单时写入HIS) | 29个参数:申请号/科室/送检医生/申请时间/状态/计价状态/病人来源/病历号/姓名/性别/生日/急诊标志/床号/诊断/样本类型/执行医生/执行时间/采样时间/类别/备注/地址/费别/序号/项目代码/项目名称/单价/数量/计价状态/记录标识符 | 2列:0/-1,错误信息 |
其他(2类 + 2事务控制)
| 类别 | 功能 |
|---|---|
| GETWARDDOC | 获取病区医生对照关系(无参数,返回医生代号TAB科室代号对列表) |
| COMMITTRANS | 提交事务(忽略参数,返回”0”) |
| ROLLBACKTRANS | 回滚事务(忽略参数,返回”0”) |
四、患者类型编码
- 1 = 门诊
- 2 = 急诊
- 3 = 住院
- 4 = 体检
- 其他可自由定制
五、13 项接口配置选项
| 序号 | 选项 | 功能说明 |
|---|---|---|
| 1 | 提取项目需开窗确认 | 患者信息>16列时弹出费用选择窗口,人工确认 |
| 2 | 双击病历号开窗选病人 | 需配置GETPOPINFO,传入参数=1 |
| 3 | 双击姓名开窗选病人 | 需配置GETPOPINFO,传入参数=2 |
| 4 | 扫描条码后申请确认/计价 | 住院条码自动计价模式,需配置CONFIRMREQITEM |
| 5 | 组合项目分解为细项计价 | 自动计价时按组合号拆分明细,依赖选项4 |
| 6 | 默认项目确认/计价人 | 自动计价时记录计价人,用默认工号 |
| 7 | 默认项目确认/计价科室 | 自动计价时记录执行科室,通常为检验科HIS代号 |
| 8 | 使用开单医生作为计价人 | 启用自动计价时,以开单医生为计价人 |
| 9 | 通过组件发布检验结果到HIS | 审核结果时反写HIS,需配置SENDREPORT,使用总汇表代号 |
| 10 | 退费直接传项目代号 | 退费方式切换(不选则传RECORDID) |
| 11 | 启用第二接口 | 支持两套外挂系统,需独立配置SQL语句 |
| 12 | 支持录入申请单计价和自动计价 | 无条码计价模式,两种场景计价方式 |
| 13 | 自动计价审核生成申请 | 无条码模式下,审核时生成费用 vs 查价时生成 |
六、SQL 配置模式
组件支持SQL可配置模式,通过管理界面配置各事务类别对应的SQL语句。
- 配置密码:
ruimeilis - SQL参数占位符:
@1, @2, @3...对应传入参数的各段 - 支持直接查询SQL或存储过程调用
- 模拟库:
hisinter_demo.bak(可还原用于测试)
各类别SQL返回列数要求
| 类别 | 返回列数 | 说明 |
|---|---|---|
| GETDOCTORLIST | 2列 | 医生代码、医生姓名 |
| GETDEPTLIST | 2列 | 科室代码、科室名称 |
| GETFEETYPELIST | 2列 | 费别代码、费别名称 |
| GETCLINICDICT | 4列 | 项目代码、项目名称、单价、类别 |
| GETFEEDICT | 4列 | 项目代码、项目名称、单价、类别 |
| GETPATINFO | 16列(仅患者)或25列(含费用) | 住院/门诊分支逻辑 |
| GETREQINFO | 29列 | 申请单主信息 + 明细项目 |
| GETPOPINFO | 5列 | 病人类型、病历号、姓名、科室、床号 |
| GETPATORDER | 22列 | 患者信息 + 项目明细 |
| GETWARDPATLIST | 14列 | 住院患者完整信息 |
| CONFIRMREQITEM | 3列 | 结果码、计价金额、结果信息 |
| SENDREPORT | 2列 | 结果码、结果信息 |
| ADDHISREQ | 2列 | 结果码、错误信息 |
七、第二接口(接口2)配置
支持同时对接两套HIS系统,接口2独立配置:
- 组件2 PROGID:
ruimei.hisinter_sql2 - 独立数据库连接参数(DBMS类型/服务器/数据库/用户名/口令)
- 独立系统名称
- 可指定适用的患者类型(用
[]括起,多个以,分隔) - 独立配置申请确认计价、发布检验结果、列表选择患者等功能
- 独立配置SQL语句(系统选择中切换HISSQL / INTER2)
关键设计观察
- 字符串协议设计:全部接口基于字符串分隔符传递,通用性强但类型安全性低,是早期COM组件对接的典型模式
- SQL可配置:核心竞争力之一——不需要修改组件代码,通过配置SQL即可适配不同HIS厂商的数据库结构
- 事务控制:提供COMMITTRANS/ROLLBACKTRANS支持跨函数事务一致性
- 双接口设计:支持同时对接两套HIS系统(如门诊一套+住院一套),常见于医院多系统并存场景
- 13项功能开关:覆盖了从患者查询到报告发布的完整流程配置,体现了LIS-HIS对接中常见的需求差异
- 瑞美特色:存储过程推荐用于复杂操作(计价、报告发布),简单查询用直连SQL
关联笔记
- LIS解码程序开发手册-LISLiod — 瑞美LIS解码程序内部架构
- BS-400LIS协议接口手册-包含ASTM — BS-400 LIS接口手册(待处理)
- 迈瑞BS-400-BS-420全自动生化分析仪HL7接口使用说明书 — 迈瑞BS-400 HL7接口
- CS系列生化分析仪HL7-LIS网络接口使用说明书 — CS系列生化HL7接口
- 雅培ARCHITECT系统RS-232标准接口手册 — 雅培ARCHITECT ASTM接口