eddy 0.1.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (309) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +103 -37
  3. data/.solargraph.yml +4 -0
  4. data/.vscode/settings.json +17 -0
  5. data/.yardopts +2 -2
  6. data/CHANGELOG.md +50 -0
  7. data/Gemfile.lock +21 -7
  8. data/README.md +32 -3
  9. data/Rakefile +1 -10
  10. data/data/004010/code-lists/100.tsv +164 -0
  11. data/data/004010/code-lists/156.tsv +52 -0
  12. data/data/004010/code-lists/26.tsv +499 -0
  13. data/data/004010/code-lists/etc/100-fancy-definitions.tsv +164 -0
  14. data/data/004010/code-lists/etc/100-with-funds-codes.tsv +180 -0
  15. data/data/004010/code-lists/etc/26-alpha2.tsv +250 -0
  16. data/data/004010/code-lists/etc/26-alpha3.tsv +250 -0
  17. data/data/004010/elements-short.tsv +1405 -0
  18. data/data/004010/elements.tsv +3 -3
  19. data/data/004010/segments.tsv +1009 -1003
  20. data/data/004010/segments/ack.segment.yml +15 -0
  21. data/data/004010/segments/bak.segment.yml +9 -0
  22. data/data/004010/segments/beg.segment.yml +17 -0
  23. data/data/004010/segments/big.segment.yml +10 -0
  24. data/data/004010/segments/bsn.segment.yml +10 -0
  25. data/data/004010/segments/cad.segment.yml +14 -0
  26. data/data/004010/segments/ctp.segment.yml +19 -0
  27. data/data/004010/segments/ctt.segment.yml +13 -0
  28. data/data/004010/segments/dtm.segment.yml +7 -0
  29. data/data/004010/segments/envelope/ge.segment.yml +7 -0
  30. data/data/004010/segments/envelope/gs.segment.yml +13 -0
  31. data/data/004010/segments/envelope/iea.segment.yml +8 -0
  32. data/data/004010/segments/envelope/isa.segment.yml +22 -0
  33. data/data/004010/segments/envelope/se.segment.yml +7 -0
  34. data/data/004010/segments/envelope/st.segment.yml +12 -0
  35. data/data/004010/segments/hl.segment.yml +9 -0
  36. data/data/004010/segments/it1.segment.yml +20 -0
  37. data/data/004010/segments/lin.segment.yml +10 -0
  38. data/data/004010/segments/loop/hl.segment.yml +8 -0
  39. data/data/004010/segments/man.segment.yml +7 -0
  40. data/data/004010/segments/n1.segment.yml +9 -0
  41. data/data/004010/segments/n2.segment.yml +7 -0
  42. data/data/004010/segments/n3.segment.yml +6 -0
  43. data/data/004010/segments/n4.segment.yml +9 -0
  44. data/data/004010/segments/pid.segment.yml +10 -0
  45. data/data/004010/segments/po1.segment.yml +14 -0
  46. data/data/004010/segments/prf.segment.yml +9 -0
  47. data/data/004010/segments/ref.segment.yml +7 -0
  48. data/data/004010/segments/sac.segment.yml +20 -0
  49. data/data/004010/segments/sln.segment.yml +12 -0
  50. data/data/004010/segments/sn1.segment.yml +11 -0
  51. data/data/004010/segments/td1.segment.yml +13 -0
  52. data/data/004010/segments/td5.segment.yml +11 -0
  53. data/data/004010/segments/tds.segment.yml +10 -0
  54. data/data/schema/element_summary.json +60 -0
  55. data/data/schema/loop_summary.json +49 -0
  56. data/data/schema/segment_summary.json +66 -0
  57. data/data/schema/src/element_summary.schema.yml +73 -0
  58. data/data/schema/src/loop_summary.schema.yml +50 -0
  59. data/data/schema/src/segment_summary.schema.yml +59 -0
  60. data/data/schema/src/transaction_set_summary.schema.yml +27 -0
  61. data/data/schema/transaction_set_summary.json +33 -0
  62. data/data/sources.md +114 -145
  63. data/eddy.gemspec +6 -3
  64. data/exe/eddy +14 -0
  65. data/lib/definitions/elements/generated/1005.hierarchical_structure_code.rb +98 -0
  66. data/lib/definitions/elements/generated/1019.invoice_type_code.rb +40 -0
  67. data/lib/definitions/elements/generated/103.packaging_code.rb +29 -0
  68. data/lib/definitions/elements/generated/1166.contract_type_code.rb +87 -0
  69. data/lib/definitions/elements/generated/1232.purchase_category.rb +53 -0
  70. data/lib/definitions/elements/generated/127.reference_identification.rb +29 -0
  71. data/lib/definitions/elements/generated/128.reference_identification_qualifier.rb +1540 -0
  72. data/lib/definitions/elements/generated/1300.service_promotion_allowance_or_charge_code.rb +1090 -0
  73. data/lib/definitions/elements/generated/1301.agency_service_promotion_allowance_or_charge_code.rb +29 -0
  74. data/lib/definitions/elements/generated/133.routing_sequence_code.rb +60 -0
  75. data/lib/definitions/elements/generated/166.address_information.rb +29 -0
  76. data/lib/definitions/elements/generated/183.volume.rb +29 -0
  77. data/lib/definitions/elements/generated/187.weight_qualifier.rb +88 -0
  78. data/lib/definitions/elements/generated/19.city_name.rb +29 -0
  79. data/lib/definitions/elements/generated/206.equipment_initial.rb +29 -0
  80. data/lib/definitions/elements/generated/207.equipment_number.rb +29 -0
  81. data/lib/definitions/elements/generated/212.unit_price.rb +29 -0
  82. data/lib/definitions/elements/generated/22.commodity_code.rb +29 -0
  83. data/lib/definitions/elements/generated/23.commodity_code_qualifier.rb +60 -0
  84. data/lib/definitions/elements/generated/234.product_service_id.rb +29 -0
  85. data/lib/definitions/elements/generated/235.product_service_id_qualifier.rb +514 -0
  86. data/lib/definitions/elements/generated/236.price_identifier_code.rb +201 -0
  87. data/lib/definitions/elements/generated/248.allowance_or_charge_indicator.rb +44 -0
  88. data/lib/definitions/elements/generated/26.country_code.rb +535 -0
  89. data/lib/definitions/elements/generated/284.service_level_code.rb +103 -0
  90. data/lib/definitions/elements/generated/324.purchase_order_number.rb +29 -0
  91. data/lib/definitions/elements/generated/326.request_reference_number.rb +29 -0
  92. data/lib/definitions/elements/generated/327.change_order_sequence_number.rb +29 -0
  93. data/lib/definitions/elements/generated/328.release_number.rb +29 -0
  94. data/lib/definitions/elements/generated/330.quantity_ordered.rb +29 -0
  95. data/lib/definitions/elements/generated/347.hash_total.rb +29 -0
  96. data/lib/definitions/elements/generated/349.item_description_type.rb +40 -0
  97. data/lib/definitions/elements/generated/352.description.rb +29 -0
  98. data/lib/definitions/elements/generated/353.transaction_set_purpose_code.rb +102 -0
  99. data/lib/definitions/elements/generated/354.number_of_line_items.rb +30 -0
  100. data/lib/definitions/elements/generated/355.unit_or_basis_for_measurement_code.rb +831 -0
  101. data/lib/definitions/elements/generated/358.quantity_invoiced.rb +29 -0
  102. data/lib/definitions/elements/generated/367.contract_number.rb +29 -0
  103. data/lib/definitions/elements/generated/368.shipment_order_status_code.rb +139 -0
  104. data/lib/definitions/elements/generated/374.date_time_qualifier.rb +1149 -0
  105. data/lib/definitions/elements/generated/380.quantity.rb +29 -0
  106. data/lib/definitions/elements/generated/382.number_of_units_shipped.rb +29 -0
  107. data/lib/definitions/elements/generated/387.routing.rb +29 -0
  108. data/lib/definitions/elements/generated/396.shipment_identification.rb +29 -0
  109. data/lib/definitions/elements/generated/559.agency_qualifier_code.rb +213 -0
  110. data/lib/definitions/elements/generated/587.acknowledgment_type.rb +52 -0
  111. data/lib/definitions/elements/generated/610.amount.rb +30 -0
  112. data/lib/definitions/elements/generated/639.basis_of_unit_price_code.rb +128 -0
  113. data/lib/definitions/elements/generated/640.transaction_type_code.rb +483 -0
  114. data/lib/definitions/elements/generated/646.quantity_shipped_to_date.rb +29 -0
  115. data/lib/definitions/elements/generated/648.price_multiplier_qualifier.rb +43 -0
  116. data/lib/definitions/elements/generated/649.multiplier.rb +29 -0
  117. data/lib/definitions/elements/generated/66.identification_code_qualifier.rb +252 -0
  118. data/lib/definitions/elements/generated/662.relationship_code.rb +42 -0
  119. data/lib/definitions/elements/generated/668.line_item_status_code.rb +63 -0
  120. data/lib/definitions/elements/generated/67.identification_code.rb +29 -0
  121. data/lib/definitions/elements/generated/687.class_of_trade_code.rb +89 -0
  122. data/lib/definitions/elements/generated/750.product_process_characteristic_code.rb +254 -0
  123. data/lib/definitions/elements/generated/751.product_description_code.rb +29 -0
  124. data/lib/definitions/elements/generated/76.invoice_number.rb +29 -0
  125. data/lib/definitions/elements/generated/782.monetary_amount.rb +29 -0
  126. data/lib/definitions/elements/generated/786.security_level_code.rb +54 -0
  127. data/lib/definitions/elements/generated/79.lading_description.rb +29 -0
  128. data/lib/definitions/elements/generated/80.lading_quantity.rb +30 -0
  129. data/lib/definitions/elements/generated/87.marks_and_numbers.rb +29 -0
  130. data/lib/definitions/elements/generated/88.marks_and_numbers_qualifier.rb +57 -0
  131. data/lib/definitions/elements/generated/91.transportation_method_type_code.rb +108 -0
  132. data/lib/definitions/elements/generated/92.purchase_order_type_code.rb +106 -0
  133. data/lib/definitions/elements/generated/98.entity_identifier_code.rb +1349 -0
  134. data/lib/definitions/elements/manual/116.postal_code.rb +44 -0
  135. data/lib/definitions/elements/manual/124.application_receivers_code.rb +29 -0
  136. data/lib/definitions/elements/manual/140.standard_carrier_alpha_code.rb +211 -0
  137. data/lib/definitions/elements/manual/142.application_senders_code.rb +29 -0
  138. data/lib/definitions/elements/manual/143.transaction_set_identifier_code.rb +335 -0
  139. data/lib/definitions/elements/manual/156.state_or_province_code.rb +92 -0
  140. data/lib/definitions/elements/manual/28.group_control_number.rb +34 -0
  141. data/lib/definitions/elements/manual/329.transactional_set_control_number.rb +35 -0
  142. data/lib/definitions/elements/manual/337.time.rb +30 -0
  143. data/lib/definitions/elements/manual/350.assigned_identification.rb +33 -0
  144. data/lib/definitions/elements/manual/373.date.rb +30 -0
  145. data/lib/definitions/elements/manual/455.responsible_agency_code.rb +43 -0
  146. data/lib/definitions/elements/manual/479.functional_identifier_code.rb +271 -0
  147. data/lib/definitions/elements/manual/480.version_release_industry_identifier_code.rb +145 -0
  148. data/lib/definitions/elements/manual/784.length_of_binary_data.rb +30 -0
  149. data/lib/definitions/elements/manual/785.binary_data.rb +30 -0
  150. data/lib/definitions/elements/manual/96.number_of_included_segments.rb +30 -0
  151. data/lib/definitions/elements/manual/97.number_of_transaction_sets_included.rb +30 -0
  152. data/lib/definitions/elements/manual/hl/628.hierarchical_id_number.rb +29 -0
  153. data/lib/definitions/elements/manual/hl/734.hierarchical_parent_id_number.rb +29 -0
  154. data/lib/definitions/elements/manual/hl/735.hierarchical_level_code.rb +207 -0
  155. data/lib/definitions/elements/manual/hl/736.hierarchical_child_code.rb +39 -0
  156. data/lib/definitions/elements/manual/i/I01.authorization_information_qualifier.rb +48 -0
  157. data/lib/definitions/elements/manual/i/I02.authorization_information.rb +33 -0
  158. data/lib/definitions/elements/manual/i/I03.security_information_qualifier.rb +43 -0
  159. data/lib/definitions/elements/manual/i/I04.security_information.rb +33 -0
  160. data/lib/definitions/elements/manual/i/I05.interchange_id_qualifier.rb +75 -0
  161. data/lib/definitions/elements/manual/i/I06.interchange_sender_id.rb +29 -0
  162. data/lib/definitions/elements/manual/i/I07.interchange_receiver_id.rb +29 -0
  163. data/lib/definitions/elements/manual/i/I08.interchange_date.rb +35 -0
  164. data/lib/definitions/elements/manual/i/I09.interchange_time.rb +36 -0
  165. data/lib/definitions/elements/manual/i/I10.interchange_control_standards_identifier.rb +42 -0
  166. data/lib/definitions/elements/manual/i/I11.interchange_control_version_number.rb +55 -0
  167. data/lib/definitions/elements/manual/i/I12.interchange_control_number.rb +34 -0
  168. data/lib/definitions/elements/manual/i/I13.acknowledgment_requested.rb +43 -0
  169. data/lib/definitions/elements/manual/i/I14.usage_indicator.rb +40 -0
  170. data/lib/definitions/elements/manual/i/I15.component_element_separator.rb +36 -0
  171. data/lib/definitions/elements/manual/i/I16.number_of_included_functional_groups.rb +30 -0
  172. data/lib/definitions/elements/manual/misc/81.weight.rb +29 -0
  173. data/lib/definitions/elements/manual/misc/93.name.rb +29 -0
  174. data/lib/definitions/segments/generated/ack.rb +192 -0
  175. data/lib/definitions/segments/generated/bak.rb +90 -0
  176. data/lib/definitions/segments/generated/beg.rb +226 -0
  177. data/lib/definitions/segments/generated/big.rb +107 -0
  178. data/lib/definitions/segments/generated/bsn.rb +107 -0
  179. data/lib/definitions/segments/generated/cad.rb +175 -0
  180. data/lib/definitions/segments/generated/ctp.rb +158 -0
  181. data/lib/definitions/segments/generated/ctt.rb +141 -0
  182. data/lib/definitions/segments/generated/dtm.rb +56 -0
  183. data/lib/definitions/segments/generated/it1.rb +277 -0
  184. data/lib/definitions/segments/generated/lin.rb +107 -0
  185. data/lib/definitions/segments/generated/man.rb +56 -0
  186. data/lib/definitions/segments/generated/n1.rb +90 -0
  187. data/lib/definitions/segments/generated/n3.rb +39 -0
  188. data/lib/definitions/segments/generated/n4.rb +90 -0
  189. data/lib/definitions/segments/generated/pid.rb +107 -0
  190. data/lib/definitions/segments/generated/po1.rb +175 -0
  191. data/lib/definitions/segments/generated/prf.rb +90 -0
  192. data/lib/definitions/segments/generated/ref.rb +56 -0
  193. data/lib/definitions/segments/generated/sac.rb +107 -0
  194. data/lib/definitions/segments/generated/sln.rb +141 -0
  195. data/lib/definitions/segments/generated/sn1.rb +124 -0
  196. data/lib/definitions/segments/generated/td1.rb +158 -0
  197. data/lib/definitions/segments/generated/td5.rb +107 -0
  198. data/lib/definitions/segments/generated/tds.rb +39 -0
  199. data/lib/definitions/segments/manual/envelopes/ge.rb +53 -0
  200. data/lib/definitions/segments/manual/envelopes/gs.rb +163 -0
  201. data/lib/definitions/segments/manual/envelopes/iea.rb +53 -0
  202. data/lib/definitions/segments/manual/envelopes/isa.rb +295 -0
  203. data/lib/definitions/segments/manual/envelopes/se.rb +52 -0
  204. data/lib/definitions/segments/manual/envelopes/st.rb +52 -0
  205. data/lib/definitions/segments/manual/hl.rb +96 -0
  206. data/lib/definitions/segments/manual/n2.rb +52 -0
  207. data/lib/definitions/transaction_sets/manual/810/810.rb +143 -0
  208. data/lib/definitions/transaction_sets/manual/810/loops.rb +109 -0
  209. data/lib/definitions/transaction_sets/manual/850/850.rb +92 -0
  210. data/lib/definitions/transaction_sets/manual/850/loops.rb +58 -0
  211. data/lib/definitions/transaction_sets/manual/855/855.rb +83 -0
  212. data/lib/definitions/transaction_sets/manual/855/loops.rb +104 -0
  213. data/lib/definitions/transaction_sets/manual/856/856.rb +83 -0
  214. data/lib/definitions/transaction_sets/manual/856/loops.rb +155 -0
  215. data/lib/eddy.rb +29 -7
  216. data/lib/eddy/build/build.rb +47 -0
  217. data/lib/eddy/build/elements/element.rb +67 -0
  218. data/lib/eddy/build/elements/elements.rb +46 -0
  219. data/lib/eddy/build/elements/id.rb +55 -0
  220. data/lib/eddy/build/elements/n.rb +48 -0
  221. data/lib/eddy/build/loop_builder.rb +93 -0
  222. data/lib/eddy/build/segment_builder.rb +169 -0
  223. data/lib/eddy/build/transaction_set_builder.rb +218 -0
  224. data/lib/eddy/cli/cli.rb +39 -0
  225. data/lib/eddy/config.rb +51 -0
  226. data/lib/eddy/data.rb +50 -0
  227. data/lib/eddy/data/persistence/active_record.rb +10 -0
  228. data/lib/eddy/data/persistence/base.rb +47 -0
  229. data/lib/eddy/data/persistence/file.rb +50 -0
  230. data/lib/eddy/data/persistence/memory.rb +65 -0
  231. data/lib/eddy/data/store.rb +108 -0
  232. data/lib/eddy/errors.rb +112 -0
  233. data/lib/eddy/models/element.rb +14 -0
  234. data/lib/eddy/models/element/an.rb +55 -0
  235. data/lib/eddy/models/element/b.rb +53 -0
  236. data/lib/eddy/models/element/base.rb +116 -0
  237. data/lib/eddy/models/element/composite.rb +6 -0
  238. data/lib/eddy/models/element/dt.rb +100 -0
  239. data/lib/eddy/models/element/id.rb +58 -0
  240. data/lib/eddy/models/element/n.rb +94 -0
  241. data/lib/eddy/models/element/r.rb +84 -0
  242. data/lib/eddy/models/element/tm.rb +113 -0
  243. data/lib/eddy/models/loop.rb +74 -0
  244. data/lib/eddy/models/segment.rb +35 -0
  245. data/lib/eddy/models/transaction_set.rb +101 -0
  246. data/lib/eddy/parse.rb +58 -0
  247. data/lib/eddy/schema/element_summary.rb +123 -0
  248. data/lib/eddy/schema/loop_summary.rb +101 -0
  249. data/lib/eddy/schema/segment_summary.rb +116 -0
  250. data/lib/eddy/schema/transaction_set_summary.rb +96 -0
  251. data/lib/eddy/schema/validate.rb +41 -0
  252. data/lib/eddy/util.rb +16 -0
  253. data/lib/eddy/util/clean_folder.rb +14 -0
  254. data/lib/eddy/util/edi_data.rb +153 -0
  255. data/lib/eddy/util/new_number.rb +24 -0
  256. data/lib/eddy/util/normalize.rb +51 -0
  257. data/lib/eddy/util/paths.rb +19 -0
  258. data/lib/eddy/util/read.rb +38 -0
  259. data/lib/eddy/util/time.rb +56 -0
  260. data/lib/eddy/util/timestamp.rb +12 -0
  261. data/lib/eddy/util/trim.rb +29 -0
  262. data/lib/eddy/version.rb +1 -1
  263. data/lib/eddy/write/functional_group.rb +33 -0
  264. data/lib/eddy/write/interchange.rb +28 -0
  265. data/lib/eddy/write/simple_interchange.rb +57 -0
  266. data/lib/generators/eddy/initializer/initializer_generator.rb +17 -0
  267. data/lib/generators/eddy/initializer/templates/eddy.rb.erb +6 -0
  268. data/lib/generators/eddy/migration/migration_generator.rb +53 -0
  269. data/lib/generators/eddy/migration/templates/migration.rb.erb +35 -0
  270. data/tasks/build.rake +15 -0
  271. data/tasks/misc/gemspec.rake +12 -0
  272. data/tasks/misc/missing_lists.rake +240 -0
  273. data/tasks/misc/yaml2json.rake +20 -0
  274. data/todo.txt +16 -0
  275. metadata +297 -42
  276. data/data/004010/segments/ISA.tsv +0 -17
  277. data/data/schema.jsonc +0 -67
  278. data/lib/eddy/build/build_an.rb +0 -31
  279. data/lib/eddy/build/build_dt.rb +0 -46
  280. data/lib/eddy/build/build_elements.rb +0 -181
  281. data/lib/eddy/build/build_id.rb +0 -56
  282. data/lib/eddy/build/build_r_and_n.rb +0 -69
  283. data/lib/eddy/build/build_tm.rb +0 -52
  284. data/lib/eddy/build/segments.rb +0 -25
  285. data/lib/eddy/definitions/manual/elements/109.dt.pickup_date.rb +0 -20
  286. data/lib/eddy/definitions/manual/elements/111.tm.pickup_time.rb +0 -20
  287. data/lib/eddy/definitions/manual/elements/112.an.pier_name.rb +0 -19
  288. data/lib/eddy/definitions/manual/elements/785.b.binary_data.rb +0 -19
  289. data/lib/eddy/definitions/manual/elements/81.r.weight.rb +0 -19
  290. data/lib/eddy/definitions/manual/elements/86.n0.total_equipment.rb +0 -20
  291. data/lib/eddy/definitions/manual/elements/I02.authorization_information.rb +0 -20
  292. data/lib/eddy/definitions/manual/elements/I04.security_information.rb +0 -20
  293. data/lib/eddy/definitions/manual/elements/I08.interchange_date.rb +0 -20
  294. data/lib/eddy/definitions/manual/elements/I09.interchange_time.rb +0 -20
  295. data/lib/eddy/definitions/manual/elements/I15.component_element_separator.rb +0 -32
  296. data/lib/eddy/definitions/manual/segments/n1.rb +0 -14
  297. data/lib/eddy/element.rb +0 -14
  298. data/lib/eddy/element/an.rb +0 -36
  299. data/lib/eddy/element/b.rb +0 -9
  300. data/lib/eddy/element/base.rb +0 -37
  301. data/lib/eddy/element/dt.rb +0 -89
  302. data/lib/eddy/element/id.rb +0 -40
  303. data/lib/eddy/element/n.rb +0 -43
  304. data/lib/eddy/element/r.rb +0 -47
  305. data/lib/eddy/element/tm.rb +0 -108
  306. data/lib/eddy/error.rb +0 -14
  307. data/lib/eddy/helpers.rb +0 -31
  308. data/lib/eddy/segment.rb +0 -12
  309. data/lib/eddy/transaction_set.rb +0 -35
@@ -0,0 +1,29 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 234
6
+ # - Name: Product/Service ID
7
+ # - Type: AN
8
+ # - Min/Max: 1/48
9
+ # - Description: Identifying number for a product or service
10
+ class E234 < Eddy::Element::AN
11
+ # @param val [String]
12
+ # @param req [String]
13
+ # @param ref [String]
14
+ # @return [void]
15
+ def initialize(val: nil, req: nil, ref: nil)
16
+ @id = "234"
17
+ @name = "Product/Service ID"
18
+ @description = "Identifying number for a product or service"
19
+ super(
20
+ min: 1,
21
+ max: 48,
22
+ req: req,
23
+ ref: ref,
24
+ val: val,
25
+ )
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,514 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 235
6
+ # - Name: Product/Service ID Qualifier
7
+ # - Type: ID
8
+ # - Min/Max: 2/2
9
+ # - Description: Code identifying the type/source of the descriptive number used in Product/Service ID (234)
10
+ class E235 < Eddy::Element::ID
11
+
12
+ # @param val [String]
13
+ # @param req [String]
14
+ # @param ref [String]
15
+ # @return [void]
16
+ def initialize(val: nil, req: nil, ref: nil)
17
+ @id = "235"
18
+ @name = "Product/Service ID Qualifier"
19
+ @description = "Code identifying the type/source of the descriptive number used in Product/Service ID (234)"
20
+ super(
21
+ min: 2,
22
+ max: 2,
23
+ req: req,
24
+ ref: ref,
25
+ val: val,
26
+ )
27
+ end
28
+
29
+ # @return [Array<String>]
30
+ def code_list()
31
+ return [
32
+ "A1", # Plant Equipment Number
33
+ "A2", # Department of Defense Identification Code (DoDIC)
34
+ "A3", # Locally Assigned Control Number
35
+ "A4", # Subsistence Identification Number
36
+ "A5", # Application State
37
+ "A6", # Document Identification Code
38
+ "A7", # Subline Item Number
39
+ "A8", # Exhibit Line Item Number
40
+ "A9", # Health Care Financing Administration National Standard Format Podiatry Codes
41
+ "AA", # American Trucking Associations Assembly
42
+ "AB", # Assembly
43
+ "AC", # Aggregation Code (Used to Consolidate Part Families)
44
+ "AD", # American Dental Association Codes
45
+ "AE", # Serial Item and Contribution Identifier (Defined in ANSI 239.56)
46
+ "AF", # Front Axle Serial Number
47
+ "AG", # Age
48
+ "AH", # Billboards Commercial
49
+ "AI", # Alternate ISBN
50
+ "AJ", # Piggyback Commercial
51
+ "AK", # Refined Product Code
52
+ "AL", # Axle Serial Number
53
+ "AM", # Allocation Methodology Identification Code
54
+ "AN", # Asset Number
55
+ "AO", # GAS*FLOW Product or Service Charge Code
56
+ "AP", # American Trucking Associations Part
57
+ "AQ", # Appraisal Product Type
58
+ "AR", # ARINC Part Number
59
+ "AS", # Rear Axle Serial Number
60
+ "AT", # Assortability Code
61
+ "AU", # Appraisal Service
62
+ "AV", # Additional Product Identification Assigned by the Manufacturer
63
+ "AW", # Well Number
64
+ "AX", # Assembly Lot Number
65
+ "AY", # American Trucking Associations System
66
+ "AZ", # Axle Ratio
67
+ "B1", # Volume Set
68
+ "B2", # Library of Congress Code
69
+ "B3", # Edition Code
70
+ "B4", # Binding Code
71
+ "B5", # Title Code
72
+ "B6", # Author Code
73
+ "B7", # Publisher Code
74
+ "B8", # Batch Number
75
+ "B9", # Front Axle Driven Serial Number
76
+ "BA", # Bale Number
77
+ "BB", # Print Color Standard Reference
78
+ "BC", # Supplier Brand Code
79
+ "BD", # Buyer Ground Shade Identifier
80
+ "BE", # Buyer's Engineering Change Level Number
81
+ "BF", # Vendor Ground Shade Identifier
82
+ "BG", # Ground Shade Standard Reference
83
+ "BH", # Finish/Hand Standard Reference
84
+ "BI", # Rear Axle Rear Non Driven Serial Number
85
+ "BJ", # Application Completion Method
86
+ "BK", # Backing
87
+ "BL", # Brand/Label
88
+ "BM", # Beam Number
89
+ "BN", # Bar-Coded Serial Number
90
+ "BO", # Buyers Color
91
+ "BP", # Buyer's Part Number
92
+ "BQ", # Benefit ID
93
+ "BR", # Compensation Type Code
94
+ "BS", # Bill Subgroup Code
95
+ "BT", # Volume Type Identification Code
96
+ "BU", # Bus Body Serial Number
97
+ "BV", # Beverage Common Code
98
+ "BW", # Compensation Allocation Code
99
+ "BX", # Bill Credit Code
100
+ "BY", # Concept Code
101
+ "BZ", # Coverage Type
102
+ "C1", # Channel
103
+ "C2", # Connector Type
104
+ "C3", # Classification
105
+ "C4", # Configuration Item Identifier
106
+ "C5", # Insurance Plan Description Characteristics
107
+ "C6", # Asset Type
108
+ "C7", # Asset Category
109
+ "C8", # Fund Sub-Advisor
110
+ "C9", # Dun & Bradstreet Standard Product and Service Code
111
+ "CA", # Case
112
+ "CB", # Buyer's Catalog Number
113
+ "CC", # Compatible Cut Number
114
+ "CD", # Motor Vehicle-Line Designator
115
+ "CE", # Class of Contract Code
116
+ "CF", # Chassis Serial Number
117
+ "CG", # Commodity Grouping
118
+ "CH", # Country of Origin Code
119
+ "CI", # Common Language Equipment Identifier (CLEI)
120
+ "CJ", # Current Procedural Terminology (CPT) Codes
121
+ "CK", # Candidate Oil
122
+ "CL", # Color
123
+ "CM", # National Retail Merchants Association Color Code
124
+ "CN", # Commodity Name
125
+ "CO", # Chemical Abstract Service (CAS) Registry Number
126
+ "CP", # Carry-over Part Number
127
+ "CQ", # Equipment Code per COPAS standard
128
+ "CR", # Contract Number
129
+ "CS", # Service code per COPAS standard
130
+ "CT", # Continuation (ID Number Spans Multiple Product ID Data Elements)
131
+ "CU", # Cut Number
132
+ "CV", # Customer Provided Equipment
133
+ "CW", # Contract Activity Code
134
+ "CX", # Completion Number
135
+ "CY", # Customer Company Registry Number
136
+ "CZ", # Country from which Procured
137
+ "D1", # Underwriting Method of Direct Writer
138
+ "D2", # Medical Information Bureau (MIB) Authorization
139
+ "D3", # Policy Form
140
+ "D4", # Plan Code
141
+ "D5", # Coverage Risk Type
142
+ "DD", # Distributor
143
+ "DE", # Design Number
144
+ "DF", # Device Family
145
+ "DG", # Discount Grouping
146
+ "DI", # Deposit Item Number
147
+ "DL", # Dye Lot Number
148
+ "DM", # Committee for Uniform Security Identification Procedure Number (CUSIP) Number
149
+ "DN", # Die Number
150
+ "DO", # Dividend Use
151
+ "DP", # Discontinued Part Number
152
+ "DQ", # Event Type
153
+ "DR", # Drawing Revision Number
154
+ "DS", # Group ID
155
+ "DT", # Device Type
156
+ "DU", # Joint Life Type
157
+ "DV", # Location Code
158
+ "DW", # Nonforfeiture Option
159
+ "DX", # International Classification of Diseases Clinical Modification (ICD-9-CM) - Diagnosis
160
+ "DY", # Premium Rate Type
161
+ "DZ", # Diagnosis Code Pointer
162
+ "E1", # Contract Change Authorization Type
163
+ "E2", # Fund Abbreviation
164
+ "E3", # Fund Type
165
+ "E4", # Related Policy Identification
166
+ "E5", # Tax Code
167
+ "E6", # Contract Transfer Reason Code
168
+ "EA", # EAN-99 In-store Coupon Code
169
+ "EB", # Fuel Tank Serial Number
170
+ "EC", # Engineering Change Level
171
+ "ED", # Engine Displacement Identification
172
+ "EE", # Premium Use
173
+ "EF", # Exhibit Identifier
174
+ "EG", # Purpose of Insurance
175
+ "EH", # Sales Presentation ID
176
+ "EI", # Expense Identifier
177
+ "EJ", # Service Feature ID
178
+ "EK", # Settlement/Payout Option
179
+ "EL", # Buyer's Subline Item Number
180
+ "EM", # Equipment Identification Number
181
+ "EN", # European Article Number (EAN) (2-5-5-1) (https://en.wikipedia.org/wiki/International_Article_Number)
182
+ "EP", # Buyer's End Product Number
183
+ "EQ", # Equipment Type
184
+ "ER", # Jurisdiction Specific Procedure and Supply Codes
185
+ "ES", # Engine Serial Number
186
+ "EU", # Skill Code
187
+ "EX", # Exchanged Part, Assembly or Product
188
+ "EZ", # Shift Worked
189
+ "F1", # Catalog Number
190
+ "F2", # Technical Order Number
191
+ "F3", # Technical Manual Number
192
+ "F4", # Series Identifier
193
+ "F5", # Obligation Authority Number
194
+ "F6", # First Prior Identifier
195
+ "F7", # End-Item Description
196
+ "F8", # Next Higher Used Assembly
197
+ "F9", # Former Publisher
198
+ "FA", # Failed Subassembly Serial Number
199
+ "FB", # Form Number
200
+ "FC", # Coupon Family Code
201
+ "FD", # Fund
202
+ "FE", # Feature
203
+ "FF", # Fifth Wheel Serial Number
204
+ "FG", # Fund Manager
205
+ "FI", # Finish Number
206
+ "FL", # Finish Lot Number
207
+ "FM", # Failed Subassembly Model Number
208
+ "FN", # Final Test Lot Number
209
+ "FP", # Fabric Pieces Per Roll
210
+ "FS", # National Stock Number
211
+ "FT", # Federal Supply Classification
212
+ "FW", # New Microcode
213
+ "GA", # Gathering
214
+ "GC", # Grade Code
215
+ "GD", # Grain Direction
216
+ "GE", # Generic Name Description
217
+ "GI", # Graphics Industry Bar Code (GIBC)
218
+ "GK", # Glider Kit
219
+ "GN", # Grade Name
220
+ "GQ", # Group Qualifier Code
221
+ "GR", # Gear Ratio
222
+ "GS", # General Specification Number
223
+ "GU", # Volume Usage Identification Code
224
+ "HC", # Health Care Financing Administration Common Procedural Coding System (HCPCS) Codes
225
+ "HD", # International Harmonized Commodity Code
226
+ "HI", # HIBC (Health Care Industry Bar Code)
227
+ "HN", # Heat Number
228
+ "IA", # Information Media Type
229
+ "IB", # International Standard Book Number (ISBN)
230
+ "IC", # Interior Color Number
231
+ "ID", # International Classification of Diseases Clinical Modification (ICD-9-CM) - Procedure
232
+ "IE", # Insurer's Fund Code
233
+ "IF", # Investment Fund Type
234
+ "IG", # Ignition Key Number
235
+ "IM", # Imprint (Trademark Code of Subsidiary)
236
+ "IN", # Buyer's Item Number
237
+ "IP", # GAS*FLOW Invoice Posting Code
238
+ "IQ", # IRS Qualification Code
239
+ "IR", # Ingredient
240
+ "IS", # International Standard Serial Number (ISSN)
241
+ "IT", # Buyer's Style Number
242
+ "IV", # Home Infusion EDI Coalition (HIEC) Product/Service Code
243
+ "IW", # Interchangeability Code
244
+ "IZ", # Buyer's Size Code
245
+ "JA", # Anniversary
246
+ "JB", # Commission Identifier
247
+ "JC", # Commission Year
248
+ "JD", # Contribution Year
249
+ "JN", # Job Number
250
+ "JP", # Package Type Code
251
+ "JS", # Job Sequence Number
252
+ "KA", # Engineering Data List
253
+ "KB", # Data Category Code
254
+ "KD", # Replacement National Stock Number
255
+ "KE", # Military Standard
256
+ "KF", # Item Type Number
257
+ "KG", # Time Compliant Technical Order
258
+ "KI", # Cognizance Symbol
259
+ "KJ", # Material Control Code
260
+ "KK", # Special Material Identification Code
261
+ "KL", # Item Management Code
262
+ "KM", # Shelf-Life Code
263
+ "KN", # Shelf-Life Action Code
264
+ "KP", # Kanban Plan Number
265
+ "L1", # Program Level
266
+ "L2", # Topic Level
267
+ "L3", # Subtopic Level
268
+ "L4", # Life/Annuity Service Features
269
+ "L5", # Line of Authority
270
+ "LA", # Labor Group
271
+ "LB", # Logical Observation Identifier Names and Codes (LOINC) Codes
272
+ "LC", # Laboratory Test Condition Code
273
+ "LD", # Systematized Nomenclature of Human and Veterinary Medicine (SNOMED)
274
+ "LG", # Lift Gate Serial Number
275
+ "LP", # Life/Annuity Product Code
276
+ "LR", # Lease Number
277
+ "LS", # Load Sequence
278
+ "LT", # Lot Number
279
+ "LU", # Lot Pricing Unit Number
280
+ "MA", # Machine Number
281
+ "MB", # Measurement Type Code
282
+ "MC", # Mortgage Credit Data Order Type
283
+ "MD", # Method of Delivery Code
284
+ "ME", # Market Program Code
285
+ "MF", # Manufacturer
286
+ "MG", # Manufacturer's Part Number
287
+ "MH", # Medication Code
288
+ "MI", # Mortgage Insurance Product Code or Number
289
+ "MJ", # Manual Transmission Serial Number
290
+ "MK", # Front Axle Non Driven Serial Number
291
+ "MM", # Motor Equipment Manufacturing Association (MEMA) Product Type Code
292
+ "MN", # Model Number
293
+ "MO", # Movement Type Code
294
+ "MP", # Mortgage Product Code
295
+ "MQ", # Mortgage Underwriting Type
296
+ "MR", # Maintenance Index Page Reference Number
297
+ "MS", # Military Specification (MILSPEC) Number
298
+ "MT", # Major Product/Material/Machine Type
299
+ "MU", # Authorized Parts List Number
300
+ "MV", # Equipment Location
301
+ "MW", # Equipment Hierarchical Sequence Identifier
302
+ "MX", # Repair Induction Identifier
303
+ "N1", # National Drug Code in 4-4-2 Format
304
+ "N2", # National Drug Code in 5-3-2 Format
305
+ "N3", # National Drug Code in 5-4-1 Format
306
+ "N4", # National Drug Code in 5-4-2 Format
307
+ "N5", # National Health Related Item Code in 5-5 Format
308
+ "N6", # National Health Related Item Code in 4-6 Format
309
+ "NC", # Treasury Management Association
310
+ "ND", # National Drug Code (NDC)
311
+ "NE", # Yarn Count - English
312
+ "NH", # National Health Related Item Code
313
+ "NM", # Yarn Count - Metric
314
+ "NR", # Non-resaleable item (excluding deposit) number
315
+ "NU", # National Uniform Billing Committee (NUBC) UB92 Codes
316
+ "NW", # New Replacement Part or Assembly Defective
317
+ "NZ", # Combined NCCMA/Bank Service Code
318
+ "OA", # Old U.P.C./EAN Case Code
319
+ "OB", # Old U.P.C./EAN Multipack Code
320
+ "OC", # Old U.P.C./EAN Consumer Package Code
321
+ "OD", # Old U.P.C./EAN Module Code
322
+ "OE", # Original Equipment Number
323
+ "OF", # Old Common Language Equipment Identifier (CLEI) Code
324
+ "OG", # Old Microcode
325
+ "OH", # Opposite-Hand Part Number
326
+ "OI", # Optical Industry Product Code
327
+ "OL", # Optical Cable Code
328
+ "ON", # Customer Order Number
329
+ "OO", # Outside Production Operation Sheet Number
330
+ "OP", # Obsolete Part Number
331
+ "OR", # Offer Number
332
+ "OT", # Internal Number
333
+ "P1", # Petroleum Accountants Society of Canada Operating and Maintenance Code - Goods and Services Tax Not Applicable
334
+ "P2", # Petroleum Accountants Society of Canada Capital Expenditure Code - Goods and Services Tax Not Applicable
335
+ "P3", # Petroleum Accountants Society of Canada Tubular Code
336
+ "P4", # Petroleum Accountants Society of Canada Non-Tubular Code
337
+ "P5", # Material Discharge Number
338
+ "P7", # Previous Carrier
339
+ "P8", # Retail Price Look Up Number (PLU)
340
+ "P9", # Ply
341
+ "PA", # Pattern Number
342
+ "PB", # Petroleum Accountants Society of Canada Operating and Maintenance Code - Goods and Services Tax Forwarded
343
+ "PC", # Prime Contractor Part Number
344
+ "PD", # Part Number Description
345
+ "PE", # Pieces in Roll
346
+ "PF", # Petroleum Accountants Society of Canada Capital Expenditure Code - Goods and Services Tax Forwarded
347
+ "PG", # Packaging Specification Number
348
+ "PH", # Property and Casualty Service Code
349
+ "PI", # Purchaser's Item Code
350
+ "PJ", # Product Date Code (A code indicating the period during which a product was manufactured.)
351
+ "PK", # Packaging Drawing
352
+ "PL", # Purchaser's Order Line Number
353
+ "PM", # Number of Positions on Machine
354
+ "PN", # Company Part Number
355
+ "PO", # Purchase Order Number
356
+ "PP", # Air Transportation Association Proprietary Rights Code
357
+ "PQ", # Product ID Attribute Code
358
+ "PR", # Process Number
359
+ "PS", # Position
360
+ "PT", # Print or Drawing
361
+ "PU", # Part Reference Number
362
+ "PV", # Advertising Package Identification Code
363
+ "PW", # Part Drawing
364
+ "PX", # Secondary Ply
365
+ "PY", # Operator Assigned Property Identification
366
+ "PZ", # Product Change Notice Number
367
+ "R1", # Replacement Subassembly Model Number
368
+ "R2", # Replacement Subassembly Serial Number
369
+ "RA", # Return Code
370
+ "RB", # National Uniform Billing Committee (NUBC) UB82 Codes
371
+ "RC", # Returnable Container Number
372
+ "RD", # Reel Number
373
+ "RE", # Reefer Serial Number
374
+ "RF", # Repair From Product Code
375
+ "RG", # Reference Oil
376
+ "RH", # Radiator Serial Number
377
+ "RI", # Rear Axle Front Rear Driven Serial Number
378
+ "RJ", # Rear Axle Rear Driven Serial Number
379
+ "RK", # Rack Number
380
+ "RL", # Rate Detail Card
381
+ "RM", # Related Model Number
382
+ "RN", # Release Number
383
+ "RO", # Roll Number
384
+ "RP", # Replaced Part Number
385
+ "RR", # Replacement Product Number
386
+ "RS", # Set Number
387
+ "RT", # Reel Type
388
+ "RU", # Run Number
389
+ "RV", # Repair Tag Number
390
+ "RW", # Relative Value Units
391
+ "RY", # Record Keeping or Model Year
392
+ "RZ", # Related Model Type
393
+ "S2", # Second Prior Identifier
394
+ "S3", # Phase
395
+ "S4", # Laboratory Sample Identification
396
+ "S5", # State Sample Identification
397
+ "S6", # Previous Sample Identification
398
+ "S7", # Source of Deposit Code
399
+ "S8", # Source of Lead Code
400
+ "SA", # Schematic Diagram Reference Number
401
+ "SB", # Submission Number
402
+ "SC", # Seller's Date Code
403
+ "SD", # Supplier Company Registry Number
404
+ "SE", # Section Print Number
405
+ "SF", # Surface Finish
406
+ "SG", # Seat Serial Number
407
+ "SH", # Service Requested
408
+ "SI", # Standard Industrial Classification Code
409
+ "SJ", # Religious Retail Non-book Item
410
+ "SK", # Stock Keeping Unit (SKU)
411
+ "SL", # Seller's Lot Number
412
+ "SM", # National Retail Merchants Association Size Code
413
+ "SN", # Serial Number
414
+ "SO", # System Identifier
415
+ "SP", # Superseded Purchase Order Number
416
+ "SQ", # Roll Sequence Number
417
+ "SR", # Substitute Product Number
418
+ "SS", # Superseded Part Number
419
+ "ST", # Style Number
420
+ "SU", # Side Up/Side Down
421
+ "SV", # Service Rendered
422
+ "SW", # Stock Number
423
+ "SX", # Sleeper Box Key Number
424
+ "SY", # Sleeper Box Serial Number
425
+ "SZ", # Vendor Alphanumeric Size Code (NRMA)
426
+ "T2", # Tex
427
+ "T3", # Third Prior Identifier
428
+ "TA", # Pipeline Transaction Code
429
+ "TB", # Treasury Management Association Service Code and Bank Service Code
430
+ "TC", # Telecommunications Circuit ID
431
+ "TD", # Treatment Codes
432
+ "TE", # Treasury Management Association Service Code
433
+ "TF", # The Air Cargo Tariff (TACT) Commodity Code
434
+ "TG", # Automatic Transmission Serial Number
435
+ "TH", # Transfer Case Serial Number
436
+ "TI", # Trade In Identifier
437
+ "TJ", # Auxiliary Transmission Serial Number
438
+ "TM", # Telephone Industry Manufacturer Code
439
+ "TN", # Railroad-Owned Unit Train Number
440
+ "TP", # Product Type Code
441
+ "TR", # Truck Body Serial Number
442
+ "TS", # Transmission Serial Number
443
+ "TT", # Type Selvage
444
+ "TU", # Tested Material Identification Number
445
+ "TV", # Line of Business
446
+ "TW", # Program Code
447
+ "TX", # Federal Aviation Administration (FAA) Service Bulletin Number
448
+ "TY", # Telecommunications Industry Service Code
449
+ "TZ", # Program Description Identifier
450
+ "U2", # U.P.C. Shipping Container Code (1-2-5-5)
451
+ "U3", # United Nations Common Coding System (UNCCS)
452
+ "U5", # Broker Price Opinion Service
453
+ "U6", # Real Estate Property Information Service
454
+ "UA", # U.P.C./EAN Case Code (2-5-5)
455
+ "UB", # U.P.C./EAN Multipack Code
456
+ "UC", # U.P.C. Suffix (Defines Packing Variations)
457
+ "UD", # U.P.C./EAN Consumer Package Code (2-5-5)
458
+ "UE", # U.P.C./EAN Module Code (2-5-5)
459
+ "UF", # User-Defined Shipping Container Identifier
460
+ "UG", # Drug U.P.C. Consumer Package Code (1-4-6-1)
461
+ "UH", # Drug U.P.C. Shipping Container Code (1-2-4-6-1)
462
+ "UI", # U.P.C. Consumer Package Code (1-5-5)
463
+ "UJ", # U.P.C./EAN Coupon Code (2-5-5)
464
+ "UK", # U.P.C./EAN Shipping Container Code (1-2-5-5-1)
465
+ "UL", # U.P.C. Coupon Code (1-5-5-1)
466
+ "UM", # Universal Vendor Marking, Short Code (UVM; U Line)
467
+ "UN", # U.P.C. Case Code Number (1-1-5-5)
468
+ "UO", # SSCC-18 and Application Identifier
469
+ "UP", # U.P.C. Consumer Package Code (1-5-5-1)
470
+ "UQ", # United Nations (UN) Number (Dangerous Goods)
471
+ "UR", # UCC/EAN-128 Coupon Extended Code
472
+ "US", # Uniform Stock Symbol System Code Number
473
+ "UT", # Company-Owned Unit Train Number
474
+ "UV", # Universal Vendor Marking, Long Code (UVM; R,P,M Lines)
475
+ "UX", # Universal Product Number
476
+ "VA", # Vendor's Style Number
477
+ "VB", # Vendor's Engineering Change Level Number
478
+ "VC", # Vendor's (Seller's) Catalog Number
479
+ "VE", # Vendor Color
480
+ "VI", # Vary Item Product Number
481
+ "VM", # Vehicle Maintenance Reporting Standards
482
+ "VN", # Vendor's (Seller's) Item Number
483
+ "VO", # Vendor's Order Number
484
+ "VP", # Vendor's (Seller's) Part Number
485
+ "VS", # Vendor's Supplemental Item Number
486
+ "VT", # Vintage
487
+ "VU", # Vendor's Basic Unit Number
488
+ "VV", # Motor Vehicle ID Number
489
+ "VX", # Vendor's Specification Number
490
+ "W1", # End Item Serial Number
491
+ "W2", # Work Unit Number
492
+ "W5", # Reclamation Process
493
+ "W6", # Woolen Run
494
+ "W7", # Woolen Cut
495
+ "WA", # Random Weight Aggregation Code
496
+ "WC", # World Code
497
+ "WL", # Wafer Lot Identifier
498
+ "WR", # Yarn Count Worsted
499
+ "WS", # Wheel Chair Lift Serial Number
500
+ "XA", # Preferred Part Number
501
+ "XC", # Expendable Container Identification
502
+ "XP", # Preferred National Stock Number
503
+ "XQ", # Preferred Manufacturer
504
+ "XZ", # Contractor Establishment Code
505
+ "YP", # Publication Number
506
+ "ZB", # Commercial and Government Entity (CAGE) Code
507
+ "ZR", # Service Control Identification
508
+ "ZZ", # Mutually Defined
509
+ ]
510
+ end
511
+
512
+ end
513
+ end
514
+ end