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,支持以下读取模式:

  1. 按空格字符分割(单行读取)

    • 适用于:type == “0”
    • 使用 Split(c[0]) 分割行
    • 输出XML格式数据
  2. 按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) { ... }
    }
}

数据处理流程

  1. 读取串口数据 → byte[] 转换
  2. 根据type选择分割方式
  3. 解析各字段(日期、标本号、项目、结果)
  4. 生成XML格式:<comdata>...</comdata>
  5. 触发DataInsert事件写入数据库
  6. 更新托盘图标显示进度

技术特点

  • 事件驱动架构:使用delegate和event实现松耦合
  • XML中间格式:统一数据交换格式
  • 多行合并:支持跨行数据重组
  • QC过滤:自动跳过质控样本(itemstr[1].Trim().Substring(0,2)==“QC”)
  • 异常处理:完整的错误日志记录

关联笔记