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);