finds.dev← search

// the find

deoxxa/hl7

★ 113 · Go · NOASSERTION · updated Feb 2019

A Go library for parsing HL7 v2 messages, the pipe-delimited format hospitals and labs still use to move clinical data between systems. It adds a path-based accessor (terser) and a small query language for pulling fields out of a parsed message, aimed at Go developers who need to read HL7 feeds without writing a parser themselves.

- The parser, terser and query parser live in separate files with their own test files, so each layer can be checked without going through the whole pipeline.

- There is a fuzz target (messageparser_fuzz.go), which matters for a parser that will get malformed input from external systems.

- The testdata goes beyond one happy-path sample: an all_elements file, a long VAERS export and a PDF-genetics message. That variety is what tends to surface real-world delimiter and escaping problems.

- It came out of production use at Medtasker rather than being a weekend exercise, and the README says so, which is a reasonable signal the basic parsing has been exercised.

- The last push was February 2019. HL7 v2 has many versions and site-specific Z-segments, and nothing visible here suggests the library has kept up or been maintained since. Check the issue tracker and commit history before adopting it.

- The README is three short sections with no usage example. To learn the query syntax you have to go to godoc or read queryparser.go.

- The install path is a vanity domain (fknsrs.biz/p/hl7) while the repository lives under deoxxa. If that domain lapses or the path changes, existing go get users lose the package, so vendor or fork it if you depend on it.

- The README says the library reads and queries messages but does not say which HL7 v2 versions it targets or whether it can write messages back out. An integration needs both answers, and neither is stated.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →