stupidedi 1.2.12 → 1.2.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -4
  3. data/bin/edi-pp +1 -1
  4. data/doc/Generating.md +1 -1
  5. data/lib/ruby/to_d.rb +23 -20
  6. data/lib/stupidedi/config.rb +4 -0
  7. data/lib/stupidedi/guides/005010.rb +11 -3
  8. data/lib/stupidedi/guides/005010/X220-BE834.rb +709 -0
  9. data/lib/stupidedi/guides/005010/X220A1-BE834.rb +709 -0
  10. data/lib/stupidedi/guides/005010/X223-HC837I.rb +2582 -0
  11. data/lib/stupidedi/schema/table_def.rb +2 -2
  12. data/lib/stupidedi/version.rb +1 -1
  13. data/lib/stupidedi/versions/functional_groups/005010/element_defs.rb +471 -14
  14. data/lib/stupidedi/versions/functional_groups/005010/segment_defs.rb +41 -2
  15. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/ACT.rb +33 -0
  16. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/BGN.rb +31 -0
  17. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/COB.rb +24 -0
  18. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/DSB.rb +30 -0
  19. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/EC.rb +26 -0
  20. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/HD.rb +31 -0
  21. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/HLH.rb +27 -0
  22. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/ICM.rb +26 -0
  23. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/IDC.rb +24 -0
  24. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/INS.rb +39 -0
  25. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/LE.rb +20 -0
  26. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/LS.rb +20 -0
  27. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/LUI.rb +28 -0
  28. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/PLA.rb +25 -0
  29. data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs.rb +3 -3
  30. data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/BE834.rb +163 -0
  31. data/lib/stupidedi/zipper/abstract_cursor.rb +2 -2
  32. data/spec/examples/ruby/symbol.example +22 -18
  33. data/spec/spec_helper.rb +1 -0
  34. metadata +25 -7
@@ -10,6 +10,9 @@ module Stupidedi
10
10
  # autoload :AAA,
11
11
  # "stupidedi/versions/functional_groups/005010/segment_defs/AAA"
12
12
 
13
+ autoload :ACT,
14
+ "stupidedi/versions/functional_groups/005010/segment_defs/ACT"
15
+
13
16
  autoload :AK1,
14
17
  "stupidedi/versions/functional_groups/005010/segment_defs/AK1"
15
18
 
@@ -22,6 +25,9 @@ module Stupidedi
22
25
  autoload :AMT,
23
26
  "stupidedi/versions/functional_groups/005010/segment_defs/AMT"
24
27
 
28
+ autoload :BGN,
29
+ "stupidedi/versions/functional_groups/005010/segment_defs/BGN"
30
+
25
31
  autoload :BHT,
26
32
  "stupidedi/versions/functional_groups/005010/segment_defs/BHT"
27
33
 
@@ -43,6 +49,9 @@ module Stupidedi
43
49
  autoload :CN1,
44
50
  "stupidedi/versions/functional_groups/005010/segment_defs/CN1"
45
51
 
52
+ autoload :COB,
53
+ "stupidedi/versions/functional_groups/005010/segment_defs/COB"
54
+
46
55
  autoload :CR1,
47
56
  "stupidedi/versions/functional_groups/005010/segment_defs/CR1"
48
57
 
@@ -73,12 +82,18 @@ module Stupidedi
73
82
  autoload :DN2,
74
83
  "stupidedi/versions/functional_groups/005010/segment_defs/DN2"
75
84
 
85
+ autoload :DSB,
86
+ "stupidedi/versions/functional_groups/005010/segment_defs/DSB"
87
+
76
88
  autoload :DTM,
77
89
  "stupidedi/versions/functional_groups/005010/segment_defs/DTM"
78
90
 
79
91
  autoload :DTP,
80
92
  "stupidedi/versions/functional_groups/005010/segment_defs/DTP"
81
93
 
94
+ autoload :EC,
95
+ "stupidedi/versions/functional_groups/005010/segment_defs/EC"
96
+
82
97
  # autoload :ENT,
83
98
  # "stupidedi/versions/functional_groups/005010/segment_defs/ENT"
84
99
 
@@ -91,6 +106,18 @@ module Stupidedi
91
106
  autoload :GS,
92
107
  "stupidedi/versions/functional_groups/005010/segment_defs/GS"
93
108
 
109
+ autoload :HD,
110
+ "stupidedi/versions/functional_groups/005010/segment_defs/HD"
111
+
112
+ autoload :HLH,
113
+ "stupidedi/versions/functional_groups/005010/segment_defs/HLH"
114
+
115
+ autoload :ICM,
116
+ "stupidedi/versions/functional_groups/005010/segment_defs/ICM"
117
+
118
+ autoload :IDC,
119
+ "stupidedi/versions/functional_groups/005010/segment_defs/IDC"
120
+
94
121
  autoload :IK3,
95
122
  "stupidedi/versions/functional_groups/005010/segment_defs/IK3"
96
123
 
@@ -100,8 +127,8 @@ module Stupidedi
100
127
  autoload :IK5,
101
128
  "stupidedi/versions/functional_groups/005010/segment_defs/IK5"
102
129
 
103
- # autoload :INS,
104
- # "stupidedi/versions/functional_groups/005010/segment_defs/INS"
130
+ autoload :INS,
131
+ "stupidedi/versions/functional_groups/005010/segment_defs/INS"
105
132
 
106
133
  autoload :HCP,
107
134
  "stupidedi/versions/functional_groups/005010/segment_defs/HCP"
@@ -115,12 +142,21 @@ module Stupidedi
115
142
  autoload :K3,
116
143
  "stupidedi/versions/functional_groups/005010/segment_defs/K3"
117
144
 
145
+ autoload :LE,
146
+ "stupidedi/versions/functional_groups/005010/segment_defs/LE"
147
+
118
148
  autoload :LIN,
119
149
  "stupidedi/versions/functional_groups/005010/segment_defs/LIN"
120
150
 
121
151
  autoload :LQ,
122
152
  "stupidedi/versions/functional_groups/005010/segment_defs/LQ"
123
153
 
154
+ autoload :LS,
155
+ "stupidedi/versions/functional_groups/005010/segment_defs/LS"
156
+
157
+ autoload :LUI,
158
+ "stupidedi/versions/functional_groups/005010/segment_defs/LUI"
159
+
124
160
  autoload :LX,
125
161
  "stupidedi/versions/functional_groups/005010/segment_defs/LX"
126
162
 
@@ -160,6 +196,9 @@ module Stupidedi
160
196
  autoload :PER,
161
197
  "stupidedi/versions/functional_groups/005010/segment_defs/PER"
162
198
 
199
+ autoload :PLA,
200
+ "stupidedi/versions/functional_groups/005010/segment_defs/PLA"
201
+
163
202
  autoload :PLB,
164
203
  "stupidedi/versions/functional_groups/005010/segment_defs/PLB"
165
204
 
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+ module Stupidedi
3
+ module Versions
4
+ module FunctionalGroups
5
+ module FiftyTen
6
+ module SegmentDefs
7
+
8
+ s = Schema
9
+ e = ElementDefs
10
+ r = ElementReqs
11
+
12
+ ACT = s::SegmentDef.build(:ACT, "Account Identification",
13
+ "To specify account information",
14
+ e::E508 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
15
+ e::E93 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
16
+ e::E66 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
17
+ e::E67 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
18
+ e::E569 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
19
+ e::E508 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
20
+ e::E352 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
21
+ e::E107 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
22
+ e::E1216.simple_use(r::Optional, s::RepeatCount.bounded(1)),
23
+
24
+ SyntaxNotes::P.build(3, 4),
25
+ SyntaxNotes::C.build(5, 6),
26
+ SyntaxNotes::C.build(7, 5))
27
+
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+ module Stupidedi
3
+ module Versions
4
+ module FunctionalGroups
5
+ module FiftyTen
6
+ module SegmentDefs
7
+
8
+ s = Schema
9
+ e = ElementDefs
10
+ r = ElementReqs
11
+
12
+ BGN = s::SegmentDef.build(:BGN, "Beginning Segment",
13
+ "To indicate the beginning of a transaction set",
14
+ e::E353 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
15
+ e::E127 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
16
+ e::E373 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
17
+ e::E337 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
18
+ e::E623 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
19
+ e::E127 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
20
+ e::E640 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
21
+ e::E306 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
22
+ e::E786 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
23
+
24
+ SyntaxNotes::C.build(5, 4))
25
+
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+ module Stupidedi
3
+ module Versions
4
+ module FunctionalGroups
5
+ module FiftyTen
6
+ module SegmentDefs
7
+
8
+ s = Schema
9
+ e = ElementDefs
10
+ r = ElementReqs
11
+
12
+ COB = s::SegmentDef.build(:COB, "Coordination of Benefits",
13
+ "To supply information on coordination of benefits",
14
+ e::E1138.simple_use(r::Optional, s::RepeatCount.bounded(1)),
15
+ e::E127 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
16
+ e::E1143.simple_use(r::Optional, s::RepeatCount.bounded(1)),
17
+ e::E1365.simple_use(r::Optional, s::RepeatCount.bounded(1)))
18
+
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+ module Stupidedi
3
+ module Versions
4
+ module FunctionalGroups
5
+ module FiftyTen
6
+ module SegmentDefs
7
+
8
+ s = Schema
9
+ e = ElementDefs
10
+ r = ElementReqs
11
+
12
+ DSB = s::SegmentDef.build(:DSB, "Disability Information",
13
+ "To provide disability information",
14
+ e::E1146.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
15
+ e::E380 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
16
+ e::E1149.simple_use(r::Optional, s::RepeatCount.bounded(1)),
17
+ e::E1154.simple_use(r::Optional, s::RepeatCount.bounded(1)),
18
+ e::E1161.simple_use(r::Optional, s::RepeatCount.bounded(1)),
19
+ e::E782 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
20
+ e::E235 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
21
+ e::E1137.simple_use(r::Relational, s::RepeatCount.bounded(1)),
22
+
23
+ SyntaxNotes::P.build(7, 8))
24
+
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+ module Stupidedi
3
+ module Versions
4
+ module FunctionalGroups
5
+ module FiftyTen
6
+ module SegmentDefs
7
+
8
+ s = Schema
9
+ e = ElementDefs
10
+ r = ElementReqs
11
+
12
+ EC = s::SegmentDef.build(:EC, "Health Coverage",
13
+ "To provide information on health coverage",
14
+ e::E1176.simple_use(r::Optional, s::RepeatCount.bounded(1)),
15
+ e::E1176.simple_use(r::Optional, s::RepeatCount.bounded(1)),
16
+ e::E1176.simple_use(r::Optional, s::RepeatCount.bounded(1)),
17
+ e::E954 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
18
+ e::E1201.simple_use(r::Optional, s::RepeatCount.bounded(1)),
19
+ e::E1149.simple_use(r::Optional, s::RepeatCount.bounded(1)))
20
+
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+ module Stupidedi
3
+ module Versions
4
+ module FunctionalGroups
5
+ module FiftyTen
6
+ module SegmentDefs
7
+
8
+ s = Schema
9
+ e = ElementDefs
10
+ r = ElementReqs
11
+
12
+ HD = s::SegmentDef.build(:HD, "Health Coverage",
13
+ "To provide information on health coverage",
14
+ e::E875 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
15
+ e::E1203.simple_use(r::Optional, s::RepeatCount.bounded(1)),
16
+ e::E1205.simple_use(r::Optional, s::RepeatCount.bounded(1)),
17
+ e::E1204.simple_use(r::Optional, s::RepeatCount.bounded(1)),
18
+ e::E1207.simple_use(r::Optional, s::RepeatCount.bounded(1)),
19
+ e::E609 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
20
+ e::E609 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
21
+ e::E1209.simple_use(r::Optional, s::RepeatCount.bounded(1)),
22
+ e::E1073.simple_use(r::Optional, s::RepeatCount.bounded(1)),
23
+ e::E1211.simple_use(r::Optional, s::RepeatCount.bounded(1)),
24
+ e::E1073.simple_use(r::Optional, s::RepeatCount.bounded(1)))
25
+
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+ module Stupidedi
3
+ module Versions
4
+ module FunctionalGroups
5
+ module FiftyTen
6
+ module SegmentDefs
7
+
8
+ s = Schema
9
+ e = ElementDefs
10
+ r = ElementReqs
11
+
12
+ HLH = s::SegmentDef.build(:HLH, "Health Information",
13
+ "To provide health information",
14
+ e::E1212.simple_use(r::Optional, s::RepeatCount.bounded(1)),
15
+ e::E65 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
16
+ e::E81 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
17
+ e::E81 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
18
+ e::E352 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
19
+ e::E1213.simple_use(r::Optional, s::RepeatCount.bounded(1)),
20
+ e::E352 .simple_use(r::Optional, s::RepeatCount.bounded(1)))
21
+
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+ module Stupidedi
3
+ module Versions
4
+ module FunctionalGroups
5
+ module FiftyTen
6
+ module SegmentDefs
7
+
8
+ s = Schema
9
+ e = ElementDefs
10
+ r = ElementReqs
11
+
12
+ ICM = s::SegmentDef.build(:ICM, "Individual Income",
13
+ "To supply information to determine benefit eligibility, deductibles, and retirement and investment contributions",
14
+ e::E594 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
15
+ e::E782 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
16
+ e::E380 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
17
+ e::E310 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
18
+ e::E1214.simple_use(r::Optional, s::RepeatCount.bounded(1)),
19
+ e::E100 .simple_use(r::Optional, s::RepeatCount.bounded(1)))
20
+
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+ module Stupidedi
3
+ module Versions
4
+ module FunctionalGroups
5
+ module FiftyTen
6
+ module SegmentDefs
7
+
8
+ s = Schema
9
+ e = ElementDefs
10
+ r = ElementReqs
11
+
12
+ IDC = s::SegmentDef.build(:IDC, "Identification Card",
13
+ "To provide notification to produce replacement identification card(s)",
14
+ e::E1204.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
15
+ e::E1215.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
16
+ e::E380 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
17
+ e::E306 .simple_use(r::Optional, s::RepeatCount.bounded(1)))
18
+
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+ module Stupidedi
3
+ module Versions
4
+ module FunctionalGroups
5
+ module FiftyTen
6
+ module SegmentDefs
7
+
8
+ s = Schema
9
+ e = ElementDefs
10
+ r = ElementReqs
11
+
12
+ INS = s::SegmentDef.build(:INS, "Insured Benefit",
13
+ "To provide benefit information on insured entities",
14
+ e::E1073.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
15
+ e::E1069.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
16
+ e::E875 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
17
+ e::E1203.simple_use(r::Optional, s::RepeatCount.bounded(1)),
18
+ e::E1216.simple_use(r::Optional, s::RepeatCount.bounded(1)),
19
+ e::C052 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
20
+ e::E1219.simple_use(r::Optional, s::RepeatCount.bounded(1)),
21
+ e::E584 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
22
+ e::E1220.simple_use(r::Optional, s::RepeatCount.bounded(1)),
23
+ e::E1073.simple_use(r::Optional, s::RepeatCount.bounded(1)),
24
+ e::E1250.simple_use(r::Relational, s::RepeatCount.bounded(1)),
25
+ e::E1251.simple_use(r::Relational, s::RepeatCount.bounded(1)),
26
+ e::E1165.simple_use(r::Optional, s::RepeatCount.bounded(1)),
27
+ e::E19 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
28
+ e::E156 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
29
+ e::E26 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
30
+ e::E1470.simple_use(r::Optional, s::RepeatCount.bounded(1)),
31
+
32
+ SyntaxNotes::P.build(11, 12))
33
+
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+ module Stupidedi
3
+ module Versions
4
+ module FunctionalGroups
5
+ module FiftyTen
6
+ module SegmentDefs
7
+
8
+ s = Schema
9
+ e = ElementDefs
10
+ r = ElementReqs
11
+
12
+ LE = s::SegmentDef.build(:LE, "Loop Trailer",
13
+ "To indicate that the loop immediately preceding this segment is complete",
14
+ e::E447 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)))
15
+
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+ module Stupidedi
3
+ module Versions
4
+ module FunctionalGroups
5
+ module FiftyTen
6
+ module SegmentDefs
7
+
8
+ s = Schema
9
+ e = ElementDefs
10
+ r = ElementReqs
11
+
12
+ LS = s::SegmentDef.build(:LS, "Loop Header",
13
+ "To indicate that the next segment begins a loop",
14
+ e::E447.simple_use(r::Mandatory, s::RepeatCount.bounded(1)))
15
+
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end