hippo 0.0.4
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/.gitignore +6 -0
- data/CHANGELOG +9 -0
- data/Gemfile +11 -0
- data/Guardfile +14 -0
- data/README.md +227 -0
- data/Rakefile +12 -0
- data/bin/demo_270.rb +280 -0
- data/bin/demo_276.rb +296 -0
- data/bin/demo_835.rb +170 -0
- data/hippo.gemspec +24 -0
- data/lib/hippo/exceptions.rb +8 -0
- data/lib/hippo/field.rb +6 -0
- data/lib/hippo/loop.rb +0 -0
- data/lib/hippo/parser.rb +92 -0
- data/lib/hippo/samples/835.edi +88 -0
- data/lib/hippo/samples/sample_835_with.rb +272 -0
- data/lib/hippo/samples/sample_parsed.rb +1162 -0
- data/lib/hippo/segments/AK1.rb +32 -0
- data/lib/hippo/segments/AK2.rb +31 -0
- data/lib/hippo/segments/AK9.rb +82 -0
- data/lib/hippo/segments/AMT.rb +31 -0
- data/lib/hippo/segments/BHT.rb +55 -0
- data/lib/hippo/segments/BPR.rb +175 -0
- data/lib/hippo/segments/CAS.rb +159 -0
- data/lib/hippo/segments/CL1.rb +39 -0
- data/lib/hippo/segments/CLM.rb +223 -0
- data/lib/hippo/segments/CLP.rb +119 -0
- data/lib/hippo/segments/CN1.rb +55 -0
- data/lib/hippo/segments/CR1.rb +87 -0
- data/lib/hippo/segments/CR2.rb +104 -0
- data/lib/hippo/segments/CR3.rb +47 -0
- data/lib/hippo/segments/CR4.rb +239 -0
- data/lib/hippo/segments/CR5.rb +151 -0
- data/lib/hippo/segments/CR6.rb +175 -0
- data/lib/hippo/segments/CR7.rb +33 -0
- data/lib/hippo/segments/CR8.rb +79 -0
- data/lib/hippo/segments/CRC.rb +63 -0
- data/lib/hippo/segments/CTP.rb +212 -0
- data/lib/hippo/segments/CTX.rb +105 -0
- data/lib/hippo/segments/CUR.rb +175 -0
- data/lib/hippo/segments/DMG.rb +115 -0
- data/lib/hippo/segments/DN1.rb +39 -0
- data/lib/hippo/segments/DN2.rb +55 -0
- data/lib/hippo/segments/DSB.rb +71 -0
- data/lib/hippo/segments/DTM.rb +55 -0
- data/lib/hippo/segments/DTP.rb +31 -0
- data/lib/hippo/segments/FRM.rb +47 -0
- data/lib/hippo/segments/GE.rb +19 -0
- data/lib/hippo/segments/GS.rb +52 -0
- data/lib/hippo/segments/HCP.rb +127 -0
- data/lib/hippo/segments/HI.rb +919 -0
- data/lib/hippo/segments/HL.rb +44 -0
- data/lib/hippo/segments/HSD.rb +72 -0
- data/lib/hippo/segments/IEA.rb +19 -0
- data/lib/hippo/segments/IK3.rb +40 -0
- data/lib/hippo/segments/IK4.rb +63 -0
- data/lib/hippo/segments/IK5.rb +55 -0
- data/lib/hippo/segments/IMM.rb +55 -0
- data/lib/hippo/segments/ISA.rb +95 -0
- data/lib/hippo/segments/K3.rb +147 -0
- data/lib/hippo/segments/LIN.rb +255 -0
- data/lib/hippo/segments/LQ.rb +23 -0
- data/lib/hippo/segments/LX.rb +21 -0
- data/lib/hippo/segments/MEA.rb +219 -0
- data/lib/hippo/segments/MIA.rb +199 -0
- data/lib/hippo/segments/MOA.rb +79 -0
- data/lib/hippo/segments/N1.rb +55 -0
- data/lib/hippo/segments/N2.rb +23 -0
- data/lib/hippo/segments/N3.rb +23 -0
- data/lib/hippo/segments/N4.rb +63 -0
- data/lib/hippo/segments/NM1.rb +103 -0
- data/lib/hippo/segments/NTE.rb +23 -0
- data/lib/hippo/segments/OI.rb +55 -0
- data/lib/hippo/segments/PAT.rb +79 -0
- data/lib/hippo/segments/PER.rb +79 -0
- data/lib/hippo/segments/PLB.rb +191 -0
- data/lib/hippo/segments/PRV.rb +75 -0
- data/lib/hippo/segments/PS1.rb +31 -0
- data/lib/hippo/segments/PWK.rb +116 -0
- data/lib/hippo/segments/QTY.rb +155 -0
- data/lib/hippo/segments/RDM.rb +135 -0
- data/lib/hippo/segments/REF.rb +83 -0
- data/lib/hippo/segments/SBR.rb +79 -0
- data/lib/hippo/segments/SE.rb +24 -0
- data/lib/hippo/segments/ST.rb +31 -0
- data/lib/hippo/segments/STC.rb +187 -0
- data/lib/hippo/segments/SV1.rb +267 -0
- data/lib/hippo/segments/SV2.rb +147 -0
- data/lib/hippo/segments/SV3.rb +223 -0
- data/lib/hippo/segments/SV4.rb +211 -0
- data/lib/hippo/segments/SV5.rb +123 -0
- data/lib/hippo/segments/SV6.rb +155 -0
- data/lib/hippo/segments/SV7.rb +55 -0
- data/lib/hippo/segments/SVC.rb +183 -0
- data/lib/hippo/segments/SVD.rb +116 -0
- data/lib/hippo/segments/TOO.rb +67 -0
- data/lib/hippo/segments/TRN.rb +39 -0
- data/lib/hippo/segments/TS2.rb +159 -0
- data/lib/hippo/segments/TS3.rb +199 -0
- data/lib/hippo/segments/UR.rb +23 -0
- data/lib/hippo/segments/base.rb +148 -0
- data/lib/hippo/segments.rb +85 -0
- data/lib/hippo/transaction_sets/HIPAA_276/L2000A.rb +28 -0
- data/lib/hippo/transaction_sets/HIPAA_276/L2000B.rb +28 -0
- data/lib/hippo/transaction_sets/HIPAA_276/L2000C.rb +28 -0
- data/lib/hippo/transaction_sets/HIPAA_276/L2000D.rb +45 -0
- data/lib/hippo/transaction_sets/HIPAA_276/L2000E.rb +45 -0
- data/lib/hippo/transaction_sets/HIPAA_276/L2100A.rb +20 -0
- data/lib/hippo/transaction_sets/HIPAA_276/L2100B.rb +20 -0
- data/lib/hippo/transaction_sets/HIPAA_276/L2100C.rb +19 -0
- data/lib/hippo/transaction_sets/HIPAA_276/L2100D.rb +19 -0
- data/lib/hippo/transaction_sets/HIPAA_276/L2100E.rb +20 -0
- data/lib/hippo/transaction_sets/HIPAA_276/L2200D.rb +116 -0
- data/lib/hippo/transaction_sets/HIPAA_276/L2200E.rb +116 -0
- data/lib/hippo/transaction_sets/HIPAA_276/L2210D.rb +36 -0
- data/lib/hippo/transaction_sets/HIPAA_276/L2210E.rb +36 -0
- data/lib/hippo/transaction_sets/HIPAA_276/base.rb +86 -0
- data/lib/hippo/transaction_sets/HIPAA_276.rb +21 -0
- data/lib/hippo/transaction_sets/HIPAA_277/L2000A.rb +35 -0
- data/lib/hippo/transaction_sets/HIPAA_277/L2000B.rb +35 -0
- data/lib/hippo/transaction_sets/HIPAA_277/L2000C.rb +35 -0
- data/lib/hippo/transaction_sets/HIPAA_277/L2000D.rb +35 -0
- data/lib/hippo/transaction_sets/HIPAA_277/L2000E.rb +35 -0
- data/lib/hippo/transaction_sets/HIPAA_277/L2100A.rb +19 -0
- data/lib/hippo/transaction_sets/HIPAA_277/L2100B.rb +20 -0
- data/lib/hippo/transaction_sets/HIPAA_277/L2100C.rb +19 -0
- data/lib/hippo/transaction_sets/HIPAA_277/L2100D.rb +20 -0
- data/lib/hippo/transaction_sets/HIPAA_277/L2100E.rb +20 -0
- data/lib/hippo/transaction_sets/HIPAA_277/L2200A.rb +41 -0
- data/lib/hippo/transaction_sets/HIPAA_277/L2200B.rb +66 -0
- data/lib/hippo/transaction_sets/HIPAA_277/L2200C.rb +73 -0
- data/lib/hippo/transaction_sets/HIPAA_277/L2200D.rb +73 -0
- data/lib/hippo/transaction_sets/HIPAA_277/L2200E.rb +103 -0
- data/lib/hippo/transaction_sets/HIPAA_277/L2220D.rb +56 -0
- data/lib/hippo/transaction_sets/HIPAA_277/L2220E.rb +43 -0
- data/lib/hippo/transaction_sets/HIPAA_277/base.rb +77 -0
- data/lib/hippo/transaction_sets/HIPAA_277.rb +24 -0
- data/lib/hippo/transaction_sets/HIPAA_835/L1000A.rb +71 -0
- data/lib/hippo/transaction_sets/HIPAA_835/L1000B.rb +47 -0
- data/lib/hippo/transaction_sets/HIPAA_835/L2000.rb +37 -0
- data/lib/hippo/transaction_sets/HIPAA_835/L2100.rb +182 -0
- data/lib/hippo/transaction_sets/HIPAA_835/L2110.rb +85 -0
- data/lib/hippo/transaction_sets/HIPAA_835/base.rb +112 -0
- data/lib/hippo/transaction_sets/HIPAA_835.rb +12 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L1000A.rb +30 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L1000B.rb +21 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2000A.rb +65 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2000B.rb +49 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2000C.rb +42 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2010AA.rb +57 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2010AB.rb +33 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2010AC.rb +51 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2010BA.rb +74 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2010BB.rb +48 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2010CA.rb +72 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2300.rb +510 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2310A.rb +26 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2310B.rb +37 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2310C.rb +52 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2310D.rb +27 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2310E.rb +34 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2310F.rb +34 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2320.rb +122 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2330A.rb +43 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2330B.rb +92 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2330C.rb +26 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2330D.rb +26 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2330E.rb +27 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2330F.rb +27 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2330G.rb +26 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2400.rb +475 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2410.rb +30 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2420A.rb +37 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2420B.rb +26 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2420C.rb +41 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2420D.rb +27 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2420E.rb +51 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2420F.rb +26 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2420G.rb +34 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2420H.rb +34 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2430.rb +44 -0
- data/lib/hippo/transaction_sets/HIPAA_837/L2440.rb +23 -0
- data/lib/hippo/transaction_sets/HIPAA_837/base.rb +81 -0
- data/lib/hippo/transaction_sets/HIPAA_837.rb +45 -0
- data/lib/hippo/transaction_sets/HIPAA_999/L2000 - AK2.rb +30 -0
- data/lib/hippo/transaction_sets/HIPAA_999/L2000AK2.rb +30 -0
- data/lib/hippo/transaction_sets/HIPAA_999/L2100 - AK2.rb +37 -0
- data/lib/hippo/transaction_sets/HIPAA_999/L2100AK2.rb +37 -0
- data/lib/hippo/transaction_sets/HIPAA_999/L2110 - AK2.rb +23 -0
- data/lib/hippo/transaction_sets/HIPAA_999/L2110AK2.rb +23 -0
- data/lib/hippo/transaction_sets/HIPAA_999/base.rb +46 -0
- data/lib/hippo/transaction_sets/HIPAA_999.rb +10 -0
- data/lib/hippo/transaction_sets/base.rb +136 -0
- data/lib/hippo/transaction_sets.rb +11 -0
- data/lib/hippo/version.rb +3 -0
- data/lib/hippo.rb +15 -0
- data/samples/835_4010.edi +1 -0
- data/samples/837_4010A1.edi +1 -0
- data/test/test_helper.rb +118 -0
- data/test/test_hipaa_837.rb +396 -0
- data/test/test_segments_base.rb +106 -0
- data/test/test_transaction_sets_base.rb +85 -0
- metadata +277 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Hippo::TransactionSets
|
|
2
|
+
module HIPAA_276
|
|
3
|
+
|
|
4
|
+
class L2100C < Hippo::TransactionSets::Base
|
|
5
|
+
loop_name 'L2100C' #Provider Name
|
|
6
|
+
|
|
7
|
+
#Provider Name
|
|
8
|
+
segment Hippo::Segments::NM1,
|
|
9
|
+
:name => 'Provider Name',
|
|
10
|
+
:minimum => 1,
|
|
11
|
+
:maximum => 1,
|
|
12
|
+
:position => 500,
|
|
13
|
+
:defaults => {
|
|
14
|
+
'NM101' => '1P'
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Hippo::TransactionSets
|
|
2
|
+
module HIPAA_276
|
|
3
|
+
|
|
4
|
+
class L2100D < Hippo::TransactionSets::Base
|
|
5
|
+
loop_name 'L2100D' #Subscriber Name
|
|
6
|
+
|
|
7
|
+
#Subscriber Name
|
|
8
|
+
segment Hippo::Segments::NM1,
|
|
9
|
+
:name => 'Subscriber Name',
|
|
10
|
+
:minimum => 1,
|
|
11
|
+
:maximum => 1,
|
|
12
|
+
:position => 500,
|
|
13
|
+
:defaults => {
|
|
14
|
+
'NM101' => 'IL'
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
module Hippo::TransactionSets
|
|
2
|
+
module HIPAA_276
|
|
3
|
+
|
|
4
|
+
class L2100E < Hippo::TransactionSets::Base
|
|
5
|
+
loop_name 'L2100E' #Dependent Name
|
|
6
|
+
|
|
7
|
+
#Dependent Name
|
|
8
|
+
segment Hippo::Segments::NM1,
|
|
9
|
+
:name => 'Dependent Name',
|
|
10
|
+
:minimum => 1,
|
|
11
|
+
:maximum => 1,
|
|
12
|
+
:position => 500,
|
|
13
|
+
:defaults => {
|
|
14
|
+
'NM101' => 'QC',
|
|
15
|
+
'NM102' => '1'
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
module Hippo::TransactionSets
|
|
2
|
+
module HIPAA_276
|
|
3
|
+
|
|
4
|
+
class L2200D < Hippo::TransactionSets::Base
|
|
5
|
+
loop_name 'L2200D' #Claim Status Tracking Number
|
|
6
|
+
|
|
7
|
+
#Claim Status Tracking Number
|
|
8
|
+
segment Hippo::Segments::TRN,
|
|
9
|
+
:name => 'Claim Status Tracking Number',
|
|
10
|
+
:minimum => 0,
|
|
11
|
+
:maximum => 1,
|
|
12
|
+
:position => 900,
|
|
13
|
+
:defaults => {
|
|
14
|
+
'TRN01' => '1'
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
#Payer Claim Control Number
|
|
18
|
+
segment Hippo::Segments::REF,
|
|
19
|
+
:name => 'Payer Claim Control Number',
|
|
20
|
+
:minimum => 0,
|
|
21
|
+
:maximum => 1,
|
|
22
|
+
:position => 1000,
|
|
23
|
+
:defaults => {
|
|
24
|
+
'REF01' => '1K'
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
#Institutional Bill Type Identification
|
|
28
|
+
segment Hippo::Segments::REF,
|
|
29
|
+
:name => 'Institutional Bill Type Identification',
|
|
30
|
+
:minimum => 0,
|
|
31
|
+
:maximum => 1,
|
|
32
|
+
:position => 1010,
|
|
33
|
+
:defaults => {
|
|
34
|
+
'REF01' => 'BLT'
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
#Application or Location System Identifier
|
|
38
|
+
segment Hippo::Segments::REF,
|
|
39
|
+
:name => 'Application or Location System Identifier',
|
|
40
|
+
:minimum => 0,
|
|
41
|
+
:maximum => 1,
|
|
42
|
+
:position => 1030,
|
|
43
|
+
:defaults => {
|
|
44
|
+
'REF01' => 'LU'
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
#Group Number
|
|
48
|
+
segment Hippo::Segments::REF,
|
|
49
|
+
:name => 'Group Number',
|
|
50
|
+
:minimum => 0,
|
|
51
|
+
:maximum => 1,
|
|
52
|
+
:position => 1035,
|
|
53
|
+
:defaults => {
|
|
54
|
+
'REF01' => '6P'
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
#Patient Control Number
|
|
58
|
+
segment Hippo::Segments::REF,
|
|
59
|
+
:name => 'Patient Control Number',
|
|
60
|
+
:minimum => 0,
|
|
61
|
+
:maximum => 1,
|
|
62
|
+
:position => 1040,
|
|
63
|
+
:defaults => {
|
|
64
|
+
'REF01' => 'EJ'
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
#Pharmacy Prescription Number
|
|
68
|
+
segment Hippo::Segments::REF,
|
|
69
|
+
:name => 'Pharmacy Prescription Number',
|
|
70
|
+
:minimum => 0,
|
|
71
|
+
:maximum => 1,
|
|
72
|
+
:position => 1045,
|
|
73
|
+
:defaults => {
|
|
74
|
+
'REF01' => 'XZ'
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
#Claim Identification Number For Clearinghouses and Other Transmission Intermediaries
|
|
78
|
+
segment Hippo::Segments::REF,
|
|
79
|
+
:name => 'Claim Identification Number For Clearinghouses and Other Transmission Intermediaries',
|
|
80
|
+
:minimum => 0,
|
|
81
|
+
:maximum => 1,
|
|
82
|
+
:position => 1050,
|
|
83
|
+
:defaults => {
|
|
84
|
+
'REF01' => 'D9'
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
#Claim Submitted Charges
|
|
88
|
+
segment Hippo::Segments::AMT,
|
|
89
|
+
:name => 'Claim Submitted Charges',
|
|
90
|
+
:minimum => 0,
|
|
91
|
+
:maximum => 1,
|
|
92
|
+
:position => 1100,
|
|
93
|
+
:defaults => {
|
|
94
|
+
'AMT01' => 'T3'
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
#Claim Service Date
|
|
98
|
+
segment Hippo::Segments::DTP,
|
|
99
|
+
:name => 'Claim Service Date',
|
|
100
|
+
:minimum => 0,
|
|
101
|
+
:maximum => 1,
|
|
102
|
+
:position => 1200,
|
|
103
|
+
:defaults => {
|
|
104
|
+
'DTP01' => '472'
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
#Service Line Information
|
|
108
|
+
loop Hippo::TransactionSets::HIPAA_276::L2210D,
|
|
109
|
+
:name => 'Service Line Information',
|
|
110
|
+
:minimum => 0,
|
|
111
|
+
:maximum => nil,
|
|
112
|
+
:position => 1300
|
|
113
|
+
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
end
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
module Hippo::TransactionSets
|
|
2
|
+
module HIPAA_276
|
|
3
|
+
|
|
4
|
+
class L2200E < Hippo::TransactionSets::Base
|
|
5
|
+
loop_name 'L2200E' #Claim Status Tracking Number
|
|
6
|
+
|
|
7
|
+
#Claim Status Tracking Number
|
|
8
|
+
segment Hippo::Segments::TRN,
|
|
9
|
+
:name => 'Claim Status Tracking Number',
|
|
10
|
+
:minimum => 1,
|
|
11
|
+
:maximum => 1,
|
|
12
|
+
:position => 900,
|
|
13
|
+
:defaults => {
|
|
14
|
+
'TRN01' => '1'
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
#Payer Claim Control Number
|
|
18
|
+
segment Hippo::Segments::REF,
|
|
19
|
+
:name => 'Payer Claim Control Number',
|
|
20
|
+
:minimum => 0,
|
|
21
|
+
:maximum => 1,
|
|
22
|
+
:position => 1000,
|
|
23
|
+
:defaults => {
|
|
24
|
+
'REF01' => '1K'
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
#Institutional Bill Type Identification
|
|
28
|
+
segment Hippo::Segments::REF,
|
|
29
|
+
:name => 'Institutional Bill Type Identification',
|
|
30
|
+
:minimum => 0,
|
|
31
|
+
:maximum => 1,
|
|
32
|
+
:position => 1010,
|
|
33
|
+
:defaults => {
|
|
34
|
+
'REF01' => 'BLT'
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
#Application or Location System Identifier
|
|
38
|
+
segment Hippo::Segments::REF,
|
|
39
|
+
:name => 'Application or Location System Identifier',
|
|
40
|
+
:minimum => 0,
|
|
41
|
+
:maximum => 1,
|
|
42
|
+
:position => 1030,
|
|
43
|
+
:defaults => {
|
|
44
|
+
'REF01' => 'LU'
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
#Group Number
|
|
48
|
+
segment Hippo::Segments::REF,
|
|
49
|
+
:name => 'Group Number',
|
|
50
|
+
:minimum => 0,
|
|
51
|
+
:maximum => 1,
|
|
52
|
+
:position => 1035,
|
|
53
|
+
:defaults => {
|
|
54
|
+
'REF01' => '6P'
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
#Patient Control Number
|
|
58
|
+
segment Hippo::Segments::REF,
|
|
59
|
+
:name => 'Patient Control Number',
|
|
60
|
+
:minimum => 0,
|
|
61
|
+
:maximum => 1,
|
|
62
|
+
:position => 1040,
|
|
63
|
+
:defaults => {
|
|
64
|
+
'REF01' => 'EJ'
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
#Pharmacy Prescription Number
|
|
68
|
+
segment Hippo::Segments::REF,
|
|
69
|
+
:name => 'Pharmacy Prescription Number',
|
|
70
|
+
:minimum => 0,
|
|
71
|
+
:maximum => 1,
|
|
72
|
+
:position => 1045,
|
|
73
|
+
:defaults => {
|
|
74
|
+
'REF01' => 'XZ'
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
#Claim Identification Number For Clearinghouses and Other Transmission Intermediaries
|
|
78
|
+
segment Hippo::Segments::REF,
|
|
79
|
+
:name => 'Claim Identification Number For Clearinghouses and Other Transmission Intermediaries',
|
|
80
|
+
:minimum => 0,
|
|
81
|
+
:maximum => 1,
|
|
82
|
+
:position => 1050,
|
|
83
|
+
:defaults => {
|
|
84
|
+
'REF01' => 'D9'
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
#Claim Submitted Charges
|
|
88
|
+
segment Hippo::Segments::AMT,
|
|
89
|
+
:name => 'Claim Submitted Charges',
|
|
90
|
+
:minimum => 0,
|
|
91
|
+
:maximum => 1,
|
|
92
|
+
:position => 1100,
|
|
93
|
+
:defaults => {
|
|
94
|
+
'AMT01' => 'T3'
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
#Claim Service Date
|
|
98
|
+
segment Hippo::Segments::DTP,
|
|
99
|
+
:name => 'Claim Service Date',
|
|
100
|
+
:minimum => 0,
|
|
101
|
+
:maximum => 1,
|
|
102
|
+
:position => 1200,
|
|
103
|
+
:defaults => {
|
|
104
|
+
'DTP01' => '472'
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
#Service Line Information
|
|
108
|
+
loop Hippo::TransactionSets::HIPAA_276::L2210E,
|
|
109
|
+
:name => 'Service Line Information',
|
|
110
|
+
:minimum => 0,
|
|
111
|
+
:maximum => nil,
|
|
112
|
+
:position => 1300
|
|
113
|
+
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
module Hippo::TransactionSets
|
|
2
|
+
module HIPAA_276
|
|
3
|
+
|
|
4
|
+
class L2210D < Hippo::TransactionSets::Base
|
|
5
|
+
loop_name 'L2210D' #Service Line Information
|
|
6
|
+
|
|
7
|
+
#Service Line Information
|
|
8
|
+
segment Hippo::Segments::SVC,
|
|
9
|
+
:name => 'Service Line Information',
|
|
10
|
+
:minimum => 0,
|
|
11
|
+
:maximum => 1,
|
|
12
|
+
:position => 1300
|
|
13
|
+
|
|
14
|
+
#Service Line Item Identification
|
|
15
|
+
segment Hippo::Segments::REF,
|
|
16
|
+
:name => 'Service Line Item Identification',
|
|
17
|
+
:minimum => 0,
|
|
18
|
+
:maximum => 1,
|
|
19
|
+
:position => 1400,
|
|
20
|
+
:defaults => {
|
|
21
|
+
'REF01' => 'FJ'
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
#Service Line Date
|
|
25
|
+
segment Hippo::Segments::DTP,
|
|
26
|
+
:name => 'Service Line Date',
|
|
27
|
+
:minimum => 1,
|
|
28
|
+
:maximum => 1,
|
|
29
|
+
:position => 1500,
|
|
30
|
+
:defaults => {
|
|
31
|
+
'DTP01' => '472'
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
module Hippo::TransactionSets
|
|
2
|
+
module HIPAA_276
|
|
3
|
+
|
|
4
|
+
class L2210E < Hippo::TransactionSets::Base
|
|
5
|
+
loop_name 'L2210E' #Service Line Information
|
|
6
|
+
|
|
7
|
+
#Service Line Information
|
|
8
|
+
segment Hippo::Segments::SVC,
|
|
9
|
+
:name => 'Service Line Information',
|
|
10
|
+
:minimum => 0,
|
|
11
|
+
:maximum => 1,
|
|
12
|
+
:position => 1300
|
|
13
|
+
|
|
14
|
+
#Service Line Item Identification
|
|
15
|
+
segment Hippo::Segments::REF,
|
|
16
|
+
:name => 'Service Line Item Identification',
|
|
17
|
+
:minimum => 0,
|
|
18
|
+
:maximum => 1,
|
|
19
|
+
:position => 1400,
|
|
20
|
+
:defaults => {
|
|
21
|
+
'REF01' => 'FJ'
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
#Service Line Date
|
|
25
|
+
segment Hippo::Segments::DTP,
|
|
26
|
+
:name => 'Service Line Date',
|
|
27
|
+
:minimum => 1,
|
|
28
|
+
:maximum => 1,
|
|
29
|
+
:position => 1500,
|
|
30
|
+
:defaults => {
|
|
31
|
+
'DTP01' => '472'
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
module Hippo::TransactionSets
|
|
2
|
+
module HIPAA_276
|
|
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
|
+
:defaults => {
|
|
13
|
+
'ST01' => '276'
|
|
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
|
+
:defaults => {
|
|
23
|
+
'BHT01' => '0010',
|
|
24
|
+
'BHT02' => '13'
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
#Information Source Level
|
|
28
|
+
loop Hippo::TransactionSets::HIPAA_276::L2000A,
|
|
29
|
+
:name => 'Information Source Level',
|
|
30
|
+
:identified_by => {
|
|
31
|
+
'HL.HL03' => '20'
|
|
32
|
+
},
|
|
33
|
+
:minimum => 1,
|
|
34
|
+
:maximum => nil,
|
|
35
|
+
:position => 100
|
|
36
|
+
|
|
37
|
+
#Information Receiver Level
|
|
38
|
+
loop Hippo::TransactionSets::HIPAA_276::L2000B,
|
|
39
|
+
:name => 'Information Receiver Level',
|
|
40
|
+
:identified_by => {
|
|
41
|
+
'HL.HL03' => '21'
|
|
42
|
+
},
|
|
43
|
+
:minimum => 1,
|
|
44
|
+
:maximum => nil,
|
|
45
|
+
:position => 100
|
|
46
|
+
|
|
47
|
+
#Service Provider Level
|
|
48
|
+
loop Hippo::TransactionSets::HIPAA_276::L2000C,
|
|
49
|
+
:name => 'Service Provider Level',
|
|
50
|
+
:identified_by => {
|
|
51
|
+
'HL.HL03' => '19'
|
|
52
|
+
},
|
|
53
|
+
:minimum => 1,
|
|
54
|
+
:maximum => nil,
|
|
55
|
+
:position => 100
|
|
56
|
+
|
|
57
|
+
#Subscriber Level
|
|
58
|
+
loop Hippo::TransactionSets::HIPAA_276::L2000D,
|
|
59
|
+
:name => 'Subscriber Level',
|
|
60
|
+
:identified_by => {
|
|
61
|
+
'HL.HL03' => '22'
|
|
62
|
+
},
|
|
63
|
+
:minimum => 1,
|
|
64
|
+
:maximum => nil,
|
|
65
|
+
:position => 100
|
|
66
|
+
|
|
67
|
+
#Dependent Level
|
|
68
|
+
loop Hippo::TransactionSets::HIPAA_276::L2000E,
|
|
69
|
+
:name => 'Dependent Level',
|
|
70
|
+
:identified_by => {
|
|
71
|
+
'HL.HL03' => '23'
|
|
72
|
+
},
|
|
73
|
+
:minimum => 0,
|
|
74
|
+
:maximum => nil,
|
|
75
|
+
:position => 100
|
|
76
|
+
|
|
77
|
+
#Transaction Set Trailer
|
|
78
|
+
segment Hippo::Segments::SE,
|
|
79
|
+
:name => 'Transaction Set Trailer',
|
|
80
|
+
:minimum => 1,
|
|
81
|
+
:maximum => 1,
|
|
82
|
+
:position => 1600
|
|
83
|
+
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module Hippo::TransactionSets
|
|
2
|
+
module HIPAA_276
|
|
3
|
+
|
|
4
|
+
autoload :Base, 'hippo/transaction_sets/HIPAA_276/base'
|
|
5
|
+
autoload :L2000A, 'hippo/transaction_sets/HIPAA_276/L2000A'
|
|
6
|
+
autoload :L2000B, 'hippo/transaction_sets/HIPAA_276/L2000B'
|
|
7
|
+
autoload :L2000C, 'hippo/transaction_sets/HIPAA_276/L2000C'
|
|
8
|
+
autoload :L2000D, 'hippo/transaction_sets/HIPAA_276/L2000D'
|
|
9
|
+
autoload :L2000E, 'hippo/transaction_sets/HIPAA_276/L2000E'
|
|
10
|
+
autoload :L2100A, 'hippo/transaction_sets/HIPAA_276/L2100A'
|
|
11
|
+
autoload :L2100B, 'hippo/transaction_sets/HIPAA_276/L2100B'
|
|
12
|
+
autoload :L2100C, 'hippo/transaction_sets/HIPAA_276/L2100C'
|
|
13
|
+
autoload :L2100D, 'hippo/transaction_sets/HIPAA_276/L2100D'
|
|
14
|
+
autoload :L2100E, 'hippo/transaction_sets/HIPAA_276/L2100E'
|
|
15
|
+
autoload :L2200D, 'hippo/transaction_sets/HIPAA_276/L2200D'
|
|
16
|
+
autoload :L2200E, 'hippo/transaction_sets/HIPAA_276/L2200E'
|
|
17
|
+
autoload :L2210D, 'hippo/transaction_sets/HIPAA_276/L2210D'
|
|
18
|
+
autoload :L2210E, 'hippo/transaction_sets/HIPAA_276/L2210E'
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
module Hippo::TransactionSets
|
|
2
|
+
module HIPAA_277
|
|
3
|
+
|
|
4
|
+
class L2000A < Hippo::TransactionSets::Base
|
|
5
|
+
loop_name 'L2000A' #Information Source Level
|
|
6
|
+
|
|
7
|
+
#Information Source Level
|
|
8
|
+
segment Hippo::Segments::HL,
|
|
9
|
+
:name => 'Information Source Level',
|
|
10
|
+
:minimum => 1,
|
|
11
|
+
:maximum => 1,
|
|
12
|
+
:position => 100,
|
|
13
|
+
:defaults => {
|
|
14
|
+
'HL03' => '20',
|
|
15
|
+
'HL04' => '1'
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
#Information Source Name
|
|
19
|
+
loop Hippo::TransactionSets::HIPAA_277::L2100A,
|
|
20
|
+
:name => 'Information Source Name',
|
|
21
|
+
:minimum => 1,
|
|
22
|
+
:maximum => 1,
|
|
23
|
+
:position => 500
|
|
24
|
+
|
|
25
|
+
#Transmission Receipt Control Identifier
|
|
26
|
+
loop Hippo::TransactionSets::HIPAA_277::L2200A,
|
|
27
|
+
:name => 'Transmission Receipt Control Identifier',
|
|
28
|
+
:identified_by => {'TRN.TRN01' => '1'},
|
|
29
|
+
:minimum => 1,
|
|
30
|
+
:maximum => 1,
|
|
31
|
+
:position => 900
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
module Hippo::TransactionSets
|
|
2
|
+
module HIPAA_277
|
|
3
|
+
|
|
4
|
+
class L2000B < Hippo::TransactionSets::Base
|
|
5
|
+
loop_name 'L2000B' #Information Receiver Level
|
|
6
|
+
|
|
7
|
+
#Information Receiver Level
|
|
8
|
+
segment Hippo::Segments::HL,
|
|
9
|
+
:name => 'Information Receiver Level',
|
|
10
|
+
:minimum => 1,
|
|
11
|
+
:maximum => 1,
|
|
12
|
+
:position => 100,
|
|
13
|
+
:defaults => {
|
|
14
|
+
'HL03' => '21'
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
#Information Receiver Name
|
|
18
|
+
loop Hippo::TransactionSets::HIPAA_277::L2100B,
|
|
19
|
+
:name => 'Information Receiver Name',
|
|
20
|
+
:identified_by => {'NM1.NM101' => '41'},
|
|
21
|
+
:minimum => 1,
|
|
22
|
+
:maximum => 1,
|
|
23
|
+
:position => 500
|
|
24
|
+
|
|
25
|
+
#Information Receiver Application Trace Identifier
|
|
26
|
+
loop Hippo::TransactionSets::HIPAA_277::L2200B,
|
|
27
|
+
:name => 'Information Receiver Application Trace Identifier',
|
|
28
|
+
:identified_by => {'TRN.TRN01' => '2'},
|
|
29
|
+
:minimum => 1,
|
|
30
|
+
:maximum => 1,
|
|
31
|
+
:position => 900
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
module Hippo::TransactionSets
|
|
2
|
+
module HIPAA_277
|
|
3
|
+
|
|
4
|
+
class L2000C < Hippo::TransactionSets::Base
|
|
5
|
+
loop_name 'L2000C' #Billing Provider of Service Level
|
|
6
|
+
|
|
7
|
+
#Billing Provider of Service Level
|
|
8
|
+
segment Hippo::Segments::HL,
|
|
9
|
+
:name => 'Billing Provider of Service Level',
|
|
10
|
+
:minimum => 0,
|
|
11
|
+
:maximum => 1,
|
|
12
|
+
:position => 100,
|
|
13
|
+
:defaults => {
|
|
14
|
+
'HL03' => '19'
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
#Billing Provider Name
|
|
18
|
+
loop Hippo::TransactionSets::HIPAA_277::L2100C,
|
|
19
|
+
:name => 'Billing Provider Name',
|
|
20
|
+
:identified_by => {'NM1.NM101' => '85'},
|
|
21
|
+
:minimum => 1,
|
|
22
|
+
:maximum => 1,
|
|
23
|
+
:position => 500
|
|
24
|
+
|
|
25
|
+
#Provider of Service Information Trace Identifier
|
|
26
|
+
loop Hippo::TransactionSets::HIPAA_277::L2200C,
|
|
27
|
+
:name => 'Provider of Service Information Trace Identifier',
|
|
28
|
+
:identified_by => {'TRN.TRN01' => '1'},
|
|
29
|
+
:minimum => 0,
|
|
30
|
+
:maximum => 1,
|
|
31
|
+
:position => 900
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
module Hippo::TransactionSets
|
|
2
|
+
module HIPAA_277
|
|
3
|
+
|
|
4
|
+
class L2000D < Hippo::TransactionSets::Base
|
|
5
|
+
loop_name 'L2000D' #Patient Level
|
|
6
|
+
|
|
7
|
+
#Patient Level
|
|
8
|
+
segment Hippo::Segments::HL,
|
|
9
|
+
:name => 'Patient Level',
|
|
10
|
+
:minimum => 0,
|
|
11
|
+
:maximum => 1,
|
|
12
|
+
:position => 100,
|
|
13
|
+
:defaults => {
|
|
14
|
+
'HL03' => 'PT'
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
#Patient Name
|
|
18
|
+
loop Hippo::TransactionSets::HIPAA_277::L2100D,
|
|
19
|
+
:name => 'Patient Name',
|
|
20
|
+
:identified_by => {'NM1.NM101' => 'QC'},
|
|
21
|
+
:minimum => 1,
|
|
22
|
+
:maximum => 1,
|
|
23
|
+
:position => 500
|
|
24
|
+
|
|
25
|
+
#Claim Status Tracking Number
|
|
26
|
+
loop Hippo::TransactionSets::HIPAA_277::L2200D,
|
|
27
|
+
:name => 'Claim Status Tracking Number',
|
|
28
|
+
:identified_by => {'TRN.TRN01' => '2'},
|
|
29
|
+
:minimum => 1,
|
|
30
|
+
:maximum => nil,
|
|
31
|
+
:position => 900
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
module Hippo::TransactionSets
|
|
2
|
+
module HIPAA_277
|
|
3
|
+
|
|
4
|
+
class L2000E < Hippo::TransactionSets::Base
|
|
5
|
+
loop_name 'L2000E' #Dependent Level
|
|
6
|
+
|
|
7
|
+
#Dependent Level
|
|
8
|
+
segment Hippo::Segments::HL,
|
|
9
|
+
:name => 'Dependent Level',
|
|
10
|
+
:minimum => 0,
|
|
11
|
+
:maximum => 1,
|
|
12
|
+
:position => 100,
|
|
13
|
+
:defaults => {
|
|
14
|
+
'HL03' => '23'
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
#Dependent Name
|
|
18
|
+
loop Hippo::TransactionSets::HIPAA_277::L2100E,
|
|
19
|
+
:name => 'Dependent Name',
|
|
20
|
+
:identified_by => {'NM1.NM101' => 'QC'},
|
|
21
|
+
:minimum => 1,
|
|
22
|
+
:maximum => 1,
|
|
23
|
+
:position => 500
|
|
24
|
+
|
|
25
|
+
#Claim Status Tracking Number
|
|
26
|
+
loop Hippo::TransactionSets::HIPAA_277::L2200E,
|
|
27
|
+
:name => 'Claim Status Tracking Number',
|
|
28
|
+
:identified_by => {'TRN.TRN01' => '2'},
|
|
29
|
+
:minimum => 1,
|
|
30
|
+
:maximum => nil,
|
|
31
|
+
:position => 900
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Hippo::TransactionSets
|
|
2
|
+
module HIPAA_277
|
|
3
|
+
|
|
4
|
+
class L2100A < Hippo::TransactionSets::Base
|
|
5
|
+
loop_name 'L2100A' #Information Source Name
|
|
6
|
+
|
|
7
|
+
#Information Source Name
|
|
8
|
+
segment Hippo::Segments::NM1,
|
|
9
|
+
:name => 'Information Source Name',
|
|
10
|
+
:minimum => 1,
|
|
11
|
+
:maximum => 1,
|
|
12
|
+
:position => 500,
|
|
13
|
+
:defaults => {
|
|
14
|
+
'NM102' => '2'
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|