class Hl7Header

Attributes

date_time[RW]

overriding from header.

message_control_id[RW]
message_type[RW]

Public Class Methods

new(args) click to toggle source
Calls superclass method Header::new
# File lib/ruby_astm/HL7/hl7_header.rb, line 12
def initialize(args)
        super
        set_machine_name(args)
        set_date_time(args)
        set_message_type(args)
        set_message_control_id(args)
end

Public Instance Methods

ack_message() click to toggle source
# File lib/ruby_astm/HL7/hl7_header.rb, line 84
def ack_message
        "ACK"
end
field_seperators() click to toggle source
# File lib/ruby_astm/HL7/hl7_header.rb, line 68
def field_seperators
        "^~\\&"
end
generate_ack_failure_response() click to toggle source
# File lib/ruby_astm/HL7/hl7_header.rb, line 124
def generate_ack_failure_response

end
generate_ack_success_response() click to toggle source
# File lib/ruby_astm/HL7/hl7_header.rb, line 96
def generate_ack_success_response
        
        ack_msg = ""
        ack_msg += header + seperator
        ack_msg += field_seperators + seperator
        ack_msg += sending_application_name + seperator
        ack_msg += sending_facility_name + seperator
        ack_msg += seperator
        ack_msg += seperator
        ack_msg += sending_date_time + seperator
        ack_msg += seperator
        ack_msg += ack_msg + seperator
        ack_msg += self.message_control_id + seperator
        ack_msg += seperator
        ack_msg += hl7_version + seperator
        ack_msg += seperator
        ack_msg += seperator
        ack_msg += seperator
        ack_msg += seperator
        ack_msg += seperator
        ack_msg += seperator
        ack_msg += seperator
        ack_msg += "AA" + seperator
        ack_msg += sending_date_time + seperator
        ack_msg

end
header() click to toggle source
# File lib/ruby_astm/HL7/hl7_header.rb, line 64
def header
        "MSH"
end
hl7_version() click to toggle source
# File lib/ruby_astm/HL7/hl7_header.rb, line 92
def hl7_version
        "2.4"
end
nack_message() click to toggle source
# File lib/ruby_astm/HL7/hl7_header.rb, line 88
def nack_message
        "NACK"
end
sending_application_name() click to toggle source
# File lib/ruby_astm/HL7/hl7_header.rb, line 72
def sending_application_name
        "Pathofast_LIS"
end
sending_date_time() click to toggle source
# File lib/ruby_astm/HL7/hl7_header.rb, line 80
def sending_date_time
        Time.now.strftime("%Y%m%d%H%M%S")             
end
sending_facility_name() click to toggle source
# File lib/ruby_astm/HL7/hl7_header.rb, line 76
def sending_facility_name
        "Pathofast"
end
seperator() click to toggle source

METHODS FOR generating the acknowledgement to an HL7 Message

# File lib/ruby_astm/HL7/hl7_header.rb, line 60
def seperator
        "|"
end
set_date_time(args) click to toggle source
# File lib/ruby_astm/HL7/hl7_header.rb, line 28
def set_date_time(args)
        if line = args[:line]
                unless line.fields[7].blank?
                        self.date_time = line.fields[7]
                end
        end
end
set_machine_name(args) click to toggle source
# File lib/ruby_astm/HL7/hl7_header.rb, line 20
def set_machine_name(args)
        if line = args[:line]
                unless line.fields[2].blank?
                        self.machine_name = line.fields[2]
                end
        end
end
set_message_control_id(args) click to toggle source
# File lib/ruby_astm/HL7/hl7_header.rb, line 44
def set_message_control_id(args)
        if line = args[:line]
                unless line.fields[9].blank?
                        self.message_control_id = line.fields[9]
                end
        end
end
set_message_type(args) click to toggle source
# File lib/ruby_astm/HL7/hl7_header.rb, line 36
def set_message_type(args)
        if line = args[:line]
                unless line.fields[8].blank?
                        line.fields[8].strip.scan(/(?<message_type>[A-Z]+)\^/) { |message_type|  self.message_type = message_type[0] }
                end
        end
end
set_protocol(args) click to toggle source
# File lib/ruby_astm/HL7/hl7_header.rb, line 8
def set_protocol(args)
        self.protocol = "HL7"
end