hippo 0.2.2 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|