hl7apy
HL7apy: a lightweight Python library to parse, create and handle HL7 v2.x messages
Decision gist · record as of 2026-08-14
Yes, if you need HL7 v2 message handling in Python and can accept a dormant package. The library is lightweight, has no dependencies, carries permissive licensing, and has seen no reported security issues. Install it for stable, read-only HL7 work; avoid it if you need active maintenance, bug fixes, or support for emerging HL7 standards.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- No runtime dependencies and a pure-Python wheel distribution mean installation is straightforward.
- The package is dormant—no releases in 884 days—so expect no active maintenance or bug fixes, though the codebase appears stable for existing use cases.
License · maintenance · safety
MIT License (permissive) — MIT License is permissive, allowing commercial and private use with minimal restrictions; you may use, modify, and distribute hl7apy freely as long as you include the license notice.
last release 2024-03-13 (884 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 802,892 downloads/mo, #5,018 on PyPI
Alternatives
Verify before relying
pip install hl7apy
from hl7apy.core import Message
msg = Message('ADT')
msg.parse('MSH|^~\\&|...')- Whether the package works reliably with modern Python versions (3.10, 3.11, 3.12) despite dormant status.
- Current state of documentation and whether examples remain accurate for HL7 v2 specifications.
- Whether MLLP protocol support is production-ready or limited to basic encoding/decoding.
What it is and what it does
HL7apy is a Python library for working with HL7 v2.x messages, the standard format for healthcare data interchange. It handles the full lifecycle: parsing incoming messages into structured objects, creating new messages programmatically, and validating them against HL7 specifications. The library supports all HL7 datatypes (simple and complex), allows custom encoding characters, and can encode messages in ER7 format with MLLP protocol compliance.
The package has no external dependencies and installs as a pure-Python wheel, making it lightweight and portable. It's aimed at healthcare IT developers building systems that need to send or receive HL7 messages. However, the project has been dormant for 884 days with no recent releases, so it receives no active maintenance; use it when you need HL7 v2 support in a stable, unchanging codebase.
Use it for
- Parse incoming HL7 admission/discharge/transfer messages from hospital systems into Python objects for processing.
- Generate HL7 messages programmatically to send patient data to external healthcare systems or EHRs.
- Validate HL7 messages against HL7 specifications before transmission to ensure compliance.
- Extract specific fields from HL7 messages by name or position for data integration pipelines.
- Build MLLP-compliant healthcare data interchange endpoints that receive and send HL7 v2 messages.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need HL7 v2 message handling in Python and can accept a dormant package.
The library is lightweight, has no dependencies, carries permissive licensing, and has seen no reported security issues. Install it for stable, read-only HL7 work; avoid it if you need active maintenance, bug fixes, or support for emerging HL7 standards.
Install
hl7apy on PyPI
Before you install
No runtime dependencies and a pure-Python wheel distribution mean installation is straightforward. The package is dormant—no releases in 884 days—so expect no active maintenance or bug fixes, though the codebase appears stable for existing use cases.
License in practice
MIT License is permissive, allowing commercial and private use with minimal restrictions; you may use, modify, and distribute hl7apy freely as long as you include the license notice.
Quickstart
pip install hl7apy
from hl7apy.core import Message
msg = Message('ADT')
msg.parse('MSH|^~\\&|...')
Verify before relying
- Whether the package works reliably with modern Python versions (3.10, 3.11, 3.12) despite dormant status.
- Current state of documentation and whether examples remain accurate for HL7 v2 specifications.
- Whether MLLP protocol support is production-ready or limited to basic encoding/decoding.
Package facts
| License | MIT License permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Dormant 884 days since the last release |
| First released | |
| Downloads | 802,892 / month, #5,018 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: Healthcare IndustryLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/Engineering |
Evidence: hl7apy-1.3.5-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “hl7 v2 healthcare messages”
- hl7apyHL7apy parses, creates, and validates HL7 v2.x healthcare messages…
- hl7Parses HL7 version 2.x medical messages into Python objects for…
- fhir.resourcesProvides Python classes and validation for all FHIR resource types…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also hl7 · fhir.resources · fhir-core · pyproject-toml · pyx12 · semantic-version · emrvalidator · pyiso8583 · carelytics · reqif