package CathRecord;
require XML::DOM;
use strict;
use Class::Struct;
struct CathRecord =>
{
PatDemo => '@',
CathEvents => '%',
Procedures => '%',
CathStaff => '%',
CathBlood => '%',
CathEvent => '%',
CathSat => '%',
CathAldrete => '%',
};
1;
sub CamPatDemo
{
my $file = $_[0];
my $obj = CathRecord->new();
my $parser = XML::DOM::Parser->new();
my $doc = $parser->parsefile($file);
my @patdemo;
my ($ln, $fn, $sex, $dob, $htu, $htn, $wtu, $wtn, $patnum, $patient);
#Get Patient Data
foreach $patient($doc->getElementsByTagName('SA_PATIENT'))
{
$ln = $patient->getElementsByTagName('MY_LAST_NAME')->item(0)->getFirstChild->getNodeValue;
$fn = $patient->getElementsByTagName('MY_FIRST_NAME')->item(0)->getFirstChild->getNodeValue;
$dob = $patient->getElementsByTagName('MY_BIRTH_DATE')->item(0)->getFirstChild->getNodeValue;
$sex = $patient->getElementsByTagName('MY_GENDER')->item(0)->getFirstChild->getNodeValue;
$dob = $patient->getElementsByTagName('MY_BIRTH_DATE')->item(0)->getFirstChild->getNodeValue;
}
foreach $patient($doc->getElementsByTagName('CathStudy'))
{
$htn = $patient->getElementsByTagName('PatHeight')->item(0)->getFirstChild->getNodeValue;
$wtn = $patient->getElementsByTagName('PatWeight')->item(0)->getFirstChild->getNodeValue;
$htu = $patient->getElementsByTagName('PatHeight')->item(0)->getAttribute('Units');
$wtu = $patient->getElementsByTagName('PatWeight')->item(0)->getAttribute('Units');
$patnum = $patient->getElementsByTagName('StudyID')->item(0)->getFirstChild->getNodeValue;
}
@patdemo = [$ln, $fn, $dob, $sex, $dob, $htn, $htn, $wtu, $wtn, $patnum];
$obj->{'PatDemo'} = @patdemo;
return $obj-{'PatDemo'};
}
####
H:\My Documents\HemoKit>perl m6.pl
Couldn't open CathRecord=HASH(0x234ee0):
No such file or directory at CathRecord.pm line 25
####
#!/usr/bin/perl -w
use XML::DOM;
use CathRecord;
### Create New Object
my $file = "H:/My Documents/files/mfrTESTa.XML";
my $obj = CathRecord->new();
my @sa = $obj->CamPatDemo($file);