stupidedi 1.2.16 → 1.2.17

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.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +0 -12
  3. data/bin/edi-pp +2 -12
  4. data/lib/stupidedi/builder/generation.rb +2 -6
  5. data/lib/stupidedi/builder/states/failure_state.rb +5 -13
  6. data/lib/stupidedi/config.rb +5 -0
  7. data/lib/stupidedi/editor.rb +1 -0
  8. data/lib/stupidedi/guides/005010/X279-HB271.rb +832 -0
  9. data/lib/stupidedi/guides/005010/X279-HS270.rb +594 -0
  10. data/lib/stupidedi/guides/005010/X279A1-HB271.rb +845 -0
  11. data/lib/stupidedi/guides/005010/X279A1-HS270.rb +594 -0
  12. data/lib/stupidedi/guides/005010.rb +9 -0
  13. data/lib/stupidedi/version.rb +1 -1
  14. data/lib/stupidedi/versions/functional_groups/005010/element_defs.rb +619 -9
  15. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/AAA.rb +22 -0
  16. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/EB.rb +34 -0
  17. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/EQ.rb +25 -0
  18. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/HSD.rb +29 -0
  19. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/III.rb +31 -0
  20. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/MPI.rb +27 -0
  21. data/lib/stupidedi/versions/functional_groups/005010/segment_defs/MSG.rb +23 -0
  22. data/lib/stupidedi/versions/functional_groups/005010/segment_defs.rb +22 -4
  23. data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/HB271.rb +14 -13
  24. data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs/HS270.rb +13 -12
  25. data/lib/stupidedi/versions/functional_groups/005010/transaction_set_defs.rb +4 -4
  26. metadata +12 -1
@@ -36,6 +36,7 @@ module Stupidedi
36
36
  "BS" => "Blue Shield Provider Number",
37
37
  "C" => "Insured's Changed Unique Identification Number",
38
38
  "CF" => s::CodeList.external("91"),
39
+ "FA" => "Facility Identification",
39
40
  "FI" => "Federal Taxpayer's Identification Number",
40
41
  "HN" => "Health Insurance Claim (HIC) Number",
41
42
  "II" => "Standard Unique Health Identifier for each Individual in the United States",
@@ -64,9 +65,12 @@ module Stupidedi
64
65
  E98 = t::ID.new(:E98 , "Entity Identifier Code" , 2, 3,
65
66
  s::CodeList.build(
66
67
  "03" => "Dependent",
68
+ "13" => "Contracted Service Provider",
69
+ "1I" => "Preferred Provider Organization (PPO)",
67
70
  "1P" => "Provider",
68
71
  "1X" => "Laboratory",
69
72
  "1Z" => "Home Health Care",
73
+ "2B" => "Third-Party Administrator",
70
74
  "31" => "Postal Mailing Address",
71
75
  "36" => "Employer",
72
76
  "3D" => "Obstetrics and Gynecology Facility",
@@ -97,9 +101,11 @@ module Stupidedi
97
101
  "EXS" => "Ex-spouse",
98
102
  "FA" => "Facility",
99
103
  "GB" => "Other Insured",
104
+ "GP" => "Gateway Provider",
100
105
  "GD" => "Guardian",
101
106
  "GW" => "Group",
102
107
  "HK" => "Subscriber",
108
+ "I3" => "Independent Physicians Association (IPA)",
103
109
  "IL" => "Insured or Subscriber",
104
110
  "IN" => "Insurer",
105
111
  "J6" => "Power of Attorney",
@@ -107,8 +113,10 @@ module Stupidedi
107
113
  "LR" => "Legal Representative",
108
114
  "M8" => "Educational Institution",
109
115
  "MSC" => "Mammography Screening Center",
116
+ "OC" => "Origin Carrier",
110
117
  "OD" => "Doctor of Optometry",
111
118
  "P3" => "Primary Care Provider",
119
+ "P4" => "Prior Insurance Carrier",
112
120
  "P5" => "Plan Sponsor",
113
121
  "PE" => "Payee",
114
122
  "PR" => "Payer",
@@ -128,6 +136,10 @@ module Stupidedi
128
136
  "TTP" => "Tertiary Payer",
129
137
  "TU" => "Third Party Repricing Organization (TPO)",
130
138
  "TV" => "Third Party Administrator (TPA)",
139
+ "VER" => "Party Performing Verification",
140
+ "VN" => "Vendor",
141
+ "VY" => "Organization Completing Configuration Change",
142
+ "X3" => "Utilitazion Management Origanization",
131
143
  "Y2" => "Managed Care Organization",
132
144
  "X4" => "Spouse",
133
145
  "ZZ" => "Mutually Defined"))
@@ -173,6 +185,7 @@ module Stupidedi
173
185
  "3L" => "Branch Identifier",
174
186
  "4A" => "Personal Identification Number (PIN)",
175
187
  "4N" => "Special Payment Reference Number",
188
+ "49" => "Family Unit Number",
176
189
  "60" => "Account Suffix Code",
177
190
  "6M" => "Application Number",
178
191
  "6O" => "Cross Reference Number",
@@ -183,16 +196,20 @@ module Stupidedi
183
196
  "9C" => "Adjusted Repriced Claim Reference Number",
184
197
  "9D" => "Adjusted Repriced Line Item Reference Number",
185
198
  "9F" => "Referral Number",
199
+ "9K" => "Servicer",
186
200
  "9V" => "Payment Category",
187
201
  "9X" => "Account Category",
188
202
  "ABB" => "Personal ID Number",
189
203
  "ABY" => s::CodeList.external("540"),
204
+ "ALS" => "Alternative List ID",
190
205
  "AP" => "Ambulatory Payment Classification",
191
206
  "APC" => s::CodeList.external("468"),
192
207
  "BB" => "Authorization Number",
193
208
  "BLT" => "Billing Type",
194
209
  "BT" => "Batch Number",
195
210
  "CE" => "Class of Contract Code",
211
+ "CLI" => "Coverage List ID",
212
+ "CT" => "Contract Number",
196
213
  "CPT" => s::CodeList.external("133"),
197
214
  "D3" => s::CodeList.external("307"),
198
215
  "D9" => "Claim Number",
@@ -202,7 +219,9 @@ module Stupidedi
202
219
  "E8" => "Service Contract (Coverage) Number",
203
220
  "E9" => "Attachment Code",
204
221
  "EA" => "Medical Record Identification Number",
222
+ "EL" => "Electronic Device PIN Number",
205
223
  "EI" => "Employer's Identification Number",
224
+ "EJ" => "Patient Account Number",
206
225
  "EO" => "Submitter Identification Number",
207
226
  "EV" => "Receiver Identification Number",
208
227
  "EW" => "Mammography Certification Number",
@@ -212,22 +231,31 @@ module Stupidedi
212
231
  "F6" => "Health Insurance Claim (HIC) Number",
213
232
  "F8" => "Original Reference Number",
214
233
  "FJ" => "Line Item Control Number",
234
+ "FO" => "Drug Formulary Number",
215
235
  "FY" => "Claim Office Number",
216
236
  "G1" => "Prior Authorization Number",
217
237
  "G2" => "Provider Commercial Number",
218
238
  "G3" => "Predetermination of Benefits Identification Number",
239
+ "GH" => "Identification Card Serial Number",
219
240
  "G4" => "Peer Review Organization (PRO) Approval Number",
220
241
  "GE" => "Geographic Number",
221
242
  "HI" => s::CodeList.external("121"),
243
+ "HJ" => "Identity Card Number",
222
244
  "HPI" => s::CodeList.external("537"),
223
245
  "ICD" => s::CodeList.external("131"),
246
+ "IF" => "Issue Number",
224
247
  "IG" => "Insurance Policy Number",
248
+ "JD" => "User Identification",
225
249
  "LOI" => s::CodeList.external("663"),
226
250
  "LU" => "Location Number",
227
251
  "LX" => "Qualified Products List",
228
252
  "M7" => "Medical Assistance Category",
229
253
  "MRC" => s::CodeList.external("844"),
254
+ "N5" => "Provider Plan Network Identification Number",
255
+ "N6" => "Plan Network Identification Number",
256
+ "N7" => "Facitily Network Identification Number",
230
257
  "NF" => s::CodeList.external("245"),
258
+ "NQ" => "Medicaid Recipient Identification Number",
231
259
  "P4" => "Project Code",
232
260
  "P5" => "Position Code",
233
261
  "PID" => "Program Identification Number",
@@ -254,6 +282,8 @@ module Stupidedi
254
282
  E142 = t::AN.new(:E142 , "Application's Sender Code" , 2, 15)
255
283
  E143 = t::ID.new(:E143 , "Transaction Set Identifier Number" , 3, 3,
256
284
  s::CodeList.build(
285
+ "270" => "Eligibility, Coverage, or Benefit Inquiry",
286
+ "271" => "Eligibility, Coverage, or Benefit Information",
257
287
  "277" => "Health Care Information Status Notification",
258
288
  "834" => "Benefit Enrollment and Maintenance",
259
289
  "835" => "Health Care Claim Payment/Advice",
@@ -341,8 +371,12 @@ module Stupidedi
341
371
  E353 = t::ID.new(:E353 , "Transaction Set Purpose Code" , 2, 2,
342
372
  s::CodeList.build(
343
373
  "00" => "Original",
374
+ "01" => "Cancellation",
375
+ "06" => "Confirmation",
344
376
  "08" => "Status",
345
377
  "15" => "Re-Submission",
378
+ "11" => "Response",
379
+ "13" => "Request",
346
380
  "18" => "Reissue",
347
381
  "22" => "Information Copy"))
348
382
 
@@ -358,7 +392,10 @@ module Stupidedi
358
392
  "MJ" => "Minutes",
359
393
  "ML" => "Milliliter",
360
394
  "MO" => "Months",
361
- "UN" => "Units"))
395
+ "UN" => "Units",
396
+ "WK" => "Week",
397
+ "VS" => "Visit",
398
+ "YR" => "Years"))
362
399
 
363
400
  E363 = t::ID.new(:E363 , "Note Reference Code" , 3, 3,
364
401
  s::CodeList.build(
@@ -386,6 +423,7 @@ module Stupidedi
386
423
  "AP" => "Alternate Telephone",
387
424
  "BN" => "Beeper Number",
388
425
  "CP" => "Cellular Phone",
426
+ "ED" => "Electronic Data Interchange Access Number",
389
427
  "EM" => "Electronic Mail",
390
428
  "EX" => "Telephone Extension",
391
429
  "FX" => "Facsimile",
@@ -417,27 +455,41 @@ module Stupidedi
417
455
  "090" => "Report Start",
418
456
  "091" => "Report End",
419
457
  "096" => "Discharge",
458
+ "102" => "Issue",
420
459
  "150" => "Service Period Start",
421
460
  "151" => "Service Period End",
461
+ "152" => "Effective Date of Change",
462
+ "193" => "Period Start",
463
+ "194" => "Period End",
464
+ "198" => "Completion",
422
465
  "232" => "Claim Statement Period Start",
423
466
  "233" => "Claim Statement Period End",
424
467
  "286" => "Retirement",
468
+ "290" => "Coordination of Benefits",
469
+ "291" => "Plan",
470
+ "292" => "Benefit",
471
+ "295" => "Primary Care Provider",
425
472
  "296" => "Initial Disability Period Return To Work",
426
473
  "297" => "Initial Disability Period Last Day Worked",
427
474
  "300" => "Enrollment Signature Date",
428
475
  "301" => "Consolidated Omnibus Budget Reconciliation Act (COBRA) Qualifying Event",
429
476
  "303" => "Maintenance Effective",
430
477
  "304" => "Latest Visit or Consultation",
478
+ "307" => "Eligibility",
431
479
  "314" => "Disability",
480
+ "318" => "Added",
432
481
  "336" => "Employment Begin",
433
482
  "337" => "Employment End",
434
483
  "338" => "Medicare Begin",
435
484
  "339" => "Medicare End",
436
485
  "340" => "Consolidated Omnibus Budget Reconciliation Act (COBRA) Begin",
437
486
  "341" => "Consolidated Omnibus Budget Reconciliation Act (COBRA) End",
487
+ "342" => "Premium Paid to Date Begin",
438
488
  "343" => "Premium Paid to Date End",
439
489
  "344" => "Coordination of Benefits Begin",
440
490
  "345" => "Coordination of Benefits End",
491
+ "346" => "Plan Begin",
492
+ "347" => "Plan End",
441
493
  "348" => "Benefit Begin",
442
494
  "349" => "Benefit End",
443
495
  "350" => "Education Begin",
@@ -458,10 +510,12 @@ module Stupidedi
458
510
  "434" => "Statement",
459
511
  "435" => "Admission",
460
512
  "439" => "Accident",
513
+ "442" => "Date of Birth",
461
514
  "444" => "First Visit or Consultation",
462
515
  "453" => "Acute Manifestation of a Chronic Condition",
463
516
  "454" => "Initial Treatment",
464
517
  "455" => "Last X-Ray",
518
+ "458" => "Certification",
465
519
  "461" => "Last Certification",
466
520
  "463" => "Begin Therapy",
467
521
  "471" => "Prescription",
@@ -469,12 +523,16 @@ module Stupidedi
469
523
  "473" => "Medicaid Begin",
470
524
  "474" => "Medicaid End",
471
525
  "484" => "Last Menstrual Period",
526
+ "539" => "Policy Effective",
527
+ "540" => "Policy Expiration",
472
528
  "543" => "Last Premium Paid Date",
473
529
  "573" => "Date Claim Paid",
474
530
  "607" => "Certification Revision",
531
+ "636" => "Date of Last Update",
475
532
  "695" => "Previous Period",
476
533
  "738" => "Most Recent Hemoglobin or Hematocrit or Both",
477
- "739" => "Most Recent Serum Creatine"))
534
+ "739" => "Most Recent Serum Creatine",
535
+ "771" => "Status"))
478
536
 
479
537
  E380 = t:: R.new(:E380 , "Quantity" , 1, 15)
480
538
  E426 = t::ID.new(:E426 , "Adjustment Reason Code" , 2, 2,
@@ -539,6 +597,7 @@ module Stupidedi
539
597
  s::CodeList.build(
540
598
  "BE" => "Benefit Enrollment and Maintenance",
541
599
  "FA" => "Functional or Implementation Acknowledgment Transaction Sets",
600
+ "HB" => "Eligibility, Coverage or Benefit Inforation",
542
601
  "HC" => "Health Care Claim",
543
602
  "HI" => "Health Care Services Review Information",
544
603
  "HN" => "Health Care Information Status Notification",
@@ -594,6 +653,7 @@ module Stupidedi
594
653
  "N8" => "Miscellaneous Taxes",
595
654
  "NL" => "Negative Ledger Balance",
596
655
  "P3" => "Premium Amount",
656
+ "PB" => "Billed Amount",
597
657
  "R" => "Spend Down",
598
658
  "T" => "Tax",
599
659
  "T2" => "Total Claim Before Taxes",
@@ -618,11 +678,24 @@ module Stupidedi
618
678
  E584 = t::ID.new(:E584 , "Employment Status Code" , 2, 2,
619
679
  s::CodeList.build(
620
680
  "AC" => "Active",
681
+ "AE" => "",
621
682
  "AO" => "Active Military - Overseas",
622
683
  "AU" => "Active Military - USA",
684
+ "AS" => "",
685
+ "AT" => "",
686
+ "CC" => "",
687
+ "DD" => "",
688
+ "HD" => "",
689
+ "IR" => "",
623
690
  "FT" => "Full-time",
624
691
  "L1" => "Leave of Absence",
692
+ "LX" => "",
693
+ "PE" => "",
625
694
  "PT" => "Part-time",
695
+ "RE" => "",
696
+ "RM" => "",
697
+ "RR" => "",
698
+ "RU" => "",
626
699
  "RT" => "Retired",
627
700
  "TE" => "Terminated"))
628
701
 
@@ -645,6 +718,29 @@ module Stupidedi
645
718
  "U" => "Unknown"))
646
719
 
647
720
  E609 = t::Nn.new(:E609 , "Count" , 1, 9, 0)
721
+ E615 = t::ID.new(:E615 , "Time Period Qualifier" , 1, 2,
722
+ s::CodeList.build(
723
+ "6" => "Hour",
724
+ "7" => "Day",
725
+ "13" => "24 Hours",
726
+ "21" => "Years",
727
+ "22" => "Service Year",
728
+ "23" => "Calendar Year",
729
+ "24" => "Year to Date",
730
+ "25" => "Contract",
731
+ "26" => "Episode",
732
+ "27" => "Visit",
733
+ "28" => "Outlier",
734
+ "29" => "Remaining",
735
+ "30" => "Exceeded",
736
+ "31" => "Not Exceeded",
737
+ "32" => "Lifetime",
738
+ "33" => "Lifetime Remaining",
739
+ "34" => "Month",
740
+ "35" => "Week",
741
+ "36" => "Admission"))
742
+
743
+ E616 = t::Nn.new(:E616 , "Number of Periods" , 1, 3, 0)
648
744
  E618 = t::ID.new(:E618 , "Implementation Transaction Set Syntax Error Code", 1, 3,
649
745
  s::CodeList.build(
650
746
  "1" => "Transaction Set Not Supported",
@@ -724,6 +820,7 @@ module Stupidedi
724
820
  "NO" => "Notice",
725
821
  "RP" => "Reporting",
726
822
  "RQ" => "Request",
823
+ "RT" => "Spend Down",
727
824
  "TH" => "Receipt Acknowledgement Advice"))
728
825
 
729
826
  E648 = t::ID.new(:E648 , "Price Multiplier Qualifier" , 3, 3)
@@ -732,30 +829,111 @@ module Stupidedi
732
829
  E669 = t::ID.new(:E669 , "Currency Market/Exchnage Code" , 3, 3)
733
830
  E673 = t::ID.new(:E673 , "Quantity Qualifier" , 2, 2,
734
831
  s::CodeList.build(
832
+ "8H" => "Minimum",
735
833
  "90" => "Acknowledged Quantity",
834
+ "99" => "Quantity Used",
736
835
  "AA" => "Unacknowledged Quantity",
737
836
  "CA" => "Covered - Actual",
738
837
  "CD" => "Co-insured - Actual",
838
+ "CE" => "Covered - Estimated",
839
+ "D3" => "Number of Co-insurance Days",
840
+ "DB" => "Deductible Blood Units",
841
+ "DY" => "Days",
842
+ "FA" => "Facility Identification",
843
+ "FI" => "Federal Taxpayer's Identification Number",
739
844
  "DT" => "Dependent Total",
740
845
  "ET" => "Employee Total",
741
846
  "FL" => "Units",
847
+ "HS" => "Hours",
848
+ "II" => "Standard Unique Health Identifier For Each Individual In The United States",
742
849
  "LA" => "Life-time Reserve - Actual",
743
850
  "LE" => "Life-time Reserve - Estimated",
851
+ "M2" => "Maximum",
852
+ "MI" => "Member Identification Number",
853
+ "MN" => "Month",
744
854
  "NE" => "Non-Covered Amount - Estimated",
855
+ "NI" => "National Association of Insurance Commissioners (NAIC) Identification",
745
856
  "NR" => "Not Replaced Blood Units",
746
857
  "OU" => "Outlier Days",
858
+ "P6" => "Number of Services or Procedures",
859
+ "PI" => "Payor Identification",
860
+ "PP" => "Pharmacy Processor Number",
747
861
  "PS" => "Prescription",
748
862
  "PT" => "Patients",
749
863
  "QA" => "Quantity Approved",
750
864
  "QC" => "Quantity Disapproved",
865
+ "S7" => "Age, High Value",
866
+ "S8" => "Age, Low Value",
867
+ "SV" => "Service Provider Number",
751
868
  "TO" => "Total",
752
869
  "VS" => "Visits",
870
+ "XV" => s::CodeList.external("540"),
871
+ "XX" => s::CodeList.external("537"),
872
+ "YY" => "Years",
753
873
  "ZK" => "Federal Medicare or Medicaid Payment Mandate Category 1",
754
874
  "ZL" => "Federal Medicare or Medicaid Payment Mandate Category 2",
755
875
  "ZM" => "Federal Medicare or Medicaid Payment Mandate Category 3",
756
876
  "ZN" => "Federal Medicare or Medicaid Payment Mandate Category 4",
757
877
  "ZO" => "Federal Medicare or Medicaid Payment Mandate Category 5"))
758
878
 
879
+ E678 = t::ID.new(:E678 , "Ship/Delivery or Calendar Pattern Code", 1, 2,
880
+ s::CodeList.build(
881
+ "1" => "1st Week of the Month",
882
+ "2" => "2nd Week of the Month",
883
+ "3" => "3rd Week of the Month",
884
+ "4" => "4th Week of the Month",
885
+ "5" => "5th Week of the Month",
886
+ "6" => "1st & 3rd Weeks of the Month",
887
+ "7" => "2nd & 4th Weeks of the Month",
888
+ "8" => "1st Working Day of Period",
889
+ "9" => "Last Working Day of Period",
890
+ "A" => "Monday through Friday",
891
+ "B" => "Monday through Saturday",
892
+ "C" => "Monday through Sunday",
893
+ "D" => "Monday",
894
+ "E" => "Tuesday",
895
+ "F" => "Wednesday",
896
+ "G" => "Thursday",
897
+ "H" => "Friday",
898
+ "J" => "Saturday",
899
+ "K" => "Sunday",
900
+ "L" => "Monday through Thursday",
901
+ "M" => "Immediately",
902
+ "N" => "As Directed",
903
+ "O" => "Daily Mon. through Fri.",
904
+ "P" => "1/2 Mon. & 1/2 Thurs.",
905
+ "Q" => "1/2 Tues. & 1/2 Thurs.",
906
+ "R" => "1/2 Wed. & 1/2 Fri.",
907
+ "S" => "Once Anytime Mon. through Fri.",
908
+ "SG" => "Tuesday through Friday",
909
+ "SL" => "Monday, Tuesday and Thursday",
910
+ "SP" => "MOnday, Tuesday and Friday",
911
+ "SX" => "Wednesday and Thursday",
912
+ "SY" => "Monday, Wednesday and Thursday",
913
+ "SZ" => "Tuesday, Thursday and Friday",
914
+ "SGT" => "uesday through Friday",
915
+ "SLM" => "onday, Tuesday and Thursday",
916
+ "SPM" => "onday, Tuesday and Friday",
917
+ "SXW" => "ednesday and Thursday",
918
+ "SYM" => "onday, Wednesday and Thursday",
919
+ "SZT" => "uesday, Thursday and Friday",
920
+ "T" => "1/2 Tue. & 1/2 Fri.",
921
+ "U" => "1/2 Mon. & 1/2 Wed.",
922
+ "V" => "1/3 Mon., 1/3 Wed., 1/3 Fri.",
923
+ "W" => "Whenever Necessary",
924
+ "X" => "1/2 By Wed., Bal. By Fri.",
925
+ "Y" => "None (Also Used to Cancel or Override a Previous Pattern)"))
926
+ E679 = t::ID.new(:E679 , "Ship/Delivery Pattern Time Code" , 1, 1,
927
+ s::CodeList.build(
928
+ "A" => "1st Shift (Normal Working Hours)",
929
+ "B" => "2nd Shift",
930
+ "C" => "3rd Shift",
931
+ "D" => "A.M.",
932
+ "E" => "P.M.",
933
+ "F" => "As Directed",
934
+ "G" => "Any Shift",
935
+ "Y" => "None (Also Used to Cancel or Override a Previous Pattern)"))
936
+
759
937
  E687 = t::ID.new(:E687 , "Class of Trade Code" , 2, 2)
760
938
  E704 = t::ID.new(:E704 , "Paperwork/Report Action Code" , 1, 2)
761
939
  # @note Copied from an unverified 4010 internet source
@@ -965,8 +1143,73 @@ module Stupidedi
965
1143
  "030" => "Audit or Compare",
966
1144
  "032" => "Employee Information Not Applicable"))
967
1145
 
1146
+ E889 = t::ID.new(:E889 , "Follow-up Action Code" , 1, 1,
1147
+ s::CodeList.build(
1148
+ "C" => "Please Correct and Resubmit",
1149
+ "N" => "Resubmission Not Allowed",
1150
+ "P" => "Please Resubmit Original Transaction",
1151
+ "R" => "Resubmission Allowed",
1152
+ "S" => "Do Not Resubmit; Inquiry Initiated to a Third Party",
1153
+ "W" => "Please Wait 30 Days and Resubmit",
1154
+ "X" => "Please Wait 10 Days and Resubmit",
1155
+ "Y" => "Do Not Resubmit; We Will Hold Your Request and Respond Again Shortly"))
1156
+
968
1157
  E901 = t::ID.new(:E901 , "Reject Reason Code" , 2, 2,
969
1158
  s::CodeList.build(
1159
+ "04" => "Authorization Quantity Exceeded",
1160
+ "15" => "Required Application Data Missing",
1161
+ "33" => "Input Errors",
1162
+ "35" => "Out of Network",
1163
+ "41" => "Authorization/Access Restrictions",
1164
+ "42" => "Unable to Respond at Current Time",
1165
+ "43" => "Invalid/Missing Provider Identification",
1166
+ "44" => "Invalid/Missing Provider Name",
1167
+ "45" => "Invalid/Missing Provider Specialty",
1168
+ "46" => "Invalid/Missing Provider Phone Number",
1169
+ "47" => "Invalid/Missing Provider State",
1170
+ "48" => "Invalid/Missing Referring Provider Identification Number",
1171
+ "49" => "Provider is Not Primary Care Physician",
1172
+ "50" => "Provider Ineligible for Inquiries",
1173
+ "51" => "Provider Not on File",
1174
+ "52" => "Service Dates Not Within Provider Plan Enrollment",
1175
+ "53" => "Inquired Benefit Inconsistent with Provider Type",
1176
+ "54" => "Inappropriate Product/Service ID Qualifier",
1177
+ "55" => "Inappropriate Product/Service ID",
1178
+ "56" => "Inappropriate Date",
1179
+ "57" => "Invalid/Missing Date(s) of Service",
1180
+ "58" => "Invalid/Missing Date-of-Birth",
1181
+ "60" => "Date of Birth Follows Date(s) of Service",
1182
+ "61" => "Date of Death Preceeds Date(s) of Service",
1183
+ "62" => "Date of Service Not Within Allowable Inquiry Period",
1184
+ "63" => "Date of Service in Future",
1185
+ "64" => "Invalid/Missing Patient ID",
1186
+ "65" => "Invalid/Missing Patient Name",
1187
+ "66" => "Invalid/Missing Patient Gender Code",
1188
+ "67" => "Patient Not Found",
1189
+ "68" => "Duplicate Patient ID Number",
1190
+ "69" => "Inconsistent with Patient's Age",
1191
+ "70" => "Inconsistent with Patient's Gender",
1192
+ "71" => "Patient Birth Date Does Not Match That for the Patient on the Database",
1193
+ "72" => "Invalid/Missing Subscriber/Insured ID",
1194
+ "73" => "Invalid/Missing Subscriber/Insured Name",
1195
+ "74" => "Invalid/Missing Subscriber/Insured Gender Code",
1196
+ "75" => "Subscribed/Insured Not Found",
1197
+ "76" => "Duplicate Subscriber/Insured ID Number",
1198
+ "77" => "Subscriber Found, Patient Not Found",
1199
+ "78" => "Subscriber/Insured Not in Group/Plan Identified",
1200
+ "79" => "Invalid Participant Identification",
1201
+ "80" => "No Response Received - Transaction Terminated",
1202
+ "97" => "Invalid or Missing Provider Address",
1203
+ "98" => "Experimental Service or Procedure",
1204
+ "AA" => "Authorization Number Not Found",
1205
+ "AE" => "Requires Primary Care Physician Authorization",
1206
+ "AF" => "Invalid/Missing Diagnosis Code(s)",
1207
+ "AG" => "Invalid/Missing Procedure Code(s)",
1208
+ "AO" => "Additional Patient Condition Information Required",
1209
+ "CI" => "Certification Information Does Not Match Patient",
1210
+ "E8" => "Requires Medical Review",
1211
+ "IA" => "Invalid Authorization Number Format",
1212
+ "MA" => "Missing Authorization Number",
970
1213
  "T1" => "Cannot Identify Provider as TPO (Third Party Organization) Participant",
971
1214
  "T2" => "Cannot Identify Payer as TPO (Third Party Organization) Participant",
972
1215
  "T3" => "Cannot Identify Insured as TPO (Third Party Organization) Participant",
@@ -977,12 +1220,14 @@ module Stupidedi
977
1220
  E923 = t::ID.new(:E923 , "Prognosis Code" , 1, 1)
978
1221
 
979
1222
  E933 = t::AN.new(:E933 , "Free-form Message Text" , 1, 264)
1223
+ E934 = t::AN.new(:E934 , "Printer Carriage Control Code" , 2, 2)
980
1224
  E935 = t::ID.new(:E935 , "Measurement Significance Code" , 2, 2)
981
1225
  E936 = t::ID.new(:E936 , "Measurement Attribute Code" , 2, 2)
982
1226
  E954 = t:: R.new(:E954 , "Percentage as Decimal" , 1, 10)
983
1227
  E1005 = t::ID.new(:E1005, "Hierarchical Structure Code" , 4, 4,
984
1228
  s::CodeList.build(
985
1229
  "0019" => "Information Source, Subscriber, Dependent",
1230
+ "0022" => "Information Source, Information Receiver, Subscriber, Dependent",
986
1231
  "0085" => "Information Source, Information Receiver, Provider of Service, Patient"))
987
1232
 
988
1233
  E1018 = t:: R.new(:E1018, "Exponent" , 1, 15)
@@ -1083,6 +1328,7 @@ module Stupidedi
1083
1328
  "25" => "Ex-spouse",
1084
1329
  "26" => "Guardian",
1085
1330
  "31" => "Court Appointed Guardian",
1331
+ "34" => "Other Adult",
1086
1332
  "38" => "Collateral Dependent",
1087
1333
  "39" => "Organ Donor",
1088
1334
  "40" => "Cadaver Donor",
@@ -1112,6 +1358,7 @@ module Stupidedi
1112
1358
  "41" => "Medicare Secondary Blank Lung",
1113
1359
  "42" => "Medicare Secondary Veteran's Administration",
1114
1360
  "43" => "Medicare Secondary Disabled Beneficiary Under Age 65 with Large Group Health Plan (LGHP)",
1361
+ "44" => "Nature of Injury",
1115
1362
  "47" => "Medicare Secondary, Other Liability Insurance is Primary",
1116
1363
  "70" => "Hospice",
1117
1364
  "75" => "Functional Limitations",
@@ -1167,6 +1414,8 @@ module Stupidedi
1167
1414
  "06" => "Percent",
1168
1415
  "09" => "Other"))
1169
1416
 
1417
+ E1167 = t:: R.new(:E1167, "Sample Selection Modulus" , 1, 6)
1418
+
1170
1419
  E1176 = t::ID.new(:E1176, "Employment Class Code" , 2, 3,
1171
1420
  s::CodeList.build(
1172
1421
  "01" => "Union",
@@ -1189,7 +1438,17 @@ module Stupidedi
1189
1438
  "22" => "President",
1190
1439
  "23" => "Vice President"))
1191
1440
 
1192
- E1201 = t::ID.new(:E1201, "Information Status Code" , 1, 1)
1441
+ E1201 = t::ID.new(:E1201, "Information Status Code" , 1, 1,
1442
+ s::CodeList.build(
1443
+ "A" => "Partial",
1444
+ "C" => "Current",
1445
+ "L" => "Latest",
1446
+ "O" => "Oldest",
1447
+ "P" => "Prior",
1448
+ "S" => "Second Most Current",
1449
+ "T" => "Third Most Current"))
1450
+
1451
+
1193
1452
  E1203 = t::ID.new(:E1203, "Maintenance Reason Code" , 2, 3,
1194
1453
  s::CodeList.build(
1195
1454
  "01" => "Divorce",
@@ -1320,7 +1579,11 @@ module Stupidedi
1320
1579
  "B" => "Medicare Part B",
1321
1580
  "C" => "Medicare Part A and B",
1322
1581
  "D" => "Medicare",
1323
- "E" => "No Medicare"))
1582
+ "E" => "No Medicare",
1583
+ "F" => "Medicare Part D",
1584
+ "G" => "Medicare Part A and D",
1585
+ "H" => "Medicare Part B and D",
1586
+ "I" => "Medicare Part A, B, and D"))
1324
1587
 
1325
1588
  E1219 = t::ID.new(:E1219, "Consolidated Omnibus Budget Reconciliation Act (COBRA) Qualifying", 1, 2,
1326
1589
  s::CodeList.build(
@@ -1344,9 +1607,24 @@ module Stupidedi
1344
1607
 
1345
1608
  E1221 = t::ID.new(:E1221, "Provider Code" , 1, 3,
1346
1609
  s::CodeList.build(
1610
+ "AD" => "Admitting",
1347
1611
  "AT" => "Attending",
1348
1612
  "BI" => "Billing",
1349
- "PE" => "Performing"))
1613
+ "CO" => "Consulting",
1614
+ "CV" => "Covering",
1615
+ "H" => "Hospital",
1616
+ "HH" => "Home Health Care",
1617
+ "LA" => "Laboratory",
1618
+ "OT" => "Other Physician",
1619
+ "P1" => "Pharmacist",
1620
+ "P2" => "Pharmacy",
1621
+ "PC" => "Primary Care Physician",
1622
+ "PE" => "Performing",
1623
+ "R" => "Rural Health Clinic",
1624
+ "RF" => "Referring",
1625
+ "SB" => "Submitting",
1626
+ "SK" => "Skilled Nursing Facility",
1627
+ "SU" => "Supervising"))
1350
1628
 
1351
1629
  E1222 = t::AN.new(:E1222, "Provider Specialty Code" , 1, 3)
1352
1630
  # @note Copied from an unverified 4010 internet source
@@ -1447,6 +1725,7 @@ module Stupidedi
1447
1725
  "JO" => s::CodeList.external("135"),
1448
1726
  "JP" => s::CodeList.external("135"),
1449
1727
  "LOI" => s::CodeList.external("663"),
1728
+ "NI" => s::CodeList.external("284"), # or s::CodeList.external("407")
1450
1729
  "NUB" => s::CodeList.external("132"),
1451
1730
  "NDC" => s::CodeList.external("240"),
1452
1731
  "PR" => s::CodeList.external("131"),
@@ -1461,7 +1740,8 @@ module Stupidedi
1461
1740
  "TC" => s::CodeList.external("359"),
1462
1741
  "TD" => s::CodeList.external("131"),
1463
1742
  "TQ" => s::CodeList.external("135"),
1464
- "UT" => s::CodeList.external("528")))
1743
+ "UT" => s::CodeList.external("528"),
1744
+ "ZZ" => "Mutually Defined"))
1465
1745
 
1466
1746
  E1271 = t::AN.new(:E1271, "Industry Code" , 1, 30,
1467
1747
  s::CodeList.external("508"))
@@ -1551,7 +1831,43 @@ module Stupidedi
1551
1831
  "41" => "Medicare Secondary Blank Lung",
1552
1832
  "42" => "Medicare Secondary Veteran's Administration",
1553
1833
  "43" => "Medicare Secondary Disabled Beneficiary Under Age 65 with Large Group Health Plan (LGHP)",
1554
- "47" => "Medicare Secondary, Other Liability Insurance is Primary"))
1834
+ "47" => "Medicare Secondary, Other Liability Insurance is Primary",
1835
+ "AP" => "Auto Insurance Policy",
1836
+ "C1" => "Commercial",
1837
+ "CO" => "Consolidated Omnibus Budget Reconciliation Act (COBRA)",
1838
+ "CP" => "Medicare Conditionally Primary",
1839
+ "D" => "Disability",
1840
+ "DB" => "Disability Benefits",
1841
+ "EP" => "Exclusive Provider Organization",
1842
+ "FF" => "Family or Friends",
1843
+ "GP" => "Group Policy",
1844
+ "HM" => "Health Maintenance Organization (HMO)",
1845
+ "HN" => "Health Maintenance Organization (HMO) - Medicare Risk",
1846
+ "HS" => "Special Low Income Medicare Beneficiary",
1847
+ "IN" => "Indemnity",
1848
+ "IP" => "Individual Policy",
1849
+ "LC" => "Long Term Care",
1850
+ "LD" => "Long Term Policy",
1851
+ "LI" => "Life Insurance",
1852
+ "LT" => "Litigation",
1853
+ "MA" => "Medicare Part A",
1854
+ "MB" => "Medicare Part B",
1855
+ "MC" => "Medicaid",
1856
+ "MH" => "Medigap Part A",
1857
+ "MI" => "Medigap Part B",
1858
+ "MP" => "Medicare Primary",
1859
+ "OT" => "Other",
1860
+ "PE" => "Property Insurance - Personal",
1861
+ "PL" => "Personal",
1862
+ "PP" => "Personal Payment (Cash - No Insurance)",
1863
+ "PR" => "Preferred Provider Organization (PPO)",
1864
+ "PS" => "Point of Service (POS)",
1865
+ "QM" => "Qualified Medicare Beneficiary",
1866
+ "RP" => "Property Insurance - Real",
1867
+ "SP" => "Supplemental Policy",
1868
+ "TF" => "Tax Equity Fiscal Responsibility Act (TEFRA)",
1869
+ "WC" => "Workers Compensation",
1870
+ "WU" => "Wrap Up Policy"))
1555
1871
 
1556
1872
  E1337 = t::ID.new(:E1337, "Level of Care Code" , 1, 1)
1557
1873
  E1338 = t::ID.new(:E1338, "Level of Service Code" , 1, 3)
@@ -1606,17 +1922,192 @@ module Stupidedi
1606
1922
  E1365 = t::ID.new(:E1365, "Service Type Code" , 1, 2,
1607
1923
  s::CodeList.build(
1608
1924
  "1" => "Medical Care",
1925
+ "2" => "Surgical",
1926
+ "3" => "Consultation",
1927
+ "4" => "Diagnostic X-Ray",
1928
+ "5" => "Diagnostic Lab",
1929
+ "6" => "Radiation Therapy",
1930
+ "7" => "Anesthesia",
1931
+ "8" => "Surgical Assistance",
1932
+ "9" => "Other Medical",
1933
+ "10" => "Blood Charges",
1934
+ "11" => "Used Durable Medical Equipment",
1935
+ "12" => "Durable Medical Equipment Purchase",
1936
+ "13" => "Ambulatory Service Center Facility",
1937
+ "14" => "Renal Supplies in the Home",
1938
+ "15" => "Alternate Method Dialysis",
1939
+ "16" => "Chronic Renal Disease (CRD) Equipment",
1940
+ "17" => "Pre-Admission Testing",
1941
+ "18" => "Durable Medical Equipment Rental",
1942
+ "19" => "Pneumonia Vaccine",
1943
+ "20" => "Second Surgical Opinion",
1944
+ "21" => "Third Surgical Opinion",
1945
+ "22" => "Social Work",
1946
+ "23" => "Diagnostic Dental",
1947
+ "24" => "Periodontics",
1948
+ "25" => "Restorative",
1949
+ "26" => "Endodontics",
1950
+ "27" => "Maxillofacial Prosthetics",
1951
+ "28" => "Adjunctive Dental Services",
1952
+ "30" => "Health Benefit Plan Coverage",
1953
+ "32" => "Plan Waiting Period",
1954
+ "33" => "Chiropractic",
1955
+ "34" => "Chiropractic Office Visits",
1609
1956
  "35" => "Dental Care",
1957
+ "36" => "Dental Crowns",
1958
+ "37" => "Dental Accident",
1959
+ "38" => "Orthodontics",
1960
+ "39" => "Prosthodontics",
1961
+ "40" => "Oral Surgery",
1962
+ "41" => "Routine (Preventive) Dental",
1963
+ "42" => "Home Health Care",
1964
+ "43" => "Home Health Prescriptions",
1965
+ "44" => "Home Health Visits",
1966
+ "45" => "Hospice",
1967
+ "46" => "Respite Care",
1968
+ "47" => "Hospital",
1610
1969
  "48" => "Hospital - Inpatient",
1970
+ "49" => "Hospital - Room and Board",
1611
1971
  "50" => "Hospital - Outpatient",
1972
+ "51" => "Hospital - Emergency Accident",
1973
+ "52" => "Hospital - Emergency Medical",
1974
+ "53" => "Hospital - Ambulatory Surgical",
1612
1975
  "54" => "Long Term Care",
1976
+ "55" => "Major Medical",
1977
+ "56" => "Medically Related Transportation",
1978
+ "57" => "Air Transportation",
1979
+ "58" => "Cabulance",
1980
+ "59" => "Licensed Ambulance",
1981
+ "60" => "General Benefits",
1982
+ "61" => "In-vitro Fertilization",
1983
+ "62" => "MRI/CAT Scan",
1984
+ "63" => "Donor Procedures",
1985
+ "64" => "Acupuncture",
1986
+ "65" => "Newborn Care",
1987
+ "66" => "Pathology",
1988
+ "67" => "Smoking Cessation",
1989
+ "68" => "Well Baby Care",
1990
+ "69" => "Maternity",
1991
+ "70" => "Transplants",
1992
+ "71" => "Audiology Exam",
1993
+ "72" => "Inhalation Therapy",
1994
+ "73" => "Diagnostic Medical",
1995
+ "74" => "Private Duty Nursing",
1996
+ "75" => "Prosthetic Device",
1997
+ "76" => "Dialysis",
1998
+ "77" => "Otological Exam",
1999
+ "78" => "Chemotherapy",
2000
+ "79" => "Allergy Testing",
2001
+ "80" => "Immunizations",
2002
+ "AN" => "Routine Exam",
2003
+ "AO" => "Lenses",
2004
+ "AQ" => "Nonmedically Necessary Physical",
2005
+ "AR" => "Experimental Drug Therapy",
2006
+ "B1" => "Burn Care",
2007
+ "B2" => "Brand Name Prescription Drug - Formulary",
2008
+ "B3" => "Brand Name Prescription Drug - Non-Formulary",
2009
+ "BA" => "Independent Medical Evaluation",
2010
+ "BB" => "Partial Hospitalization (Psychiatric)",
2011
+ "BC" => "Day Care (Psychiatric)",
2012
+ "BD" => "Cognitive Therapy",
2013
+ "BE" => "Massage Therapy",
2014
+ "BF" => "Pulmonary Rehabilitation",
2015
+ "BG" => "Cardiac Rehabilitation",
2016
+ "BH" => "Pediatric",
2017
+ "BI" => "Nursery",
2018
+ "BJ" => "Skin",
2019
+ "BK" => "Orthopedic",
2020
+ "BL" => "Cardiac",
2021
+ "BM" => "Lymphatic",
2022
+ "BN" => "Gastrointestinal",
2023
+ "BP" => "Endocrine",
2024
+ "BQ" => "Neurology",
2025
+ "BR" => "Eye",
2026
+ "BS" => "Invasive Procedures",
2027
+ "BT" => "Gynecological",
2028
+ "BU" => "Obstetrical",
2029
+ "BV" => "Obstetrical/Gynecological",
2030
+ "BW" => "Mail Order Prescription Drug: Brand Name",
2031
+ "BX" => "Mail Order Prescription Drug: Generic",
2032
+ "BY" => "Physician Visit - Office: Sick",
2033
+ "BZ" => "Physician Visit - Office: Well",
2034
+ "C1" => "Coronary Care",
2035
+ "CA" => "Private Duty Nursing - Inpatient",
2036
+ "CB" => "Private Duty Nursing - Home",
2037
+ "CC" => "Surgical Benefits - Professional (Physician)",
2038
+ "CD" => "Surgical Benefits - Facility",
2039
+ "CE" => "Mental Health Provider - Inpatient",
2040
+ "CF" => "Mental Health Provider - Outpatient",
2041
+ "CG" => "Mental Health Facility - Inpatient",
2042
+ "CH" => "Mental Health Facility - Outpatient",
2043
+ "CI" => "Substance Abuse Facility - Inpatient",
2044
+ "CJ" => "Substance Abuse Facility - Outpatient",
2045
+ "81" => "Routine Physical",
2046
+ "82" => "Family Planning",
2047
+ "83" => "Infertility",
2048
+ "84" => "Abortion",
2049
+ "85" => "AIDS",
2050
+ "86" => "Emergency Services",
2051
+ "87" => "Cancer",
2052
+ "88" => "Pharmacy",
1613
2053
  "89" => "Free Standing Prescription Drug",
1614
2054
  "90" => "Mail Order Prescription Drug",
2055
+ "91" => "Brand Name Prescription Drug",
2056
+ "92" => "Generic Prescription Drug",
2057
+ "93" => "Podiatry",
2058
+ "94" => "Podiatry - Office Visits",
2059
+ "95" => "Podiatry - Nursing Home Visits",
2060
+ "96" => "Professional (Physician)",
2061
+ "97" => "Anesthesiologist",
2062
+ "98" => "Professional (Physician) Visit - Office",
2063
+ "99" => "Professional (Physician) Visit - Inpatient",
2064
+ "A0" => "Professional (Physician) Visit - Outpatient",
2065
+ "A1" => "Professional (Physician) Visit - Nursing Home",
2066
+ "A2" => "Professional (Physician) Visit - Skilled Nursing Facility",
2067
+ "A3" => "Professional (Physician) Visit - Home",
1615
2068
  "A4" => "Psychiatric",
2069
+ "A5" => "Psychiatric - Room and Board",
2070
+ "A6" => "Psychotherapy",
2071
+ "A7" => "Psychiatric - Inpatient",
2072
+ "A8" => "Psychiatric - Outpatient",
2073
+ "A9" => "Rehabilitation",
2074
+ "AA" => "Rehabilitation - Room and Board",
2075
+ "AB" => "Rehabilitation - Inpatient",
2076
+ "AC" => "Rehabilitation - Outpatient",
2077
+ "AD" => "Occupational Therapy",
2078
+ "AE" => "Physical Medicine",
2079
+ "AF" => "Speech Therapy",
1616
2080
  "AG" => "Skilled Nursing Care",
2081
+ "AH" => "Skilled Nursing Care - Room and Board",
2082
+ "AI" => "Substance Abuse",
2083
+ "AJ" => "Alcoholism",
2084
+ "AK" => "Drug Addiction",
1617
2085
  "AL" => "Vision (Optometry)",
1618
- "BB" => "Partial Hospitalization (Psychiatric)"))
1619
-
2086
+ "AM" => "Frames",
2087
+ "CK" => "Screening X-ray",
2088
+ "CL" => "Screening laboratory",
2089
+ "CM" => "Mammogram, High Risk Patient",
2090
+ "CN" => "Mammogram, Low Risk Patient",
2091
+ "CO" => "Flu Vaccination",
2092
+ "CP" => "Eyewear and Eyewear Accessories",
2093
+ "CQ" => "Case Management",
2094
+ "DG" => "Dermatology",
2095
+ "DM" => "Durable Medical Equipment",
2096
+ "DS" => "Diabetic Supplies",
2097
+ "GF" => "Generic Prescription Drug - Formulary",
2098
+ "GN" => "Generic Prescription Drug - Non-Formulary",
2099
+ "GY" => "Allergy",
2100
+ "IC" => "Intensive Care",
2101
+ "MH" => "Mental Health",
2102
+ "NI" => "Neonatal Intensive Care",
2103
+ "ON" => "Oncology",
2104
+ "PT" => "Physical Therapy",
2105
+ "PU" => "Pulmonary",
2106
+ "RN" => "Renal",
2107
+ "RT" => "Residential Psychiatric Treatment",
2108
+ "TC" => "Transitional Care",
2109
+ "TN" => "Transitional Nursery Care",
2110
+ "UC" => "Urgent Care"))
1620
2111
  E1366 = t::ID.new(:E1366, "Special Program Code" , 2, 3)
1621
2112
  E1367 = t::ID.new(:E1367, "Sublaxation Level Code" , 2, 3)
1622
2113
  E1368 = t::ID.new(:E1368, "Tooth Status Code" , 1, 2)
@@ -1624,6 +2115,44 @@ module Stupidedi
1624
2115
  E1371 = t:: R.new(:E1371, "Unit Rate" , 1, 10)
1625
2116
  E1383 = t::ID.new(:E1383, "Claim Submission Reason Code" , 2, 2)
1626
2117
  E1384 = t::ID.new(:E1384, "Patient Location Code" , 1, 1)
2118
+ E1390 = t::ID.new(:E1390, "Eligibility or Benefit Information Code", 1, 2,
2119
+ s::CodeList.build(
2120
+ "1" => "Active Coverage",
2121
+ "2" => "Active - Full Risk Capitation",
2122
+ "3" => "Active - Services Capitated",
2123
+ "4" => "Active - Services Capitated to Primary Care Physician",
2124
+ "5" => "Active - Pending Investigation",
2125
+ "6" => "Inactive",
2126
+ "7" => "Inactive - Pending Eligibility Update",
2127
+ "8" => "Inactive - Pending Investigation",
2128
+ "A" => "Co-Insurance",
2129
+ "B" => "Co-Payment",
2130
+ "C" => "Deductible",
2131
+ "CB" => "Coverage Basis",
2132
+ "D" => "Benefit Description",
2133
+ "E" => "Exclusions",
2134
+ "F" => "Limitations",
2135
+ "G" => "Out of Pocket (Stop Loss)",
2136
+ "H" => "Unlimited",
2137
+ "I" => "Non-Covered",
2138
+ "J" => "Cost Containment",
2139
+ "K" => "Reserve",
2140
+ "L" => "Primary Care Provider",
2141
+ "M" => "Pre-existing Condition",
2142
+ "MC" => "Managed Care Coordinator",
2143
+ "N" => "Services Restricted to Following Provider",
2144
+ "O" => "Not Deemed a Medical Necessity",
2145
+ "P" => "Benefit Disclaimer",
2146
+ "Q" => "Second Surgical Opinion Required",
2147
+ "R" => "Other or Additional Payor",
2148
+ "S" => "Prior Year(s) History",
2149
+ "T" => "Card(s) Reported Lost/Stolen",
2150
+ "U" => "Contact Following Entity for Eligibility or Benefit Information",
2151
+ "V" => "Cannot Process",
2152
+ "W" => "Other Source of Data",
2153
+ "X" => "Health Care Facility",
2154
+ "Y" => "Spend Down"))
2155
+
1627
2156
  E1470 = t::Nn.new(:E1470, "Number" , 1, 9, 0)
1628
2157
  E1473 = t::ID.new(:E1473, "Pricing Methodology" , 2, 2,
1629
2158
  s::CodeList.build(
@@ -1678,6 +2207,86 @@ module Stupidedi
1678
2207
  "6" => "Other"))
1679
2208
 
1680
2209
  E1528 = t::Nn.new(:E1528, "Component Data Element Position in Composite", 1, 2, 0)
2210
+ E1595 = t::ID.new(:E1595, "Government Service Affilition Code" , 1, 1,
2211
+ s::CodeList.build(
2212
+ "A" => "Air Force",
2213
+ "B" => "Air Force Reserves",
2214
+ "C" => "Army",
2215
+ "D" => "Army Reserves",
2216
+ "E" => "Coast Guard",
2217
+ "F" => "Marine Corps",
2218
+ "G" => "Marine Corps Reserves",
2219
+ "H" => "National Guard",
2220
+ "I" => "Navy",
2221
+ "J" => "Navy Reserves",
2222
+ "K" => "Other",
2223
+ "L" => "Peace Corp",
2224
+ "M" => "Regular Armed Forces",
2225
+ "N" => "Reserves",
2226
+ "O" => "U.S. Public Health Service",
2227
+ "Q" => "Foreign Military",
2228
+ "R" => "American Red Cross",
2229
+ "S" => "Department of Defense",
2230
+ "U" => "United Services Organization",
2231
+ "W" => "Military Sealift Command"))
2232
+ E1596 = t::ID.new(:E1596, "Military Service Rank" , 1, 1,
2233
+ s::CodeList.build(
2234
+ "A1" => "Admiral",
2235
+ "A2" => "Airman",
2236
+ "A3" => "Airman First Class",
2237
+ "B1" => "Basic Airman",
2238
+ "B2" => "Brigadier General",
2239
+ "C1" => "Captain",
2240
+ "C2" => "Chief Master Sergeant",
2241
+ "C3" => "Chief Petty Officer",
2242
+ "C4" => "Chief Warrant",
2243
+ "C5" => "Colonel",
2244
+ "C6" => "Commander",
2245
+ "C7" => "Commodore",
2246
+ "C8" => "Corporal",
2247
+ "C9" => "Corporal Specialist 4",
2248
+ "E1" => "Ensign",
2249
+ "F1" => "First Lieutenant",
2250
+ "F2" => "First Sergeant",
2251
+ "F3" => "First Sergeant-Master Sergeant",
2252
+ "F4" => "Fleet Admiral",
2253
+ "G1" => "General",
2254
+ "G4" => "Gunnery Sergeant",
2255
+ "L1" => "Lance Corporal",
2256
+ "L2" => "Lieutenant",
2257
+ "L3" => "Lieutenant Colonel",
2258
+ "L4" => "Lieutenant Commander",
2259
+ "L5" => "Lieutenant General",
2260
+ "L6" => "Lieutenant Junior Grade",
2261
+ "M1" => "Major",
2262
+ "M2" => "Major General",
2263
+ "M3" => "Master Chief Petty Officer",
2264
+ "M4" => "Master Gunnery Sergeant Major",
2265
+ "M5" => "Master Sergeant",
2266
+ "M6" => "Master Sergeant Specialist 8",
2267
+ "P1" => "Petty Officer First Class",
2268
+ "P2" => "Petty Officer Second Class",
2269
+ "P3" => "Petty Officer Third Class",
2270
+ "P4" => "Private",
2271
+ "P5" => "Private First Class",
2272
+ "R1" => "Rear Admiral",
2273
+ "R2" => "Recruit",
2274
+ "S1" => "Seaman",
2275
+ "S2" => "Seaman Apprentice",
2276
+ "S3" => "Seaman Recruit",
2277
+ "S4" => "Second Lieutenant",
2278
+ "S5" => "Senior Chief Petty Officer",
2279
+ "S6" => "Senior Master Sergeant",
2280
+ "S7" => "Sergeant",
2281
+ "S8" => "Sergeant First Class Specialist 7",
2282
+ "S9" => "Sergeant Major Specialist 9",
2283
+ "SA" => "Sergeant Specialist 5",
2284
+ "SB" => "Staff Sergeant",
2285
+ "SC" => "Staff Sergeant Specialist 6",
2286
+ "T1" => "Technical Sergeant",
2287
+ "V1" => "Vice Admiral",
2288
+ "W1" => "Warrant Officer"))
2289
+
1681
2290
  E1686 = t::Nn.new(:E1686, "Repeating Data Element Position" , 1, 4, 0)
1682
2291
  E1701 = t::ID.new(:E1701, "Eligibility Reason Code" , 1, 1,
1683
2292
  s::CodeList.build(
@@ -1831,6 +2440,7 @@ module Stupidedi
1831
2440
  E98 .component_use(r::Optional),
1832
2441
  E1270.component_use(r::Optional))
1833
2442
 
2443
+ # @note Copied from unverified source
1834
2444
  C052 = Schema::CompositeElementDef.build(:C052,
1835
2445
  "Medicare Status Code",
1836
2446
  "To provide Medicare coverage and associated reason for Medicare eligibility",