stupidedi 1.2.2 → 1.2.5
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.
- checksums.yaml +4 -4
- data/README.md +15 -3
- data/bin/edi-pp +3 -6
- data/lib/stupidedi/builder/builder_dsl.rb +4 -0
- data/lib/stupidedi/builder/generation.rb +2 -2
- data/lib/stupidedi/builder/states/abstract_state.rb +4 -4
- data/lib/stupidedi/config.rb +2 -0
- data/lib/stupidedi/contrib/003010/guides.rb +1 -1
- data/lib/stupidedi/contrib/003010/guides/PC860.rb +7 -2
- data/lib/stupidedi/contrib/003010/guides/PS830.rb +198 -0
- data/lib/stupidedi/contrib/003010/guides/RA820.rb +7 -0
- data/lib/stupidedi/contrib/003010/transaction_set_defs.rb +3 -0
- data/lib/stupidedi/contrib/003010/transaction_set_defs/PC860.rb +1 -1
- data/lib/stupidedi/contrib/003010/transaction_set_defs/PS830.rb +56 -0
- data/lib/stupidedi/contrib/003040/guides/WA142.rb +1 -0
- data/lib/stupidedi/contrib/004010/guides/PO850.rb +27 -1
- data/lib/stupidedi/contrib/004010/transaction_set_defs.rb +3 -0
- data/lib/stupidedi/contrib/004010/transaction_set_defs/PO850.rb +9 -1
- data/lib/stupidedi/contrib/004010/transaction_set_defs/SC832.rb +44 -0
- data/lib/stupidedi/schema/segment_def.rb +9 -1
- data/lib/stupidedi/schema/syntax_note.rb +0 -4
- data/lib/stupidedi/version.rb +1 -1
- data/lib/stupidedi/versions/functional_groups/002001/element_defs.rb +1 -1
- data/lib/stupidedi/versions/functional_groups/002001/element_types/identifier_val.rb +6 -6
- data/lib/stupidedi/versions/functional_groups/002001/segment_defs/MEA.rb +8 -9
- data/lib/stupidedi/versions/functional_groups/003010/element_defs.rb +57 -1
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs.rb +14 -0
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/BFR.rb +40 -0
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/BPS.rb +8 -1
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/CTT.rb +2 -2
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/FOB.rb +2 -0
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/FST.rb +31 -0
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/MEA.rb +8 -9
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/N1.rb +3 -9
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/SDP.rb +21 -0
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/SHP.rb +22 -0
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/TD5.rb +3 -0
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/UIT.rb +20 -0
- data/lib/stupidedi/versions/functional_groups/003040/segment_defs/MEA.rb +8 -9
- data/lib/stupidedi/versions/functional_groups/003040/segment_defs/PRR.rb +2 -0
- data/lib/stupidedi/versions/functional_groups/003040/segment_defs/SSS.rb +2 -0
- data/lib/stupidedi/versions/functional_groups/003050/segment_defs/MEA.rb +8 -9
- data/lib/stupidedi/versions/functional_groups/004010/element_defs.rb +14 -7
- data/lib/stupidedi/versions/functional_groups/004010/segment_defs.rb +9 -0
- data/lib/stupidedi/versions/functional_groups/004010/segment_defs/BCT.rb +19 -0
- data/lib/stupidedi/versions/functional_groups/004010/segment_defs/BFR.rb +1 -0
- data/lib/stupidedi/versions/functional_groups/004010/segment_defs/CTP.rb +36 -0
- data/lib/stupidedi/versions/functional_groups/004010/segment_defs/SCH.rb +28 -0
- data/lib/stupidedi/versions/functional_groups/005010/element_defs.rb +1 -1
- data/lib/stupidedi/versions/interchanges/00200/element_defs.rb +2 -2
- data/lib/stupidedi/versions/interchanges/00200/segment_defs/ISA.rb +2 -2
- data/lib/stupidedi/versions/interchanges/00300/segment_defs/ISA.rb +2 -2
- data/lib/stupidedi/zipper/abstract_cursor.rb +4 -4
- data/spec/examples/integration/generating.example +10 -0
- data/spec/examples/stupidedi/reader/token_reader.example +1 -1
- data/spec/fixtures/SC832/1-good.txt +22 -0
- data/spec/fixtures/SC832/2-good.txt +1067 -0
- metadata +16 -4
@@ -11,15 +11,9 @@ module Stupidedi
|
|
11
11
|
N1 = s::SegmentDef.build(:N1, "Name",
|
12
12
|
"To identify a party by type of organization, name, and code",
|
13
13
|
e::E98 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
14
|
-
e::E93 .simple_use(r::Relational, s::RepeatCount.bounded(1))
|
15
|
-
|
16
|
-
|
17
|
-
# e::E706 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
18
|
-
# e::E98 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
19
|
-
|
20
|
-
# SyntaxNotes::P.build(3, 4),
|
21
|
-
# SyntaxNotes::R.build(2, 3))
|
22
|
-
|
14
|
+
e::E93 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
15
|
+
e::E66 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
16
|
+
e::E67 .simple_use(r::Relational, s::RepeatCount.bounded(1)))
|
23
17
|
end
|
24
18
|
end
|
25
19
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Stupidedi
|
2
|
+
module Versions
|
3
|
+
module FunctionalGroups
|
4
|
+
module ThirtyTen
|
5
|
+
module SegmentDefs
|
6
|
+
|
7
|
+
s = Schema
|
8
|
+
e = ElementDefs
|
9
|
+
r = ElementReqs
|
10
|
+
|
11
|
+
# Definition might be outdated, working from ANSI X12 2001 specification
|
12
|
+
SDP = s::SegmentDef.build(:SDP, "Ship/Delivery Pattern",
|
13
|
+
"To identify specific ship/delivery requirements",
|
14
|
+
e::E678.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
15
|
+
e::E679.simple_use(r::Mandatory, s::RepeatCount.bounded(1)))
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Stupidedi
|
2
|
+
module Versions
|
3
|
+
module FunctionalGroups
|
4
|
+
module ThirtyTen
|
5
|
+
module SegmentDefs
|
6
|
+
|
7
|
+
s = Schema
|
8
|
+
e = ElementDefs
|
9
|
+
r = ElementReqs
|
10
|
+
|
11
|
+
SHP = s::SegmentDef.build(:SHP, "Shipped/ReceivedInformationhip/Delivery Pattern",
|
12
|
+
"",
|
13
|
+
e::E673 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
14
|
+
e::E380 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
15
|
+
e::E374 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
16
|
+
e::E373 .simple_use(r::Relational, s::RepeatCount.bounded(1)))
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -10,6 +10,9 @@ module Stupidedi
|
|
10
10
|
|
11
11
|
TD5 = s::SegmentDef.build(:TD5, "Carrier Details (Routing Sequence/Transit Time)",
|
12
12
|
"To specify the carrier and sequence of routing and provide transit time information",
|
13
|
+
e::E352 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
14
|
+
e::E352 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
15
|
+
e::E352 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
13
16
|
e::E91 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
14
17
|
e::E387 .simple_use(r::Relational, s::RepeatCount.bounded(1)))
|
15
18
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Stupidedi
|
2
|
+
module Versions
|
3
|
+
module FunctionalGroups
|
4
|
+
module ThirtyTen
|
5
|
+
module SegmentDefs
|
6
|
+
|
7
|
+
s = Schema
|
8
|
+
e = ElementDefs
|
9
|
+
r = ElementReqs
|
10
|
+
|
11
|
+
# Definition might be outdated, working from ANSI X12 2001 specification
|
12
|
+
UIT = s::SegmentDef.build(:UIT, "Unit Detail",
|
13
|
+
"To specify item unit data",
|
14
|
+
e::E355.simple_use(r::Mandatory, s::RepeatCount.bounded(1)))
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -15,16 +15,15 @@ module Stupidedi
|
|
15
15
|
e::E739 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
16
16
|
e::E355 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
17
17
|
e::E740 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
18
|
-
e::E741 .simple_use(r::Relational, s::RepeatCount.bounded(1))
|
19
|
-
|
20
|
-
SyntaxNotes::R.build( 3, 5, 6, 8),
|
21
|
-
SyntaxNotes::E.build( 4, 12),
|
22
|
-
SyntaxNotes::L.build( 5, 4, 12),
|
23
|
-
SyntaxNotes::L.build( 6, 4, 12),
|
24
|
-
SyntaxNotes::L.build( 7, 3, 5, 6),
|
25
|
-
SyntaxNotes::E.build( 8, 3),
|
26
|
-
SyntaxNotes::P.build(11, 12))
|
18
|
+
e::E741 .simple_use(r::Relational, s::RepeatCount.bounded(1)))
|
27
19
|
|
20
|
+
# SyntaxNotes::R.build( 3, 5, 6, 8),
|
21
|
+
# SyntaxNotes::E.build( 4, 12),
|
22
|
+
# SyntaxNotes::L.build( 5, 4, 12),
|
23
|
+
# SyntaxNotes::L.build( 6, 4, 12),
|
24
|
+
# SyntaxNotes::L.build( 7, 3, 5, 6),
|
25
|
+
# SyntaxNotes::E.build( 8, 3),
|
26
|
+
# SyntaxNotes::P.build(11, 12))
|
28
27
|
|
29
28
|
end
|
30
29
|
end
|
@@ -11,6 +11,8 @@ module Stupidedi
|
|
11
11
|
PRR = s::SegmentDef.build(:PRR, "Problem Report",
|
12
12
|
"To describe a product condition when presented for service or a recall notice or a service bulletin",
|
13
13
|
e::E350 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
14
|
+
e::E248 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
15
|
+
e::E248 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
14
16
|
e::E1229.simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
15
17
|
e::E352 .simple_use(r::Relational, s::RepeatCount.bounded(1)))
|
16
18
|
|
@@ -13,8 +13,10 @@ module Stupidedi
|
|
13
13
|
e::E248 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
14
14
|
e::E559 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
15
15
|
e::E560 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
16
|
+
e::E248 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
16
17
|
e::E359 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
17
18
|
e::E360 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
19
|
+
e::E248 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
18
20
|
e::E380 .simple_use(r::Optional, s::RepeatCount.bounded(1)))
|
19
21
|
|
20
22
|
end
|
@@ -15,16 +15,15 @@ module Stupidedi
|
|
15
15
|
e::E739 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
16
16
|
e::E355 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
17
17
|
e::E740 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
18
|
-
e::E741 .simple_use(r::Relational, s::RepeatCount.bounded(1))
|
19
|
-
|
20
|
-
SyntaxNotes::R.build( 3, 5, 6, 8),
|
21
|
-
SyntaxNotes::E.build( 4, 12),
|
22
|
-
SyntaxNotes::L.build( 5, 4, 12),
|
23
|
-
SyntaxNotes::L.build( 6, 4, 12),
|
24
|
-
SyntaxNotes::L.build( 7, 3, 5, 6),
|
25
|
-
SyntaxNotes::E.build( 8, 3),
|
26
|
-
SyntaxNotes::P.build(11, 12))
|
18
|
+
e::E741 .simple_use(r::Relational, s::RepeatCount.bounded(1)))
|
27
19
|
|
20
|
+
# SyntaxNotes::R.build( 3, 5, 6, 8),
|
21
|
+
# SyntaxNotes::E.build( 4, 12),
|
22
|
+
# SyntaxNotes::L.build( 5, 4, 12),
|
23
|
+
# SyntaxNotes::L.build( 6, 4, 12),
|
24
|
+
# SyntaxNotes::L.build( 7, 3, 5, 6),
|
25
|
+
# SyntaxNotes::E.build( 8, 3),
|
26
|
+
# SyntaxNotes::P.build(11, 12))
|
28
27
|
|
29
28
|
end
|
30
29
|
end
|
@@ -338,7 +338,8 @@ module Stupidedi
|
|
338
338
|
"ST" => "Ship To",
|
339
339
|
"SU" => "Supplier/Manufacturer",
|
340
340
|
"TT" => "Transfer To",
|
341
|
-
"WH" => "Warehouse"
|
341
|
+
"WH" => "Warehouse",
|
342
|
+
"OB" => "Ordered By"))
|
342
343
|
|
343
344
|
E100 = t::ID.new(:E100 , "Currency Code" , 3, 3,
|
344
345
|
s::CodeList.external("5"))
|
@@ -4030,11 +4031,13 @@ module Stupidedi
|
|
4030
4031
|
s::CodeList.build(
|
4031
4032
|
"AD" => "American Dental Association Codes",
|
4032
4033
|
"BP" => "Buyer's Part Number",
|
4034
|
+
"BL" => "Brand/Label",
|
4033
4035
|
"CB" => "Buyer's Part Number",
|
4034
4036
|
"ER" => "Jurisdiction Specific Procedure and Supply Codes",
|
4035
4037
|
"HC" => "Health Care Financing Administration Common Procedural Coding System (HCPCS) Codes",
|
4036
4038
|
"ID" => "International Classification of Diseases Clinical Modification (ICD-9-CM) - Procedure",
|
4037
4039
|
"IV" => "Home Infusion EDI Coalition (HIEC) Product/Service Code",
|
4040
|
+
"MG" => "Manufacturer's Part Number",
|
4038
4041
|
"N1" => "National Drug Code in 4-4-2 Format",
|
4039
4042
|
"N2" => "National Drug Code in 5-3-2 Format",
|
4040
4043
|
"N3" => "National Drug Code in 5-4-1 Format",
|
@@ -4047,15 +4050,12 @@ module Stupidedi
|
|
4047
4050
|
"VN" => "Vendor's (Seller's) Item Number",
|
4048
4051
|
"VC" => "Vendor's (Seller's) Catalog Number",
|
4049
4052
|
"VP" => "Vendor's (Seller's) Part Number",
|
4050
|
-
"UK" => "UPC/EAN Shipping Container Code",
|
4051
|
-
"BP" => "Buyer's Part Number",
|
4052
4053
|
"ON" => "Customer Order Number",
|
4053
|
-
"CB" => "Buyer's Part Number",
|
4054
4054
|
"JS" => "Job Sequence Number",
|
4055
|
-
"UP" => "UPC Consumer Packaging Code",
|
4056
4055
|
"VV" => "Motor Vehicle ID Number",
|
4057
4056
|
"ZZ" => "Mutually Defined"))
|
4058
4057
|
|
4058
|
+
E236 = t::ID.new(:E236 , "Price Identifier Code" , 3, 3)
|
4059
4059
|
E254 = t::ID.new(:E254 , "Packing Group Code" , 1, 3)
|
4060
4060
|
E267 = t::Nn.new(:E267 , "Net Explosive Quantity" , 1, 10, 0)
|
4061
4061
|
E277 = t::ID.new(:E277 , "UN/NA Identification Code" , 6, 6)
|
@@ -4074,6 +4074,7 @@ module Stupidedi
|
|
4074
4074
|
"09" => "Hold or Reserve Stock",
|
4075
4075
|
"ZZ" => "Mutually Defined"))
|
4076
4076
|
|
4077
|
+
E289 = t::Nn.new(:E289 , "Multiple Price Quantity" , 1, 2, 0)
|
4077
4078
|
E301 = t::ID.new(:E301 , "Car Type Code" , 1, 4)
|
4078
4079
|
E305 = t::ID.new(:E305 , "Transaction Handling Code" , 1, 2,
|
4079
4080
|
s::CodeList.build(
|
@@ -4118,7 +4119,6 @@ module Stupidedi
|
|
4118
4119
|
"T" => "Status Query",
|
4119
4120
|
"U" => "Reject",
|
4120
4121
|
"V" => "Respond",
|
4121
|
-
"A" => "reply or answer",
|
4122
4122
|
"W" => "Reverse",
|
4123
4123
|
"X" => "Recommend",
|
4124
4124
|
"Y" => "Not Recommend",
|
@@ -4675,6 +4675,7 @@ module Stupidedi
|
|
4675
4675
|
s::CodeList.build(
|
4676
4676
|
"001" => "Cancel after",
|
4677
4677
|
"002" => "Delivery Requested",
|
4678
|
+
"007" => "Effective",
|
4678
4679
|
"010" => "Requested ship",
|
4679
4680
|
"011" => "Shipped",
|
4680
4681
|
"017" => "Estimated Delivery",
|
@@ -5071,6 +5072,7 @@ module Stupidedi
|
|
5071
5072
|
"1" => "Current Transaction Trace Numbers",
|
5072
5073
|
"2" => "Referenced Transaction Trace Numbers"))
|
5073
5074
|
|
5075
|
+
E499 = t::AN.new(:E499 , "Condition Value" , 1, 10)
|
5074
5076
|
E501 = t::ID.new(:E501 , "Customes Document Handling Code" , 2, 2)
|
5075
5077
|
E506 = t::ID.new(:E506 , "DFI Identification Number Qualifier" , 2, 2,
|
5076
5078
|
s::CodeList.build(
|
@@ -5788,7 +5790,6 @@ module Stupidedi
|
|
5788
5790
|
"SB" => "Second Notice of Balance Due",
|
5789
5791
|
"SC" => "Deprescription",
|
5790
5792
|
"SD" => "Supply Process Deficiency",
|
5791
|
-
"SE" => "Special Bilateral",
|
5792
5793
|
"SF" => "Single Family Program",
|
5793
5794
|
"SG" => "Sample Goods Invoice",
|
5794
5795
|
"SH" => "Shipment Status Notification",
|
@@ -5907,6 +5908,7 @@ module Stupidedi
|
|
5907
5908
|
"ZZ" => "Mutually Defined"))
|
5908
5909
|
|
5909
5910
|
E646 = t:: R.new(:E646 , "Quantity Shipped to Date" , 1, 9)
|
5911
|
+
E648 = t::ID.new(:E648 , "Price Multiplier Qualifier" , 3, 3)
|
5910
5912
|
E649 = t:: R.new(:E649 , "Multiplier" , 1, 10)
|
5911
5913
|
E665 = t::ID.new(:E665 , "Residue Indicator Code" , 1, 1,
|
5912
5914
|
s::CodeList.build(
|
@@ -5971,6 +5973,11 @@ module Stupidedi
|
|
5971
5973
|
"D" => "Discrete",
|
5972
5974
|
"F" => "Flexible Interval (from Date X through Date Y)"))
|
5973
5975
|
|
5976
|
+
E683 = t::ID.new(:E683 , "Catalog Purpose Code" , 1, 1,
|
5977
|
+
s::CodeList.build(
|
5978
|
+
"PC" => "Price Catalog"))
|
5979
|
+
|
5980
|
+
E687 = t::ID.new(:E687 , "Class of Trade Code" , 2, 2)
|
5974
5981
|
E706 = t::ID.new(:E706 , "Entity Relationship Code" , 2, 2,
|
5975
5982
|
s::CodeList.build(
|
5976
5983
|
"01" => "Parent",
|
@@ -28,6 +28,9 @@ module Stupidedi
|
|
28
28
|
autoload :B10,
|
29
29
|
"stupidedi/versions/functional_groups/004010/segment_defs/B10"
|
30
30
|
|
31
|
+
autoload :BCT,
|
32
|
+
"stupidedi/versions/functional_groups/004010/segment_defs/BCT"
|
33
|
+
|
31
34
|
autoload :BEG,
|
32
35
|
"stupidedi/versions/functional_groups/004010/segment_defs/BEG"
|
33
36
|
|
@@ -44,6 +47,9 @@ module Stupidedi
|
|
44
47
|
autoload :CLP,
|
45
48
|
"stupidedi/versions/functional_groups/004010/segment_defs/CLP"
|
46
49
|
|
50
|
+
autoload :CTP,
|
51
|
+
"stupidedi/versions/functional_groups/004010/segment_defs/CTP"
|
52
|
+
|
47
53
|
autoload :CTT,
|
48
54
|
"stupidedi/versions/functional_groups/004010/segment_defs/CTT"
|
49
55
|
|
@@ -290,6 +296,9 @@ module Stupidedi
|
|
290
296
|
autoload :AK5,
|
291
297
|
"stupidedi/versions/functional_groups/004010/segment_defs/AK5"
|
292
298
|
|
299
|
+
autoload :SCH,
|
300
|
+
"stupidedi/versions/functional_groups/004010/segment_defs/SCH"
|
301
|
+
|
293
302
|
end
|
294
303
|
end
|
295
304
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Stupidedi
|
2
|
+
module Versions
|
3
|
+
module FunctionalGroups
|
4
|
+
module FortyTen
|
5
|
+
module SegmentDefs
|
6
|
+
|
7
|
+
s = Schema
|
8
|
+
e = ElementDefs
|
9
|
+
r = ElementReqs
|
10
|
+
|
11
|
+
BCT = s::SegmentDef.build(:BCT, "Beginning Segment for Price/Sales Catalog",
|
12
|
+
"To indicate the beginning of the Price/Sales Catalog Transaction Set and specify catalog purpose and number information",
|
13
|
+
e::E683 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)))
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -19,6 +19,7 @@ module Stupidedi
|
|
19
19
|
e::E373 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
20
20
|
e::E373 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
21
21
|
e::E367 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
22
|
+
e::E367 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
22
23
|
e::E324 .simple_use(r::Optional, s::RepeatCount.bounded(1)))
|
23
24
|
|
24
25
|
# SyntaxNotes::P.build(6, 7),
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Stupidedi
|
2
|
+
module Versions
|
3
|
+
module FunctionalGroups
|
4
|
+
module FortyTen
|
5
|
+
module SegmentDefs
|
6
|
+
|
7
|
+
s = Schema
|
8
|
+
e = ElementDefs
|
9
|
+
r = ElementReqs
|
10
|
+
|
11
|
+
CTP = s::SegmentDef.build(:CTP, "Pricing Information",
|
12
|
+
"To specify pricing information",
|
13
|
+
e::E687 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
14
|
+
e::E236 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
15
|
+
e::E212 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
16
|
+
e::E380 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
17
|
+
e::C001 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
18
|
+
e::E648 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
19
|
+
|
20
|
+
e::E649 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
21
|
+
e::E782 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
22
|
+
e::E639 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
23
|
+
e::E499 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
24
|
+
e::E289 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
25
|
+
|
26
|
+
SyntaxNotes::P.build( 4, 5),
|
27
|
+
SyntaxNotes::C.build( 6, 7),
|
28
|
+
SyntaxNotes::C.build( 9, 2),
|
29
|
+
SyntaxNotes::C.build(10, 2),
|
30
|
+
SyntaxNotes::C.build(11, 3))
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Stupidedi
|
2
|
+
module Versions
|
3
|
+
module FunctionalGroups
|
4
|
+
module FortyTen
|
5
|
+
module SegmentDefs
|
6
|
+
|
7
|
+
s = Schema
|
8
|
+
e = ElementDefs
|
9
|
+
r = ElementReqs
|
10
|
+
|
11
|
+
SCH = s::SegmentDef.build(:SCH, "Line Item Schedule",
|
12
|
+
"To specify the dat for scheduling aspecifc line-item",
|
13
|
+
e::E380 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
14
|
+
e::E355 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
15
|
+
e::E98 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
16
|
+
e::E93 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
17
|
+
e::E374 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
18
|
+
e::E373 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
19
|
+
e::E374 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
20
|
+
e::E373 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
21
|
+
|
22
|
+
SyntaxNotes::C.build(3, 4))
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -30,7 +30,7 @@ module Stupidedi
|
|
30
30
|
"BS" => "Blue Shield Provider Number",
|
31
31
|
"C" => "Insured's Changed Unique Identification Number",
|
32
32
|
"CF" => s::CodeList.external("91"),
|
33
|
-
"FI" => "
|
33
|
+
"FI" => "Federal Taxpayer's Identification Number",
|
34
34
|
"HN" => "Health Insurance Claim (HIC) Number",
|
35
35
|
"II" => "Standard Unique Health Identifier for each Individual in the United States",
|
36
36
|
"LD" => s::CodeList.external("457"),
|
@@ -53,9 +53,9 @@ module Stupidedi
|
|
53
53
|
|
54
54
|
class SeparatorElementVal < Values::SimpleElementVal
|
55
55
|
|
56
|
-
extend Forwardable
|
56
|
+
extend Forwardable
|
57
57
|
def_delegators :@value, :to_s, :length
|
58
|
-
|
58
|
+
|
59
59
|
def initialize(value, usage, position)
|
60
60
|
@value = value
|
61
61
|
super(usage, position)
|
@@ -11,9 +11,9 @@ module Stupidedi
|
|
11
11
|
ISA = s::SegmentDef.build(:ISA, "Interchange Control Header",
|
12
12
|
"To start and identify an interchange of zero or more functional groups and interchange-related control segments",
|
13
13
|
e::I01.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
14
|
-
e::I02.simple_use(r::
|
14
|
+
e::I02.simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
15
15
|
e::I03.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
16
|
-
e::I04.simple_use(r::
|
16
|
+
e::I04.simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
17
17
|
e::I05.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
18
18
|
e::I06.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
19
19
|
e::I05.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
@@ -11,9 +11,9 @@ module Stupidedi
|
|
11
11
|
ISA = s::SegmentDef.build(:ISA, "Interchange Control Header",
|
12
12
|
"To start and identify an interchange of zero or more functional groups and interchange-related control segments",
|
13
13
|
e::I01.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
14
|
-
e::I02.simple_use(r::
|
14
|
+
e::I02.simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
15
15
|
e::I03.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
16
|
-
e::I04.simple_use(r::
|
16
|
+
e::I04.simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
17
17
|
e::I05.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
18
18
|
e::I06.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
19
19
|
e::I05.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|