title: LIS解码程序开发手册 source: 阿里云盘 original_path: /工作相关/关于lis/LIS源码.docx author: 孙大林 size: 76.09 KB pages: 159 date: 2026-09-19 method: DOCX XML解析 status: done
LIS解码程序开发手册
基本信息
- 来源:
/工作相关/关于lis/LIS源码.docx - 大小: 76.09 KB
- 页数: 159 页
- 处理时间: 2026-09-19
内容概述
本文档是关于LIS(实验室信息系统)解码程序的完整开发手册,主要面向检验仪器与医院信息系统的接口对接。
主要功能
LIS基础数据设置
| 设置项 | 说明 |
|---|---|
| 新建专业组 | 机器所在的科室 |
| 新建检验仪器 | 新仪器名称,与专业组关联 |
| 新建收费项目 | 机器所做的套餐 |
| 新建标本代码 | 机器所做项目的标本类型 |
| 新建检验分类 | 报告类型 |
| 新建检验结果 | 项目结果的另种表达形式 |
| 新建参考类型 | 年龄的参考范围 |
| 新建LIS单位库 | 检验项目的单位 |
| 新建类型库 | 项目类型定义 |
| 新建血型代码 | 血型编码 |
| 新建备注代码 | 常用备注 |
| 新建组合代码 | 收费项目、专业组、机器名、标本之间的联系 |
| 新建项目代码 | 机器所做的项目信息 |
| 新建仪器项目关联 | 项目与仪器的关联 |
| LIS项目组合设置 | 收费项目与检验项目的关联 |
| 项目上下限设置 | 机器对应项目的正常范围 |
| 计算项目定义 | 需要计算的项目定义 |
| 质控参数设置 | 机器的质控参数配置 |
数据解码功能
解码程序使用C#开发,主要类为 DataDeCode,支持以下读取模式:
-
按空格字符分割(单行读取)
- 适用于:type == “0”
- 使用
Split(c[0])分割行 - 输出XML格式数据
-
按byte[]=9分割(多行读取)
- 适用于:type == “1”
- 使用制表符分割
- 支持多行数据合并
核心代码结构
namespace LISLoid.DeCode_Bak.row4
{
public class DataDeCode
{
// 数据插入数据库事件
public event DataInsertEventHandler DataInsert;
// 托盘图标更新事件
public static event FrmTrayIconChangeEventHandler FrmTrayIcon;
// XML数据缓存
public string DataXML = null;
// 结果文件路径
private string resultfilename = @"result\" + DateTime.Now.ToString("yyMMdd") + ".txt";
// 解码主方法
public void decode() { ... }
// 图片插入数据库
public void imgToDB(string imgpath, string date, string repno, string picname) { ... }
}
}数据处理流程
- 读取串口数据 → byte[] 转换
- 根据type选择分割方式
- 解析各字段(日期、标本号、项目、结果)
- 生成XML格式:
<comdata>...</comdata> - 触发DataInsert事件写入数据库
- 更新托盘图标显示进度
技术特点
- 事件驱动架构:使用delegate和event实现松耦合
- XML中间格式:统一数据交换格式
- 多行合并:支持跨行数据重组
- QC过滤:自动跳过质控样本(itemstr[1].Trim().Substring(0,2)==“QC”)
- 异常处理:完整的错误日志记录