/nHapi

nHapi is the .Net port of the original Java project HAPI.

Primary LanguageC#Mozilla Public License 2.0MPL-2.0

nHapi

Build Status Codacy Badge Codacy Badge Nuget Badge

NHapi is a .NET port of the original Java project HAPI.

NHapi allows Microsoft .NET developers to easily use an HL7 2.x object model. This object model allows for parsing and encoding HL7 2.x data to/from Pipe Delimited or XML formats. A very handy program for use in the health care industry.

This project is NOT affiliated with the HL7 organization. This software just conforms to the HL7 2.x specifications.

Key Benefits

  • Easy object model
  • Microsoft .NET 3.5 and netstandard2.0 library that conforms to HL7 2.1, 2.2, 2.3, 2.3.1, 2.4, 2.5, 2.5.1, 2.6, 2.7, 2.7.1, 2.8 and 2.8.1 specifications
  • Can take a pipe delimited or XML formatted HL7 2.x message and build the C# object model for use in code
  • Can take the C# HL7 object model and produce pipe delimited or XML formatted HL7
  • FREE! (You can't beat that price) and open source
  • Fast

Requirements

NHapi currently targets .NET Framework 3.5 and netstandard2.0 which aims to provide support for projects which target .NET Framework 3.5 and above as well as .NET Core 2.0 and above.

Getting Started

The easiest way to get started using nHapi is to use the NuGet package 'nHapi':

Package Manager Console

Using the package manager console within visual studio, simply run the following command:

PM > Install-Package nhapi

.NET CLI

From your console of choice assuming you have dotnet core installed.

> dotnet add package nhapi

For more options please read the Getting Started page of the wiki.

Change Log

nHapi 3.2.0 Announcement

nHapi 3.2.0 has been released - see Full Change Log for details.

Related Projects

If you use nHapi you may find the following projects useful:

  • NHapiTools - Many useful extension methods, helper methods for listening on MLLP/TCP, generating ACK messages, custom segments, validation rules, too many features to list here.
  • HL7Fuse - HL7 Message Hub / Integration Engine
  • HL7-dotnetcore - Lightweight library for building and parsing HL7 2.x messages, for .Net Standard and .Net Core. It is not tied to any particular version of HL7 nor validates against one.
  • Reimers IHE Communication - Provides support for both client side and server side HL7 transaction management.

Should you know of any other projects that use or improve nHapi please let me know or send a pull request with a link to the project and I'll be happy to add it to the list.