Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Complete 834 parsing.

  • Loading branch information...
commit f8891cd3b4c6931f0ca0656479c9751c08181aa6 1 parent f0705e9
@patricksrobertson patricksrobertson authored
View
63 lib/hippo/transaction_sets/HIPAA_834/L2000.rb
@@ -7,17 +7,16 @@ class L2000 < Hippo::TransactionSets::Base
:name => 'Member Level Detail',
:minimum => 1,
:maximum => 1,
- :position => 900,
+ :position => 100,
:identified_by => {
- 'INS01' => ['Y','N'],
- 'INS02' => ['01', '18', '19']
+ 'INS01' => ['Y','N']
}
segment Hippo::Segments::REF,
:name => 'Subscriber Number',
:minimum => 1,
:maximum => 1,
- :position => 1000,
+ :position => 200,
:identified_by => {
'REF01' => '0F'
}
@@ -26,7 +25,7 @@ class L2000 < Hippo::TransactionSets::Base
:name => 'Member Policy Number',
:minimum => 0,
:maximum => 1,
- :position => 1100,
+ :position => 200,
:identified_by => {
'REF01' => '1L'
}
@@ -34,44 +33,52 @@ class L2000 < Hippo::TransactionSets::Base
segment Hippo::Segments::REF,
:name => 'Client Number',
:minimum => 0,
- :maximum => 1,
- :position => 1200
+ :maximum => 13,
+ :position => 200
- segment Hippo::Segments::REF,
- :name => 'Department/Agency Number',
+ segment Hippo::Segments::DTP,
+ :name => 'Prior Coverage Dates',
:minimum => 0,
- :maximum => 1,
- :position => 1300,
+ :maximum => 24,
+ :position => 250,
:identified_by => {
- 'REF01' => 'DX'
+ 'DTP01' => ['196', '197', '336', '340']
}
- segment Hippo::Segments::REF,
- :name => 'Prior Coverage Dates',
- :minimum => 0,
- :maximum => 1,
- :position => 1400,
+ segment Hippo::Segments::DTP,
+ :name => 'Health Coverage Dates',
+ :minimum => 1,
+ :maximum => 24,
+ :position => 250,
:identified_by => {
- 'REF01' => 'QQ'
+ 'DTP01' => '300'
}
- segment Hippo::Segments::DTP,
- :name => 'Prior Coverage Dates',
- :minimum => 0,
+ loop Hippo::TransactionSets::HIPAA_834::L2100A,
+ :name => 'Member Information',
+ :minimum => 1,
:maximum => 1,
- :position => 1500,
+ :position => 300,
:identified_by => {
- 'DTP01' => ['196', '197', '336', '340']
+ 'NM1.NM101' => 'IL',
+ 'NM1.NM102' => '1'
}
- segment Hippo::Segments::DTP,
- :name => 'Health Coverage Dates',
+ loop Hippo::TransactionSets::HIPAA_834::L2200,
+ :name => 'Disability Information',
:minimum => 0,
- :maximum => 1,
- :position => 1600,
+ :maximum => 99999,
+ :position => 2000,
:identified_by => {
- 'DTP01' => '300'
+ 'DSB.DSB01' => ['1','2','3','4']
}
+
+ loop Hippo::TransactionSets::HIPAA_834::L2300,
+ :name => 'Health Coverage',
+ :minimum => 1,
+ :maximum => 99999,
+ :position => 2600
+
end
end
end
View
10 lib/hippo/transaction_sets/HIPAA_834/L2100A.rb
@@ -7,7 +7,7 @@ class L2100A < Hippo::TransactionSets::Base
:name => 'Member Name',
:minimum => 1,
:maximum => 1,
- :position => 1700,
+ :position => 300,
:identified_by => {
'NM101' => 'IL',
'NM102' => '1'
@@ -17,19 +17,19 @@ class L2100A < Hippo::TransactionSets::Base
:name => 'Member Residence Street Address',
:minimum => 1,
:maximum => 1,
- :position => 1800
+ :position => 500
segment Hippo::Segments::N4,
:name => 'Member Residence City, State, and Zip',
:minimum => 1,
:maximum => 1,
- :position => 1900
+ :position => 600
segment Hippo::Segments::PER,
:name => 'Member Communications Numbers',
:minimum => 0,
:maximum => 1,
- :position => 2000,
+ :position => 400,
:identified_by => {
'PER01' => 'IP'
}
@@ -38,7 +38,7 @@ class L2100A < Hippo::TransactionSets::Base
:name => 'Member Demographics',
:minimum => 1,
:maximum => 1,
- :position => 2100,
+ :position => 800,
:identified_by => {
'DMG01' => 'D8'
}
View
32 lib/hippo/transaction_sets/HIPAA_834/base.rb
@@ -22,6 +22,7 @@ class Base < Hippo::TransactionSets::Base
:name => 'Transaction Set Header',
:minimum => 1,
:maximum => 1,
+ :position => 100,
:identified_by => {
'ST01' => '834'
}
@@ -30,6 +31,7 @@ class Base < Hippo::TransactionSets::Base
:name => 'Beginning',
:minimum => 1,
:maximum => 1,
+ :position => 200,
:identified_by => {
'BGN01' => '00'
}
@@ -38,6 +40,7 @@ class Base < Hippo::TransactionSets::Base
:name => 'Transaction Set Policy Number',
:minimum => 0,
:maximum => 1,
+ :position => 300,
:identified_by => {
'REF01' => '38'
}
@@ -46,6 +49,7 @@ class Base < Hippo::TransactionSets::Base
:name => 'File Effective Date',
:minimum => 0,
:maximum => 1,
+ :position => 400,
:identified_by => {
'DTP01' => '007'
}
@@ -54,6 +58,7 @@ class Base < Hippo::TransactionSets::Base
:name => 'Sponsor Name',
:minimum => 1,
:maximum => 1,
+ :position => 700,
:identified_by => {
'N1.N101' => 'P5'
}
@@ -62,6 +67,7 @@ class Base < Hippo::TransactionSets::Base
:name => 'Payer',
:minimum => 1,
:maximum => 1,
+ :position => 700,
:identified_by => {
'N1.N101' => 'IN'
}
@@ -70,33 +76,11 @@ class Base < Hippo::TransactionSets::Base
:name => 'Member Level Detail',
:minimum => 1,
:maximum => 99999,
+ :position => 100,
:identified_by => {
- 'INS.INS01' => ['Y','N'],
- 'INS.INS02' => ['01', '18', '19']
+ 'INS.INS01' => ['Y','N']
}
- loop Hippo::TransactionSets::HIPAA_834::L2100A,
- :name => 'Member Information',
- :minimum => 1,
- :maximum => 99999,
- :identified_by => {
- 'NM1.NM101' => 'IL',
- 'NM1.NM102' => '1'
- }
-
- loop Hippo::TransactionSets::HIPAA_834::L2200,
- :name => 'Disability Information',
- :minimum => 0,
- :maximum => 99999,
- :identified_by => {
- 'DSB.DSB01' => ['1','2','3','4']
- }
-
- loop Hippo::TransactionSets::HIPAA_834::L2300,
- :name => 'Health Coverage',
- :minimum => 1,
- :maximum => 99999
-
segment Hippo::Segments::SE,
:name => 'Transaction Set Trailer',
:minimum => 1,
Please sign in to comment.
Something went wrong with that request. Please try again.