{"name":"@deckyard/hl7","description":"HL7 v2 messages (ER7): parse, read and build with terser paths, escapes, character sets and acknowledgements; MLLP client, listener and server","versions":{"0.1.0":{"version":"0.1.0","kind":"git","url":"https://github.com/deckyard/deck-hl7.git","ref":"0.1.0","commit":"a49f6906d584ec266a3d719468610d508bcecdd5","checksum":"","yanked":false,"license":"LGPL-3.0-only","requires":{},"engines":{"jennifer":"\u003e=0.26.0"},"capabilities":["net"],"keywords":["hl7","hl7v2","er7","mllp","healthcare"],"description":"HL7 v2 messages (ER7): parse, read and build with terser paths, escapes, character sets and acknowledgements; MLLP client, listener and server","publishedAt":"1794608809","repoId":1457146662,"repoOwnerId":346943577,"repoOwner":"deckyard"}},"readme":"# @deckyard/hl7\n\n[![test](https://github.com/deckyard/deck-hl7/actions/workflows/test.yml/badge.svg)](https://github.com/deckyard/deck-hl7/actions/workflows/test.yml)\n[![Documentation](https://img.shields.io/badge/docs-github%20pages-blue)](https://deckyard.github.io/deck-hl7/)\n[![release](https://img.shields.io/github/v/release/deckyard/deck-hl7)](https://github.com/deckyard/deck-hl7/releases/latest)\n\nHL7 version 2 for [Jennifer](https://jennifer-lang.dev/) programs: parse,\nread, change and build ADT, ORU, ORM, SIU and any other message in the\npipe-delimited encoding, with terser-style paths (`PID-5-1`, `OBX(2)-5`),\nescapes, character sets from MSH-18 and acknowledgements; and send,\nreceive and serve them over MLLP. Strict: input that breaks HL7's encoding\nis an error, and an unchanged message encodes back byte for byte.\n\n**[Documentation](https://deckyard.github.io/deck-hl7/)**\n\n## Install\n\n```sh\njvc add @deckyard/hl7\n```\n\nThis vendors the deck to `vendor/\u003cscope\u003e/hl7/`. Without `jvc`, unpack the\n`src/` subtree of a release archive (`\u003cscope\u003e-hl7-\u003cversion\u003e.tar.gz`) there.\n\n## Usage\n\n```jennifer\nuse io;\n\nimport \"@deckyard/hl7/\" as hl7;\n\ndef m as hl7.Message init hl7.parse($text);\nio.printf(\"%s, %s\\n\", hl7.get($m, \"PID-5-1\"), hl7.get($m, \"PID-5-2\"));\nfor (def obx in hl7.segmentsOf($m, \"OBX\")) {\n    io.printf(\"%s = %s\\n\", hl7.component($obx, 3, 1, 2), hl7.field($obx, 5));\n}\n```\n\n## Requirements\n\nJennifer 0.26.0 or newer and the default `jennifer` binary: MLLP needs\n`net`, which the stock `jennifer-tiny` lacks.\n\n## Development\n\n```sh\ntools/check-all.sh                   # the full gate, as CI runs it\njennifer test src/hl7_test.j         # the tests, with a scripted MLLP peer\ntools/check-docs.sh                  # docs against the code\ntools/pack.sh dist                   # build the release archive\n```\n\n## Licence\n\nLGPL-3.0-only, see [LICENSE](LICENSE). Copyright (C) 2026 mplx \u0026lt;mplx@jennifer-lang.dev\u0026gt;.\n\n`tools/check-headers.sh` checks every source file's SPDX header against\n`deck.toml`.\n"}