#hl7 #parser #experimental #message #builder #object #check

rust-hl7

HL7解析器和对象构建器?查询器?——仅限实验性

6个版本 (3个破坏性更新)

0.5.0 2021年9月8日
0.4.0 2021年8月10日
0.3.0 2021年7月29日
0.2.2 2021年7月24日

#2313Rust模式

MIT/Apache

56KB
1K SLoC

一个实验性的HL7库

CI Ubunutu Crates IO

完全可以说是生产就绪!

这个版本提供了到子子字段的一致结构,对共享字符串引用数据的有效访问器,以及常见功能的标准化实现。

解释这些方面(类型转换、确定它们代表哪些字段等)是未来的问题... 完全没有任何计划 进行消息合规性检查或类似的事情。

这个库试图提供你需要构建健壮的基于HL7系统的工具,而不规定你如何去做。这里没有一刀切,所以我们尝试提供一套单独的工具,而不是一个完整的框架。

预期功能和设计说明

  • 最初使用hl7默认的分隔符字符
  • 使用消息中的分隔符字符
  • 添加对子字段(组件/子组件)项的支持
    • 字段重复(通过~
  • 最初,避免任何段知识、阅读规范过多等。
    • 在起步阶段,实现所有段、所有hl7版本以及版本特定的解析等是太多了。
  • 添加对HL7转义序列的支持 (#22)
    • 解码最常见的转义序列,包括\E\\R\\S\ & \T\
    • 正确传递\H\\N\和自定义\Z..\序列不变
    • 解码\X..\序列为十六进制编码的字符
    • 支持各种Unicode序列(\C..\\M..\)。这些是较低优先级,因为HL7 Australia认为它们已过时
  • 将MSH添加为上述情况的例外
  • 上述内容使我们能够将所有内容解析为字符串,并根据需要提供类型转换的帮助方法。
  • 使用 TryFrom<&str> 实现,而不是使用专门的解析器来解析消息
  • 使用 HL7 字符串索引表示法和二进制方法在消息中进行索引
    • 使用 HL7 字符串索引表示法和二进制方法在子字段中进行索引
    • 使用 HL7 字符串索引表示法和二进制方法在段枚举中进行索引
  • 实现 MSH 的无缓冲复制的泛型索引

依赖项

~2.4–4MB
~73K SLoC