corgibytes-tax_cloud 0.9.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 (90) hide show
  1. checksums.yaml +17 -0
  2. data/.circleci/config.yml +81 -0
  3. data/.circleci/setup-rubygems.sh +9 -0
  4. data/.gitignore +67 -0
  5. data/.rubocop.yml +6 -0
  6. data/.rubocop_todo.yml +66 -0
  7. data/.travis.yml +7 -0
  8. data/CHANGELOG.rdoc +48 -0
  9. data/CONTRIBUTORS.txt +23 -0
  10. data/Dockerfile +9 -0
  11. data/Gemfile +22 -0
  12. data/LICENSE +23 -0
  13. data/README.md +190 -0
  14. data/Rakefile +29 -0
  15. data/docker-compose.yml +10 -0
  16. data/examples/.env.example +2 -0
  17. data/examples/lookup_example.rb +139 -0
  18. data/lib/config/locales/en.yml +34 -0
  19. data/lib/hash.rb +8 -0
  20. data/lib/savon_soap_xml.rb +32 -0
  21. data/lib/tasks/tax_cloud.rake +18 -0
  22. data/lib/tasks/tax_code_groups.rake +37 -0
  23. data/lib/tasks/tax_codes.rake +43 -0
  24. data/lib/tax_cloud.rb +70 -0
  25. data/lib/tax_cloud/address.rb +50 -0
  26. data/lib/tax_cloud/cart_item.rb +26 -0
  27. data/lib/tax_cloud/client.rb +60 -0
  28. data/lib/tax_cloud/configuration.rb +28 -0
  29. data/lib/tax_cloud/errors.rb +6 -0
  30. data/lib/tax_cloud/errors/api_error.rb +17 -0
  31. data/lib/tax_cloud/errors/missing_config_error.rb +13 -0
  32. data/lib/tax_cloud/errors/missing_config_option_error.rb +19 -0
  33. data/lib/tax_cloud/errors/soap_error.rb +30 -0
  34. data/lib/tax_cloud/errors/tax_cloud_error.rb +83 -0
  35. data/lib/tax_cloud/errors/unexpected_soap_response_error.rb +19 -0
  36. data/lib/tax_cloud/record.rb +14 -0
  37. data/lib/tax_cloud/responses.rb +13 -0
  38. data/lib/tax_cloud/responses/authorized.rb +10 -0
  39. data/lib/tax_cloud/responses/authorized_with_capture.rb +10 -0
  40. data/lib/tax_cloud/responses/base.rb +82 -0
  41. data/lib/tax_cloud/responses/captured.rb +10 -0
  42. data/lib/tax_cloud/responses/cart_item.rb +23 -0
  43. data/lib/tax_cloud/responses/generic.rb +31 -0
  44. data/lib/tax_cloud/responses/lookup.rb +38 -0
  45. data/lib/tax_cloud/responses/ping.rb +10 -0
  46. data/lib/tax_cloud/responses/returned.rb +10 -0
  47. data/lib/tax_cloud/responses/tax_code_groups.rb +30 -0
  48. data/lib/tax_cloud/responses/tax_codes.rb +30 -0
  49. data/lib/tax_cloud/responses/tax_codes_by_group.rb +30 -0
  50. data/lib/tax_cloud/responses/verify_address.rb +26 -0
  51. data/lib/tax_cloud/tax_code.rb +11 -0
  52. data/lib/tax_cloud/tax_code_constants.rb +560 -0
  53. data/lib/tax_cloud/tax_code_group.rb +28 -0
  54. data/lib/tax_cloud/tax_code_group_constants.rb +31 -0
  55. data/lib/tax_cloud/tax_code_groups.rb +25 -0
  56. data/lib/tax_cloud/tax_codes.rb +25 -0
  57. data/lib/tax_cloud/transaction.rb +118 -0
  58. data/lib/tax_cloud/version.rb +4 -0
  59. data/tax_cloud.gemspec +23 -0
  60. data/test/cassettes/authorized.yml +826 -0
  61. data/test/cassettes/authorized_with_capture.yml +826 -0
  62. data/test/cassettes/authorized_with_localized_time.yml +826 -0
  63. data/test/cassettes/captured.yml +872 -0
  64. data/test/cassettes/get_tic_groups.yml +783 -0
  65. data/test/cassettes/get_tics.yml +1079 -0
  66. data/test/cassettes/get_tics_by_group.yml +776 -0
  67. data/test/cassettes/invalid_soap_call.yml +778 -0
  68. data/test/cassettes/lookup.yml +780 -0
  69. data/test/cassettes/lookup_ny.yml +780 -0
  70. data/test/cassettes/ping.yml +776 -0
  71. data/test/cassettes/ping_with_invalid_credentials.yml +774 -0
  72. data/test/cassettes/ping_with_invalid_response.yml +774 -0
  73. data/test/cassettes/returned.yml +872 -0
  74. data/test/cassettes/verify_bad_address.yml +772 -0
  75. data/test/cassettes/verify_good_address.yml +772 -0
  76. data/test/helper.rb +17 -0
  77. data/test/test_address.rb +54 -0
  78. data/test/test_cart_item.rb +15 -0
  79. data/test/test_client.rb +27 -0
  80. data/test/test_configuration_optional_keys.rb +42 -0
  81. data/test/test_configuration_required_keys.rb +31 -0
  82. data/test/test_lookup_response.rb +20 -0
  83. data/test/test_setup.rb +17 -0
  84. data/test/test_soap.rb +11 -0
  85. data/test/test_tax_code_groups.rb +29 -0
  86. data/test/test_tax_codes.rb +17 -0
  87. data/test/test_transaction.rb +78 -0
  88. data/test/test_transaction_ny.rb +25 -0
  89. data/test/vcr_setup.rb +9 -0
  90. metadata +174 -0
@@ -0,0 +1,10 @@
1
+ module TaxCloud #:nodoc:
2
+ module Responses #:nodoc:
3
+ # Response to a TaxCloud Captured API call.
4
+ #
5
+ # See https://api.taxcloud.net/1.0/TaxCloud.asmx?op=Captured.
6
+ class Captured < Generic
7
+ response_key :captured
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,23 @@
1
+ require 'bigdecimal'
2
+
3
+ module TaxCloud #:nodoc:
4
+ module Responses #:nodoc:
5
+ # A single item in the response to a TaxCloud Lookup API call.
6
+ #
7
+ # See https://api.taxcloud.net/1.0/TaxCloud.asmx?op=Lookup.
8
+ class CartItem
9
+ # The index of the cart item.
10
+ attr_accessor :cart_item_index
11
+
12
+ # Tax amount for this cart item.
13
+ attr_accessor :tax_amount
14
+
15
+ # === Parameters
16
+ # [savon_response] SOAP response.
17
+ def initialize(savon_response)
18
+ self.cart_item_index = savon_response[:cart_item_index].to_i
19
+ self.tax_amount = BigDecimal.new(savon_response[:tax_amount])
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,31 @@
1
+ module TaxCloud #:nodoc:
2
+ module Responses #:nodoc:
3
+ # A generic response to a TaxCloud API call.
4
+ class Generic < Base
5
+ # Response key.
6
+ class_attribute :key
7
+
8
+ class << self
9
+ # Set the response key.
10
+ # === Parameters
11
+ # [key] Response key.
12
+ def response_key(key)
13
+ self.key = key
14
+ response_type "#{key}_response/#{key}_result/response_type"
15
+ error_message "#{key}_response/#{key}_result/messages/response_message/message"
16
+ end
17
+
18
+ # Parse a TaxCloud response.
19
+ #
20
+ # === Parameters
21
+ # [savon_response] SOAP response.
22
+ #
23
+ # Usually returns "OK" or raises an error.
24
+ def parse(savon_response)
25
+ response = new(savon_response)
26
+ response.raw["#{key}_response".to_sym]["#{key}_result".to_sym][:response_type]
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,38 @@
1
+ module TaxCloud #:nodoc:
2
+ module Responses #:nodoc:
3
+ # Response to a TaxCloud Lookup API call.
4
+ #
5
+ # See https://api.taxcloud.net/1.0/TaxCloud.asmx?op=Lookup.
6
+ class Lookup < Base
7
+ # Cart ID.
8
+ attr_accessor :cart_id
9
+
10
+ # Cart items.
11
+ attr_accessor :cart_items
12
+
13
+ response_type 'lookup_response/lookup_result/response_type'
14
+ error_message 'lookup_response/lookup_result/messages/response_message/message'
15
+
16
+ # === Parameters
17
+ # [savon_response] SOAP response.
18
+ def initialize(savon_response)
19
+ super savon_response
20
+ self.cart_id = match('lookup_response/lookup_result/cart_id')
21
+ # there can be on response or an array of responses
22
+ cart_item_responses = match('lookup_response/lookup_result/cart_items_response/cart_item_response')
23
+ self.cart_items = if cart_item_responses.is_a?(Array)
24
+ cart_item_responses.map do |cart_item_response|
25
+ TaxCloud::Responses::CartItem.new(cart_item_response)
26
+ end
27
+ else
28
+ [TaxCloud::Responses::CartItem.new(cart_item_responses)]
29
+ end
30
+ end
31
+
32
+ # Total tax amount in this cart.
33
+ def tax_amount
34
+ cart_items.reduce(0) { |a, e| a + e.tax_amount }
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,10 @@
1
+ module TaxCloud #:nodoc:
2
+ module Responses #:nodoc:
3
+ # Response to a TaxCloud Ping API call.
4
+ #
5
+ # See https://api.taxcloud.net/1.0/TaxCloud.asmx?op=Ping.
6
+ class Ping < Generic
7
+ response_key :ping
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ module TaxCloud #:nodoc:
2
+ module Responses #:nodoc:
3
+ # Response to a TaxCloud Returned API call.
4
+ #
5
+ # See https://api.taxcloud.net/1.0/TaxCloud.asmx?op=Returned.
6
+ class Returned < Generic
7
+ response_key :returned
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,30 @@
1
+ module TaxCloud #:nodoc:
2
+ module Responses #:nodoc:
3
+ # Response to a TaxCloud getTICGroups API call.
4
+ #
5
+ # https://api.taxcloud.net/1.0/TaxCloud.asmx?op=GetTICGroups
6
+ class TaxCodeGroups < Base
7
+ response_type 'get_tic_groups_response/get_tic_groups_result/response_type'
8
+ error_message 'get_tic_groups_response/get_tic_groups_result/messages/response_message/message'
9
+
10
+ class << self
11
+ # Parse a TaxCloud response.
12
+ #
13
+ # === Parameters
14
+ # [savon_response] SOAP response.
15
+ #
16
+ # Returns an array of Tax Code Groups.
17
+ def parse(savon_response)
18
+ response = new(savon_response)
19
+ tax_code_groups = response.match('get_tic_groups_response/get_tic_groups_result/tic_groups/tic_group')
20
+ tax_code_groups.map do |tax_code_group|
21
+ TaxCloud::TaxCodeGroup.new(
22
+ group_id: tax_code_group[:group_id].to_i,
23
+ description: tax_code_group[:description].strip
24
+ )
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ module TaxCloud #:nodoc:
2
+ module Responses #:nodoc:
3
+ # Response to a TaxCloud getTICs API call.
4
+ #
5
+ # See https://api.taxcloud.net/1.0/TaxCloud.asmx?op=GetTICs.
6
+ class TaxCodes < Base
7
+ response_type 'get_ti_cs_response/get_ti_cs_result/response_type'
8
+ error_message 'get_ti_cs_response/get_ti_cs_result/messages/response_message/message'
9
+
10
+ class << self
11
+ # Parse a TaxCloud response.
12
+ #
13
+ # === Parameters
14
+ # [savon_response] SOAP response.
15
+ #
16
+ # Returns an array of tax codes.
17
+ def parse(savon_response)
18
+ response = new(savon_response)
19
+ tax_codes = response.match('get_ti_cs_response/get_ti_cs_result/ti_cs/tic')
20
+ tax_codes.map do |tax_code|
21
+ TaxCloud::TaxCode.new(
22
+ ticid: tax_code[:ticid].to_i,
23
+ description: tax_code[:description].strip
24
+ )
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ module TaxCloud #:nodoc:
2
+ module Responses #:nodoc:
3
+ # Response to a TaxCloud getTICsByGroup API call.
4
+ #
5
+ # See https://api.taxcloud.net/1.0/TaxCloud.asmx?op=GetTICsByGroup.
6
+ class TaxCodesByGroup < Base
7
+ response_type 'get_ti_cs_by_group_response/get_ti_cs_by_group_result/response_type'
8
+ error_message 'get_ti_cs_by_group_response/get_ti_cs_by_group_result/messages/response_message/message'
9
+
10
+ class << self
11
+ # Parse a TaxCloud response.
12
+ #
13
+ # === Parameters
14
+ # [savon_response] SOAP response.
15
+ #
16
+ # Returns an array of tax codes.
17
+ def parse(savon_response)
18
+ response = new(savon_response)
19
+ tax_codes = response.match('get_ti_cs_by_group_response/get_ti_cs_by_group_result/ti_cs/tic')
20
+ tax_codes.map do |tax_code|
21
+ TaxCloud::TaxCode.new(
22
+ ticid: tax_code[:ticid].to_i,
23
+ description: tax_code[:description]
24
+ )
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,26 @@
1
+ module TaxCloud #:nodoc:
2
+ module Responses #:nodoc:
3
+ # Response to a TaxCloud VerifyAddress API call.
4
+ #
5
+ # See https://api.taxcloud.net/1.0/TaxCloud.asmx?op=VerifyAddress.
6
+ class VerifyAddress < Base
7
+ error_number 'verify_address_response/verify_address_result/err_number'
8
+ error_message 'verify_address_response/verify_address_result/err_description'
9
+
10
+ class << self
11
+ # Parse a TaxCloud response.
12
+ #
13
+ # === Parameters
14
+ # [savon_response] SOAP response.
15
+ #
16
+ # Returns a verified TaxCloud::Address.
17
+ def parse(savon_response)
18
+ response = new(savon_response)
19
+ result = response.match('verify_address_response/verify_address_result')
20
+ result.delete(:err_number)
21
+ TaxCloud::Address.new result
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,11 @@
1
+ module TaxCloud #:nodoc:
2
+ # A TIC (Taxability Information Code), otherwise known as a Tax Code.
3
+ #
4
+ # See https://taxcloud.net/tic.
5
+ class TaxCode < Record
6
+ # Tax code ID.
7
+ attr_accessor :ticid
8
+ # Tax code description.
9
+ attr_accessor :description
10
+ end
11
+ end
@@ -0,0 +1,560 @@
1
+ module TaxCloud
2
+ # Tax Codes.
3
+ class TaxCodes
4
+ # Administrative
5
+
6
+ # Administrative: Gift Card/Certificate
7
+ GIFT_CARD_CERTIFICATE = 10_005
8
+ # Administrative: Charges by the seller for any services necessary to complete the sale other than delivery and installation
9
+ CHARGES_BY_THE_SELLER_FOR_ANY_SERVICES_NECESSARY_TO_COMPLETE_THE_SALE_OTHER_THAN_DELIVERY_AND_INSTALLATION = 10_010
10
+ # Administrative: Installation charges
11
+ INSTALLATION_CHARGES = 10_040
12
+ # Administrative: Value of trade-in
13
+ VALUE_OF_TRADE_IN = 10_060
14
+ # Administrative: Telecommunication nonrecurring charges
15
+ TELECOMMUNICATION_NONRECURRING_CHARGES = 10_070
16
+ # Administrative: Handling, crating, packing, preparation for mailing or delivery, and similar charges
17
+ HANDLING_CRATING_PACKING_PREPARATION_FOR_MAILING_OR_DELIVERY_AND_SIMILAR_CHARGES = 11_000
18
+ # Administrative: Transportation, shipping, postage, and similar charges
19
+ TRANSPORTATION_SHIPPING_POSTAGE_AND_SIMILAR_CHARGES = 11_010
20
+ # Administrative: Handling, crating, packing, preparation for mailing or delivery, and similar charges for direct mail
21
+ HANDLING_CRATING_PACKING_PREPARATION_FOR_MAILING_OR_DELIVERY_AND_SIMILAR_CHARGES_FOR_DIRECT_MAIL = 11_020
22
+ # Administrative: Transportation, shipping, and similar charges for direct mail
23
+ TRANSPORTATION_SHIPPING_AND_SIMILAR_CHARGES_FOR_DIRECT_MAIL = 11_021
24
+ # Administrative: Postage for direct mail
25
+ POSTAGE_FOR_DIRECT_MAIL = 11_022
26
+ # Administrative: Postage/Delivery
27
+ POSTAGE_DELIVERY = 11_099
28
+ # Administrative: Direct-mail related
29
+ DIRECT_MAIL_RELATED = 11_100
30
+
31
+ # Clothing and Related Products
32
+
33
+ # Clothing and Related Products: Clothing
34
+ CLOTHING = 20_010
35
+ # Clothing and Related Products: Essential clothing priced below a state specific threshold
36
+ ESSENTIAL_CLOTHING_PRICED_BELOW_A_STATE_SPECIFIC_THRESHOLD = 20_015
37
+ # Clothing and Related Products: Clothing accessories or equipment
38
+ CLOTHING_ACCESSORIES_OR_EQUIPMENT = 20_020
39
+ # Clothing and Related Products: Protective equipment
40
+ PROTECTIVE_EQUIPMENT = 20_030
41
+ # Clothing and Related Products: Sport or recreational equipment
42
+ SPORT_OR_RECREATIONAL_EQUIPMENT = 20_040
43
+ # Clothing and Related Products: Fur clothing
44
+ FUR_CLOTHING = 20_050
45
+
46
+ # School Related Products
47
+
48
+ # School Related Products: School art supply
49
+ SCHOOL_ART_SUPPLY = 20_080
50
+ # School Related Products: School instructional material
51
+ SCHOOL_INSTRUCTIONAL_MATERIAL = 20_090
52
+ # School Related Products: School computer supply
53
+ SCHOOL_COMPUTER_SUPPLY = 20_100
54
+
55
+ # Computer Related Products
56
+
57
+ # Computer Related Products: Non-prewritten (custom) computer software
58
+ NON_PREWRITTEN_CUSTOM_COMPUTER_SOFTWARE = 30_015
59
+ # Computer Related Products: Non-prewritten (custom) computer software delivered electronically
60
+ NON_PREWRITTEN_CUSTOM_COMPUTER_SOFTWARE_DELIVERED_ELECTRONICALLY = 30_025
61
+ # Computer Related Products: Non-prewritten (custom) computer software delivered via load and leave Mandatory computer software maintenance contracts
62
+ NON_PREWRITTEN_CUSTOM_COMPUTER_SOFTWARE_DELIVERED_VIA_LOAD_AND_LEAVE_MANDATORY_COMPUTER_SOFTWARE_MAINTENANCE_CONTRACTS = 30_035
63
+ # Computer Related Products: Prewritten computer software
64
+ PREWRITTEN_COMPUTER_SOFTWARE = 30_040
65
+ # Computer Related Products: Prewritten computer software delivered electronically
66
+ PREWRITTEN_COMPUTER_SOFTWARE_DELIVERED_ELECTRONICALLY = 30_050
67
+ # Computer Related Products: Prewritten computer software delivered via load and leave
68
+ PREWRITTEN_COMPUTER_SOFTWARE_DELIVERED_VIA_LOAD_AND_LEAVE = 30_060
69
+ # Computer Related Products: Remote Access
70
+ REMOTE_ACCESS = 30_070
71
+ # Computer Related Products: Computer
72
+ COMPUTER = 30_100
73
+ # Computer Related Products: Mandatory computer software maintenance contracts with respect to prewritten computer software
74
+ MANDATORY_COMPUTER_SOFTWARE_MAINTENANCE_CONTRACTS_WITH_RESPECT_TO_PREWRITTEN_COMPUTER_SOFTWARE = 30_200
75
+ # Computer Related Products: Mandatory computer software maintenance contracts with respect to prewritten computer software which is delivered electronically
76
+ MANDATORY_COMPUTER_SOFTWARE_MAINTENANCE_CONTRACTS_WITH_RESPECT_TO_PREWRITTEN_COMPUTER_SOFTWARE_WHICH_IS_DELIVERED_ELECTRONICALLY = 30_210
77
+ # Computer Related Products: Mandatory computer software maintenance contracts with respect to prewritten computer software which is delivered via load and leave
78
+ MANDATORY_COMPUTER_SOFTWARE_MAINTENANCE_CONTRACTS_WITH_RESPECT_TO_PREWRITTEN_COMPUTER_SOFTWARE_WHICH_IS_DELIVERED_VIA_LOAD_AND_LEAVE = 30_220
79
+ # Computer Related Products: Mandatory computer software maintenance contracts with respect to non-prewritten (custom) computer software
80
+ MANDATORY_COMPUTER_SOFTWARE_MAINTENANCE_CONTRACTS_WITH_RESPECT_TO_NON_PREWRITTEN_CUSTOM_COMPUTER_SOFTWARE = 30_230
81
+ # Computer Related Products: Mandatory computer software maintenance contracts with respect to non-prewritten (custom) software which is delivered electronically
82
+ MANDATORY_COMPUTER_SOFTWARE_MAINTENANCE_CONTRACTS_WITH_RESPECT_TO_NON_PREWRITTEN_CUSTOM_SOFTWARE_WHICH_IS_DELIVERED_ELECTRONICALLY = 30_240
83
+ # Computer Related Products: Mandatory computer software maintenance contracts with respect to non-prewritten (custom) software which is delivered via load and leave
84
+ MANDATORY_COMPUTER_SOFTWARE_MAINTENANCE_CONTRACTS_WITH_RESPECT_TO_NON_PREWRITTEN_CUSTOM_SOFTWARE_WHICH_IS_DELIVERED_VIA_LOAD_AND_LEAVE = 30_250
85
+ # Computer Related Products: Optional computer software maintenance contracts with respect to prewritten computer software that only provide updates or upgrades with respect to the software
86
+ OPTIONAL_COMPUTER_SOFTWARE_MAINTENANCE_CONTRACTS_WITH_RESPECT_TO_PREWRITTEN_COMPUTER_SOFTWARE_THAT_ONLY_PROVIDE_UPDATES_OR_UPGRADES_WITH_RESPECT_TO_THE_SOFTWARE = 30_300
87
+ # Computer Related Products: Optional computer software maintenance contracts with respect to prewritten computer software that only provide updates or upgrades delivered electronically with respect to the software
88
+ OPTIONAL_COMPUTER_SOFTWARE_MAINTENANCE_CONTRACTS_WITH_RESPECT_TO_PREWRITTEN_COMPUTER_SOFTWARE_THAT_ONLY_PROVIDE_UPDATES_OR_UPGRADES_DELIVERED_ELECTRONICALLY_WITH_RESPECT_TO_THE_SOFTWARE = 30_310
89
+ # Computer Related Products: Optional computer software maintenance contracts with respect to prewritten computer software that only provide updates or upgrades delivered via load and leave with respect to the software
90
+ OPTIONAL_COMPUTER_SOFTWARE_MAINTENANCE_CONTRACTS_WITH_RESPECT_TO_PREWRITTEN_COMPUTER_SOFTWARE_THAT_ONLY_PROVIDE_UPDATES_OR_UPGRADES_DELIVERED_VIA_LOAD_AND_LEAVE_WITH_RESPECT_TO_THE_SOFTWARE = 30_320
91
+ # Computer Related Products: Optional computer software maintenance contracts with respect to non-prewritten (custom) computer software that only provide updates or upgrades with respect to the software
92
+ OPTIONAL_COMPUTER_SOFTWARE_MAINTENANCE_CONTRACTS_WITH_RESPECT_TO_NON_PREWRITTEN_CUSTOM_COMPUTER_SOFTWARE_THAT_ONLY_PROVIDE_UPDATES_OR_UPGRADES_WITH_RESPECT_TO_THE_SOFTWARE = 30_330
93
+ # Computer Related Products: Optional computer software maintenance contracts with respect to non-prewritten (custom) computer software that only provide updates or upgrades delivered electronically with respect to the software
94
+ OPTIONAL_COMPUTER_SOFTWARE_MAINTENANCE_CONTRACTS_WITH_RESPECT_TO_NON_PREWRITTEN_CUSTOM_COMPUTER_SOFTWARE_THAT_ONLY_PROVIDE_UPDATES_OR_UPGRADES_DELIVERED_ELECTRONICALLY_WITH_RESPECT_TO_THE_SOFTWARE = 30_340
95
+ # Computer Related Products: Optional computer software maintenance contracts with respect to non-prewritten (custom) computer software that only provide updates or upgrades delivered via load and leave with respect to the software
96
+ OPTIONAL_COMPUTER_SOFTWARE_MAINTENANCE_CONTRACTS_WITH_RESPECT_TO_NON_PREWRITTEN_CUSTOM_COMPUTER_SOFTWARE_THAT_ONLY_PROVIDE_UPDATES_OR_UPGRADES_DELIVERED_VIA_LOAD_AND_LEAVE_WITH_RESPECT_TO_THE_SOFTWARE = 30_350
97
+ # Computer Related Products: Optional computer software maintenance contracts with respect to non-prewritten (custom) computer software that only provide support services to the software
98
+ OPTIONAL_COMPUTER_SOFTWARE_MAINTENANCE_CONTRACTS_WITH_RESPECT_TO_NON_PREWRITTEN_CUSTOM_COMPUTER_SOFTWARE_THAT_ONLY_PROVIDE_SUPPORT_SERVICES_TO_THE_SOFTWARE = 30_360
99
+ # Computer Related Products: Optional computer software maintenance contracts with respect to non-prewritten (custom) computer software that provide updates or upgrades and support services to the softwareAppendix E
100
+ OPTIONAL_COMPUTER_SOFTWARE_MAINTENANCE_CONTRACTS_WITH_RESPECT_TO_NON_PREWRITTEN_CUSTOM_COMPUTER_SOFTWARE_THAT_PROVIDE_UPDATES_OR_UPGRADES_AND_SUPPORT_SERVICES_TO_THE_SOFTWAREAPPENDIX_E = 30_370
101
+ # Computer Related Products: Optional computer software maintenance contracts with respect to non-prewritten (custom) computer software that provide updates or upgrades delivered electronically and support services to the software
102
+ OPTIONAL_COMPUTER_SOFTWARE_MAINTENANCE_CONTRACTS_WITH_RESPECT_TO_NON_PREWRITTEN_CUSTOM_COMPUTER_SOFTWARE_THAT_PROVIDE_UPDATES_OR_UPGRADES_DELIVERED_ELECTRONICALLY_AND_SUPPORT_SERVICES_TO_THE_SOFTWARE = 30_380
103
+ # Computer Related Products: Optional computer software maintenance contracts with respect to non-prewritten (custom) computer software provide updates or upgrades delivered via load and leave and support services to the software
104
+ OPTIONAL_COMPUTER_SOFTWARE_MAINTENANCE_CONTRACTS_WITH_RESPECT_TO_NON_PREWRITTEN_CUSTOM_COMPUTER_SOFTWARE_PROVIDE_UPDATES_OR_UPGRADES_DELIVERED_VIA_LOAD_AND_LEAVE_AND_SUPPORT_SERVICES_TO_THE_SOFTWARE = 30_390
105
+ # Computer Related Products: Optional computer software maintenance contracts with respect to prewritten computer software that provide updates or upgrades and support services to the software
106
+ OPTIONAL_COMPUTER_SOFTWARE_MAINTENANCE_CONTRACTS_WITH_RESPECT_TO_PREWRITTEN_COMPUTER_SOFTWARE_THAT_PROVIDE_UPDATES_OR_UPGRADES_AND_SUPPORT_SERVICES_TO_THE_SOFTWARE = 30_400
107
+ # Computer Related Products: Optional computer software maintenance contracts with respect to prewritten computer software that provide updates and upgrades delivered electronically and support services to the software
108
+ OPTIONAL_COMPUTER_SOFTWARE_MAINTENANCE_CONTRACTS_WITH_RESPECT_TO_PREWRITTEN_COMPUTER_SOFTWARE_THAT_PROVIDE_UPDATES_AND_UPGRADES_DELIVERED_ELECTRONICALLY_AND_SUPPORT_SERVICES_TO_THE_SOFTWARE = 30_410
109
+ # Computer Related Products: Optional computer software maintenance contracts with respect to prewritten computer software that provide updates and upgrades delivered via load and leave and support services to the software
110
+ OPTIONAL_COMPUTER_SOFTWARE_MAINTENANCE_CONTRACTS_WITH_RESPECT_TO_PREWRITTEN_COMPUTER_SOFTWARE_THAT_PROVIDE_UPDATES_AND_UPGRADES_DELIVERED_VIA_LOAD_AND_LEAVE_AND_SUPPORT_SERVICES_TO_THE_SOFTWARE = 30_420
111
+ # Computer Related Products: Optional computer software maintenance contracts with respect to prewritten computer software that only provide support services to the software
112
+ OPTIONAL_COMPUTER_SOFTWARE_MAINTENANCE_CONTRACTS_WITH_RESPECT_TO_PREWRITTEN_COMPUTER_SOFTWARE_THAT_ONLY_PROVIDE_SUPPORT_SERVICES_TO_THE_SOFTWARE = 30_430
113
+
114
+ # Digital Products
115
+
116
+ # Digital Products: Products Transferred Electronically
117
+ PRODUCTS_TRANSFERRED_ELECTRONICALLY = 31_000
118
+ # Digital Products: Audio-Visual Works
119
+ AUDIO_VISUAL_WORKS = 31_035
120
+ # Digital Products: Digital Audio Visual Works (with rights for permanent use)
121
+ DIGITAL_AUDIO_VISUAL_WORKS_WITH_RIGHTS_FOR_PERMANENT_USE = 31_040
122
+ # Digital Products: Digital Audio Visual Works (with rights of less than permanent use)
123
+ DIGITAL_AUDIO_VISUAL_WORKS_WITH_RIGHTS_OF_LESS_THAN_PERMANENT_USE = 31_050
124
+ # Digital Products: Digital Audio Visual Works (with rights conditioned on continued payments)
125
+ DIGITAL_AUDIO_VISUAL_WORKS_WITH_RIGHTS_CONDITIONED_ON_CONTINUED_PAYMENTS = 31_060
126
+ # Digital Products: Digital Audio Visual Works sold to users other than the end user
127
+ DIGITAL_AUDIO_VISUAL_WORKS_SOLD_TO_USERS_OTHER_THAN_THE_END_USER = 31_065
128
+ # Digital Products: Audio Works
129
+ AUDIO_WORKS = 31_069
130
+ # Digital Products: Digital Audio Works (with rights for permanent use)
131
+ DIGITAL_AUDIO_WORKS_WITH_RIGHTS_FOR_PERMANENT_USE = 31_070
132
+ # Digital Products: Digital Audio Works (with rights of less than permanent use)
133
+ DIGITAL_AUDIO_WORKS_WITH_RIGHTS_OF_LESS_THAN_PERMANENT_USE = 31_080
134
+ # Digital Products: Digital Audio Works (with rights conditioned on continued payments)
135
+ DIGITAL_AUDIO_WORKS_WITH_RIGHTS_CONDITIONED_ON_CONTINUED_PAYMENTS = 31_090
136
+ # Digital Products: Digital Audio Works sold to users other than the end user
137
+ DIGITAL_AUDIO_WORKS_SOLD_TO_USERS_OTHER_THAN_THE_END_USER = 31_095
138
+ # Digital Products: Digital Books
139
+ DIGITAL_BOOKS = 31_099
140
+ # Digital Products: Digital Books (with rights for permanent use)
141
+ DIGITAL_BOOKS_WITH_RIGHTS_FOR_PERMANENT_USE = 31_100
142
+ # Digital Products: Digital Books (with rights of less than permanent use)
143
+ DIGITAL_BOOKS_WITH_RIGHTS_OF_LESS_THAN_PERMANENT_USE = 31_110
144
+ # Digital Products: Digital Books (with rights conditioned on continued payments)
145
+ DIGITAL_BOOKS_WITH_RIGHTS_CONDITIONED_ON_CONTINUED_PAYMENTS = 31_120
146
+ # Digital Products: Digital Books sold to users other than the end user
147
+ DIGITAL_BOOKS_SOLD_TO_USERS_OTHER_THAN_THE_END_USER = 31_125
148
+
149
+ # Food and Food Products
150
+
151
+ # Food and Food Products: Candy
152
+ CANDY = 40_010
153
+ # Food and Food Products: Dietary Supplements
154
+ DIETARY_SUPPLEMENTS = 40_020
155
+ # Food and Food Products: Food and food ingredients excluding alcoholic beverages and tobacco
156
+ FOOD_AND_FOOD_INGREDIENTS_EXCLUDING_ALCOHOLIC_BEVERAGES_AND_TOBACCO = 40_030
157
+ # Food and Food Products: Food sold through vending machines
158
+ FOOD_SOLD_THROUGH_VENDING_MACHINES = 40_040
159
+ # Food and Food Products: Soft Drinks
160
+ SOFT_DRINKS = 40_050
161
+ # Food and Food Products: Bottled Water
162
+ BOTTLED_WATER = 40_060
163
+
164
+ # Prepared Food
165
+
166
+ # Prepared Food: Prepared Food
167
+ PREPARED_FOOD = 41_000
168
+ # Prepared Food: Food sold without eating utensils provided by the seller whose primary NAICS classification is manufacturing in sector 311, except subsector 3118 (bakeries)
169
+ FOOD_SOLD_WITHOUT_EATING_UTENSILS_PROVIDED_BY_THE_SELLER_WHOSE_PRIMARY_NAICS_CLASSIFICATION_IS_MANUFACTURING_IN_SECTOR_311_EXCEPT_SUBSECTOR_3118_BAKERIES = 41_010
170
+ # Prepared Food: Food sold without eating utensils provided by the seller in an unheated state by weight or volume as a single item
171
+ FOOD_SOLD_WITHOUT_EATING_UTENSILS_PROVIDED_BY_THE_SELLER_IN_AN_UNHEATED_STATE_BY_WEIGHT_OR_VOLUME_AS_A_SINGLE_ITEM = 41_020
172
+ # Prepared Food: Bakery items sold without eating utensils provided by the seller, including bread, rolls, buns, biscuits, bagels, croissants, pastries, donuts, Danish, cakes, tortes, pies, tarts, muffins, bars, cookies, tortillas
173
+ BAKERY_ITEMS_SOLD_WITHOUT_EATING_UTENSILS_PROVIDED_BY_THE_SELLER_INCLUDING_BREAD_ROLLS_BUNS_BISCUITS_BAGELS_CROISSANTS_PASTRIES_DONUTS_DANISH_CAKES_TORTES_PIES_TARTS_MUFFINS_BARS_COOKIES_TORTILLAS = 41_030
174
+
175
+ # Drugs
176
+
177
+ # Drugs: Drugs/Pharmaceuticals
178
+ DRUGS_PHARMACEUTICALS = 51_000
179
+ # Drugs: Human use
180
+ HUMAN_USE = 51_001
181
+ # Drugs: Animal/Veterinary use
182
+ ANIMAL_VETERINARY_USE = 51_002
183
+ # Drugs: Drugs for human use without a prescription
184
+ DRUGS_FOR_HUMAN_USE_WITHOUT_A_PRESCRIPTION = 51_010
185
+ # Drugs: Drugs for human use with a prescription
186
+ DRUGS_FOR_HUMAN_USE_WITH_A_PRESCRIPTION = 51_020
187
+ # Drugs: Drugs for animal use without a prescription
188
+ DRUGS_FOR_ANIMAL_USE_WITHOUT_A_PRESCRIPTION = 51_030
189
+ # Drugs: Drugs for animal use with a prescription
190
+ DRUGS_FOR_ANIMAL_USE_WITH_A_PRESCRIPTION = 51_040
191
+ # Drugs: Insulin for human use without a prescription
192
+ INSULIN_FOR_HUMAN_USE_WITHOUT_A_PRESCRIPTION = 51_050
193
+ # Drugs: Insulin
194
+ INSULIN = 51_055
195
+ # Drugs: Insulin for human use with a prescription
196
+ INSULIN_FOR_HUMAN_USE_WITH_A_PRESCRIPTION = 51_060
197
+ # Drugs: Insulin for animal use without a prescription
198
+ INSULIN_FOR_ANIMAL_USE_WITHOUT_A_PRESCRIPTION = 51_070
199
+ # Drugs: Insulin
200
+ INSULIN_1 = 51_075
201
+ # Drugs: Insulin for animal use with a prescription
202
+ INSULIN_FOR_ANIMAL_USE_WITH_A_PRESCRIPTION = 51_080
203
+ # Drugs: Medical oxygen for human use without a prescription
204
+ MEDICAL_OXYGEN_FOR_HUMAN_USE_WITHOUT_A_PRESCRIPTION = 51_090
205
+ # Drugs: Oxygen
206
+ OXYGEN = 51_095
207
+ # Drugs: Medical oxygen for human use with a prescription
208
+ MEDICAL_OXYGEN_FOR_HUMAN_USE_WITH_A_PRESCRIPTION = 51_100
209
+ # Drugs: Medical oxygen for animal use without a prescription
210
+ MEDICAL_OXYGEN_FOR_ANIMAL_USE_WITHOUT_A_PRESCRIPTION = 51_110
211
+ # Drugs: Oxygen
212
+ OXYGEN_1 = 51_115
213
+ # Drugs: Medical oxygen for animal use with a prescription
214
+ MEDICAL_OXYGEN_FOR_ANIMAL_USE_WITH_A_PRESCRIPTION = 51_120
215
+ # Drugs: Over-the-counter drugs for human use without a prescription
216
+ OVER_THE_COUNTER_DRUGS_FOR_HUMAN_USE_WITHOUT_A_PRESCRIPTION = 51_130
217
+ # Drugs: Over-the-counter
218
+ OVER_THE_COUNTER = 51_135
219
+ # Drugs: Over-the-counter drugs for human use with a prescription
220
+ OVER_THE_COUNTER_DRUGS_FOR_HUMAN_USE_WITH_A_PRESCRIPTION = 51_140
221
+ # Drugs: Over-the-counter drugs for animal use without a prescription
222
+ OVER_THE_COUNTER_DRUGS_FOR_ANIMAL_USE_WITHOUT_A_PRESCRIPTION = 51_150
223
+ # Drugs: Over-the-counter
224
+ OVER_THE_COUNTER_1 = 51_155
225
+ # Drugs: Over-the-counter drugs for animal use with a prescription
226
+ OVER_THE_COUNTER_DRUGS_FOR_ANIMAL_USE_WITH_A_PRESCRIPTION = 51_160
227
+ # Drugs: Grooming and hygiene products for human use
228
+ GROOMING_AND_HYGIENE_PRODUCTS_FOR_HUMAN_USE = 51_170
229
+ # Drugs: Grooming and hygiene products for animal use
230
+ GROOMING_AND_HYGIENE_PRODUCTS_FOR_ANIMAL_USE = 51_180
231
+ # Drugs: Drugs for human use to hospitals
232
+ DRUGS_FOR_HUMAN_USE_TO_HOSPITALS = 51_190
233
+ # Drugs: Drugs for human use to other medical facilities
234
+ DRUGS_FOR_HUMAN_USE_TO_OTHER_MEDICAL_FACILITIES = 51_195
235
+ # Drugs: Prescription drugs for human use to hospitals
236
+ PRESCRIPTION_DRUGS_FOR_HUMAN_USE_TO_HOSPITALS = 51_200
237
+ # Drugs: Prescription drugs for human use to other medical facilities
238
+ PRESCRIPTION_DRUGS_FOR_HUMAN_USE_TO_OTHER_MEDICAL_FACILITIES = 51_205
239
+ # Drugs: Drugs for animal use to veterinary hospitals and other animal medical facilities
240
+ DRUGS_FOR_ANIMAL_USE_TO_VETERINARY_HOSPITALS_AND_OTHER_ANIMAL_MEDICAL_FACILITIES = 51_210
241
+ # Drugs: Prescription drugs for animal use to hospitals and other animal medical facilities
242
+ PRESCRIPTION_DRUGS_FOR_ANIMAL_USE_TO_HOSPITALS_AND_OTHER_ANIMAL_MEDICAL_FACILITIES = 51_220
243
+ # Drugs: Free samples of drugs for human use
244
+ FREE_SAMPLES_OF_DRUGS_FOR_HUMAN_USE = 51_240
245
+ # Drugs: Free Samples
246
+ FREE_SAMPLES = 51_245
247
+ # Drugs: Free samples of prescription drugs for human use
248
+ FREE_SAMPLES_OF_PRESCRIPTION_DRUGS_FOR_HUMAN_USE = 51_250
249
+ # Drugs: Free samples of drugs for animal use
250
+ FREE_SAMPLES_OF_DRUGS_FOR_ANIMAL_USE = 51_260
251
+ # Drugs: Free Samples
252
+ FREE_SAMPLES_1 = 51_265
253
+ # Drugs: Free samples of prescription drugs for animal use
254
+ FREE_SAMPLES_OF_PRESCRIPTION_DRUGS_FOR_ANIMAL_USE = 51_270
255
+
256
+ # Durable Medical Equipment
257
+
258
+ # Durable Medical Equipment: Durable medical equipment
259
+ DURABLE_MEDICAL_EQUIPMENT = 52_000
260
+ # Durable Medical Equipment: for Commercial/Industrial/Civic use
261
+ FOR_COMMERCIAL_INDUSTRIAL_CIVIC_USE = 52_005
262
+ # Durable Medical Equipment: Durable medical equipment without a prescription
263
+ DURABLE_MEDICAL_EQUIPMENT_WITHOUT_A_PRESCRIPTION = 52_010
264
+ # Durable Medical Equipment: Durable medical equipment with a prescription
265
+ DURABLE_MEDICAL_EQUIPMENT_WITH_A_PRESCRIPTION = 52_020
266
+ # Durable Medical Equipment: Durable medical equipment with a prescription paid for by Medicare
267
+ DURABLE_MEDICAL_EQUIPMENT_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICARE = 52_030
268
+ # Durable Medical Equipment: Durable medical equipment with a prescription reimbursed by Medicare
269
+ DURABLE_MEDICAL_EQUIPMENT_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICARE = 52_040
270
+ # Durable Medical Equipment: Durable medical equipment with a prescription paid for by MedicaidAppendix E
271
+ DURABLE_MEDICAL_EQUIPMENT_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICAIDAPPENDIX_E = 52_050
272
+ # Durable Medical Equipment: Durable medical equipment with a prescription reimbursed by Medicaid
273
+ DURABLE_MEDICAL_EQUIPMENT_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICAID = 52_060
274
+ # Durable Medical Equipment: for home use
275
+ FOR_HOME_USE = 52_065
276
+ # Durable Medical Equipment: Durable medical equipment for home use without a prescription
277
+ DURABLE_MEDICAL_EQUIPMENT_FOR_HOME_USE_WITHOUT_A_PRESCRIPTION = 52_070
278
+ # Durable Medical Equipment: Durable medical equipment for home use with a prescription
279
+ DURABLE_MEDICAL_EQUIPMENT_FOR_HOME_USE_WITH_A_PRESCRIPTION = 52_080
280
+ # Durable Medical Equipment: Durable medical equipment for home use with a prescription paid for by Medicare
281
+ DURABLE_MEDICAL_EQUIPMENT_FOR_HOME_USE_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICARE = 52_090
282
+ # Durable Medical Equipment: Durable medical equipment for home use with a prescription reimbursed by Medicare
283
+ DURABLE_MEDICAL_EQUIPMENT_FOR_HOME_USE_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICARE = 52_100
284
+ # Durable Medical Equipment: Durable medical equipment for home use with a prescription paid for by Medicaid
285
+ DURABLE_MEDICAL_EQUIPMENT_FOR_HOME_USE_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICAID = 52_110
286
+ # Durable Medical Equipment: Durable medical equipment for home use with a prescription reimbursed by Medicaid
287
+ DURABLE_MEDICAL_EQUIPMENT_FOR_HOME_USE_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICAID = 52_120
288
+ # Durable Medical Equipment: Oxygen delivery equipment
289
+ OXYGEN_DELIVERY_EQUIPMENT = 52_125
290
+ # Durable Medical Equipment: for Commercial/Industrial/Civic use
291
+ FOR_COMMERCIAL_INDUSTRIAL_CIVIC_USE_1 = 52_128
292
+ # Durable Medical Equipment: Oxygen delivery equipment without a prescription
293
+ OXYGEN_DELIVERY_EQUIPMENT_WITHOUT_A_PRESCRIPTION = 52_130
294
+ # Durable Medical Equipment: Oxygen delivery equipment with a prescription
295
+ OXYGEN_DELIVERY_EQUIPMENT_WITH_A_PRESCRIPTION = 52_140
296
+ # Durable Medical Equipment: Oxygen delivery equipment with a prescription paid for by Medicare
297
+ OXYGEN_DELIVERY_EQUIPMENT_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICARE = 52_150
298
+ # Durable Medical Equipment: Oxygen delivery equipment with a prescription reimbursed by Medicare
299
+ OXYGEN_DELIVERY_EQUIPMENT_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICARE = 52_160
300
+ # Durable Medical Equipment: Oxygen delivery equipment with a prescription paid for by Medicaid
301
+ OXYGEN_DELIVERY_EQUIPMENT_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICAID = 52_170
302
+ # Durable Medical Equipment: Oxygen delivery equipment with a prescription reimbursed by Medicaid
303
+ OXYGEN_DELIVERY_EQUIPMENT_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICAID = 52_180
304
+ # Durable Medical Equipment: for home use
305
+ FOR_HOME_USE_1 = 52_185
306
+ # Durable Medical Equipment: Oxygen delivery equipment for home use without a prescription
307
+ OXYGEN_DELIVERY_EQUIPMENT_FOR_HOME_USE_WITHOUT_A_PRESCRIPTION = 52_190
308
+ # Durable Medical Equipment: Oxygen delivery equipment for home use with a prescription
309
+ OXYGEN_DELIVERY_EQUIPMENT_FOR_HOME_USE_WITH_A_PRESCRIPTION = 52_200
310
+ # Durable Medical Equipment: Oxygen delivery equipment with a prescription for home use paid for by Medicare
311
+ OXYGEN_DELIVERY_EQUIPMENT_WITH_A_PRESCRIPTION_FOR_HOME_USE_PAID_FOR_BY_MEDICARE = 52_210
312
+ # Durable Medical Equipment: Oxygen delivery equipment with a prescription for home use reimbursed by Medicare
313
+ OXYGEN_DELIVERY_EQUIPMENT_WITH_A_PRESCRIPTION_FOR_HOME_USE_REIMBURSED_BY_MEDICARE = 52_220
314
+ # Durable Medical Equipment: Oxygen delivery equipment with a prescription for home use paid for by Medicaid
315
+ OXYGEN_DELIVERY_EQUIPMENT_WITH_A_PRESCRIPTION_FOR_HOME_USE_PAID_FOR_BY_MEDICAID = 52_230
316
+ # Durable Medical Equipment: Oxygen delivery equipment with a prescription for home use reimbursed by Medicaid
317
+ OXYGEN_DELIVERY_EQUIPMENT_WITH_A_PRESCRIPTION_FOR_HOME_USE_REIMBURSED_BY_MEDICAID = 52_240
318
+ # Durable Medical Equipment: Kidney dialysis equipment
319
+ KIDNEY_DIALYSIS_EQUIPMENT = 52_245
320
+ # Durable Medical Equipment: for Commercial/Industrial/Civic use
321
+ FOR_COMMERCIAL_INDUSTRIAL_CIVIC_USE_2 = 52_248
322
+ # Durable Medical Equipment: Kidney dialysis equipment without a prescription
323
+ KIDNEY_DIALYSIS_EQUIPMENT_WITHOUT_A_PRESCRIPTION = 52_250
324
+ # Durable Medical Equipment: Kidney dialysis equipment with a prescription
325
+ KIDNEY_DIALYSIS_EQUIPMENT_WITH_A_PRESCRIPTION = 52_260
326
+ # Durable Medical Equipment: Kidney dialysis equipment with a prescription paid for by Medicare
327
+ KIDNEY_DIALYSIS_EQUIPMENT_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICARE = 52_270
328
+ # Durable Medical Equipment: Kidney dialysis equipment with a prescription reimbursed by Medicare
329
+ KIDNEY_DIALYSIS_EQUIPMENT_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICARE = 52_280
330
+ # Durable Medical Equipment: Kidney dialysis equipment with a prescription paid for by Medicaid
331
+ KIDNEY_DIALYSIS_EQUIPMENT_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICAID = 52_290
332
+ # Durable Medical Equipment: Kidney dialysis equipment with a prescription reimbursed by Medicaid
333
+ KIDNEY_DIALYSIS_EQUIPMENT_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICAID = 52_300
334
+ # Durable Medical Equipment: for home use
335
+ FOR_HOME_USE_2 = 52_305
336
+ # Durable Medical Equipment: Kidney dialysis equipment for home use without a prescription
337
+ KIDNEY_DIALYSIS_EQUIPMENT_FOR_HOME_USE_WITHOUT_A_PRESCRIPTION = 52_310
338
+ # Durable Medical Equipment: Kidney dialysis equipment for home use with a prescription
339
+ KIDNEY_DIALYSIS_EQUIPMENT_FOR_HOME_USE_WITH_A_PRESCRIPTION = 52_320
340
+ # Durable Medical Equipment: Kidney dialysis equipment for home use with a prescription paid for by Medicare
341
+ KIDNEY_DIALYSIS_EQUIPMENT_FOR_HOME_USE_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICARE = 52_330
342
+ # Durable Medical Equipment: Kidney dialysis equipment for home use with a prescription reimbursed by Medicare
343
+ KIDNEY_DIALYSIS_EQUIPMENT_FOR_HOME_USE_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICARE = 52_340
344
+ # Durable Medical Equipment: Kidney dialysis equipment for home use with a prescription paid for by Medicaid
345
+ KIDNEY_DIALYSIS_EQUIPMENT_FOR_HOME_USE_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICAID = 52_350
346
+ # Durable Medical Equipment: Kidney dialysis equipment for home use with a prescription reimbursed by Medicaid
347
+ KIDNEY_DIALYSIS_EQUIPMENT_FOR_HOME_USE_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICAID = 52_360
348
+ # Durable Medical Equipment: Enteral feeding systems
349
+ ENTERAL_FEEDING_SYSTEMS = 52_365
350
+ # Durable Medical Equipment: for Commercial/Industrial/Civic use
351
+ FOR_COMMERCIAL_INDUSTRIAL_CIVIC_USE_3 = 52_368
352
+ # Durable Medical Equipment: Enteral feeding systems without a prescription
353
+ ENTERAL_FEEDING_SYSTEMS_WITHOUT_A_PRESCRIPTION = 52_370
354
+ # Durable Medical Equipment: Enteral feeding systems with a prescription
355
+ ENTERAL_FEEDING_SYSTEMS_WITH_A_PRESCRIPTION = 52_380
356
+ # Durable Medical Equipment: Enteral feeding systems with a prescription paid for by Medicare
357
+ ENTERAL_FEEDING_SYSTEMS_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICARE = 52_390
358
+ # Durable Medical Equipment: Enteral feeding systems with a prescription reimbursed by Medicare
359
+ ENTERAL_FEEDING_SYSTEMS_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICARE = 52_400
360
+ # Durable Medical Equipment: Enteral feeding systems with a prescription paid for by Medicaid
361
+ ENTERAL_FEEDING_SYSTEMS_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICAID = 52_410
362
+ # Durable Medical Equipment: Enteral feeding systems with a prescription reimbursed by Medicaid
363
+ ENTERAL_FEEDING_SYSTEMS_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICAID = 52_420
364
+ # Durable Medical Equipment: for home use
365
+ FOR_HOME_USE_3 = 52_425
366
+ # Durable Medical Equipment: Enteral feeding systems for home use without a prescription
367
+ ENTERAL_FEEDING_SYSTEMS_FOR_HOME_USE_WITHOUT_A_PRESCRIPTION = 52_430
368
+ # Durable Medical Equipment: Enteral feeding systems for home use with a prescription
369
+ ENTERAL_FEEDING_SYSTEMS_FOR_HOME_USE_WITH_A_PRESCRIPTION = 52_440
370
+ # Durable Medical Equipment: Enteral feeding systems for home use with a prescription paid for by Medicare
371
+ ENTERAL_FEEDING_SYSTEMS_FOR_HOME_USE_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICARE = 52_450
372
+ # Durable Medical Equipment: Enteral feeding systems for home use with a prescription reimbursed by Medicare
373
+ ENTERAL_FEEDING_SYSTEMS_FOR_HOME_USE_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICARE = 52_460
374
+ # Durable Medical Equipment: Enteral feeding systems for home use with a prescription paid for by Medicaid
375
+ ENTERAL_FEEDING_SYSTEMS_FOR_HOME_USE_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICAID = 52_470
376
+ # Durable Medical Equipment: Enteral feeding systems for home use with a prescription reimbursed by Medicaid
377
+ ENTERAL_FEEDING_SYSTEMS_FOR_HOME_USE_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICAID = 52_480
378
+ # Durable Medical Equipment: Repair and replacement parts for durable medical equipment which are for single patient use
379
+ REPAIR_AND_REPLACEMENT_PARTS_FOR_DURABLE_MEDICAL_EQUIPMENT_WHICH_ARE_FOR_SINGLE_PATIENT_USE = 52_490
380
+
381
+ # Mobilty Enhancing Equipment
382
+
383
+ # Mobilty Enhancing Equipment: Mobility enhancing equipment
384
+ MOBILITY_ENHANCING_EQUIPMENT = 53_000
385
+ # Mobilty Enhancing Equipment: Mobility enhancing equipment without a prescription
386
+ MOBILITY_ENHANCING_EQUIPMENT_WITHOUT_A_PRESCRIPTION = 53_010
387
+ # Mobilty Enhancing Equipment: Mobility enhancing equipment with a prescriptionAppendix E
388
+ MOBILITY_ENHANCING_EQUIPMENT_WITH_A_PRESCRIPTIONAPPENDIX_E = 53_020
389
+ # Mobilty Enhancing Equipment: Mobility enhancing equipment with a prescription paid for by Medicare
390
+ MOBILITY_ENHANCING_EQUIPMENT_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICARE = 53_030
391
+ # Mobilty Enhancing Equipment: Mobility enhancing equipment with a prescription reimbursed by Medicare
392
+ MOBILITY_ENHANCING_EQUIPMENT_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICARE = 53_040
393
+ # Mobilty Enhancing Equipment: Mobility enhancing equipment with a prescription paid for by Medicaid
394
+ MOBILITY_ENHANCING_EQUIPMENT_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICAID = 53_050
395
+ # Mobilty Enhancing Equipment: Mobility enhancing equipment with a prescription reimbursed by Medicaid
396
+ MOBILITY_ENHANCING_EQUIPMENT_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICAID = 53_060
397
+
398
+ # Prosthetic Devices
399
+
400
+ # Prosthetic Devices: Prosthetic devices
401
+ PROSTHETIC_DEVICES = 54_000
402
+ # Prosthetic Devices: Prosthetic devices without a prescription
403
+ PROSTHETIC_DEVICES_WITHOUT_A_PRESCRIPTION = 54_010
404
+ # Prosthetic Devices: Prosthetic devices with a prescription
405
+ PROSTHETIC_DEVICES_WITH_A_PRESCRIPTION = 54_020
406
+ # Prosthetic Devices: Prosthetic devices paid with a prescription for by Medicare
407
+ PROSTHETIC_DEVICES_PAID_WITH_A_PRESCRIPTION_FOR_BY_MEDICARE = 54_030
408
+ # Prosthetic Devices: Prosthetic devices with a prescription reimbursed by Medicare
409
+ PROSTHETIC_DEVICES_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICARE = 54_040
410
+ # Prosthetic Devices: Prosthetic devices with a prescription paid for by Medicaid
411
+ PROSTHETIC_DEVICES_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICAID = 54_050
412
+ # Prosthetic Devices: Prosthetic devices with a prescription reimbursed by Medicaid
413
+ PROSTHETIC_DEVICES_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICAID = 54_060
414
+ # Prosthetic Devices: Corrective eyeglasses
415
+ CORRECTIVE_EYEGLASSES = 54_065
416
+ # Prosthetic Devices: Corrective eyeglasses without a prescription
417
+ CORRECTIVE_EYEGLASSES_WITHOUT_A_PRESCRIPTION = 54_070
418
+ # Prosthetic Devices: Corrective eyeglasses with a prescription
419
+ CORRECTIVE_EYEGLASSES_WITH_A_PRESCRIPTION = 54_080
420
+ # Prosthetic Devices: Corrective eyeglasses with a prescription paid for by Medicare
421
+ CORRECTIVE_EYEGLASSES_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICARE = 54_090
422
+ # Prosthetic Devices: Corrective eyeglasses with a prescription reimbursed by Medicare
423
+ CORRECTIVE_EYEGLASSES_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICARE = 54_100
424
+ # Prosthetic Devices: Corrective eyeglasses with a prescription paid for by Medicaid
425
+ CORRECTIVE_EYEGLASSES_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICAID = 54_110
426
+ # Prosthetic Devices: Corrective eyeglasses with a prescription reimbursed by Medicaid
427
+ CORRECTIVE_EYEGLASSES_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICAID = 54_120
428
+ # Prosthetic Devices: Contact lenses
429
+ CONTACT_LENSES = 54_125
430
+ # Prosthetic Devices: Contact lenses without a prescription
431
+ CONTACT_LENSES_WITHOUT_A_PRESCRIPTION = 54_130
432
+ # Prosthetic Devices: Contact lenses with a prescription
433
+ CONTACT_LENSES_WITH_A_PRESCRIPTION = 54_140
434
+ # Prosthetic Devices: Contact lenses with a prescription paid for by Medicare
435
+ CONTACT_LENSES_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICARE = 54_150
436
+ # Prosthetic Devices: Contact lenses with a prescription reimbursed by Medicare
437
+ CONTACT_LENSES_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICARE = 54_160
438
+ # Prosthetic Devices: Contact lenses with a prescription paid for by Medicaid
439
+ CONTACT_LENSES_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICAID = 54_170
440
+ # Prosthetic Devices: Contact lenses with a prescription reimbursed by Medicaid
441
+ CONTACT_LENSES_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICAID = 54_180
442
+ # Prosthetic Devices: Hearing aids
443
+ HEARING_AIDS = 54_185
444
+ # Prosthetic Devices: Hearing aids without a prescription
445
+ HEARING_AIDS_WITHOUT_A_PRESCRIPTION = 54_190
446
+ # Prosthetic Devices: Hearing aids with a prescription
447
+ HEARING_AIDS_WITH_A_PRESCRIPTION = 54_200
448
+ # Prosthetic Devices: Hearing aids with a prescription paid for by Medicare
449
+ HEARING_AIDS_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICARE = 54_210
450
+ # Prosthetic Devices: Hearing aids with a prescription reimbursed by Medicare
451
+ HEARING_AIDS_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICARE = 54_220
452
+ # Prosthetic Devices: Hearing aids with a prescription paid for by Medicaid
453
+ HEARING_AIDS_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICAID = 54_230
454
+ # Prosthetic Devices: Hearing aids with a prescription reimbursed by Medicaid
455
+ HEARING_AIDS_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICAID = 54_240
456
+ # Prosthetic Devices: Dental prosthesis
457
+ DENTAL_PROSTHESIS = 54_245
458
+ # Prosthetic Devices: Dental prosthesis without a prescription
459
+ DENTAL_PROSTHESIS_WITHOUT_A_PRESCRIPTION = 54_250
460
+ # Prosthetic Devices: Dental prosthesis with a prescription
461
+ DENTAL_PROSTHESIS_WITH_A_PRESCRIPTION = 54_260
462
+ # Prosthetic Devices: Dental prosthesis with a prescription paid for by Medicare
463
+ DENTAL_PROSTHESIS_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICARE = 54_270
464
+ # Prosthetic Devices: Dental prosthesis with a prescription reimbursed by Medicare
465
+ DENTAL_PROSTHESIS_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICARE = 54_280
466
+ # Prosthetic Devices: Dental prosthesis with a prescription paid for by Medicaid
467
+ DENTAL_PROSTHESIS_WITH_A_PRESCRIPTION_PAID_FOR_BY_MEDICAID = 54_290
468
+ # Prosthetic Devices: Dental prosthesis with a prescription reimbursed by Medicaid
469
+ DENTAL_PROSTHESIS_WITH_A_PRESCRIPTION_REIMBURSED_BY_MEDICAID = 54_300
470
+
471
+ # Telecommunications
472
+
473
+ # Telecommunications: Ancillary Services
474
+ ANCILLARY_SERVICES = 60_010
475
+ # Telecommunications: Conference bridging service
476
+ CONFERENCE_BRIDGING_SERVICE = 60_020
477
+ # Telecommunications: Detailed telecommunications billing service
478
+ DETAILED_TELECOMMUNICATIONS_BILLING_SERVICE = 60_030
479
+ # Telecommunications: Directory assistance
480
+ DIRECTORY_ASSISTANCE = 60_040
481
+ # Telecommunications: Vertical service
482
+ VERTICAL_SERVICE = 60_050
483
+ # Telecommunications: Voice mail service
484
+ VOICE_MAIL_SERVICE = 60_060
485
+ # Telecommunications: Intrastate Telecommunications Service
486
+ INTRASTATE_TELECOMMUNICATIONS_SERVICE = 61_000
487
+ # Telecommunications: Interstate Telecommunications ServiceAppendix E
488
+ INTERSTATE_TELECOMMUNICATIONS_SERVICEAPPENDIX_E = 61_010
489
+ # Telecommunications: International Telecommunications Service
490
+ INTERNATIONAL_TELECOMMUNICATIONS_SERVICE = 61_020
491
+ # Telecommunications: International 800 service
492
+ INTERNATIONAL_800_SERVICE = 61_030
493
+ # Telecommunications: International 900 service
494
+ INTERNATIONAL_900_SERVICE = 61_040
495
+ # Telecommunications: International fixed wireless service
496
+ INTERNATIONAL_FIXED_WIRELESS_SERVICE = 61_050
497
+ # Telecommunications: International mobile wireless service
498
+ INTERNATIONAL_MOBILE_WIRELESS_SERVICE = 61_060
499
+ # Telecommunications: International paging service
500
+ INTERNATIONAL_PAGING_SERVICE = 61_070
501
+ # Telecommunications: International prepaid calling service
502
+ INTERNATIONAL_PREPAID_CALLING_SERVICE = 61_080
503
+ # Telecommunications: International prepaid wireless calling service
504
+ INTERNATIONAL_PREPAID_WIRELESS_CALLING_SERVICE = 61_090
505
+ # Telecommunications: International private communications service
506
+ INTERNATIONAL_PRIVATE_COMMUNICATIONS_SERVICE = 61_100
507
+ # Telecommunications: International value-added non-voice data service
508
+ INTERNATIONAL_VALUE_ADDED_NON_VOICE_DATA_SERVICE = 61_110
509
+ # Telecommunications: International residential telecommunications service
510
+ INTERNATIONAL_RESIDENTIAL_TELECOMMUNICATIONS_SERVICE = 61_120
511
+ # Telecommunications: Interstate 800 service
512
+ INTERSTATE_800_SERVICE = 61_130
513
+ # Telecommunications: Interstate 900 service
514
+ INTERSTATE_900_SERVICE = 61_140
515
+ # Telecommunications: Interstate fixed wireless service
516
+ INTERSTATE_FIXED_WIRELESS_SERVICE = 61_150
517
+ # Telecommunications: Interstate mobile wireless service
518
+ INTERSTATE_MOBILE_WIRELESS_SERVICE = 61_160
519
+ # Telecommunications: Interstate paging service
520
+ INTERSTATE_PAGING_SERVICE = 61_170
521
+ # Telecommunications: Interstate prepaid calling service
522
+ INTERSTATE_PREPAID_CALLING_SERVICE = 61_180
523
+ # Telecommunications: Interstate prepaid wireless calling service
524
+ INTERSTATE_PREPAID_WIRELESS_CALLING_SERVICE = 61_190
525
+ # Telecommunications: Interstate private communications service
526
+ INTERSTATE_PRIVATE_COMMUNICATIONS_SERVICE = 61_200
527
+ # Telecommunications: Interstate value-added non-voice data service
528
+ INTERSTATE_VALUE_ADDED_NON_VOICE_DATA_SERVICE = 61_210
529
+ # Telecommunications: Interstate residential telecommunications service
530
+ INTERSTATE_RESIDENTIAL_TELECOMMUNICATIONS_SERVICE = 61_220
531
+ # Telecommunications: Intrastate 800 service
532
+ INTRASTATE_800_SERVICE = 61_230
533
+ # Telecommunications: Intrastate 900 service
534
+ INTRASTATE_900_SERVICE = 61_240
535
+ # Telecommunications: Intrastate fixed wireless service
536
+ INTRASTATE_FIXED_WIRELESS_SERVICE = 61_250
537
+ # Telecommunications: Intrastate mobile wireless service
538
+ INTRASTATE_MOBILE_WIRELESS_SERVICE = 61_260
539
+ # Telecommunications: Intrastate paging service
540
+ INTRASTATE_PAGING_SERVICE = 61_270
541
+ # Telecommunications: Intrastate prepaid calling service
542
+ INTRASTATE_PREPAID_CALLING_SERVICE = 61_280
543
+ # Telecommunications: Intrastate prepaid wireless calling service
544
+ INTRASTATE_PREPAID_WIRELESS_CALLING_SERVICE = 61_290
545
+ # Telecommunications: Intrastate private communications service
546
+ INTRASTATE_PRIVATE_COMMUNICATIONS_SERVICE = 61_300
547
+ # Telecommunications: Intrastate value-added non-voice data service
548
+ INTRASTATE_VALUE_ADDED_NON_VOICE_DATA_SERVICE = 61_310
549
+ # Telecommunications: Intrastate residential telecommunications service
550
+ INTRASTATE_RESIDENTIAL_TELECOMMUNICATIONS_SERVICE = 61_320
551
+ # Telecommunications: Paging service
552
+ PAGING_SERVICE = 61_325
553
+ # Telecommunications: Coin-operated telephone service
554
+ COIN_OPERATED_TELEPHONE_SERVICE = 61_330
555
+ # Telecommunications: Pay telephone service
556
+ PAY_TELEPHONE_SERVICE = 61_340
557
+ # Telecommunications: Local Service as defined by state
558
+ LOCAL_SERVICE_AS_DEFINED_BY_STATE = 61_350
559
+ end
560
+ end