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,145 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 480
6
+ # - Name: (X12 Version) Version / Release / Industry Identifier Code
7
+ # - Type: AN (Not sure if this is AN or ID)
8
+ # - Min/Max: 1/12
9
+ # - Description: (X12 Version) Code indicating the version, release, subrelease, and industry identifier of the EDI standard being used, including the GS and GE segments;
10
+ # - If code in DE455 in GS segment is X:
11
+ # - Positions 1-3 are the version number
12
+ # - Positions 4-6 are the release, subrelease, and level of the version
13
+ # - Positions 7-12 are the industry or trade association identifiers (optionally assigned by user)
14
+ # - If code in DE455 in GS segment is T, then other formats are allowed
15
+ class E480 < Eddy::Element::AN
16
+
17
+ # @param val [String] (nil)
18
+ # @param req [String] (nil)
19
+ # @param ref [String] (nil)
20
+ # @return [void]
21
+ def initialize(val: nil, req: nil, ref: nil)
22
+ @id = "480"
23
+ @name = "Version / Release / Industry Identifier Code"
24
+ super(
25
+ min: 1,
26
+ max: 12,
27
+ req: req,
28
+ ref: ref,
29
+ val: val,
30
+ )
31
+ end
32
+
33
+ # See http://x12.org/resources/release-schedule/
34
+ #
35
+ # @return [Array<String>]
36
+ def code_list()
37
+ return [
38
+ "001000", # ASC X12 Standards Approved by ANSI in 1983
39
+ "002000", # ASC X12 Standards Approved by ANSI in Feb, 1986
40
+ "002001", # Draft Standards Approved by ASC X12 in November 1987
41
+ "002002", # Draft Standards Approved by ASC X12 through February 1988
42
+ "002003", # Draft Standards Approved by ASC X12 through August 1988
43
+ "002031", # Draft Standards Approved by ASC X12 Through February 1989
44
+ "002040", # Draft Standards Approved by ASC X12 Through May 1989
45
+ "002041", # Draft Standards Approved by ASC X12 Through October 1989
46
+ "002042", # Draft Standards Approved by ASC X12 Through February 1990
47
+ "003000", # ASC X12 Standards Approved by ANSI in 1992
48
+ "003010", # Draft Standards Approved by ASC X12 Through June 1990
49
+ "003011", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 1991
50
+ "003012", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 1991
51
+ "003020", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 1991
52
+ "003021", # Draft Standards Approved for Publication By ASC X12 Procedures Review Board through February 1992
53
+ "003022", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 1992
54
+ "003030", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board Through October 1992
55
+ "003031", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board Through February 1993
56
+ "003032", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board Through June 1993
57
+ "003040", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 1993
58
+ "003041", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 1994
59
+ "003042", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 1994
60
+ "003050", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 1994
61
+ "003051", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 1995
62
+ "003052", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 1995
63
+ "003060", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 1995
64
+ "003061", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 1996
65
+ "003062", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 1996
66
+ "003070", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 1996
67
+ "003071", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 1997
68
+ "003072", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 1997
69
+ "004000", # ASC X12 Standards Approved by ANSI in 1997
70
+ "004010", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 1997
71
+ "004011", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 1997
72
+ "004012", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 1998
73
+ "004020", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 1998
74
+ "004021", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 1999
75
+ "004022", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 1999
76
+ "004030", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 1999
77
+ "004031", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 2000
78
+ "004032", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 2000
79
+ "004040", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 2000
80
+ "004041", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 2001
81
+ "004042", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 2001
82
+ "004050", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 2001
83
+ "004051", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 2002
84
+ "004052", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 2002
85
+ "004060", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 2002
86
+ "004061", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 2003
87
+ "004062", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 2003
88
+ "005000", # ASC X12 Standards Approved by ANSI in 2003
89
+ "005010", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 2003
90
+ "005011", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 2004
91
+ "005012", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 2004
92
+ "005020", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 2004
93
+ "005021", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 2005
94
+ "005022", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 2005
95
+ "005030", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 2005
96
+ "005031", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 2006
97
+ "005032", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 2006
98
+ "005040", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 2006
99
+ "005041", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 2007
100
+ "005042", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 2007
101
+ "005050", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 2007
102
+ "005051", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 2008
103
+ "005052", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 2008
104
+ "006000", # ASC X12 Standards Approved by ANSI in 2008
105
+ "006010", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 2008
106
+ "006011", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 2009
107
+ "006012", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 2009
108
+ "006020", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 2009
109
+ "006021", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 2010
110
+ "006022", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 2010
111
+ "006030", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 2010
112
+ "006031", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 2011
113
+ "006032", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 2011
114
+ "006040", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 2011
115
+ "006041", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 2012
116
+ "006042", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 2012
117
+ "006050", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 2012
118
+ "006051", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 2013
119
+ "006052", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 2013
120
+ "007000", # ASC X12 Standards Approved by ANSI in 2013
121
+ "007010", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 2013
122
+ "007011", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 2014
123
+ "007012", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 2014
124
+ "007020", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 2014
125
+ "007021", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 2015
126
+ "007022", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 2015
127
+ "007030", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 2015
128
+ "007031", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 2016
129
+ "007032", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 2016
130
+ "007040", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through October 2016
131
+ "007041", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through February 2017
132
+ "007042", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through June 2017
133
+ "007050", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through December 2017
134
+ "007051", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through April 2018
135
+ "007052", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through August 2018
136
+ "007060", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through December 2018
137
+ "007061", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through April 2019
138
+ "007062", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through August 2019
139
+ "008010", # Draft Standards Approved for Publication by ASC X12 Procedures Review Board through December 2019
140
+ ]
141
+ end
142
+
143
+ end
144
+ end
145
+ end
@@ -0,0 +1,30 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 784
6
+ # - Name: Length of Binary Data
7
+ # - Type: N0
8
+ # - Min/Max: 1/15
9
+ # - Description: The length in integral octets of the binary data
10
+ class E784 < Eddy::Element::N
11
+ # @param val [Integer] (nil)
12
+ # @param req [String] (nil)
13
+ # @param ref [String] (nil)
14
+ # @return [void]
15
+ def initialize(val: nil, req: nil, ref: nil)
16
+ @id = "784"
17
+ @name = "Length of Binary Data"
18
+ @description = "The length in integral octets of the binary data"
19
+ super(
20
+ min: 1,
21
+ max: 15,
22
+ req: req,
23
+ ref: ref,
24
+ val: val,
25
+ decimals: 0,
26
+ )
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 785
6
+ # - Name: Binary Data
7
+ # - Type: B
8
+ # - Min/Max: 1/?
9
+ # - Description: A string of octets which can assume any binary pattern from hexadecimal 00 to FF
10
+ class E785 < Eddy::Element::B
11
+ # @param max [Integer] Value set in preceeding `784` element.
12
+ # @param val [String] (nil)
13
+ # @param req [String] (nil)
14
+ # @param ref [String] (nil)
15
+ # @return [void]
16
+ def initialize(max:, val: nil, req: nil, ref: nil)
17
+ @id = "785"
18
+ @name = "Binary Data"
19
+ @description = "A string of octets which can assume any binary pattern from hexadecimal 00 to FF"
20
+ super(
21
+ min: 1,
22
+ max: max,
23
+ req: req,
24
+ ref: ref,
25
+ val: val,
26
+ )
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 96
6
+ # - Name: Number of Included Segments
7
+ # - Type: N0
8
+ # - Min/Max: 1/10
9
+ # - Description: Total number of segments included in a transaction set including ST and SE segments
10
+ class E96 < Eddy::Element::N
11
+ # @param val [Integer]
12
+ # @param req [String]
13
+ # @param ref [String]
14
+ # @return [void]
15
+ def initialize(val: nil, req: nil, ref: nil)
16
+ @id = "96"
17
+ @name = "Number of Included Segments"
18
+ @description = "Total number of segments included in a transaction set including ST and SE segments"
19
+ super(
20
+ min: 1,
21
+ max: 10,
22
+ req: req,
23
+ ref: ref,
24
+ val: val,
25
+ decimals: 0,
26
+ )
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 97
6
+ # - Name: Number of Transaction Sets Included
7
+ # - Type: N0
8
+ # - Min/Max: 1/6
9
+ # - Description: Total number of transaction sets included in the functional group or interchange (transmission) group terminated by the trailer containing this data element
10
+ class E97 < Eddy::Element::N
11
+ # @param val [Integer] (nil)
12
+ # @param req [String] (nil)
13
+ # @param ref [String] (nil)
14
+ # @return [void]
15
+ def initialize(val: nil, req: nil, ref: nil)
16
+ @id = "97"
17
+ @name = "Number of Transaction Sets Included"
18
+ @description = "Total number of transaction sets included in the functional group or interchange (transmission) group terminated by the trailer containing this data element"
19
+ super(
20
+ min: 1,
21
+ max: 6,
22
+ req: req,
23
+ ref: ref,
24
+ val: val,
25
+ decimals: 0,
26
+ )
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,29 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 628
6
+ # - Name: Hierarchical ID Number
7
+ # - Type: AN
8
+ # - Min/Max: 1/12
9
+ # - Description: A unique number assigned by the sender to identify a particular data segment in a hierarchical structure
10
+ class E628 < 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 = "628"
17
+ @name = "Hierarchical ID Number"
18
+ @description = "A unique number assigned by the sender to identify a particular data segment in a hierarchical structure"
19
+ super(
20
+ min: 1,
21
+ max: 12,
22
+ req: req,
23
+ ref: ref,
24
+ val: val,
25
+ )
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,29 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 734
6
+ # - Name: Hierarchical Parent ID Number
7
+ # - Type: AN
8
+ # - Min/Max: 1/12
9
+ # - Description: Identification number of the next higher hierarchical data segment that the data segment being described is subordinate to
10
+ class E734 < 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 = "734"
17
+ @name = "Hierarchical Parent ID Number"
18
+ @description = "Identification number of the next higher hierarchical data segment that the data segment being described is subordinate to"
19
+ super(
20
+ min: 1,
21
+ max: 12,
22
+ req: req,
23
+ ref: ref,
24
+ val: val,
25
+ )
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,207 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 735
6
+ # - Name: Hierarchical Level Code
7
+ # - Type: ID
8
+ # - Min/Max: 1/2
9
+ # - Description: Code defining the characteristic of a level in a hierarchical structure
10
+ class E735 < 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 = "735"
18
+ @name = "Hierarchical Level Code"
19
+ @description = "Code defining the characteristic of a level in a hierarchical structure"
20
+ super(
21
+ min: 1,
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
+ "1", # Service/Billing Provider
33
+ "2", # Billing Arrangement
34
+ "3", # Sub-Billing Arrangement
35
+ "4", # Group
36
+ "5", # Category
37
+ "6", # Sub-Category
38
+ "7", # Type
39
+ "8", # Charge Detail
40
+ "9", # Line Detail
41
+ "A", # Assembly
42
+ "B", # Buyer's Location
43
+ "C", # Date
44
+ "D", # Product Description
45
+ "E", # Transportation Equipment
46
+ "F", # Component
47
+ "G", # Quality Characteristics
48
+ "H", # Bill of Materials
49
+ "I", # Item
50
+ "J", # Part Characteristic
51
+ "K", # Kit
52
+ "L", # Supplier's Location
53
+ "M", # Measurement
54
+ "O", # Order
55
+ "P", # Pack
56
+ "Q", # Subpack
57
+ "R", # Quantity
58
+ "S", # Shipment
59
+ "T", # Shipping Tare
60
+ "U", # Subassembly
61
+ "V", # Address Information
62
+ "W", # Transaction Reference Number
63
+ "X", # Serial Number
64
+ "Y", # Suffix
65
+ "19", # Provider of Service
66
+ "20", # Information Source
67
+ "21", # Information Receiver
68
+ "22", # Subscriber
69
+ "23", # Dependent
70
+ "24", # Supergroup
71
+ "25", # Subgroup
72
+ "26", # Member
73
+ "27", # Ancillary Facility or Department
74
+ "28", # Hospital
75
+ "29", # Franchisor
76
+ "2A", # Branch
77
+ "2B", # Direct Affiliate
78
+ "2C", # Director
79
+ "2D", # Headquarters
80
+ "2E", # Indirect Affiliate
81
+ "2F", # Management Antecedents
82
+ "2G", # Management or Principal
83
+ "2H", # Parent Company
84
+ "2I", # Stockholder
85
+ "2J", # Subsidiary
86
+ "2K", # Ultimate Domestic Parent Company
87
+ "2L", # Ultimate Parent Company
88
+ "30", # Franchisee
89
+ "31", # Franchisee Association
90
+ "32", # Health Industry Business Communications Council (HIBCC) Health Industry Number (HIN) Database
91
+ "33", # Activity
92
+ "34", # Location Record
93
+ "35", # Company/Corporation
94
+ "36", # Operating Unit
95
+ "37", # Property
96
+ "38", # Tradename
97
+ "39", # Accountant
98
+ "40", # Financial Institution
99
+ "41", # Product Level
100
+ "42", # Activity Details
101
+ "43", # Payment Summary Score
102
+ "44", # Corporate Registration Filings
103
+ "45", # Bankruptcy Details
104
+ "46", # Company History
105
+ "47", # Complete Financial History
106
+ "48", # Balance Sheet
107
+ "49", # Comparative Figures
108
+ "50", # Payment Analysis
109
+ "51", # Special Notification
110
+ "52", # Public Record Financing Details
111
+ "53", # Public Record Financing Summary
112
+ "54", # Public Record Claim Details
113
+ "55", # Public Record Claim Summary
114
+ "56", # Statement of Work
115
+ "57", # Legal Action Details
116
+ "58", # Legal Action Summary
117
+ "59", # Company Evaluation
118
+ "60", # Company Summary
119
+ "61", # Credit Scores
120
+ "62", # Industry Averages
121
+ "AD", # Administrative Information
122
+ "AG", # Agent
123
+ "AL", # Alternate Specification - Lift Level
124
+ "AP", # Credential Action
125
+ "AS", # Animal Subject Group
126
+ "BD", # Building
127
+ "BE", # Business Entity
128
+ "BP", # Body Part
129
+ "CB", # Contractholder Branch Office
130
+ "CC", # Cost Center
131
+ "CE", # Cost Element
132
+ "CH", # Contractholder
133
+ "CI", # Cause of Injury
134
+ "CL", # Claimant
135
+ "CN", # Container
136
+ "CO", # Consortium
137
+ "CT", # Cost Type
138
+ "DG", # Drawing
139
+ "DP", # Department
140
+ "ED", # Engineering Data List
141
+ "EL", # Exhibit Line Item
142
+ "EM", # Employer
143
+ "EV", # Event
144
+ "EX", # Exception
145
+ "FC", # Function Code
146
+ "FG", # Functional Group
147
+ "FI", # Financial Information
148
+ "FL", # Fleet
149
+ "FR", # Frame
150
+ "GC", # Group Coverage Options
151
+ "GP", # Group Purchasing Organization
152
+ "GW", # Group Work Candidate
153
+ "IA", # Subline Item
154
+ "IB", # Contract
155
+ "IC", # Contract Data Requirements List (CDRL)
156
+ "IN", # Interchange
157
+ "JU", # Jurisdiction
158
+ "ML", # Manufacturing Level
159
+ "NI", # Nature of Injury
160
+ "NS", # National Stock Number
161
+ "OS", # Support
162
+ "PA", # Primary Administrator
163
+ "PB", # Personal Property
164
+ "PC", # Project Code
165
+ "PD", # Procedure
166
+ "PH", # Product Characteristic
167
+ "PL", # Primary Specification - Lift Level
168
+ "PP", # Related Parties
169
+ "PR", # Principal
170
+ "PS", # Property Segment Group
171
+ "PT", # Patient
172
+ "PY", # Payment Detail
173
+ "RA", # Reporting Agency
174
+ "RB", # Response
175
+ "RC", # Response Details
176
+ "RD", # Response Sub-details
177
+ "RE", # Response Particular
178
+ "RF", # Medication
179
+ "RM", # Room
180
+ "RP", # Report
181
+ "SA", # Secondary Administrator
182
+ "SB", # Substitute
183
+ "SC", # Subcontract Line Item
184
+ "SD", # Support Document
185
+ "SE", # Subexhibit Line Item
186
+ "SH", # Sheet
187
+ "SI", # Source of Injury
188
+ "SL", # Solicitation
189
+ "SP", # Sub-Project
190
+ "SR", # Subroom
191
+ "SS", # Services
192
+ "SY", # System
193
+ "TI", # Technical Information Package
194
+ "TS", # Transaction Set
195
+ "UT", # Unit or Lot
196
+ "WB", # Work Breakdown Structure
197
+ "WC", # Work Candidate
198
+ "WL", # Well
199
+ "WP", # Well Completion
200
+ "WR", # Wellbore
201
+ "ZZ", # Mutually Defined
202
+ ]
203
+ end
204
+
205
+ end
206
+ end
207
+ end