# AndroidPadNodeService **Repository Path**: g-xy888/android-pad-node-service ## Basic Information - **Project Name**: AndroidPadNodeService - **Description**: 这是一个用于医院检验科仪器数据采集的 Node.js 服务。该服务通过 TCP 连接接收 HL7 2.0 协议的数据,并将数据保存到本地文件系统。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-12 - **Last Updated**: 2025-09-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # EXR100系列荧光免疫层析分析仪LIS传输协议解码器 这是一个专门用于解析EXR100系列荧光免疫层析分析仪HL7消息的解码器,专注于提取**检验项目**、**检验结果**和**对应的通道号**。 ## 功能特性 - ✅ 解析HL7 2.3.1标准消息 - ✅ 提取检验项目信息(项目ID、项目名称) - ✅ 提取检验结果值(数值、单位、参考范围) - ✅ 提取通道号(序列号) - ✅ 支持计数结果和质控结果消息 - ✅ 处理特殊字符和异常结果 ## 安装和使用 ### 基本使用 ```javascript const hl7Parser = require('./hl7-parser.js'); // 解析HL7消息 const result = hl7Parser(hl7Message); // 获取关键信息 console.log('样本编号:', result.sampleInfo.sampleId); console.log('检验类型:', result.sampleInfo.testType); result.testResults.forEach((test, index) => { console.log(`结果${index + 1}:`); console.log(` 通道号: ${test.channelNumber}`); console.log(` 检验项目: ${test.testItemName}`); console.log(` 检验结果: ${test.testValue} ${test.unit}`); }); ``` ### 返回数据格式 ```javascript { "sampleInfo": { "sampleId": "003", // 样本编号 "sampleBarcode": "", // 样本条码 "testType": "Automated Count", // 检验类型名称 "testTypeId": "01001", // 检验类型ID "samplingTime": "20181012221000", // 采样时间 "testTime": "20190829164756", // 检验时间 "sampleType": "SERUM" // 样本类型 }, "testResults": [ { "channelNumber": "1", // 通道号 "testItemId": "6801-1", // 检验项目ID "testItemName": "PCT", // 检验项目名称 "encodeSystem": "LN", // 编码系统 "testValue": "13.91", // 检验结果值 "unit": "10^9/L", // 单位 "referenceRange": "3.50-9.50", // 参考范围 "abnormalFlag": "N", // 异常标志 "resultStatus": "F" // 结果状态 } ] } ``` ## 测试 运行测试来验证解码器功能: ```bash # 运行简单测试 node simple-test.js # 运行完整测试 node test-hl7-parser.js ``` ### 测试用例 1. **计数结果消息** - 解析常规的检验结果 2. **质控结果消息** - 解析质控样本结果 3. **特殊字符消息** - 处理"C Line Weak"和"***"等特殊结果 4. **关键信息验证** - 验证提取的核心数据 ## 支持的HL7段 - **MSH** - 消息头 - **OBR** - 观察请求(样本信息) - **OBX** - 观察结果(检验结果) ## 协议特性 - 基于HL7 2.3.1标准 - 支持EXR100特定的编码系统(99MRC、LN) - 处理特殊结果值("C Line Weak"、"***") - 支持多种数据类型(NM、ST、IS等) ## 错误处理 解码器包含完善的错误处理机制: ```javascript try { const result = hl7Parser(hl7Message); // 处理结果 } catch (error) { console.error('解析失败:', error.message); } ``` ## 注意事项 1. 确保HL7消息格式正确 2. 通道号从OBX段的第一个字段获取 3. 检验项目信息从OBX-3字段解析 4. 检验结果值从OBX-5字段获取 5. 支持处理空字段和特殊字符