Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Creating an HL7 v2.6 message
- #Nikos Vaggalis, www.i-programmer.info
- ##http://www.i-programmer.info/programming/perl/9920-health-level-7-hl7-with-perl.html
- #license:Artistic 1.0
- use Net::HL7::Message;
- use Net::HL7::Segment;
- use Net::HL7::Segments::MSH;
- use Time::Piece;
- use strict;
- $Net::HL7::HL7_VERSION='2.6';
- #####DATA INIT
- my $msh_9=["ADT","A01","ADT_A01"];
- my $msh_10=201;
- my $msh_22="DD015";
- my $pid_3= [
- "100660325",["NationalPN","2.16.840.1.113883.19.3","ISO"],"0"
- ."~"."80253",'','','','',1
- ];
- my $pid_5=["GREENING","WAYNE",'','','','',"L"];
- my $pid_7="30/01/1961";
- my $pid_8="M";
- my $pid_19=303603715;
- my $pid_23="LONDON";
- my $pv1_2="E";
- my $pv1_7=12345678901;
- my $pv1_18=0;
- my $pv1_19=185;
- my $pv1_20=0;
- my @dg1data=([1,"S42.1"],[2,"S42.2"]);
- my $msg = new Net::HL7::Message();
- #####MSH SEGMENT
- my $msh = new Net::HL7::Segments::MSH();
- $msh->setField(7, $msh->getField(7)."+0200");
- $msh->setField(9, $msh_9);
- $msh->setField(10, "id".$msh_10);
- $msh->setField(11, "P");
- $msh->setField(22, $msh_22);
- $msg->addSegment($msh);
- #####PID SEGMENT
- my $pid = new Net::HL7::Segment("PID");
- $pid->setField(3, $pid_3);
- $pid->setField(5, $pid_5);
- my $time = Time::Piece->strptime($pid_7,'%d/%m/%Y');
- $time= $time->strftime('%Y%m%d');
- $pid->setField(7, $time);
- $pid->setField(8, $pid_8);
- $pid->setField(19, $pid_19);
- $pid->setField(23, $pid_23);
- $msg->addSegment($pid);
- #####PV1 SEGMENT
- my $pv1 = new Net::HL7::Segment("PV1");
- $pv1->setField(2, $pv1_2);
- $pv1->setField(7, $pv1_7);
- $pv1->setField(18, $pv1_18);
- $pv1->setField(19, $pv1_19);
- $pv1->setField(20, $pv1_20);
- $msg->addSegment($pv1);
- for (my $i=0;$i<=$#dg1data;$i++) {
- my $dg = new Net::HL7::Segment("DG1");
- $dg->setField(1, $dg1data[$i]->[0]);
- $dg->setField(3, $dg1data[$i]->[1]);
- $msg->addSegment($dg);
- };
- print $msg->toString();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement