class Sunnyside::ServiceParser

Attributes

claim[R]
service_line[R]

Public Class Methods

new(service_line, claim_id) click to toggle source
# File lib/sunnyside/ledger/edi.rb, line 116
def initialize(service_line, claim_id)
  @service_line = service_line.split(/~/)
  @claim        = Claim[claim_id]
end

Public Instance Methods

dos() click to toggle source
# File lib/sunnyside/ledger/edi.rb, line 121
def dos
  service_line.detect { |svc| svc =~ /^DTM/ }[/\w+$/]
end
error_codes() click to toggle source
# File lib/sunnyside/ledger/edi.rb, line 134
def error_codes
  service_line.find_all { |section| section =~ /^CAS|^SE/ }.map { |code| code[/\w+\*\w+\*(\d+)/, 1] }
end
parse() click to toggle source
# File lib/sunnyside/ledger/edi.rb, line 138
def parse
  service = ServiceEntry.new(service_header, dos, error_codes)
  service.to_db(claim)
end
service_header() click to toggle source
# File lib/sunnyside/ledger/edi.rb, line 125
def service_header
  line = service_line[0].split(/\*/).drop(1)
  if line.length == 7 || line[1] != line[2]
    return line.uniq
  else
    return line
  end
end