mogox/ruby-hl7

View on GitHub
lib/segments/msh.rb

Summary

Maintainability
A
0 mins
Test Coverage
# encoding: UTF-8
require 'ruby-hl7'
class HL7::Message::Segment::MSH < HL7::Message::Segment
  weight( -1 ) # the msh should always start a message
  add_field :enc_chars, :idx=>1
  add_field :sending_app, :idx=>2
  add_field :sending_facility, :idx=>3
  add_field :recv_app, :idx=>4
  add_field :recv_facility, :idx=>5
  add_field :time, :idx=>6 do |value|
    convert_to_ts(value)
  end
  add_field :security, :idx=>7
  add_field :message_type, :idx=>8
  add_field :message_control_id, :idx=>9
  add_field :processing_id, :idx=>10
  add_field :version_id, :idx=>11
  add_field :seq, :idx=>12
  add_field :continue_ptr, :idx=>13
  add_field :accept_ack_type, :idx=>14
  add_field :app_ack_type, :idx=>15
  add_field :country_code, :idx=>16
  add_field :charset, :idx=>17
  add_field :principal_language_of_message
  add_field :alternate_character_set_handling_scheme
  add_field :message_profile_identifier
  
  private
  def self.convert_to_ts(value) #:nodoc:
    if value.is_a?(Time) or value.is_a?(Date)
      return value.to_hl7
    else
      return value
    end
  end
end