index.js)数据来源:
结果全部.txt(hex 文本)解码方式:
hex -> bytes -> UTF-16LE(XML) -> OBX 参数
以下为文件起始片段(节选):
3C 00 3F 00 78 00 6D 00 6C 00 20 00 76 00 65 00 72 00 73 00 69 00 6F 00 6E 00 3D 00 22 00 31 00 2E 00 30 00 22 00 20 00 65 00 6E 00 63 00 6F 00 64 00 69 00 6E 00 67 00 3D 00 22 00 55 00 54 00 46 00 2D 00 38 00 22 00 3F 00 3E 00
0A 00 3C 00 4F 00 52 00 55 00 5F 00 52 00 33 00 31 00 3E 00 0A 00 20 00 20 00 20 00 20 00 3C 00 4D 00 53 00 48 00 3E 00 ...
说明:
- 3C 00 对应字符 <(UTF-16LE)。
- 这类数据不能当“普通文本”发送,必须按**原始字节流**发送。
对应的 UTF-16LE 解码结果(节选):
<ORU_R31>
<MSH>
<MSH.1>|</MSH.1>
<MSH.3><HD.1>Gambro_48</HD.1></MSH.3>
<MSH.4><HD.1>SW_8.60.02_SN_34856</HD.1></MSH.4>
<MSH.7><TS.1>20260314111223</TS.1></MSH.7>
<MSH.9><MSG.1>ORU</MSG.1><MSG.2>R31</MSG.2></MSH.9>
<MSH.15>NE</MSH.15>
<MSH.16>NE</MSH.16>
<MSH.18>UNICODE</MSH.18>
</MSH>
<ORU_R31.OBSERVATION>
<OBX>
<OBX.3><CE.1>0</CE.1><CE.2>Operating Phase</CE.2></OBX.3>
<OBX.5><FN.1>HDF POST</FN.1></OBX.5>
<OBX.6><CE.1>-</CE.1></OBX.6>
</OBX>
</ORU_R31.OBSERVATION>
</ORU_R31>
首帧解析结果:
- 设备:SW_8.60.02_SN_34856
- 时间:20260314111223
- OBX 数量:25
| 原始 XML 路径 | 原始值(节选) | index.js 解码输出 |
|---|---|---|
MSH.4/HD.1 |
SW_8.60.02_SN_34856 |
设备编号 |
MSH.7/TS.1 |
20260314111223 |
帧时间 |
OBX.3/CE.1=0 + OBX.5/FN.1 |
HDF POST |
治疗阶段 = HDF POST |
OBX.3/CE.1=1 + OBX.5/FN.1 |
2639.000000 + s |
剩余时间 = 2639 s |
OBX.3/CE.1=2 + OBX.5/FN.1 |
2.270000 + l |
超滤量 = 2.270000 l |
OBX.3/CE.1=3 + OBX.5/FN.1 |
0.700000 + l/hr |
超滤率 = 0.700000 l/hr |
OBX.3/CE.1=6 + OBX.5/FN.1 |
230.000000 + ml/min |
血流速 = 230.000000 ml/min |
OBX.3/CE.1=7 + OBX.5/FN.1 |
36.300000 + cel |
温度 = 36.300000 cel |
OBX.3/CE.1=12 + OBX.5/FN.1 |
205.000000 + mmHg |
TMP = 205.000000 mmHg |
OBX.3/CE.1=13 + OBX.5/FN.1 |
150.000000 + mmHg |
静脉压 = 150.000000 mmHg |
OBX.3/CE.1=14 + OBX.5/FN.1 |
-130.000000 + mmHg |
动脉压 = -130.000000 mmHg |
OBX.3/CE.1=32 + OBX.5/FN.1 |
230.000000 + ml/min |
设定血流速 = 230.000000 ml/min |
OBX.3/CE.1=34 + OBX.5/FN.1 |
2.800000 + l |
设定超滤量 = 2.800000 l |
OBX.3/CE.1=61 + OBX.5/FN.1 |
86.000000 + pulse |
心率 = 86.000000 pulse |
OBX.3/CE.1=65 + OBX.5/FN.1 |
34.000000 + % |
QF/QB = 34.000000 % |
OBX.3/CE.1=67 + OBX.5/FN.1 |
14.980000 + l |
Conv Vol = 14.980000 l |
OBX.3/CE.1=68 + OBX.5/FN.1 |
4.540000 + l/hr |
Conv Clear = 4.540000 l/hr |
Set-Location D:\gitData\Jb-Communication
node .\index.js --decode-file .\结果全部.txt --hex --utf16le
如果要同时看每次 TCP 收包原始内容:
node .\index.js --host <设备IP> --port 3021 --print-rx --print-rx-max 2000