Module: Stupidedi::TransactionSets::FiftyTen::Standards
- Defined in:
- lib/stupidedi/transaction_sets/005010/standards.rb,
lib/stupidedi/transaction_sets/005010/standards/BE834.rb,
lib/stupidedi/transaction_sets/005010/standards/FA997.rb,
lib/stupidedi/transaction_sets/005010/standards/FA999.rb,
lib/stupidedi/transaction_sets/005010/standards/HB271.rb,
lib/stupidedi/transaction_sets/005010/standards/HC837.rb,
lib/stupidedi/transaction_sets/005010/standards/HI278.rb,
lib/stupidedi/transaction_sets/005010/standards/HN277.rb,
lib/stupidedi/transaction_sets/005010/standards/HP835.rb,
lib/stupidedi/transaction_sets/005010/standards/HR276.rb,
lib/stupidedi/transaction_sets/005010/standards/HS270.rb,
lib/stupidedi/transaction_sets/005010/standards/RA820.rb,
lib/stupidedi/transaction_sets/005010/standards/SO317.rb
Constant Summary collapse
- SegmentReqs =
Versions::FiftyTen::SegmentReqs
- BE834 =
b.build("BE", "834", "Benefit Enrollment and Maintenance", d::TableDef.header("1 - Header", s:: ST.use(100, r::Mandatory, d::RepeatCount.bounded(1)), s::BGN.use(200, r::Mandatory, d::RepeatCount.bounded(1)), s::REF.use(300, r::Optional, d::RepeatCount.bounded(1)), s::DTP.use(400, r::Optional, d::RepeatCount.unbounded), s::QTY.use(600, r::Optional, d::RepeatCount.bounded(3)), d::LoopDef.build("1000 PARTY IDENTIFICATION", d::RepeatCount.unbounded, s:: N1.use( 700, r::Mandatory, d::RepeatCount.bounded(1)), s:: N2.use( 800, r::Optional, d::RepeatCount.bounded(2)), s:: N3.use( 900, r::Optional, d::RepeatCount.bounded(2)), s:: N4.use(1000, r::Optional, d::RepeatCount.bounded(1)), s::PER.use(1100, r::Optional, d::RepeatCount.bounded(3)), d::LoopDef.build("1100 ACCOUNT IDENTIFICATION", d::RepeatCount.bounded(10), s::ACT.use(1200, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(1300, r::Optional, d::RepeatCount.bounded(5)), s:: N3.use(1400, r::Optional, d::RepeatCount.bounded(1)), s:: N4.use(1500, r::Optional, d::RepeatCount.bounded(1)), s::PER.use(1600, r::Optional, d::RepeatCount.bounded(5)), s::DTP.use(1700, r::Optional, d::RepeatCount.bounded(1)), s::AMT.use(1800, r::Optional, d::RepeatCount.bounded(1))))), d::TableDef.detail("2 - Detail", d::LoopDef.build("2000 INSURED BENEFIT", d::RepeatCount.unbounded, s::INS.use(100, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(200, r::Mandatory, d::RepeatCount.unbounded), s::DTP.use(250, r::Optional, d::RepeatCount.unbounded), d::LoopDef.build("2100 INDIVIDUAL OR ORGANIZATION NAME", d::RepeatCount.unbounded, s::NM1.use( 300, r::Optional, d::RepeatCount.bounded(1)), s::PER.use( 400, r::Optional, d::RepeatCount.bounded(1)), s:: N3.use( 500, r::Optional, d::RepeatCount.bounded(1)), s:: N4.use( 600, r::Optional, d::RepeatCount.bounded(1)), s::DMG.use( 800, r::Optional, d::RepeatCount.bounded(1)), s:: PM.use(1000, r::Optional, d::RepeatCount.bounded(1)), s:: EC.use(1000, r::Optional, d::RepeatCount.unbounded), s::ICM.use(1100, r::Optional, d::RepeatCount.bounded(1)), s::AMT.use(1200, r::Optional, d::RepeatCount.bounded(10)), s::HLH.use(1300, r::Optional, d::RepeatCount.bounded(1)), s:: HI.use(1400, r::Optional, d::RepeatCount.bounded(10)), s::LUI.use(1500, r::Optional, d::RepeatCount.unbounded)), d::LoopDef.build("2200 DISABILITY INFORMATION", d::RepeatCount.bounded(4), s::DSB.use(2000, r::Optional, d::RepeatCount.bounded(1)), s::DTP.use(2100, r::Optional, d::RepeatCount.bounded(10)), s::AD1.use(2200, r::Optional, d::RepeatCount.bounded(10))), d::LoopDef.build("2300 HEALTH COVERAGE", d::RepeatCount.bounded(99), s:: HD.use(2600, r::Optional, d::RepeatCount.bounded(1)), s::DTP.use(2700, r::Optional, d::RepeatCount.bounded(10)), s::AMT.use(2800, r::Optional, d::RepeatCount.bounded(3)), s::REF.use(2900, r::Optional, d::RepeatCount.bounded(5)), s::IDC.use(3000, r::Optional, d::RepeatCount.unbounded), d::LoopDef.build("2310 TRANSACTION SET LINE NUMBER", d::RepeatCount.bounded(30), s:: LX.use(3100, r::Optional, d::RepeatCount.bounded(1)), s::NM1.use(3200, r::Optional, d::RepeatCount.bounded(1)), s:: N1.use(3300, r::Optional, d::RepeatCount.bounded(3)), s:: N2.use(3400, r::Optional, d::RepeatCount.bounded(1)), s:: N3.use(3500, r::Optional, d::RepeatCount.bounded(2)), s:: N4.use(3600, r::Optional, d::RepeatCount.bounded(2)), s::PER.use(3700, r::Optional, d::RepeatCount.bounded(2)), s::PRV.use(3800, r::Optional, d::RepeatCount.bounded(1)), s::DTP.use(3900, r::Optional, d::RepeatCount.bounded(6)), s::PLA.use(3950, r::Optional, d::RepeatCount.bounded(1))), d::LoopDef.build("2320 COORDINATION OF BENEFITS", d::RepeatCount.bounded(5), s::COB.use(4000, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(4050, r::Optional, d::RepeatCount.unbounded), s::DTP.use(4070, r::Optional, d::RepeatCount.bounded(2)), d::LoopDef.build("2330 INDIVIDUAL OR ORGANIZATION NAME", d::RepeatCount.bounded(3), s::NM1.use(4100, r::Optional, d::RepeatCount.bounded(1)), s:: N2.use(4200, r::Optional, d::RepeatCount.bounded(1)), s:: N3.use(4300, r::Optional, d::RepeatCount.bounded(2)), s:: N4.use(4400, r::Optional, d::RepeatCount.bounded(1)), s::PER.use(4500, r::Optional, d::RepeatCount.bounded(1))))), d::LoopDef.build("2400 LIFE COVERAGE", d::RepeatCount.bounded(10), s:: LC.use(4600, r::Optional, d::RepeatCount.bounded(1)), s::AMT.use(4700, r::Optional, d::RepeatCount.bounded(1)), s::DTP.use(4800, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(4850, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("2410 BENEFICIARY OR OWNER INFORMATION", d::RepeatCount.bounded(20), s::BEN.use(4900, r::Optional, d::RepeatCount.bounded(1)), s::NM1.use(5000, r::Optional, d::RepeatCount.bounded(1)), s:: N1.use(5100, r::Optional, d::RepeatCount.bounded(1)), s:: N2.use(5200, r::Optional, d::RepeatCount.bounded(1)), s:: N3.use(5300, r::Optional, d::RepeatCount.bounded(1)), s:: N4.use(5400, r::Optional, d::RepeatCount.bounded(1)), s::DMG.use(5420, r::Optional, d::RepeatCount.bounded(1)))), d::LoopDef.build("2500 TAX ADVANTAGE ACCOUNT", d::RepeatCount.bounded(5), s::FSA.use(5500, r::Optional, d::RepeatCount.bounded(1)), s::AMT.use(5600, r::Optional, d::RepeatCount.bounded(10)), s::DTP.use(5700, r::Optional, d::RepeatCount.bounded(10)), s::REF.use(5750, r::Optional, d::RepeatCount.unbounded)), d::LoopDef.build("2600 RETIREMENT PRODUCT", d::RepeatCount.unbounded, s:: RP.use(5800, r::Optional, d::RepeatCount.bounded(1)), s::DTP.use(5900, r::Optional, d::RepeatCount.unbounded), s::REF.use(5920, r::Optional, d::RepeatCount.unbounded), s::INV.use(5940, r::Optional, d::RepeatCount.unbounded), s::AMT.use(5960, r::Optional, d::RepeatCount.bounded(20)), s::QTY.use(5970, r::Optional, d::RepeatCount.bounded(20)), s:: K3.use(5980, r::Optional, d::RepeatCount.bounded(3)), s::REL.use(6000, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("2610 INDIVIDUAL OR ORGANIZATIONAL NAME", d::RepeatCount.unbounded, s::NM1.use(6100, r::Optional, d::RepeatCount.bounded(1)), s:: N2.use(6300, r::Optional, d::RepeatCount.bounded(1)), s::DMG.use(6510, r::Optional, d::RepeatCount.bounded(1)), s::BEN.use(6520, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(6530, r::Optional, d::RepeatCount.unbounded), d::LoopDef.build("2620 PROPERTY OR ENTITIY IDENTIFICATION", d::RepeatCount.unbounded, s::NX1.use(6540, r::Optional, d::RepeatCount.bounded(1)), s:: N3.use(6550, r::Optional, d::RepeatCount.bounded(1)), s:: N4.use(6560, r::Optional, d::RepeatCount.bounded(1)), s::DTP.use(6570, r::Optional, d::RepeatCount.unbounded))), d::LoopDef.build("2630 FINANCIAL CONTRIBUTION", d::RepeatCount.unbounded, s:: FC.use(6600, r::Optional, d::RepeatCount.bounded(1)), s::DTP.use(6700, r::Optional, d::RepeatCount.unbounded), d::LoopDef.build("2640 INVESTMENT VEHICLE SELECTION", d::RepeatCount.unbounded, s::INV.use(6000, r::Optional, d::RepeatCount.bounded(1)), s::DTP.use(6000, r::Optional, d::RepeatCount.unbounded), s::QTY.use(6000, r::Optional, d::RepeatCount.unbounded), s::ENT.use(6000, r::Optional, d::RepeatCount.unbounded), s::REF.use(6000, r::Optional, d::RepeatCount.unbounded), s::AMT.use(6000, r::Optional, d::RepeatCount.bounded(20)), s:: K3.use(6000, r::Optional, d::RepeatCount.bounded(3)))), d::LoopDef.build("2650 INCOME", d::RepeatCount.unbounded, s::AIN.use(6850, r::Optional, d::RepeatCount.bounded(1)), s::QTY.use(6860, r::Optional, d::RepeatCount.unbounded), s::DTP.use(6870, r::Optional, d::RepeatCount.unbounded))), d::LoopDef.build("2700 LS LOOP HEADER", d::RepeatCount.bounded(1), s:: LS.use(6880, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("2700 TRANSACTION SET LINE NUMBER", d::RepeatCount.unbounded, s:: LX.use(6881, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("2750 PARTY IDENTIFICATION", d::RepeatCount.bounded(1), s:: N1.use(6882, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(6883, r::Optional, d::RepeatCount.bounded(16)), s::DTP.use(6884, r::Optional, d::RepeatCount.bounded(1)))), s:: LE.use(6885, r::Mandatory, d::RepeatCount.bounded(1)))), s::SE.use(6900, r::Mandatory, d::RepeatCount.bounded(1))))
- FA997 =
b.build("FA", "997", "Functional Acknowledgment", d::TableDef.header("1 - Header", s:: ST.use(10, r::Mandatory, d::RepeatCount.bounded(1)), s::AK1.use(20, r::Mandatory, d::RepeatCount.bounded(1)), d::LoopDef.build("AK2", d::RepeatCount.bounded(999999), s:: AK2.use( 30, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("AK3", d::RepeatCount.bounded(999999), s::AK3.use(40, r::Optional, d::RepeatCount.bounded(1)), s::AK4.use(50, r::Optional, d::RepeatCount.bounded(99))), s::AK5.use(60, r::Mandatory, d::RepeatCount.bounded(1))), s::AK9.use(70, r::Mandatory, d::RepeatCount.bounded(1)), s:: SE.use(80, r::Mandatory, d::RepeatCount.bounded(1))))
- FA999 =
b.build("FA", "999", "Implementation Acknowledgment", d::TableDef.header("1 - Header", s:: ST.use(100, r::Mandatory, d::RepeatCount.bounded(1)), s::AK1.use(200, r::Mandatory, d::RepeatCount.bounded(1)), d::LoopDef.build("2000", d::RepeatCount.unbounded, s::AK2.use(300, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("2100", d::RepeatCount.unbounded, s::IK3.use(400, r::Optional, d::RepeatCount.bounded(1)), s::CTX.use(500, r::Optional, d::RepeatCount.bounded(10)), d::LoopDef.build("2110", d::RepeatCount.unbounded, s::IK4.use(600, r::Optional, d::RepeatCount.bounded(1)), s::CTX.use(700, r::Optional, d::RepeatCount.bounded(10)))), s::IK5.use(800, r::Mandatory, d::RepeatCount.bounded(1))), s::AK9.use( 900, r::Mandatory, d::RepeatCount.bounded(1)), s:: SE.use(1000, r::Mandatory, d::RepeatCount.bounded(1))))
- HB271 =
b.build("HB", "271", "Eligibility, Coverage, or Benefit Information", d::TableDef.header("1 - Header", s:: ST.use(100, r::Mandatory, d::RepeatCount.bounded(1)), s::BHT.use(200, r::Mandatory, d::RepeatCount.bounded(1))), d::TableDef.detail("2 - Detail", d::LoopDef.build("2000", d::RepeatCount.unbounded, s:: HL.use(100, r::Mandatory, d::RepeatCount.bounded(1)), s::TRN.use(200, r::Optional, d::RepeatCount.bounded(9)), s::AAA.use(250, r::Optional, d::RepeatCount.bounded(9)), d::LoopDef.build("2100", d::RepeatCount.unbounded, s::NM1.use( 300, r::Mandatory, d::RepeatCount.bounded(1)), s::REF.use( 400, r::Optional, d::RepeatCount.bounded(9)), s:: N2.use( 500, r::Optional, d::RepeatCount.bounded(1)), s:: N3.use( 600, r::Optional, d::RepeatCount.bounded(1)), s:: N4.use( 700, r::Optional, d::RepeatCount.bounded(1)), s::PER.use( 800, r::Optional, d::RepeatCount.bounded(3)), s::AAA.use( 850, r::Optional, d::RepeatCount.bounded(9)), s::PRV.use( 900, r::Optional, d::RepeatCount.bounded(1)), s::DMG.use(1000, r::Optional, d::RepeatCount.bounded(1)), s::INS.use(1100, r::Optional, d::RepeatCount.bounded(1)), s:: HI.use(1150, r::Optional, d::RepeatCount.bounded(1)), s::DTP.use(1200, r::Optional, d::RepeatCount.bounded(9)), s::LUI.use(1250, r::Optional, d::RepeatCount.bounded(9)), s::MPI.use(1275, r::Optional, d::RepeatCount.bounded(9)), d::LoopDef.build("2110", d::RepeatCount.unbounded, s:: EB.use(1300, r::Optional, d::RepeatCount.bounded(1)), s::HSD.use(1350, r::Optional, d::RepeatCount.bounded(9)), s::REF.use(1400, r::Optional, d::RepeatCount.bounded(9)), s::DTP.use(1500, r::Optional, d::RepeatCount.bounded(20)), s::AAA.use(1600, r::Optional, d::RepeatCount.bounded(9)), s::VEH.use(1700, r::Optional, d::RepeatCount.bounded(1)), s::PID.use(1800, r::Optional, d::RepeatCount.bounded(1)), s::PDR.use(1900, r::Optional, d::RepeatCount.bounded(1)), s::PDP.use(2000, r::Optional, d::RepeatCount.bounded(1)), s::LIN.use(2100, r::Optional, d::RepeatCount.bounded(1)), s:: EM.use(2200, r::Optional, d::RepeatCount.bounded(1)), s::SD1.use(2300, r::Optional, d::RepeatCount.bounded(1)), s::PKD.use(2400, r::Optional, d::RepeatCount.bounded(1)), s::MSG.use(2500, r::Optional, d::RepeatCount.bounded(10)), d::LoopDef.build("2115", d::RepeatCount.unbounded, s::III.use(2600, r::Optional, d::RepeatCount.bounded(1)), s::DTP.use(2700, r::Optional, d::RepeatCount.bounded(5)), s::AMT.use(2800, r::Optional, d::RepeatCount.bounded(5)), s::PCT.use(2900, r::Optional, d::RepeatCount.bounded(5)), d::LoopDef.build("2117", d::RepeatCount.unbounded, s:: LQ.use(3000, r::Optional, d::RepeatCount.bounded(1)), s::AMT.use(3100, r::Optional, d::RepeatCount.bounded(5)), s::PCT.use(3200, r::Optional, d::RepeatCount.bounded(5)))), d::LoopDef.build("2120 LS", d::RepeatCount.bounded(1), # @todo: NM1 3400 conflicts with NM1 at position 300, but # X279 states on page 328, regarding the LS segment: # # 1. Use this segment to identify the beginning of the # Subscriber Benefit Related Entity Name loop. Because both # the subscriber’s name loop and this loop begin with NM1 # segments, the LS and LE segments are used to # differentiate these two loops. # # ParserError: too much non-determinism: SegmentUse(3400, NM1, O, 1), SegmentUse(300, NM1, M, 1) # s:: LS.use(3300, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("2120", d::RepeatCount.unbounded, s::NM1.use(3400, r::Optional, d::RepeatCount.bounded(1)), s:: N2.use(3500, r::Optional, d::RepeatCount.bounded(1)), s:: N3.use(3600, r::Optional, d::RepeatCount.bounded(1)), s:: N4.use(3700, r::Optional, d::RepeatCount.bounded(1)), s::PER.use(3800, r::Optional, d::RepeatCount.bounded(3)), s::PRV.use(3900, r::Optional, d::RepeatCount.bounded(1))), s:: LE.use(4000, r::Mandatory, d::RepeatCount.bounded(1))))))), d::TableDef.summary("3 - Summary", s:: SE.use(4100, r::Mandatory, d::RepeatCount.bounded(1))))
- HC837 =
b.build("HC", "837", "Health Care Claim", d::TableDef.header("1 - Header", s:: ST.use( 50, r::Mandatory, d::RepeatCount.bounded(1)), s::BHT.use(100, r::Mandatory, d::RepeatCount.bounded(1)), s::REF.use(150, r::Optional, d::RepeatCount.bounded(3)), d::LoopDef.build("1000", d::RepeatCount.bounded(10), s::NM1.use(200, r::Optional, d::RepeatCount.bounded(1)), s:: N2.use(250, r::Optional, d::RepeatCount.bounded(2)), s:: N3.use(300, r::Optional, d::RepeatCount.bounded(2)), s:: N4.use(350, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(400, r::Optional, d::RepeatCount.bounded(2)), s::PER.use(450, r::Optional, d::RepeatCount.bounded(2)))), d::TableDef.detail("2 - Detail", d::LoopDef.build("2000", d::RepeatCount.unbounded, s:: HL.use( 10, r::Mandatory, d::RepeatCount.bounded(1)), s::PRV.use( 30, r::Optional, d::RepeatCount.bounded(1)), s::SBR.use( 50, r::Optional, d::RepeatCount.bounded(1)), s::PAT.use( 70, r::Optional, d::RepeatCount.bounded(1)), s::DTP.use( 90, r::Optional, d::RepeatCount.bounded(5)), s::CUR.use(100, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("2010", d::RepeatCount.bounded(10), s::NM1.use(150, r::Optional, d::RepeatCount.bounded(1)), s:: N2.use(200, r::Optional, d::RepeatCount.bounded(2)), s:: N3.use(250, r::Optional, d::RepeatCount.bounded(2)), s:: N4.use(300, r::Optional, d::RepeatCount.bounded(1)), s::DMG.use(320, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(350, r::Optional, d::RepeatCount.bounded(20)), s::PER.use(400, r::Optional, d::RepeatCount.bounded(2))), d::LoopDef.build("2300", d::RepeatCount.bounded(100), s::CLM.use(1300, r::Optional, d::RepeatCount.bounded(1)), s::DTP.use(1350, r::Optional, d::RepeatCount.bounded(150)), s::CL1.use(1400, r::Optional, d::RepeatCount.bounded(1)), s::DN1.use(1450, r::Optional, d::RepeatCount.bounded(1)), s::DN2.use(1500, r::Optional, d::RepeatCount.bounded(35)), s::PWK.use(1550, r::Optional, d::RepeatCount.bounded(10)), s::CN1.use(1600, r::Optional, d::RepeatCount.bounded(1)), s::DSB.use(1650, r::Optional, d::RepeatCount.bounded(1)), s:: UR.use(1700, r::Optional, d::RepeatCount.bounded(1)), s::AMT.use(1750, r::Optional, d::RepeatCount.bounded(40)), s::REF.use(1800, r::Optional, d::RepeatCount.bounded(30)), s:: K3.use(1850, r::Optional, d::RepeatCount.bounded(10)), s::NTE.use(1900, r::Optional, d::RepeatCount.bounded(20)), s::CR1.use(1950, r::Optional, d::RepeatCount.bounded(1)), s::CR2.use(2000, r::Optional, d::RepeatCount.bounded(1)), s::CR3.use(2050, r::Optional, d::RepeatCount.bounded(1)), s::CR4.use(2100, r::Optional, d::RepeatCount.bounded(3)), s::CR5.use(2150, r::Optional, d::RepeatCount.bounded(1)), s::CR6.use(2160, r::Optional, d::RepeatCount.bounded(1)), s::CR8.use(2190, r::Optional, d::RepeatCount.bounded(9)), s::CRC.use(2200, r::Optional, d::RepeatCount.bounded(100)), s:: HI.use(2310, r::Optional, d::RepeatCount.bounded(25)), s::QTY.use(2400, r::Optional, d::RepeatCount.bounded(10)), s::HCP.use(2410, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("2305", d::RepeatCount.bounded(6), s::CR7.use(2420, r::Optional, d::RepeatCount.bounded(1)), s::HSD.use(2430, r::Optional, d::RepeatCount.bounded(12))), d::LoopDef.build("2310", d::RepeatCount.bounded(9), s::NM1.use(2500, r::Optional, d::RepeatCount.bounded(1)), s::PRV.use(2550, r::Optional, d::RepeatCount.bounded(1)), s:: N2.use(2600, r::Optional, d::RepeatCount.bounded(2)), s:: N3.use(2650, r::Optional, d::RepeatCount.bounded(2)), s:: N4.use(2700, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(2710, r::Optional, d::RepeatCount.bounded(20)), s::PER.use(2750, r::Optional, d::RepeatCount.bounded(2))), d::LoopDef.build("2320", d::RepeatCount.bounded(10), s::SBR.use(2900, r::Optional, d::RepeatCount.bounded(1)), s::CAS.use(2950, r::Optional, d::RepeatCount.bounded(99)), s::AMT.use(3000, r::Optional, d::RepeatCount.bounded(15)), s::DMG.use(3050, r::Optional, d::RepeatCount.bounded(1)), s:: OI.use(3100, r::Optional, d::RepeatCount.bounded(1)), s::MIA.use(3150, r::Optional, d::RepeatCount.bounded(1)), s::MOA.use(3200, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("2330", d::RepeatCount.bounded(10), s::NM1.use(3250, r::Optional, d::RepeatCount.bounded(1)), s:: N2.use(3300, r::Optional, d::RepeatCount.bounded(2)), s:: N3.use(3320, r::Optional, d::RepeatCount.bounded(2)), s:: N4.use(3400, r::Optional, d::RepeatCount.bounded(1)), s::PER.use(3450, r::Optional, d::RepeatCount.bounded(2)), s::DTP.use(3500, r::Optional, d::RepeatCount.bounded(9)), s::REF.use(3550, r::Optional, d::RepeatCount.unbounded))), d::LoopDef.build("2400", d::RepeatCount.unbounded, s:: LX.use(3650, r::Optional, d::RepeatCount.bounded(1)), s::SV1.use(3700, r::Optional, d::RepeatCount.bounded(1)), s::SV2.use(3750, r::Optional, d::RepeatCount.bounded(1)), s::SV3.use(3800, r::Optional, d::RepeatCount.bounded(1)), s::TOO.use(3820, r::Optional, d::RepeatCount.bounded(32)), s::SV4.use(3850, r::Optional, d::RepeatCount.bounded(1)), s::SV5.use(4000, r::Optional, d::RepeatCount.bounded(1)), s::SV6.use(4050, r::Optional, d::RepeatCount.bounded(1)), s::SV7.use(4100, r::Optional, d::RepeatCount.bounded(1)), s:: HI.use(4150, r::Optional, d::RepeatCount.bounded(25)), s::PWK.use(4200, r::Optional, d::RepeatCount.bounded(10)), s::CR1.use(4250, r::Optional, d::RepeatCount.bounded(1)), s::CR2.use(4300, r::Optional, d::RepeatCount.bounded(5)), s::CR3.use(4350, r::Optional, d::RepeatCount.bounded(1)), s::CR4.use(4400, r::Optional, d::RepeatCount.bounded(3)), s::CR5.use(4450, r::Optional, d::RepeatCount.bounded(1)), s::CRC.use(4500, r::Optional, d::RepeatCount.bounded(3)), s::DTP.use(4550, r::Optional, d::RepeatCount.bounded(15)), s::QTY.use(4600, r::Optional, d::RepeatCount.bounded(5)), s::MEA.use(4620, r::Optional, d::RepeatCount.bounded(20)), s::CN1.use(4650, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(4700, r::Optional, d::RepeatCount.bounded(30)), s::AMT.use(4750, r::Optional, d::RepeatCount.bounded(15)), s:: K3.use(4800, r::Optional, d::RepeatCount.bounded(10)), s::NTE.use(4850, r::Optional, d::RepeatCount.bounded(10)), s::PS1.use(4880, r::Optional, d::RepeatCount.bounded(1)), s::IMM.use(4900, r::Optional, d::RepeatCount.unbounded), s::HSD.use(4910, r::Optional, d::RepeatCount.bounded(1)), s::HCP.use(4920, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("2410", d::RepeatCount.unbounded, s::LIN.use(4930, r::Optional, d::RepeatCount.bounded(1)), s::CTP.use(4940, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(4950, r::Optional, d::RepeatCount.bounded(1))), d::LoopDef.build("2420", d::RepeatCount.bounded(10), s::NM1.use(5000, r::Optional, d::RepeatCount.bounded(1)), s::PRV.use(5050, r::Optional, d::RepeatCount.bounded(1)), s:: N2.use(5100, r::Optional, d::RepeatCount.bounded(2)), s:: N3.use(5140, r::Optional, d::RepeatCount.bounded(2)), s:: N4.use(5200, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(5250, r::Optional, d::RepeatCount.bounded(20)), s::PER.use(5300, r::Optional, d::RepeatCount.bounded(2))), d::LoopDef.build("2430", d::RepeatCount.unbounded, s::SVD.use(5400, r::Optional, d::RepeatCount.bounded(1)), s::CAS.use(5450, r::Optional, d::RepeatCount.bounded(99)), s::DTP.use(5500, r::Optional, d::RepeatCount.bounded(9)), s::AMT.use(5505, r::Optional, d::RepeatCount.bounded(20))), d::LoopDef.build("2440", d::RepeatCount.unbounded, s:: LQ.use(5510, r::Optional, d::RepeatCount.bounded(1)), s::FRM.use(5520, r::Mandatory, d::RepeatCount.bounded(99))))))), d::TableDef.summary("3 - Summary", s:: SE.use(5550, r::Mandatory, d::RepeatCount.bounded(1))))
- HI278 =
b.build("HI", "278", "Health Care Services Review Information", d::TableDef.header("1 - Header", s:: ST.use(100, r::Mandatory, d::RepeatCount.bounded(1)), s::BHT.use(200, r::Mandatory, d::RepeatCount.bounded(1))), d::TableDef.detail("2 - Detail", d::LoopDef.build("2000", d::RepeatCount.unbounded, s:: HL.use( 100, r::Mandatory, d::RepeatCount.bounded(1)), s::TRN.use( 200, r::Optional, d::RepeatCount.bounded(9)), s::AAA.use( 300, r::Optional, d::RepeatCount.bounded(9)), s:: UM.use( 400, r::Optional, d::RepeatCount.bounded(1)), s::HCR.use( 500, r::Optional, d::RepeatCount.bounded(1)), s::REF.use( 600, r::Optional, d::RepeatCount.bounded(9)), s::DTP.use( 700, r::Optional, d::RepeatCount.bounded(9)), s:: HI.use( 800, r::Optional, d::RepeatCount.bounded(1)), s::SV1.use( 810, r::Optional, d::RepeatCount.bounded(1)), s::SV2.use( 820, r::Optional, d::RepeatCount.bounded(1)), s::SV3.use( 830, r::Optional, d::RepeatCount.bounded(1)), s::TOO.use( 840, r::Optional, d::RepeatCount.bounded(32)), s::HSD.use( 900, r::Optional, d::RepeatCount.bounded(1)), s::CRC.use(1000, r::Optional, d::RepeatCount.bounded(9)), s::CL1.use(1100, r::Optional, d::RepeatCount.bounded(1)), s::CR1.use(1200, r::Optional, d::RepeatCount.bounded(1)), s::CR2.use(1300, r::Optional, d::RepeatCount.bounded(1)), s::CR4.use(1350, r::Optional, d::RepeatCount.bounded(1)), s::CR5.use(1400, r::Optional, d::RepeatCount.bounded(1)), s::CR6.use(1500, r::Optional, d::RepeatCount.bounded(1)), s::CR7.use(1520, r::Optional, d::RepeatCount.bounded(1)), s::CR8.use(1530, r::Optional, d::RepeatCount.bounded(1)), s::PWK.use(1550, r::Optional, d::RepeatCount.unbounded), s::MSG.use(1600, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("2010", d::RepeatCount.unbounded, s::NM1.use(1700, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(1700, r::Optional, d::RepeatCount.bounded(9)), s:: N2.use(1700, r::Optional, d::RepeatCount.bounded(1)), s:: N3.use(1700, r::Optional, d::RepeatCount.bounded(1)), s:: N4.use(1700, r::Optional, d::RepeatCount.bounded(1)), s::PER.use(1700, r::Optional, d::RepeatCount.bounded(3)), s::AAA.use(1700, r::Optional, d::RepeatCount.bounded(9)), s::PRV.use(1700, r::Optional, d::RepeatCount.bounded(1)), s::DMG.use(1700, r::Optional, d::RepeatCount.bounded(1)), s::INS.use(1700, r::Optional, d::RepeatCount.bounded(1)), s::DTP.use(1700, r::Optional, d::RepeatCount.bounded(9))))), d::TableDef.summary("3 - Summary", s:: SE.use(2700, r::Mandatory, d::RepeatCount.bounded(1))))
- HN277 =
b.build("HN", "277", "Heath Care Information Status Notification", d::TableDef.header("1 - Header", s:: ST.use(100, r::Mandatory, d::RepeatCount.bounded(1)), s::BHT.use(200, r::Mandatory, d::RepeatCount.bounded(1)), s::REF.use(300, r::Optional, d::RepeatCount.bounded(10)), d::LoopDef.build("1000", d::RepeatCount.unbounded, s::NM1.use(400, r::Optional, d::RepeatCount.bounded(1)), s:: N2.use(500, r::Optional, d::RepeatCount.bounded(2)), s:: N3.use(600, r::Optional, d::RepeatCount.bounded(2)), s:: N4.use(700, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(800, r::Optional, d::RepeatCount.bounded(2)), s::PER.use(900, r::Optional, d::RepeatCount.bounded(1)))), d::TableDef.detail("2 - Detail", d::LoopDef.build("2000", d::RepeatCount.unbounded, s:: HL.use(100, r::Mandatory, d::RepeatCount.bounded(1)), s::SBR.use(200, r::Optional, d::RepeatCount.bounded(1)), s::PAT.use(300, r::Optional, d::RepeatCount.bounded(1)), s::DMG.use(400, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("2100", d::RepeatCount.unbounded, s::NM1.use(500, r::Optional, d::RepeatCount.bounded(1)), s:: N3.use(600, r::Optional, d::RepeatCount.bounded(2)), s:: N4.use(700, r::Optional, d::RepeatCount.bounded(1)), s::PER.use(800, r::Optional, d::RepeatCount.bounded(1))), d::LoopDef.build("2200", d::RepeatCount.unbounded, s::TRN.use( 900, r::Optional, d::RepeatCount.bounded(1)), s::STC.use(1000, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(1100, r::Optional, d::RepeatCount.unbounded), s::DTP.use(1200, r::Optional, d::RepeatCount.bounded(2)), s::QTY.use(1210, r::Optional, d::RepeatCount.bounded(5)), s::AMT.use(1220, r::Optional, d::RepeatCount.bounded(5)), d::LoopDef.build("2210", d::RepeatCount.unbounded, s::PWK.use(1300, r::Optional, d::RepeatCount.bounded(1)), s::PER.use(1400, r::Optional, d::RepeatCount.bounded(1)), s:: N1.use(1500, r::Optional, d::RepeatCount.bounded(1)), s:: N3.use(1600, r::Optional, d::RepeatCount.bounded(1)), s:: N4.use(1700, r::Optional, d::RepeatCount.bounded(1))), d::LoopDef.build("2220", d::RepeatCount.unbounded, s::SVC.use(1800, r::Optional, d::RepeatCount.bounded(1)), s::STC.use(1900, r::Optional, d::RepeatCount.unbounded), s::REF.use(2000, r::Optional, d::RepeatCount.bounded(1)), s::DTP.use(2100, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("2225", d::RepeatCount.unbounded, s::PWK.use(2200, r::Optional, d::RepeatCount.bounded(1)), s::PER.use(2300, r::Optional, d::RepeatCount.bounded(1)), s:: N1.use(2400, r::Optional, d::RepeatCount.bounded(1)), s:: N2.use(2500, r::Optional, d::RepeatCount.bounded(1)), s:: N3.use(2600, r::Optional, d::RepeatCount.bounded(1)))))), s:: SE.use(2700, r::Mandatory, d::RepeatCount.bounded(1))))
- HP835 =
b.build("HP", "835", "Health Care Claim Payment/Advice", d::TableDef.header("1 - Header", s:: ST.use(100, r::Mandatory, d::RepeatCount.bounded(1)), s::BPR.use(200, r::Mandatory, d::RepeatCount.bounded(1)), s::NTE.use(300, r::Optional, d::RepeatCount.unbounded), s::TRN.use(400, r::Optional, d::RepeatCount.bounded(1)), s::CUR.use(500, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(600, r::Optional, d::RepeatCount.unbounded), s::DTM.use(700, r::Optional, d::RepeatCount.unbounded), d::LoopDef.build("1000", d::RepeatCount.bounded(200), s:: N1.use( 800, r::Optional, d::RepeatCount.bounded(1)), s:: N2.use( 900, r::Optional, d::RepeatCount.unbounded), s:: N3.use(1000, r::Optional, d::RepeatCount.unbounded), s:: N4.use(1100, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(1200, r::Optional, d::RepeatCount.unbounded), s::PER.use(1300, r::Optional, d::RepeatCount.unbounded), s::RDM.use(1400, r::Optional, d::RepeatCount.bounded(1)), s::DTM.use(1500, r::Optional, d::RepeatCount.bounded(1)))), d::TableDef.detail("2 - Detail", d::LoopDef.build("2000", d::RepeatCount.unbounded, s:: LX.use(30, r::Optional, d::RepeatCount.bounded(1)), s::TS3.use(50, r::Optional, d::RepeatCount.bounded(1)), s::TS2.use(70, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("2100", d::RepeatCount.unbounded, s::CLP.use(100, r::Mandatory, d::RepeatCount.bounded(1)), s::CAS.use(200, r::Optional, d::RepeatCount.bounded(99)), s::NM1.use(300, r::Mandatory, d::RepeatCount.bounded(9)), s::MIA.use(330, r::Optional, d::RepeatCount.bounded(1)), s::MOA.use(350, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(400, r::Optional, d::RepeatCount.bounded(99)), s::DTM.use(500, r::Optional, d::RepeatCount.bounded(9)), s::PER.use(600, r::Optional, d::RepeatCount.bounded(3)), s::AMT.use(620, r::Optional, d::RepeatCount.bounded(20)), s::QTY.use(640, r::Optional, d::RepeatCount.bounded(20)), d::LoopDef.build("2110", d::RepeatCount.bounded(999), s::SVC.use( 700, r::Optional, d::RepeatCount.bounded(1)), s::DTM.use( 800, r::Optional, d::RepeatCount.bounded(9)), s::CAS.use( 900, r::Optional, d::RepeatCount.bounded(99)), s::REF.use(1000, r::Optional, d::RepeatCount.bounded(99)), s::AMT.use(1100, r::Optional, d::RepeatCount.bounded(20)), s::QTY.use(1200, r::Optional, d::RepeatCount.bounded(20)), s:: LQ.use(1300, r::Optional, d::RepeatCount.bounded(99)))))), d::TableDef.summary("3 - Summary", s::PLB.use(100, r::Optional, d::RepeatCount.unbounded), s:: SE.use(200, r::Mandatory, d::RepeatCount.bounded(1))))
- HR276 =
b.build("HR", "276", "Health Care Claim Status Request", d::TableDef.header("1 - Header", s:: ST.use(100, r::Mandatory, d::RepeatCount.bounded(1)), s::BHT.use(200, r::Mandatory, d::RepeatCount.bounded(1)), s::REF.use(300, r::Optional, d::RepeatCount.bounded(10)), d::LoopDef.build("1000", d::RepeatCount.unbounded, s::NM1.use(400, r::Optional, d::RepeatCount.bounded(1)), s:: N2.use(500, r::Optional, d::RepeatCount.bounded(2)), s:: N3.use(600, r::Optional, d::RepeatCount.bounded(2)), s:: N4.use(700, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(800, r::Optional, d::RepeatCount.bounded(2)), s::PER.use(900, r::Optional, d::RepeatCount.bounded(1)))), d::TableDef.detail("2 - Detail", d::LoopDef.build("2000", d::RepeatCount.unbounded, s:: HL.use(100, r::Mandatory, d::RepeatCount.bounded(1)), s::SBR.use(200, r::Optional, d::RepeatCount.bounded(1)), s::PAT.use(300, r::Optional, d::RepeatCount.bounded(1)), s::DMG.use(400, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("2100", d::RepeatCount.unbounded, s::NM1.use(500, r::Optional, d::RepeatCount.bounded(1)), s:: N3.use(600, r::Optional, d::RepeatCount.bounded(2)), s:: N4.use(700, r::Optional, d::RepeatCount.bounded(1)), s::PER.use(800, r::Optional, d::RepeatCount.bounded(1))), d::LoopDef.build("2200", d::RepeatCount.unbounded, s::TRN.use( 900, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(1000, r::Optional, d::RepeatCount.bounded(9)), s::AMT.use(1100, r::Optional, d::RepeatCount.bounded(1)), s::DTP.use(1200, r::Optional, d::RepeatCount.bounded(2)), d::LoopDef.build("2210", d::RepeatCount.unbounded, s::SVC.use(1300, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(1400, r::Optional, d::RepeatCount.bounded(1)), s::DTP.use(1500, r::Optional, d::RepeatCount.bounded(1))))), s:: SE.use(1600, r::Mandatory, d::RepeatCount.bounded(1))))
- HS270 =
b.build("HS", "270", "Eligibility, Coverage, or Benefit Inquiry", d::TableDef.header("1 - Header", s:: ST.use(100, r::Mandatory, d::RepeatCount.bounded(1)), s::BHT.use(200, r::Mandatory, d::RepeatCount.bounded(1))), d::TableDef.detail("2 - Detail", d::LoopDef.build("2000", d::RepeatCount.unbounded, s:: HL.use( 100, r::Mandatory, d::RepeatCount.bounded(1)), s::TRN.use( 200, r::Optional, d::RepeatCount.bounded(9)), d::LoopDef.build("2100", d::RepeatCount.unbounded, s::NM1.use( 300, r::Mandatory, d::RepeatCount.bounded(1)), s::REF.use( 400, r::Optional, d::RepeatCount.bounded(9)), s:: N2.use( 500, r::Optional, d::RepeatCount.bounded(1)), s:: N3.use( 600, r::Optional, d::RepeatCount.bounded(1)), s:: N4.use( 700, r::Optional, d::RepeatCount.bounded(1)), s::PER.use( 800, r::Optional, d::RepeatCount.bounded(3)), s::PRV.use( 900, r::Optional, d::RepeatCount.bounded(1)), s::DMG.use(1000, r::Optional, d::RepeatCount.bounded(1)), s::INS.use(1100, r::Optional, d::RepeatCount.bounded(1)), s:: HI.use(1150, r::Optional, d::RepeatCount.bounded(1)), s::DTP.use(1200, r::Optional, d::RepeatCount.bounded(9)), s::MPI.use(1250, r::Optional, d::RepeatCount.bounded(9)), d::LoopDef.build("2110", d::RepeatCount.bounded(99), s:: EQ.use(1300, r::Optional, d::RepeatCount.bounded(1)), s::AMT.use(1350, r::Optional, d::RepeatCount.bounded(2)), s::VEH.use(1400, r::Optional, d::RepeatCount.bounded(1)), s::PDR.use(1500, r::Optional, d::RepeatCount.bounded(1)), s::PDP.use(1600, r::Optional, d::RepeatCount.bounded(1)), s::III.use(1700, r::Optional, d::RepeatCount.bounded(10)), s::REF.use(1900, r::Optional, d::RepeatCount.bounded(1)), s::DTP.use(2000, r::Optional, d::RepeatCount.bounded(9))))), s:: SE.use(2100, r::Mandatory, d::RepeatCount.bounded(1))))
- RA820 =
b.build("RA", "820", "Payment Order/Remittance Advice", d::TableDef.header("1 - Header", s:: ST.use(100, r::Mandatory, d::RepeatCount.bounded(1)), #::BHT.use(200, r::Mandatory, d::RepeatCount.bounded(1)), s::BPR.use(200, r::Mandatory, d::RepeatCount.bounded(1)), s::NTE.use(300, r::Optional, d::RepeatCount.unbounded), s::TRN.use(350, r::Optional, d::RepeatCount.bounded(1)), s::CUR.use(400, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(500, r::Optional, d::RepeatCount.unbounded), s::DTM.use(600, r::Optional, d::RepeatCount.unbounded), d::LoopDef.build("N1", d::RepeatCount.unbounded, s:: N1.use( 700, r::Optional, d::RepeatCount.bounded(1)), s:: N2.use( 800, r::Optional, d::RepeatCount.unbounded), s:: N3.use( 900, r::Optional, d::RepeatCount.unbounded), s:: N4.use(1000, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(1100, r::Optional, d::RepeatCount.unbounded), s::PER.use(1200, r::Optional, d::RepeatCount.unbounded), s::RDM.use(1300, r::Optional, d::RepeatCount.bounded(1)), s::DTM.use(1400, r::Optional, d::RepeatCount.bounded(1)))), d::TableDef.detail("2 - Detail", d::LoopDef.build("ENT", d::RepeatCount.unbounded, s::ENT.use( 100, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("ENT/FA1", d::RepeatCount.unbounded, s::FA1.use( 150, r::Optional, d::RepeatCount.bounded(1)), s::FA2.use( 160, r::Mandatory, d::RepeatCount.unbounded)), d::LoopDef.build("ENT/NM1", d::RepeatCount.unbounded, s::NM1.use( 200, r::Optional, d::RepeatCount.bounded(1)), s:: N2.use( 300, r::Optional, d::RepeatCount.unbounded), s:: N3.use( 400, r::Optional, d::RepeatCount.unbounded), s:: N4.use( 500, r::Optional, d::RepeatCount.bounded(1)), s::REF.use( 600, r::Optional, d::RepeatCount.unbounded), s::PER.use( 700, r::Optional, d::RepeatCount.unbounded)), d::LoopDef.build("ENT/ADX", d::RepeatCount.unbounded, s::ADX.use( 800, r::Optional, d::RepeatCount.bounded(1)), s::NTE.use( 900, r::Optional, d::RepeatCount.unbounded), s::PER.use(1000, r::Optional, d::RepeatCount.unbounded), s::DTM.use(1050, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("ENT/ADX/REF", d::RepeatCount.unbounded, s::REF.use(1100, r::Optional, d::RepeatCount.bounded(1)), s::DTM.use(1200, r::Optional, d::RepeatCount.unbounded)), d::LoopDef.build("ENT/ADX/IT1", d::RepeatCount.unbounded, s::IT1.use(1300, r::Optional, d::RepeatCount.bounded(1)), s::RPA.use(1310, r::Optional, d::RepeatCount.bounded(1)), s::QTY.use(1320, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("ENT/ADX/IT1/REF", d::RepeatCount.unbounded, s::REF.use(1400, r::Optional, d::RepeatCount.bounded(1)), s::DTM.use(1410, r::Optional, d::RepeatCount.bounded(1))), d::LoopDef.build("ENT/ADX/IT1/SAC", d::RepeatCount.unbounded, s::SAC.use(1420, r::Optional, d::RepeatCount.bounded(1)), s::TXI.use(1430, r::Optional, d::RepeatCount.unbounded), s::DTM.use(1440, r::Optional, d::RepeatCount.bounded(10))), d::LoopDef.build("ENT/ADX/IT1/SLN", d::RepeatCount.unbounded, s::SLN.use(1450, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("ENT/ADX/IT1/SLN/REF", d::RepeatCount.unbounded, s::REF.use(1460, r::Optional, d::RepeatCount.bounded(1)), s::DTM.use(1470, r::Optional, d::RepeatCount.unbounded)), d::LoopDef.build("ENT/ADX/IT1/SLN/SAC", d::RepeatCount.unbounded, s::SAC.use(1480, r::Optional, d::RepeatCount.bounded(1)), s::TXI.use(1490, r::Optional, d::RepeatCount.unbounded)))), d::LoopDef.build("ENT/ADX/FA1", d::RepeatCount.unbounded, s::FA1.use(1495, r::Optional, d::RepeatCount.bounded(1)), s::FA2.use(1496, r::Mandatory, d::RepeatCount.bounded(1)))), d::LoopDef.build("ENT/RMR", d::RepeatCount.unbounded, s::RMR.use(1500, r::Optional, d::RepeatCount.bounded(1)), s::NTE.use(1600, r::Optional, d::RepeatCount.unbounded), s::REF.use(1700, r::Optional, d::RepeatCount.unbounded), s::DTM.use(1800, r::Optional, d::RepeatCount.unbounded), s::VEH.use(1850, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("ENT/RMR/IT1", d::RepeatCount.unbounded, s::IT1.use(1900, r::Optional, d::RepeatCount.bounded(1)), s::RPA.use(1920, r::Optional, d::RepeatCount.bounded(1)), s::QTY.use(1940, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("ENT/RMR/IT1/REF", d::RepeatCount.unbounded, s::REF.use(2000, r::Optional, d::RepeatCount.bounded(1)), s::DTM.use(2010, r::Optional, d::RepeatCount.bounded(1))), d::LoopDef.build("ENT/RMR/IT1/SAC", d::RepeatCount.unbounded, s::SAC.use(2020, r::Optional, d::RepeatCount.bounded(1)), s::TXI.use(2030, r::Optional, d::RepeatCount.unbounded)), d::LoopDef.build("ENT/RMR/IT1/SLN", d::RepeatCount.unbounded, s::SLN.use(2040, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("ENT/RMR/IT1/SLN/REF", d::RepeatCount.unbounded, s::REF.use(2050, r::Optional, d::RepeatCount.bounded(1)), s::DTM.use(2060, r::Optional, d::RepeatCount.unbounded)), d::LoopDef.build("ENT/RMR/IT1/SLN/SAC", d::RepeatCount.unbounded, s::SAC.use(2070, r::Optional, d::RepeatCount.bounded(1)), s::TXI.use(2080, r::Optional, d::RepeatCount.unbounded)))), d::LoopDef.build("ENT/RMR/ADX", d::RepeatCount.unbounded, s::ADX.use(2100, r::Optional, d::RepeatCount.bounded(1)), s::NTE.use(2200, r::Optional, d::RepeatCount.unbounded), s::PER.use(2300, r::Optional, d::RepeatCount.unbounded), d::LoopDef.build("ENT/RMR/ADX/REF", d::RepeatCount.unbounded, s::REF.use(2400, r::Optional, d::RepeatCount.bounded(1)), s::DTM.use(2500, r::Optional, d::RepeatCount.unbounded)), d::LoopDef.build("ENT/RMR/ADX/IT1", d::RepeatCount.unbounded, s::IT1.use(2600, r::Optional, d::RepeatCount.bounded(1)), s::RPA.use(2610, r::Optional, d::RepeatCount.bounded(1)), s::QTY.use(2620, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("ENT/RMR/ADX/IT1/REF", d::RepeatCount.unbounded, s::REF.use(2700, r::Optional, d::RepeatCount.bounded(1)), s::DTM.use(2710, r::Optional, d::RepeatCount.bounded(1))), d::LoopDef.build("ENT/RMR/ADX/IT1/SAC", d::RepeatCount.unbounded, s::SAC.use(2720, r::Optional, d::RepeatCount.bounded(1)), s::TXI.use(2730, r::Optional, d::RepeatCount.unbounded), s::DTM.use(2740, r::Optional, d::RepeatCount.bounded(10)))), d::LoopDef.build("ENT/RMR/ADX/IT1/SLN", d::RepeatCount.unbounded, s::SLN.use(2750, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("ENT/RMR/ADX/IT1/SLN/REF", d::RepeatCount.unbounded, s::REF.use(2760, r::Optional, d::RepeatCount.bounded(1)), s::DTM.use(2770, r::Optional, d::RepeatCount.unbounded)), d::LoopDef.build("ENT/RMR/ADX/IT1/SLN/SAC", d::RepeatCount.unbounded, s::SAC.use(2780, r::Optional, d::RepeatCount.bounded(1)), s::TXI.use(2790, r::Optional, d::RepeatCount.unbounded)))), d::LoopDef.build("ENT/RMR/FA1", d::RepeatCount.unbounded, s::FA1.use(2795, r::Optional, d::RepeatCount.bounded(1)), s::FA2.use(2796, r::Optional, d::RepeatCount.unbounded))), d::LoopDef.build("TXP", d::RepeatCount.unbounded, s::TXP.use(2800, r::Optional, d::RepeatCount.bounded(1)), s::TXI.use(2850, r::Optional, d::RepeatCount.unbounded), s::REF.use(2855, r::Optional, d::RepeatCount.unbounded), s::DTM.use(2860, r::Optional, d::RepeatCount.unbounded)), d::LoopDef.build("DED", d::RepeatCount.unbounded, s::DED.use(2870, r::Optional, d::RepeatCount.bounded(1))), d::LoopDef.build("LX", d::RepeatCount.unbounded, s:: LX.use(2900, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(2950, r::Optional, d::RepeatCount.unbounded), s::TRN.use(3000, r::Optional, d::RepeatCount.unbounded), d::LoopDef.build("LX/NM1", d::RepeatCount.unbounded, s::NM1.use(3050, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(3100, r::Optional, d::RepeatCount.unbounded), s::G53.use(3150, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("LX/NM1/AIN", d::RepeatCount.unbounded, s::AIN.use(3200, r::Optional, d::RepeatCount.bounded(1)), s::QTY.use(3250, r::Optional, d::RepeatCount.unbounded), s::DTP.use( 330, r::Optional, d::RepeatCount.unbounded)), d::LoopDef.build("LX/NM1/PEN", d::RepeatCount.unbounded, s::PEN.use(3350, r::Optional, d::RepeatCount.bounded(1)), s::AMT.use(3400, r::Optional, d::RepeatCount.unbounded), s::DTP.use(3450, r::Optional, d::RepeatCount.unbounded), d::LoopDef.build("LX/NM1/PEN/INV", d::RepeatCount.unbounded, s::INV.use(3500, r::Optional, d::RepeatCount.bounded(1)), s::DTP.use(3550, r::Optional, d::RepeatCount.unbounded))))), d::LoopDef.build("N9", d::RepeatCount.unbounded, s:: N9.use(3600, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(3650, r::Optional, d::RepeatCount.unbounded), d::LoopDef.build("N9/AMT", d::RepeatCount.unbounded, s::AMT.use(3700, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(3800, r::Optional, d::RepeatCount.unbounded)), d::LoopDef.build("N9/N1", d::RepeatCount.unbounded, s:: N1.use(3900, r::Optional, d::RepeatCount.bounded(1)), s::REF.use(4000, r::Optional, d::RepeatCount.unbounded), d::LoopDef.build("N9/N1/EMS", d::RepeatCount.unbounded, s::EMS.use(4100, r::Optional, d::RepeatCount.bounded(1)), s::ATN.use(4200, r::Optional, d::RepeatCount.unbounded), s::AIN.use(4300, r::Optional, d::RepeatCount.unbounded), s::PYD.use(4400, r::Optional, d::RepeatCount.unbounded)))), d::LoopDef.build("RYL", d::RepeatCount.unbounded, s::RYL.use(4500, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("RYL/NM1", d::RepeatCount.unbounded, s::NM1.use(4600, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("RYL/NM1/LOC", d::RepeatCount.unbounded, s::LOC.use(4700, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("RYL/NM1/LOC/PID", d::RepeatCount.unbounded, s::PID.use(4800, r::Optional, d::RepeatCount.bounded(1)), s::DTM.use(4900, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("RYL/NM1/LOC/PID/PCT", d::RepeatCount.unbounded, s::PCT.use(5000, r::Optional, d::RepeatCount.bounded(1)), s::QTY.use(5100, r::Optional, d::RepeatCount.bounded(1)), d::LoopDef.build("RYL/NM1/LOC/PID/PCT/AMT", d::RepeatCount.unbounded, s::AMT.use(5200, r::Optional, d::RepeatCount.bounded(1)), s::ADX.use(5300, r::Optional, d::RepeatCount.unbounded))))), d::LoopDef.build("RYL/NM1/ASM", d::RepeatCount.unbounded, s::ASM.use(5400, r::Optional, d::RepeatCount.bounded(1)), s::ADX.use(5500, r::Optional, d::RepeatCount.bounded(1))))))), d::TableDef.summary("3 - Summary", s:: SE.use( 100, r::Mandatory, d::RepeatCount.bounded(1))))
- SO317 =
317 Delivery/Pickup Order
This transaction set demonstrates interleaved segments and loops: Loop N1 is followed by segments G62, N9, TD5, then Loop L0.
b.build("SO", "317", "Delivery/Pickup Order", d::TableDef.header("Heading", s::ST .use(100, r::Mandatory, d::RepeatCount.bounded(1)), d::LoopDef.build("N1", d::RepeatCount.bounded(10), s::N1 .use(200, r::Mandatory, d::RepeatCount.bounded(1)), s::N2 .use(300, r::Optional, d::RepeatCount.bounded(1)), s::N3 .use(400, r::Optional, d::RepeatCount.bounded(1)), s::N4 .use(500, r::Optional, d::RepeatCount.bounded(1)), s::G61.use(600, r::Optional, d::RepeatCount.bounded(1))), # These segments appear AFTER Loop N1 but BEFORE Loop L0 # This is the interleaved pattern that was previously unsupported s::G62.use(800, r::Mandatory, d::RepeatCount.bounded(1)), s::N9 .use(900, r::Mandatory, d::RepeatCount.bounded(1)), s::TD5.use(1000, r::Mandatory, d::RepeatCount.bounded(1)), d::LoopDef.build("L0", d::RepeatCount.bounded(9999), s::L0.use(1100, r::Mandatory, d::RepeatCount.bounded(1)), s::L5.use(1200, r::Optional, d::RepeatCount.bounded(1)), s::H1.use(1300, r::Optional, d::RepeatCount.bounded(1))), s::SE .use(1400, r::Mandatory, d::RepeatCount.bounded(1))))