# Artis 百特透析机 HL7 通信协议解析指南 (完整版) > **文档版本**: SP00937 Rev. / (基于 2015-02 版) > **适用设备**: Gambro Artis 透析系统 (软件版本 ≥ 8.52) > **通信标准**: HL7 v2.5 (XML 编码) > **字符编码**: Unicode (UTF-16LE) --- ## 📋 目录 1. [协议概述](#1-协议概述) 2. [网络连接配置](#2-网络连接配置) 3. [两种通信模式](#3-两种通信模式) 4. [消息结构详解](#4-消息结构详解) 5. [临床参数列表](#5-临床参数列表) 6. [CRC 校验算法](#6-crc-校验算法) 7. [错误处理机制](#7-错误处理机制) 8. [开发建议与数据解析策略](#8-开发建议与数据解析策略) 9. [附录](#9-附录) --- ## 1. 协议概述 Artis 透析系统允许外部软件通过 **HL7 v2.5 标准**(采用 XML 语法编码)获取临床信息。该通信通道**不能**作为远程监控的唯一数据源,也不应用于分布式报警系统。 ### ⚠️ 重要警告 - 获取的信息不能作为采取治疗或药物行动的**唯一依据**。 - 用户必须遵守相关隐私法律(如欧盟 95/46/EC 指令、HIPAA 等)。 - 医院需负责保证网络基础设施的安全性和完整性,防止未授权访问。 --- ## 2. 网络连接配置 ### 硬件连接 - **接口类型**: 标准以太网 (10/100 Mb/sec) - **网络拓扑**: 强烈建议为 Artis 建立独立的物理和逻辑网络(VLAN),避免与医院办公网络混用。 - **设备要求**: 可使用普通交换机,但推荐使用带端口隔离功能的专用 Switch 以提升安全性。 ### 软件连接 Artis 作为 **TCP Server**,固定提供两个端口: | 端口号 | 用途 | 消息类型 | 说明 | | :--- | :--- | :--- | :--- | | **3021** | 主动推送模式 | `ORU^R31` | 治疗期间每 60 秒自动发送一次实时数据 | | **3020** | 查询应答模式 | `QRY^R02` / `ORF^R04` | 客户端发起查询,机器返回历史快照或当前状态 | > 说明:**本仓库当前仅实现 `3021` 主动推送模式**;`3020` 查询/应答模式属于协议能力,但未在代码中使用。 ### 关键配置参数 (在 Artis 触摸屏设置) 1. **IP Address**: 静态 IP (如 `192.168.1.100`) 2. **Subnet Mask**: 子网掩码 (如 `255.255.255.0`) 3. **Gateway**: 网关 (如需跨网段) 4. **Firewall**: 可设置允许连接的 4 个特定客户端 IP 地址。**务必将您的采集服务器 IP 加入白名单**。 5. **CCM ID**: 系统唯一标识 (如 `Gambro_001`),在查询模式下用于寻址。 --- ## 3. 两种通信模式 ### 模式一:主动周期性数据传输 (Unsolicited Periodic Transfer) - **端口**: `3021` - **触发条件**: 只要机器处于“治疗中”状态。 - **频率**: 固定 **60 秒** 一次。 - **流程**: 1. 客户端连接 Artis:3021。 2. Artis 接受连接并保持长连接 (Keep-Alive)。 3. 每隔 60 秒,Artis 主动推送一条 `ORU^R31` XML 消息。 4. 客户端**不需要**回复 ACK。 - **断连**: 若网络中断或客户端断开,Artis 会停止推送,直到重新建立连接。 ### 模式二:查询/应答数据传输 (Query/Answer Transfer) - **端口**: `3020` - **备注**: 本仓库不使用/不实现该模式 - **流程**: 1. 客户端连接 Artis:3020。 2. 客户端发送 `QRY^R02` 请求。 3. Artis 立即回复 `ORF^R04` (包含数据) 或 `ACK^R33` (报错)。 - **超时**: 若连接建立后 **90 秒** 内无新请求,Artis 会自动断开连接以释放资源。 - **过滤控制 (QRD.11)**: - `100`: 仅核心数据 (Core) - `010`: 仅患者事件 (Patient) - `111`: 全部数据 (推荐) --- ## 4. 消息结构详解 所有消息均为 **XML 格式**,且必须使用 **UTF-16LE (Little Endian)** 编码。 ### 4.1 ORU^R31 (主动推送消息) 这是最常用的消息,包含当前的治疗参数。 ```xml | ^~\& Gambro_CCM01 SW_8.52_SN_12345 HIS_System Hospital_A 20231027103000 A1B2 ORU^R31 MSG_00123 P 2.5 UNICODE 1 Patient_ID_99 Doe^John RE 1 MSG_00123 20231027103000 1 ST 6^Blood Flow^local 350.000000 ml/min F 20231027103000