eddy 0.1.0 → 0.3.0

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 (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