class Roqua::Healthy::A19::NameParser

Attributes

message[R]

Public Class Methods

new(message) click to toggle source
# File lib/roqua/healthy/a19/name_parser.rb, line 8
def initialize(message)
  @message = message
end

Public Instance Methods

display_name() click to toggle source
# File lib/roqua/healthy/a19/name_parser.rb, line 27
def display_name
  return unless names[:display]
  names[:display].fetch('PID.5.1')
end
firstname() click to toggle source
# File lib/roqua/healthy/a19/name_parser.rb, line 12
def firstname
  return unless names[:nick]
  names[:nick].fetch('PID.5.2')
end
initials() click to toggle source
# File lib/roqua/healthy/a19/name_parser.rb, line 17
def initials
  "#{names[:legal].fetch('PID.5.2')} #{names[:legal].fetch('PID.5.3')}".strip
end
lastname() click to toggle source
# File lib/roqua/healthy/a19/name_parser.rb, line 21
def lastname
  prefix   = names[:legal].fetch('PID.5.1').fetch('PID.5.1.2')
  lastname = names[:legal].fetch('PID.5.1').fetch('PID.5.1.3')
  "#{prefix} #{lastname}".strip
end
nickname() click to toggle source
# File lib/roqua/healthy/a19/name_parser.rb, line 32
def nickname
  firstname
end

Private Instance Methods

names() click to toggle source
# File lib/roqua/healthy/a19/name_parser.rb, line 38
def names
  names = {}
  message.fetch('PID').fetch('PID.5').each do |record|
    case record.fetch('PID.5.7', :unknown_type_of_name_record)
    when 'L'
      names[:legal] = record
    when 'D'
      names[:display] = record
    when 'N'
      names[:nick] = record
      # else ignore record
    end
  end
  names
end