hippo 0.2.2 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +8 -0
- data/lib/hippo/field.rb +10 -1
- data/lib/hippo/segments/AAA.rb +39 -0
- data/lib/hippo/segments/EB.rb +207 -0
- data/lib/hippo/segments/EM.rb +63 -0
- data/lib/hippo/segments/EQ.rb +135 -0
- data/lib/hippo/segments/III.rb +195 -0
- data/lib/hippo/segments/INS.rb +171 -0
- data/lib/hippo/segments/LE.rb +15 -0
- data/lib/hippo/segments/LS.rb +15 -0
- data/lib/hippo/segments/MPI.rb +63 -0
- data/lib/hippo/segments/MSG.rb +31 -0
- data/lib/hippo/segments/PCT.rb +23 -0
- data/lib/hippo/segments/PDP.rb +31 -0
- data/lib/hippo/segments/PDR.rb +39 -0
- data/lib/hippo/segments/PID.rb +79 -0
- data/lib/hippo/segments/PKD.rb +47 -0
- data/lib/hippo/segments/SD1.rb +71 -0
- data/lib/hippo/segments/VEH.rb +159 -0
- data/lib/hippo/segments/base.rb +8 -0
- data/lib/hippo/segments.rb +16 -0
- data/lib/hippo/transaction_sets/HIPAA_270/L2000A.rb +32 -0
- data/lib/hippo/transaction_sets/HIPAA_270/L2000B.rb +32 -0
- data/lib/hippo/transaction_sets/HIPAA_270/L2000C.rb +41 -0
- data/lib/hippo/transaction_sets/HIPAA_270/L2000D.rb +41 -0
- data/lib/hippo/transaction_sets/HIPAA_270/L2100A.rb +21 -0
- data/lib/hippo/transaction_sets/HIPAA_270/L2100B.rb +55 -0
- data/lib/hippo/transaction_sets/HIPAA_270/L2100C.rb +97 -0
- data/lib/hippo/transaction_sets/HIPAA_270/L2100D.rb +97 -0
- data/lib/hippo/transaction_sets/HIPAA_270/L2110C.rb +67 -0
- data/lib/hippo/transaction_sets/HIPAA_270/L2110D.rb +47 -0
- data/lib/hippo/transaction_sets/HIPAA_270/base.rb +80 -0
- data/lib/hippo/transaction_sets/HIPAA_270.rb +17 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2000A.rb +44 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2000B.rb +32 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2000C.rb +41 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2000D.rb +41 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2100A.rb +43 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2100B.rb +67 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2100C.rb +124 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2100D.rb +124 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2110C.rb +98 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2110D.rb +98 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2115C.rb +16 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2115D.rb +16 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2120C.rb +54 -0
- data/lib/hippo/transaction_sets/HIPAA_271/L2120D.rb +54 -0
- data/lib/hippo/transaction_sets/HIPAA_271/base.rb +80 -0
- data/lib/hippo/transaction_sets/HIPAA_271.rb +21 -0
- data/lib/hippo/transaction_sets/base.rb +75 -21
- data/lib/hippo/transaction_sets/component.rb +6 -1
- data/lib/hippo/transaction_sets.rb +2 -0
- data/lib/hippo/version.rb +1 -1
- data/samples/837_L2000A_01.edi +1 -0
- data/samples/837_L2000A_02.edi +1 -0
- data/test/test_parser.rb +5 -0
- metadata +55 -7
@@ -0,0 +1,124 @@
|
|
1
|
+
module Hippo::TransactionSets
|
2
|
+
module HIPAA_271
|
3
|
+
|
4
|
+
class L2100D < Hippo::TransactionSets::Base
|
5
|
+
loop_name 'L2100D' #Dependent Name
|
6
|
+
|
7
|
+
#Dependent Name
|
8
|
+
segment Hippo::Segments::NM1,
|
9
|
+
:name => 'Dependent Name',
|
10
|
+
:minimum => 1,
|
11
|
+
:maximum => 1,
|
12
|
+
:position => 300,
|
13
|
+
:identified_by => {
|
14
|
+
'NM101' => '03',
|
15
|
+
'NM102' => '1'
|
16
|
+
}
|
17
|
+
|
18
|
+
#Dependent Additional Identification
|
19
|
+
segment Hippo::Segments::REF,
|
20
|
+
:name => 'Dependent Additional Identification',
|
21
|
+
:minimum => 0,
|
22
|
+
:maximum => 9,
|
23
|
+
:position => 400,
|
24
|
+
:identified_by => {
|
25
|
+
'REF01' => ["18", "1L", "1W", "49", "6P", "CE", "CT", "EA", "EJ", "F6", "GH", "HJ", "IF", "IG", "MRC", "N6", "NQ", "Q4", "SY", "Y4"]
|
26
|
+
}
|
27
|
+
|
28
|
+
#Dependent Address
|
29
|
+
segment Hippo::Segments::N3,
|
30
|
+
:name => 'Dependent Address',
|
31
|
+
:minimum => 0,
|
32
|
+
:maximum => 1,
|
33
|
+
:position => 600
|
34
|
+
|
35
|
+
#Dependent City, State, ZIP Code
|
36
|
+
segment Hippo::Segments::N4,
|
37
|
+
:name => 'Dependent City, State, ZIP Code',
|
38
|
+
:minimum => 0,
|
39
|
+
:maximum => 1,
|
40
|
+
:position => 700
|
41
|
+
|
42
|
+
#Dependent Request Validation
|
43
|
+
segment Hippo::Segments::AAA,
|
44
|
+
:name => 'Dependent Request Validation',
|
45
|
+
:minimum => 0,
|
46
|
+
:maximum => 9,
|
47
|
+
:position => 850,
|
48
|
+
:identified_by => {
|
49
|
+
'AAA01' => ["N", "Y"],
|
50
|
+
'AAA03' => ["15", "35", "42", "43", "45", "47", "48", "49", "51", "52", "56", "57", "58", "60", "61", "62", "63", "64", "65", "66", "67", "68", "71", "77"],
|
51
|
+
'AAA04' => ["C", "N", "R", "S", "W", "X", "Y"]
|
52
|
+
}
|
53
|
+
|
54
|
+
#Provider Information
|
55
|
+
segment Hippo::Segments::PRV,
|
56
|
+
:name => 'Provider Information',
|
57
|
+
:minimum => 0,
|
58
|
+
:maximum => 1,
|
59
|
+
:position => 900,
|
60
|
+
:identified_by => {
|
61
|
+
'PRV01' => ["AD", "AT", "BI", "CO", "CV", "H", "HH", "LA", "OT", "P1", "P2", "PC", "PE", "R", "RF", "SK", "SU"]
|
62
|
+
}
|
63
|
+
|
64
|
+
#Dependent Demographic Information
|
65
|
+
segment Hippo::Segments::DMG,
|
66
|
+
:name => 'Dependent Demographic Information',
|
67
|
+
:minimum => 0,
|
68
|
+
:maximum => 1,
|
69
|
+
:position => 1000
|
70
|
+
|
71
|
+
#Dependent Relationship
|
72
|
+
segment Hippo::Segments::INS,
|
73
|
+
:name => 'Dependent Relationship',
|
74
|
+
:minimum => 0,
|
75
|
+
:maximum => 1,
|
76
|
+
:position => 1100,
|
77
|
+
:identified_by => {
|
78
|
+
'INS01' => 'N',
|
79
|
+
'INS02' => ["01", "19", "20", "21", "39", "40", "53", "G8"]
|
80
|
+
}
|
81
|
+
|
82
|
+
#Dependent Health Care Diagnosis Code
|
83
|
+
segment Hippo::Segments::HI,
|
84
|
+
:name => 'Dependent Health Care Diagnosis Code',
|
85
|
+
:minimum => 0,
|
86
|
+
:maximum => 1,
|
87
|
+
:position => 1150
|
88
|
+
|
89
|
+
#Dependent Date
|
90
|
+
segment Hippo::Segments::DTP,
|
91
|
+
:name => 'Dependent Date',
|
92
|
+
:minimum => 0,
|
93
|
+
:maximum => 9,
|
94
|
+
:position => 1200,
|
95
|
+
:identified_by => {
|
96
|
+
'DTP01' => ["096", "102", "152", "291", "307", "318", "340", "341", "342", "343", "346", "347", "356", "357", "382", "435", "442", "458", "472", "539", "540", "636", "771"],
|
97
|
+
'DTP02' => ["D8", "RD8"]
|
98
|
+
}
|
99
|
+
|
100
|
+
#Dependent Military Personnel Information
|
101
|
+
segment Hippo::Segments::MPI,
|
102
|
+
:name => 'Dependent Military Personnel Information',
|
103
|
+
:minimum => 0,
|
104
|
+
:maximum => 1,
|
105
|
+
:position => 1275,
|
106
|
+
:identified_by => {
|
107
|
+
'MPI01' => ["A", "C", "L", "O", "P", "S", "T"],
|
108
|
+
'MPI02' => ["AE", "AO", "AS", "AT", "AU", "CC", "DD", "HD", "IR", "LX", "PE", "RE", "RM", "RR", "RU"],
|
109
|
+
'MPI03' => ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "Q", "R", "S", "U", "W"]
|
110
|
+
}
|
111
|
+
|
112
|
+
#Dependent Eligibility or Benefit Information
|
113
|
+
loop Hippo::TransactionSets::HIPAA_271::L2110D,
|
114
|
+
:name => 'Dependent Eligibility or Benefit Information',
|
115
|
+
:minimum => 0,
|
116
|
+
:maximum => 99999,
|
117
|
+
:position => 1300,
|
118
|
+
:identified_by => {
|
119
|
+
'EB.EB01' => ["1", "2", "3", "4", "5", "6", "7", "8", "A", "B", "C", "CB", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "MC", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y"]
|
120
|
+
}
|
121
|
+
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
module Hippo::TransactionSets
|
2
|
+
module HIPAA_271
|
3
|
+
|
4
|
+
class L2110C < Hippo::TransactionSets::Base
|
5
|
+
loop_name 'L2110C' #Subscriber Eligibility or Benefit Information
|
6
|
+
|
7
|
+
#Subscriber Eligibility or Benefit Information
|
8
|
+
segment Hippo::Segments::EB,
|
9
|
+
:name => 'Subscriber Eligibility or Benefit Information',
|
10
|
+
:minimum => 0,
|
11
|
+
:maximum => 1,
|
12
|
+
:position => 1300,
|
13
|
+
:identified_by => {
|
14
|
+
'EB01' => ["1", "2", "3", "4", "5", "6", "7", "8", "A", "B", "C", "CB", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "MC", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y"]
|
15
|
+
}
|
16
|
+
|
17
|
+
#Health Care Services Delivery
|
18
|
+
segment Hippo::Segments::HSD,
|
19
|
+
:name => 'Health Care Services Delivery',
|
20
|
+
:minimum => 0,
|
21
|
+
:maximum => 9,
|
22
|
+
:position => 1350
|
23
|
+
|
24
|
+
#Subscriber Additional Identification
|
25
|
+
segment Hippo::Segments::REF,
|
26
|
+
:name => 'Subscriber Additional Identification',
|
27
|
+
:minimum => 0,
|
28
|
+
:maximum => 9,
|
29
|
+
:position => 1400,
|
30
|
+
:identified_by => {
|
31
|
+
'REF01' => ["18", "1L", "1W", "49", "6P", "9F", "ALS", "CLI", "F6", "FO", "G1", "IG", "M7", "N6", "NQ"]
|
32
|
+
}
|
33
|
+
|
34
|
+
#Subscriber Eligibility/Benefit Date
|
35
|
+
segment Hippo::Segments::DTP,
|
36
|
+
:name => 'Subscriber Eligibility/Benefit Date',
|
37
|
+
:minimum => 0,
|
38
|
+
:maximum => 20,
|
39
|
+
:position => 1500,
|
40
|
+
:identified_by => {
|
41
|
+
'DTP01' => ["096", "193", "194", "198", "290", "291", "292", "295", "304", "307", "318", "346", "348", "349", "356", "357", "435", "472", "636", "771"],
|
42
|
+
'DTP02' => ["D8", "RD8"]
|
43
|
+
}
|
44
|
+
|
45
|
+
#Subscriber Request Validation
|
46
|
+
segment Hippo::Segments::AAA,
|
47
|
+
:name => 'Subscriber Request Validation',
|
48
|
+
:minimum => 0,
|
49
|
+
:maximum => 9,
|
50
|
+
:position => 1600,
|
51
|
+
:identified_by => {
|
52
|
+
'AAA01' => ["N", "Y"],
|
53
|
+
'AAA03' => ["15", "33", "52", "53", "54", "55", "56", "57", "60", "61", "62", "63", "69", "70", "98", "AA", "AE", "AF", "AG", "AO", "CI", "E8", "IA", "MA"],
|
54
|
+
'AAA04' => ["C", "N", "R", "W", "X", "Y"]
|
55
|
+
}
|
56
|
+
|
57
|
+
#Message Text
|
58
|
+
segment Hippo::Segments::MSG,
|
59
|
+
:name => 'Message Text',
|
60
|
+
:minimum => 0,
|
61
|
+
:maximum => 10,
|
62
|
+
:position => 1700
|
63
|
+
|
64
|
+
#Subscriber Eligibility or Benefit Additional Information
|
65
|
+
loop Hippo::TransactionSets::HIPAA_271::L2115C,
|
66
|
+
:name => 'Subscriber Eligibility or Benefit Additional Information',
|
67
|
+
:minimum => 0,
|
68
|
+
:maximum => 10,
|
69
|
+
:position => 1710
|
70
|
+
|
71
|
+
#Loop Header
|
72
|
+
segment Hippo::Segments::LS,
|
73
|
+
:name => 'Loop Header',
|
74
|
+
:minimum => 0,
|
75
|
+
:maximum => 1,
|
76
|
+
:position => 1780
|
77
|
+
|
78
|
+
#Subscriber Benefit Related Entity Name
|
79
|
+
loop Hippo::TransactionSets::HIPAA_271::L2120C,
|
80
|
+
:name => 'Subscriber Benefit Related Entity Name',
|
81
|
+
:minimum => 0,
|
82
|
+
:maximum => 23,
|
83
|
+
:position => 1800,
|
84
|
+
:identified_by => {
|
85
|
+
'NM1.NM101' => ["13", "1I", "1P", "2B", "36", "73", "FA", "GP", "GW", "I3", "IL", "LR", "OC", "P3", "P4", "P5", "PR", "PRP", "SEP", "TTP", "VER", "VN", "VY", "X3", "Y2"],
|
86
|
+
'NM1.NM102' => ["1", "2"]
|
87
|
+
}
|
88
|
+
|
89
|
+
#Loop Trailer
|
90
|
+
segment Hippo::Segments::LE,
|
91
|
+
:name => 'Loop Trailer',
|
92
|
+
:minimum => 0,
|
93
|
+
:maximum => 1,
|
94
|
+
:position => 2250
|
95
|
+
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
module Hippo::TransactionSets
|
2
|
+
module HIPAA_271
|
3
|
+
|
4
|
+
class L2110D < Hippo::TransactionSets::Base
|
5
|
+
loop_name 'L2110D' #Dependent Eligibility or Benefit Information
|
6
|
+
|
7
|
+
#Dependent Eligibility or Benefit Information
|
8
|
+
segment Hippo::Segments::EB,
|
9
|
+
:name => 'Dependent Eligibility or Benefit Information',
|
10
|
+
:minimum => 0,
|
11
|
+
:maximum => 1,
|
12
|
+
:position => 1300,
|
13
|
+
:identified_by => {
|
14
|
+
'EB01' => ["1", "2", "3", "4", "5", "6", "7", "8", "A", "B", "C", "CB", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "MC", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y"]
|
15
|
+
}
|
16
|
+
|
17
|
+
#Health Care Services Delivery
|
18
|
+
segment Hippo::Segments::HSD,
|
19
|
+
:name => 'Health Care Services Delivery',
|
20
|
+
:minimum => 0,
|
21
|
+
:maximum => 9,
|
22
|
+
:position => 1350
|
23
|
+
|
24
|
+
#Dependent Additional Identification
|
25
|
+
segment Hippo::Segments::REF,
|
26
|
+
:name => 'Dependent Additional Identification',
|
27
|
+
:minimum => 0,
|
28
|
+
:maximum => 9,
|
29
|
+
:position => 1400,
|
30
|
+
:identified_by => {
|
31
|
+
'REF01' => ["18", "1L", "1W", "49", "6P", "9F", "ALS", "CLI", "F6", "FO", "G1", "IG", "N6", "NQ"]
|
32
|
+
}
|
33
|
+
|
34
|
+
#Dependent Eligibility/Benefit Date
|
35
|
+
segment Hippo::Segments::DTP,
|
36
|
+
:name => 'Dependent Eligibility/Benefit Date',
|
37
|
+
:minimum => 0,
|
38
|
+
:maximum => 20,
|
39
|
+
:position => 1500,
|
40
|
+
:identified_by => {
|
41
|
+
'DTP01' => ["096", "193", "194", "198", "290", "291", "292", "295", "304", "307", "318", "346", "348", "349", "356", "357", "435", "472", "636", "771"],
|
42
|
+
'DTP02' => ["D8", "RD8"]
|
43
|
+
}
|
44
|
+
|
45
|
+
#Dependent Request Validation
|
46
|
+
segment Hippo::Segments::AAA,
|
47
|
+
:name => 'Dependent Request Validation',
|
48
|
+
:minimum => 0,
|
49
|
+
:maximum => 9,
|
50
|
+
:position => 1600,
|
51
|
+
:identified_by => {
|
52
|
+
'AAA01' => ["N", "Y"],
|
53
|
+
'AAA03' => ["15", "33", "52", "53", "54", "55", "56", "57", "60", "61", "62", "63", "69", "70", "98", "AA", "AE", "AF", "AG", "AO", "CI", "E8", "IA", "MA"],
|
54
|
+
'AAA04' => ["C", "N", "R", "W", "X", "Y"]
|
55
|
+
}
|
56
|
+
|
57
|
+
#Message Text
|
58
|
+
segment Hippo::Segments::MSG,
|
59
|
+
:name => 'Message Text',
|
60
|
+
:minimum => 0,
|
61
|
+
:maximum => 10,
|
62
|
+
:position => 1700
|
63
|
+
|
64
|
+
#Dependent Eligibility or Benefit Additional Information
|
65
|
+
loop Hippo::TransactionSets::HIPAA_271::L2115D,
|
66
|
+
:name => 'Dependent Eligibility or Benefit Additional Information',
|
67
|
+
:minimum => 0,
|
68
|
+
:maximum => 10,
|
69
|
+
:position => 1710
|
70
|
+
|
71
|
+
#Loop Header
|
72
|
+
segment Hippo::Segments::LS,
|
73
|
+
:name => 'Loop Header',
|
74
|
+
:minimum => 0,
|
75
|
+
:maximum => 1,
|
76
|
+
:position => 1780
|
77
|
+
|
78
|
+
#Dependent Benefit Related Entity Name
|
79
|
+
loop Hippo::TransactionSets::HIPAA_271::L2120D,
|
80
|
+
:name => 'Dependent Benefit Related Entity Name',
|
81
|
+
:minimum => 0,
|
82
|
+
:maximum => 23,
|
83
|
+
:position => 1800,
|
84
|
+
:identified_by => {
|
85
|
+
'NM1.NM101' => ["13", "1I", "1P", "2B", "36", "73", "FA", "GP", "GW", "I3", "IL", "LR", "OC", "P3", "P4", "P5", "PR", "PRP", "SEP", "TTP", "VER", "VN", "VY", "X3", "Y2"],
|
86
|
+
'NM1.NM102' => ["1", "2"]
|
87
|
+
}
|
88
|
+
|
89
|
+
#Loop Trailer
|
90
|
+
segment Hippo::Segments::LE,
|
91
|
+
:name => 'Loop Trailer',
|
92
|
+
:minimum => 0,
|
93
|
+
:maximum => 1,
|
94
|
+
:position => 2250
|
95
|
+
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Hippo::TransactionSets
|
2
|
+
module HIPAA_271
|
3
|
+
|
4
|
+
class L2115C < Hippo::TransactionSets::Base
|
5
|
+
loop_name 'L2115C' #Subscriber Eligibility or Benefit Additional Information
|
6
|
+
|
7
|
+
#Subscriber Eligibility or Benefit Additional Information
|
8
|
+
segment Hippo::Segments::III,
|
9
|
+
:name => 'Subscriber Eligibility or Benefit Additional Information',
|
10
|
+
:minimum => 0,
|
11
|
+
:maximum => 1,
|
12
|
+
:position => 1710
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Hippo::TransactionSets
|
2
|
+
module HIPAA_271
|
3
|
+
|
4
|
+
class L2115D < Hippo::TransactionSets::Base
|
5
|
+
loop_name 'L2115D' #Dependent Eligibility or Benefit Additional Information
|
6
|
+
|
7
|
+
#Dependent Eligibility or Benefit Additional Information
|
8
|
+
segment Hippo::Segments::III,
|
9
|
+
:name => 'Dependent Eligibility or Benefit Additional Information',
|
10
|
+
:minimum => 0,
|
11
|
+
:maximum => 1,
|
12
|
+
:position => 1710
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
module Hippo::TransactionSets
|
2
|
+
module HIPAA_271
|
3
|
+
|
4
|
+
class L2120C < Hippo::TransactionSets::Base
|
5
|
+
loop_name 'L2120C' #Subscriber Benefit Related Entity Name
|
6
|
+
|
7
|
+
#Subscriber Benefit Related Entity Name
|
8
|
+
segment Hippo::Segments::NM1,
|
9
|
+
:name => 'Subscriber Benefit Related Entity Name',
|
10
|
+
:minimum => 0,
|
11
|
+
:maximum => 1,
|
12
|
+
:position => 1800,
|
13
|
+
:identified_by => {
|
14
|
+
'NM101' => ["13", "1I", "1P", "2B", "36", "73", "FA", "GP", "GW", "I3", "IL", "LR", "OC", "P3", "P4", "P5", "PR", "PRP", "SEP", "TTP", "VER", "VN", "VY", "X3", "Y2"],
|
15
|
+
'NM102' => ["1", "2"]
|
16
|
+
}
|
17
|
+
|
18
|
+
#Subscriber Benefit Related Entity Address
|
19
|
+
segment Hippo::Segments::N3,
|
20
|
+
:name => 'Subscriber Benefit Related Entity Address',
|
21
|
+
:minimum => 0,
|
22
|
+
:maximum => 1,
|
23
|
+
:position => 2000
|
24
|
+
|
25
|
+
#Subscriber Benefit Related Entity City, State, ZIP Code
|
26
|
+
segment Hippo::Segments::N4,
|
27
|
+
:name => 'Subscriber Benefit Related Entity City, State, ZIP Code',
|
28
|
+
:minimum => 0,
|
29
|
+
:maximum => 1,
|
30
|
+
:position => 2100
|
31
|
+
|
32
|
+
#Subscriber Benefit Related Entity Contact Information
|
33
|
+
segment Hippo::Segments::PER,
|
34
|
+
:name => 'Subscriber Benefit Related Entity Contact Information',
|
35
|
+
:minimum => 0,
|
36
|
+
:maximum => 3,
|
37
|
+
:position => 2200,
|
38
|
+
:identified_by => {
|
39
|
+
'PER01' => 'IC'
|
40
|
+
}
|
41
|
+
|
42
|
+
#Subscriber Benefit Related Provider Information
|
43
|
+
segment Hippo::Segments::PRV,
|
44
|
+
:name => 'Subscriber Benefit Related Provider Information',
|
45
|
+
:minimum => 0,
|
46
|
+
:maximum => 1,
|
47
|
+
:position => 2230,
|
48
|
+
:identified_by => {
|
49
|
+
'PRV01' => ["AD", "AT", "BI", "CO", "CV", "H", "HH", "LA", "OT", "P1", "P2", "PC", "PE", "R", "RF", "SB", "SK", "SU"]
|
50
|
+
}
|
51
|
+
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
module Hippo::TransactionSets
|
2
|
+
module HIPAA_271
|
3
|
+
|
4
|
+
class L2120D < Hippo::TransactionSets::Base
|
5
|
+
loop_name 'L2120D' #Dependent Benefit Related Entity Name
|
6
|
+
|
7
|
+
#Dependent Benefit Related Entity Name
|
8
|
+
segment Hippo::Segments::NM1,
|
9
|
+
:name => 'Dependent Benefit Related Entity Name',
|
10
|
+
:minimum => 0,
|
11
|
+
:maximum => 1,
|
12
|
+
:position => 1800,
|
13
|
+
:identified_by => {
|
14
|
+
'NM101' => ["13", "1I", "1P", "2B", "36", "73", "FA", "GP", "GW", "I3", "IL", "LR", "OC", "P3", "P4", "P5", "PR", "PRP", "SEP", "TTP", "VER", "VN", "VY", "X3", "Y2"],
|
15
|
+
'NM102' => ["1", "2"]
|
16
|
+
}
|
17
|
+
|
18
|
+
#Dependent Benefit Related Entity Address
|
19
|
+
segment Hippo::Segments::N3,
|
20
|
+
:name => 'Dependent Benefit Related Entity Address',
|
21
|
+
:minimum => 0,
|
22
|
+
:maximum => 1,
|
23
|
+
:position => 2000
|
24
|
+
|
25
|
+
#Dependent Benefit Related Entity City, State, ZIP Code
|
26
|
+
segment Hippo::Segments::N4,
|
27
|
+
:name => 'Dependent Benefit Related Entity City, State, ZIP Code',
|
28
|
+
:minimum => 0,
|
29
|
+
:maximum => 1,
|
30
|
+
:position => 2100
|
31
|
+
|
32
|
+
#Dependent Benefit Related Entity Contact Information
|
33
|
+
segment Hippo::Segments::PER,
|
34
|
+
:name => 'Dependent Benefit Related Entity Contact Information',
|
35
|
+
:minimum => 0,
|
36
|
+
:maximum => 3,
|
37
|
+
:position => 2200,
|
38
|
+
:identified_by => {
|
39
|
+
'PER01' => 'IC'
|
40
|
+
}
|
41
|
+
|
42
|
+
#Dependent Benefit Related Provider Information
|
43
|
+
segment Hippo::Segments::PRV,
|
44
|
+
:name => 'Dependent Benefit Related Provider Information',
|
45
|
+
:minimum => 0,
|
46
|
+
:maximum => 1,
|
47
|
+
:position => 2230,
|
48
|
+
:identified_by => {
|
49
|
+
'PRV01' => ["AD", "AT", "BI", "CO", "CV", "H", "HH", "LA", "OT", "P1", "P2", "PC", "PE", "R", "RF", "SB", "SK", "SU"]
|
50
|
+
}
|
51
|
+
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
module Hippo::TransactionSets
|
2
|
+
module HIPAA_271
|
3
|
+
|
4
|
+
class Base < Hippo::TransactionSets::Base
|
5
|
+
|
6
|
+
#Transaction Set Header
|
7
|
+
segment Hippo::Segments::ST,
|
8
|
+
:name => 'Transaction Set Header',
|
9
|
+
:minimum => 1,
|
10
|
+
:maximum => 1,
|
11
|
+
:position => 100,
|
12
|
+
:identified_by => {
|
13
|
+
'ST01' => '271'
|
14
|
+
}
|
15
|
+
|
16
|
+
#Beginning of Hierarchical Transaction
|
17
|
+
segment Hippo::Segments::BHT,
|
18
|
+
:name => 'Beginning of Hierarchical Transaction',
|
19
|
+
:minimum => 1,
|
20
|
+
:maximum => 1,
|
21
|
+
:position => 200,
|
22
|
+
:identified_by => {
|
23
|
+
'BHT01' => '0022',
|
24
|
+
'BHT02' => ["06", "11"]
|
25
|
+
}
|
26
|
+
|
27
|
+
#Information Source Level
|
28
|
+
loop Hippo::TransactionSets::HIPAA_271::L2000A,
|
29
|
+
:name => 'Information Source Level',
|
30
|
+
:minimum => 1,
|
31
|
+
:maximum => 99999,
|
32
|
+
:position => 100,
|
33
|
+
:identified_by => {
|
34
|
+
'HL.HL03' => '20',
|
35
|
+
'HL.HL04' => ["0", "1"]
|
36
|
+
}
|
37
|
+
|
38
|
+
#Information Receiver Level
|
39
|
+
loop Hippo::TransactionSets::HIPAA_271::L2000B,
|
40
|
+
:name => 'Information Receiver Level',
|
41
|
+
:minimum => 0,
|
42
|
+
:maximum => 99999,
|
43
|
+
:position => 100,
|
44
|
+
:identified_by => {
|
45
|
+
'HL.HL03' => '21',
|
46
|
+
'HL.HL04' => ["0", "1"]
|
47
|
+
}
|
48
|
+
|
49
|
+
#Subscriber Level
|
50
|
+
loop Hippo::TransactionSets::HIPAA_271::L2000C,
|
51
|
+
:name => 'Subscriber Level',
|
52
|
+
:minimum => 0,
|
53
|
+
:maximum => 99999,
|
54
|
+
:position => 100,
|
55
|
+
:identified_by => {
|
56
|
+
'HL.HL03' => '22',
|
57
|
+
'HL.HL04' => ["0", "1"]
|
58
|
+
}
|
59
|
+
|
60
|
+
#Dependent Level
|
61
|
+
loop Hippo::TransactionSets::HIPAA_271::L2000D,
|
62
|
+
:name => 'Dependent Level',
|
63
|
+
:minimum => 0,
|
64
|
+
:maximum => 99999,
|
65
|
+
:position => 100,
|
66
|
+
:identified_by => {
|
67
|
+
'HL.HL03' => '23',
|
68
|
+
'HL.HL04' => '0'
|
69
|
+
}
|
70
|
+
|
71
|
+
#Transaction Set Trailer
|
72
|
+
segment Hippo::Segments::SE,
|
73
|
+
:name => 'Transaction Set Trailer',
|
74
|
+
:minimum => 1,
|
75
|
+
:maximum => 1,
|
76
|
+
:position => 2300
|
77
|
+
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Hippo::TransactionSets
|
2
|
+
module HIPAA_271
|
3
|
+
|
4
|
+
autoload :Base, 'hippo/transaction_sets/HIPAA_271/base'
|
5
|
+
autoload :L2000A, 'hippo/transaction_sets/HIPAA_271/L2000A'
|
6
|
+
autoload :L2000B, 'hippo/transaction_sets/HIPAA_271/L2000B'
|
7
|
+
autoload :L2000C, 'hippo/transaction_sets/HIPAA_271/L2000C'
|
8
|
+
autoload :L2000D, 'hippo/transaction_sets/HIPAA_271/L2000D'
|
9
|
+
autoload :L2100A, 'hippo/transaction_sets/HIPAA_271/L2100A'
|
10
|
+
autoload :L2100B, 'hippo/transaction_sets/HIPAA_271/L2100B'
|
11
|
+
autoload :L2100C, 'hippo/transaction_sets/HIPAA_271/L2100C'
|
12
|
+
autoload :L2100D, 'hippo/transaction_sets/HIPAA_271/L2100D'
|
13
|
+
autoload :L2110C, 'hippo/transaction_sets/HIPAA_271/L2110C'
|
14
|
+
autoload :L2110D, 'hippo/transaction_sets/HIPAA_271/L2110D'
|
15
|
+
autoload :L2115C, 'hippo/transaction_sets/HIPAA_271/L2115C'
|
16
|
+
autoload :L2115D, 'hippo/transaction_sets/HIPAA_271/L2115D'
|
17
|
+
autoload :L2120C, 'hippo/transaction_sets/HIPAA_271/L2120C'
|
18
|
+
autoload :L2120D, 'hippo/transaction_sets/HIPAA_271/L2120D'
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|