HL7 Components for Delphi.


Delphi & Free Pascal components for handling HL7 (Health Level Seven) messages. Besa HL7 can generate and parse HL7 messages. You can develop easy your applications for communicate lab. devices or other healthcare systems.

  • Supports HL7 2.2, 2.3, 2.3.1, 2.4, 2.5, 2.5.1, 2.6, 2.7 versions.
  • You can use with Delphi 7, 2005, 2006, 2007, 2009, 2010, XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, 10, 10.1,10.2.
  • Application development for Cross Platforms
  • Free Pascal 2.6.4 and 3.0.0 (Windows, Linux, Wince,Raspberry...)
  • %100 Native pascal code. No DLL No OCX.
  • It's support message groups and nested groups.
  • Support for all HL7 data types.
  • Support custom message types.
  • Access to fields using a terse location specification syntax.
  • You can get/set values AsHL7/AsString property
  • You can get/set XML document AsXML property
  • Licensed royalty-free per developer, per team, or per site
Download Demo

How to use?

Two ways are available:

  • Classical usage
  • To create a new message you need only create a message and set fields.
    //Load library...
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      BSHL7Library.LoadFromFile('..\data\BSHL722.BSL');
    end;
    						
    procedure TForm1.bMessageCreateClick(Sender: TObject);
    var
      msg : TbsADT_A01_22;
    begin
      try
        msg := TbsADT_A01_22.Create;
    
        // Populate the MSH Segment
        msg.MSH.Sendingfacility.Value:='Sending';
        msg.MSH.Sequencenumber.Value:='123';
    
        // Populate the PID Segment
        msg.PID.PatientName.FamilyName.AsString:='Doe';
        msg.PID.PatientName.GivenName.AsString:='John';
        msg.PID.PatientIDInternalID[0].IDNumber.AsString:='123456';
    
        Memo1.Lines.Append(msg.AsHL7);
        // MSH|^~\&|||Sending|||||||||123
        // PID|||123456||Doe^John
      finally
        msg.Free;
      end;
    
    end;
  • Dynamically usage
  • For use this way you need known segment name, group name and field name or their index.
    //Load library...
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      BSHL7Library.LoadFromFile('..\data\BSHL722.BSL');
    end;
    					
    procedure TForm1.bCreateMessagePathClick(Sender: TObject);
    var
      msg :TBSHL7Message;
    begin
      try
        msg:=TBSHL7Message.Create('ADT_A01','22');
    
        // Populate the MSH Segment
        msg.S['MSH/Sendingfacility']:='Sending';
        msg.S['MSH/Sequencenumber']:='123';
    
         // Populate the PID Segment
        msg.S['PID/PatientName/FamilyName']:='Doe';    
        msg.S['PID/PatientName/2']:='John'; //  <<== SAME  msg.S['PID/PatientName/GivenName']:='John';
        msg.S['PID/PatientIDInternalID(1)/IDNumber']:='123456';
    
        Memo1.Lines.Append(msg.AsHL7);
       
        // MSH|^~\&|||Sending|||||||||123
        // PID|||123456||Doe^John
      finally
        msg.Free;
      end;
    
    end;
You can use two ways:BesaHl7 load supports two mode development.

How to use Example Developer's Guide Class Documentation
You can download trial version of our products. Trial version is a limited 10 message per day.
Description
(for Delphi 7, 2005, 2006, 2007, 2009, 20010, XE-XE10, 10.1, 10.2 )
HL7 2.2 Trial
HL7 2.3 Trial
HL7 2.3.1 Trial
HL7 2.4 Trial
HL7 2.5 Trial
HL7 2.5.1 Trial
HL7 2.6 Trial
HL7 2.7 Trial
You can purchase a license for the registered version of HL7 Components through the secure ordering site linked below. Our online ordering system is powered by share-it!, a secure e-commerce provider for Internet software.

As soon as we have been notified that your order has been processed, you will receive an email with your license file. Refer to the licensing page of the documentation for further instructions.

Purchasing a HL7 Components licence grants you 1 year free support and updates.

BesaHL7 can be registered under three types of licenses. You can get a Standart License for one developer, a Professional License for one to four developers, and a Site License for an unlimited number of developers in a single company.
Standart editions not supports XML export operations.

If you purchase site license you will be given to the source code.

All components supports Delphi 7, 2005, 2006, 2007, 2009, 20010, XE - XE10, 10.1, 10.2.
Licenses
Description Standart Professional Site -inc. Source Code-
HL7 2.2 Component $199 $249 $499
HL7 2.3 Component $199 $249 $499
HL7 2.3.1 Component $199 $249 $499
HL7 2.4 Component $199 $249 $499
HL7 2.5 Component $199 $249 $499
HL7 2.5.1 Component $199 $249 $499
HL7 2.6 Component $199 $249 $499
HL7 2.7 Component $199 $249 $499
HL7 2.x (2.2, 2.3, 2.3.1, 2.4, 2.5, 2.5.1, 2.6, 2.7) Component $599 $749 $1499
Renewals
Description Standart Professional Site -inc. Source Code-
HL7 2.2 Component Subscription Renewal $66 $83 $166
HL7 2.3 Component Subscription Renewal $66 $83 $166
HL7 2.3.1 Component Subscription Renewal $66 $83 $166
HL7 2.4 Component Subscription Renewal $66 $83 $166
HL7 2.5 Component Subscription Renewal $66 $83 $166
HL7 2.5.1 Component Subscription Renewal $66 $83 $166
HL7 2.6 Component Subscription Renewal $66 $83 $166
HL7 2.7 Component Subscription Renewal $66 $83 $166
HL7 2.x (2.2, 2.3, 2.3.1, 2.4, 2.5, 2.5.1, 2.6, 2.7) Component Subscription Renewal $199 $249 $499