era_835_parser 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/era_835_parser/parser.rb +25 -7
- data/lib/era_835_parser/version.rb +1 -1
- data/spec/era_835_parser_spec.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dce7c7dccaaa4ab3ab919104405f040e1e4136b034b24a03d4b210e93bd26258
|
4
|
+
data.tar.gz: 37686d6f2e59f1fcf13c1882cb0dddeca71cd6ff28969d5b5f9ee68ad2d876c1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fe824f0c5bed8ec29263d6d48240bff8f1d4a2b9b3254eb48efd05c0d975b2e181676ae20017971b24f52669196414feb6b80e5fd2848bb8ef96fe827eedf657
|
7
|
+
data.tar.gz: d3d79fa935feced6fc56d60beaf6ddd67af5b470872c26afcaa318621f82c888b229ec09e37ee1df9b0cebd2636412031dcafc1703ac0ca40cd9f2a9457717e7
|
@@ -56,6 +56,10 @@ module Era835Parser
|
|
56
56
|
service_payment_information_loop = false
|
57
57
|
bpr_amount = ''
|
58
58
|
bpr_date = ''
|
59
|
+
receive_date = false
|
60
|
+
claim_date_start = false
|
61
|
+
claim_date_end = false
|
62
|
+
service_date = false
|
59
63
|
|
60
64
|
open(file_path).readlines.each do |line|
|
61
65
|
if line.include?("ISA")
|
@@ -496,12 +500,27 @@ module Era835Parser
|
|
496
500
|
when 1
|
497
501
|
# Date Time Qualifier
|
498
502
|
# puts "Date Time Qualifier: #{element}"
|
503
|
+
if element == "050"
|
504
|
+
receive_date = true
|
505
|
+
elsif element == "232"
|
506
|
+
claim_date_start = true
|
507
|
+
elsif element == "233"
|
508
|
+
claim_date_end = true
|
509
|
+
elsif element == "472"
|
510
|
+
service_date = true
|
511
|
+
end
|
499
512
|
when 2
|
500
513
|
# Service Date
|
501
514
|
# puts "Service Date: #{element}"
|
502
|
-
if
|
515
|
+
if service_date
|
503
516
|
individual_line_item[:service_date] = element.strip[4..5] + "/" + element.strip[6..7] + "/" + element.strip[0..3]
|
504
|
-
|
517
|
+
receive_date = false
|
518
|
+
elsif claim_date_start
|
519
|
+
individual_era[:claim_statement_period_start] = element.strip[4..5] + "/" + element.strip[6..7] + "/" + element.strip[0..3]
|
520
|
+
claim_date_start = false
|
521
|
+
elsif claim_date_end
|
522
|
+
individual_era[:claim_statement_period_end] = element.strip[4..5] + "/" + element.strip[6..7] + "/" + element.strip[0..3]
|
523
|
+
claim_date_end = false
|
505
524
|
end
|
506
525
|
end
|
507
526
|
when "N4"
|
@@ -572,6 +591,7 @@ module Era835Parser
|
|
572
591
|
when "CLP"
|
573
592
|
svc_counter = 0
|
574
593
|
claim_payment_information_loop = true
|
594
|
+
service_payment_information_loop = true if individual_line_item[:service_date].nil?
|
575
595
|
case index
|
576
596
|
when 1
|
577
597
|
if individual_line_item != {}
|
@@ -581,6 +601,7 @@ module Era835Parser
|
|
581
601
|
line_items[line_items.count] = individual_line_item
|
582
602
|
end
|
583
603
|
individual_era[:line_items] = line_items
|
604
|
+
individual_line_item = Hash.new
|
584
605
|
end
|
585
606
|
individual_era = Hash.new
|
586
607
|
line_items = Hash.new
|
@@ -786,9 +807,6 @@ module Era835Parser
|
|
786
807
|
individual_line_item[:adjustment_groups].each do |k,v|
|
787
808
|
adjustment_amount_tally += v[:adjustment_amount]
|
788
809
|
end
|
789
|
-
# puts "^^^^^^^^^"
|
790
|
-
# puts individual_line_item[:adjustment_groups]
|
791
|
-
# puts "^^^^^^^^^"
|
792
810
|
individual_line_item[:total_adjustment_amount] = adjustment_amount_tally
|
793
811
|
when 4
|
794
812
|
# QUANTITY
|
@@ -871,10 +889,10 @@ module Era835Parser
|
|
871
889
|
line_items[line_items.count] = individual_line_item
|
872
890
|
end
|
873
891
|
individual_era[:line_items] = line_items
|
892
|
+
individual_line_item = Hash.new
|
874
893
|
end
|
875
|
-
individual_line_item = Hash.new
|
876
894
|
adjustment_groups = Hash.new
|
877
|
-
service_payment_information_loop = true
|
895
|
+
service_payment_information_loop = true if individual_line_item[:service_date].nil?
|
878
896
|
element.split(":").each_with_index do |subelement, i|
|
879
897
|
case i
|
880
898
|
when 0
|
data/spec/era_835_parser_spec.rb
CHANGED
@@ -101,10 +101,10 @@ RSpec.describe Era835Parser::Parser do
|
|
101
101
|
expect(@era[:checks]['70408535'][:eras][0][:payer_claim_control_number]).to eq('80209000000')
|
102
102
|
end
|
103
103
|
it 'returns the Claim statement period start' do
|
104
|
-
expect(@era[:checks]['70408535'][:eras][0][:claim_statement_period_start]).to eq(
|
104
|
+
expect(@era[:checks]['70408535'][:eras][0][:claim_statement_period_start]).to eq("03/07/2010")
|
105
105
|
end
|
106
106
|
it 'returns the Claim statement period end' do
|
107
|
-
expect(@era[:checks]['70408535'][:eras][0][:claim_statement_period_end]).to eq(
|
107
|
+
expect(@era[:checks]['70408535'][:eras][0][:claim_statement_period_end]).to eq("03/10/2010")
|
108
108
|
end
|
109
109
|
|
110
110
|
context 'Line item #0' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: era_835_parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin S. Dias
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-03-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|