dhis2 2.3.8 → 3.0.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 (194) hide show
  1. checksums.yaml +4 -4
  2. data/.github/PULL_REQUEST_TEMPLATE.md +11 -0
  3. data/Gemfile +2 -1
  4. data/README.md +208 -68
  5. data/Rakefile +4 -2
  6. data/bin/console +1 -0
  7. data/changelog.md +7 -0
  8. data/dhis2.gemspec +8 -8
  9. data/lib/dhis2/api/base.rb +5 -94
  10. data/lib/dhis2/api/bulk_creatable.rb +28 -0
  11. data/lib/dhis2/api/constants.rb +13 -0
  12. data/lib/dhis2/api/creatable.rb +47 -0
  13. data/lib/dhis2/api/deletable.rb +12 -0
  14. data/lib/dhis2/api/event_creation_status.rb +58 -0
  15. data/lib/dhis2/api/findable.rb +52 -0
  16. data/lib/dhis2/api/import_summary.rb +61 -0
  17. data/lib/dhis2/api/listable.rb +78 -0
  18. data/lib/dhis2/api/query_parameters_formatter.rb +50 -0
  19. data/lib/dhis2/api/shared/analytic.rb +20 -0
  20. data/lib/dhis2/api/shared/category_combo.rb +29 -0
  21. data/lib/dhis2/api/shared/category_option_combo.rb +23 -0
  22. data/lib/dhis2/api/shared/constants.rb +35 -0
  23. data/lib/dhis2/api/shared/data_element_group.rb +25 -0
  24. data/lib/dhis2/api/shared/data_set.rb +22 -0
  25. data/lib/dhis2/api/shared/data_value.rb +26 -0
  26. data/lib/dhis2/api/shared/data_value_set.rb +58 -0
  27. data/lib/dhis2/api/shared/event.rb +54 -0
  28. data/lib/dhis2/api/shared/organisation_unit.rb +17 -0
  29. data/lib/dhis2/api/shared/organisation_unit_group.rb +21 -0
  30. data/lib/dhis2/api/shared/report_tables.rb +32 -0
  31. data/lib/dhis2/api/shared/resource_table.rb +19 -0
  32. data/lib/dhis2/api/shared/save_validator.rb +47 -0
  33. data/lib/dhis2/api/shared/system_info.rb +19 -0
  34. data/lib/dhis2/api/updatable.rb +33 -0
  35. data/lib/dhis2/api/version224/analytic.rb +10 -0
  36. data/lib/dhis2/api/version224/attribute.rb +23 -0
  37. data/lib/dhis2/api/version224/category_combo.rb +25 -0
  38. data/lib/dhis2/api/version224/category_option_combo.rb +23 -0
  39. data/lib/dhis2/api/version224/constants.rb +22 -0
  40. data/lib/dhis2/api/version224/data_element.rb +45 -0
  41. data/lib/dhis2/api/version224/data_element_group.rb +22 -0
  42. data/lib/dhis2/api/version224/data_set.rb +53 -0
  43. data/lib/dhis2/api/version224/data_value.rb +11 -0
  44. data/lib/dhis2/api/version224/data_value_set.rb +25 -0
  45. data/lib/dhis2/api/version224/event.rb +31 -0
  46. data/lib/dhis2/api/version224/index.rb +27 -0
  47. data/lib/dhis2/api/version224/indicator.rb +24 -0
  48. data/lib/dhis2/api/version224/indicator_group.rb +20 -0
  49. data/lib/dhis2/api/version224/indicator_type.rb +20 -0
  50. data/lib/dhis2/api/version224/organisation_unit.rb +24 -0
  51. data/lib/dhis2/api/version224/organisation_unit_group.rb +22 -0
  52. data/lib/dhis2/api/version224/organisation_unit_group_set.rb +20 -0
  53. data/lib/dhis2/api/version224/organisation_unit_level.rb +21 -0
  54. data/lib/dhis2/api/version224/program.rb +26 -0
  55. data/lib/dhis2/api/version224/report.rb +20 -0
  56. data/lib/dhis2/api/version224/report_table.rb +21 -0
  57. data/lib/dhis2/api/version224/resource_table.rb +11 -0
  58. data/lib/dhis2/api/version224/save_validator.rb +48 -0
  59. data/lib/dhis2/api/version224/system_info.rb +11 -0
  60. data/lib/dhis2/api/version224/user.rb +15 -0
  61. data/lib/dhis2/api/version225/analytic.rb +10 -0
  62. data/lib/dhis2/api/version225/attribute.rb +23 -0
  63. data/lib/dhis2/api/version225/category_combo.rb +25 -0
  64. data/lib/dhis2/api/version225/category_option_combo.rb +23 -0
  65. data/lib/dhis2/api/version225/constants.rb +22 -0
  66. data/lib/dhis2/api/version225/data_element.rb +45 -0
  67. data/lib/dhis2/api/version225/data_element_group.rb +22 -0
  68. data/lib/dhis2/api/version225/data_set.rb +35 -0
  69. data/lib/dhis2/api/version225/data_value.rb +11 -0
  70. data/lib/dhis2/api/version225/data_value_set.rb +25 -0
  71. data/lib/dhis2/api/version225/event.rb +31 -0
  72. data/lib/dhis2/api/version225/index.rb +26 -0
  73. data/lib/dhis2/api/version225/indicator.rb +24 -0
  74. data/lib/dhis2/api/version225/indicator_group.rb +20 -0
  75. data/lib/dhis2/api/version225/indicator_type.rb +20 -0
  76. data/lib/dhis2/api/version225/organisation_unit.rb +24 -0
  77. data/lib/dhis2/api/version225/organisation_unit_group.rb +22 -0
  78. data/lib/dhis2/api/version225/organisation_unit_group_set.rb +20 -0
  79. data/lib/dhis2/api/version225/organisation_unit_level.rb +21 -0
  80. data/lib/dhis2/api/version225/program.rb +26 -0
  81. data/lib/dhis2/api/version225/report.rb +20 -0
  82. data/lib/dhis2/api/version225/report_table.rb +21 -0
  83. data/lib/dhis2/api/version225/resource_table.rb +11 -0
  84. data/lib/dhis2/api/version225/system_info.rb +11 -0
  85. data/lib/dhis2/api/version225/user.rb +15 -0
  86. data/lib/dhis2/api/version226/analytic.rb +10 -0
  87. data/lib/dhis2/api/version226/attribute.rb +23 -0
  88. data/lib/dhis2/api/version226/category_combo.rb +25 -0
  89. data/lib/dhis2/api/version226/category_option_combo.rb +23 -0
  90. data/lib/dhis2/api/version226/constants.rb +22 -0
  91. data/lib/dhis2/api/version226/data_element.rb +42 -0
  92. data/lib/dhis2/api/version226/data_element_group.rb +22 -0
  93. data/lib/dhis2/api/version226/data_set.rb +32 -0
  94. data/lib/dhis2/api/version226/data_value.rb +11 -0
  95. data/lib/dhis2/api/version226/data_value_set.rb +25 -0
  96. data/lib/dhis2/api/version226/event.rb +31 -0
  97. data/lib/dhis2/api/version226/index.rb +26 -0
  98. data/lib/dhis2/api/version226/indicator.rb +24 -0
  99. data/lib/dhis2/api/version226/indicator_group.rb +20 -0
  100. data/lib/dhis2/api/version226/indicator_type.rb +20 -0
  101. data/lib/dhis2/api/version226/organisation_unit.rb +24 -0
  102. data/lib/dhis2/api/version226/organisation_unit_group.rb +22 -0
  103. data/lib/dhis2/api/version226/organisation_unit_group_set.rb +20 -0
  104. data/lib/dhis2/api/version226/organisation_unit_level.rb +21 -0
  105. data/lib/dhis2/api/version226/program.rb +24 -0
  106. data/lib/dhis2/api/version226/report.rb +20 -0
  107. data/lib/dhis2/api/version226/report_table.rb +21 -0
  108. data/lib/dhis2/api/version226/resource_table.rb +11 -0
  109. data/lib/dhis2/api/version226/system_info.rb +11 -0
  110. data/lib/dhis2/api/version226/user.rb +15 -0
  111. data/lib/dhis2/api/version227/analytic.rb +10 -0
  112. data/lib/dhis2/api/version227/attribute.rb +23 -0
  113. data/lib/dhis2/api/version227/category_combo.rb +25 -0
  114. data/lib/dhis2/api/version227/category_option_combo.rb +23 -0
  115. data/lib/dhis2/api/version227/constants.rb +22 -0
  116. data/lib/dhis2/api/version227/data_element.rb +42 -0
  117. data/lib/dhis2/api/version227/data_element_group.rb +22 -0
  118. data/lib/dhis2/api/version227/data_set.rb +32 -0
  119. data/lib/dhis2/api/version227/data_value.rb +11 -0
  120. data/lib/dhis2/api/version227/data_value_set.rb +25 -0
  121. data/lib/dhis2/api/version227/event.rb +31 -0
  122. data/lib/dhis2/api/version227/index.rb +26 -0
  123. data/lib/dhis2/api/version227/indicator.rb +24 -0
  124. data/lib/dhis2/api/version227/indicator_group.rb +20 -0
  125. data/lib/dhis2/api/version227/indicator_type.rb +20 -0
  126. data/lib/dhis2/api/version227/organisation_unit.rb +24 -0
  127. data/lib/dhis2/api/version227/organisation_unit_group.rb +22 -0
  128. data/lib/dhis2/api/version227/organisation_unit_group_set.rb +20 -0
  129. data/lib/dhis2/api/version227/organisation_unit_level.rb +21 -0
  130. data/lib/dhis2/api/version227/program.rb +24 -0
  131. data/lib/dhis2/api/version227/report.rb +20 -0
  132. data/lib/dhis2/api/version227/report_table.rb +21 -0
  133. data/lib/dhis2/api/version227/resource_table.rb +11 -0
  134. data/lib/dhis2/api/version227/system_info.rb +11 -0
  135. data/lib/dhis2/api/version227/user.rb +15 -0
  136. data/lib/dhis2/api/version228/analytic.rb +10 -0
  137. data/lib/dhis2/api/version228/attribute.rb +23 -0
  138. data/lib/dhis2/api/version228/category_combo.rb +25 -0
  139. data/lib/dhis2/api/version228/category_option_combo.rb +23 -0
  140. data/lib/dhis2/api/version228/constants.rb +22 -0
  141. data/lib/dhis2/api/version228/data_element.rb +41 -0
  142. data/lib/dhis2/api/version228/data_element_group.rb +22 -0
  143. data/lib/dhis2/api/version228/data_set.rb +32 -0
  144. data/lib/dhis2/api/version228/data_value.rb +11 -0
  145. data/lib/dhis2/api/version228/data_value_set.rb +25 -0
  146. data/lib/dhis2/api/version228/event.rb +31 -0
  147. data/lib/dhis2/api/version228/index.rb +26 -0
  148. data/lib/dhis2/api/version228/indicator.rb +24 -0
  149. data/lib/dhis2/api/version228/indicator_group.rb +20 -0
  150. data/lib/dhis2/api/version228/indicator_type.rb +20 -0
  151. data/lib/dhis2/api/version228/organisation_unit.rb +24 -0
  152. data/lib/dhis2/api/version228/organisation_unit_group.rb +22 -0
  153. data/lib/dhis2/api/version228/organisation_unit_group_set.rb +20 -0
  154. data/lib/dhis2/api/version228/organisation_unit_level.rb +21 -0
  155. data/lib/dhis2/api/version228/program.rb +24 -0
  156. data/lib/dhis2/api/version228/report.rb +20 -0
  157. data/lib/dhis2/api/version228/report_table.rb +21 -0
  158. data/lib/dhis2/api/version228/resource_table.rb +11 -0
  159. data/lib/dhis2/api/version228/system_info.rb +11 -0
  160. data/lib/dhis2/api/version228/user.rb +15 -0
  161. data/lib/dhis2/case.rb +46 -0
  162. data/lib/dhis2/classes.rb +44 -0
  163. data/lib/dhis2/client.rb +152 -89
  164. data/lib/dhis2/collection_wrapper.rb +13 -3
  165. data/lib/dhis2/configuration.rb +55 -1
  166. data/lib/dhis2/error.rb +19 -0
  167. data/lib/dhis2/pager.rb +8 -3
  168. data/lib/dhis2/version.rb +1 -1
  169. data/lib/dhis2.rb +51 -42
  170. metadata +168 -50
  171. data/lib/dhis2/api/analytic.rb +0 -20
  172. data/lib/dhis2/api/attribute.rb +0 -8
  173. data/lib/dhis2/api/category_combo.rb +0 -28
  174. data/lib/dhis2/api/category_option_combo.rb +0 -8
  175. data/lib/dhis2/api/data_element.rb +0 -34
  176. data/lib/dhis2/api/data_element_group.rb +0 -32
  177. data/lib/dhis2/api/data_set.rb +0 -33
  178. data/lib/dhis2/api/data_value.rb +0 -15
  179. data/lib/dhis2/api/data_value_set.rb +0 -71
  180. data/lib/dhis2/api/event.rb +0 -36
  181. data/lib/dhis2/api/indicator.rb +0 -8
  182. data/lib/dhis2/api/indicator_group.rb +0 -8
  183. data/lib/dhis2/api/organisation_unit.rb +0 -66
  184. data/lib/dhis2/api/organisation_unit_group.rb +0 -38
  185. data/lib/dhis2/api/organisation_unit_group_set.rb +0 -6
  186. data/lib/dhis2/api/organisation_unit_level.rb +0 -8
  187. data/lib/dhis2/api/program.rb +0 -8
  188. data/lib/dhis2/api/report.rb +0 -8
  189. data/lib/dhis2/api/report_table.rb +0 -8
  190. data/lib/dhis2/api/resource_table.rb +0 -14
  191. data/lib/dhis2/api/system_info.rb +0 -13
  192. data/lib/dhis2/api/user.rb +0 -8
  193. data/lib/dhis2/import_error.rb +0 -6
  194. data/lib/dhis2/status.rb +0 -42
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ class CategoryCombo < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Listable
8
+ include ::Dhis2::Api::Findable
9
+ include ::Dhis2::Api::Creatable
10
+ include ::Dhis2::Api::BulkCreatable
11
+ include ::Dhis2::Api::Updatable
12
+ include ::Dhis2::Api::Deletable
13
+ include ::Dhis2::Api::Shared::SaveValidator
14
+ include ::Dhis2::Api::Shared::CategoryCombo
15
+
16
+ Schema = Dry::Validation.Schema do
17
+ required(:name).filled
18
+ required(:data_dimension_type).value(
19
+ included_in?: ::Dhis2::Api::Version227::Constants.data_dimension_types
20
+ )
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ class CategoryOptionCombo < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Listable
8
+ include ::Dhis2::Api::Findable
9
+ include ::Dhis2::Api::Creatable
10
+ include ::Dhis2::Api::Updatable
11
+ include ::Dhis2::Api::Deletable
12
+ include ::Dhis2::Api::Shared::SaveValidator
13
+ include ::Dhis2::Api::Shared::CategoryOptionCombo
14
+
15
+ Schema = Dry::Validation.Schema do
16
+ required(:category_combo).schema do
17
+ required(:id).filled
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ module Constants
7
+ include ::Dhis2::Api::Shared::Constants
8
+
9
+ VALUE_TYPES = %w(UNIT_INTERVAL LETTER BOOLEAN NUMBER TEXT DATE URL LONG_TEXT FILE_RESOURCE USERNAME TRACKER_ASSOCIATE COORDINATE INTEGER_POSITIVE DATETIME EMAIL TRUE_ONLY INTEGER INTEGER_ZERO_OR_POSITIVE ORGANISATION_UNIT TIME INTEGER_NEGATIVE PERCENTAGE AGE PHONE_NUMBER).freeze
10
+ AGGREGATION_TYPES = %w(DEFAULT MAX AVERAGE_INT_DISAGGREGATION SUM AVERAGE_BOOL AVERAGE_INT COUNT CUSTOM STDDEV AVERAGE_SUM_ORG_UNIT NONE AVERAGE_SUM_INT AVERAGE_SUM_INT_DISAGGREGATION AVERAGE VARIANCE MIN).freeze
11
+
12
+ def self.value_types
13
+ VALUE_TYPES
14
+ end
15
+
16
+ def self.aggregation_types
17
+ AGGREGATION_TYPES
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ class DataElement < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Listable
8
+ include ::Dhis2::Api::Findable
9
+ include ::Dhis2::Api::Creatable
10
+ include ::Dhis2::Api::BulkCreatable
11
+ include ::Dhis2::Api::Updatable
12
+ include ::Dhis2::Api::Deletable
13
+ include ::Dhis2::Api::Shared::SaveValidator
14
+
15
+ Schema = Dry::Validation.Schema do
16
+ required(:name).filled
17
+ required(:short_name).filled
18
+ required(:aggregation_type).value(
19
+ included_in?: ::Dhis2::Api::Version227::Constants.aggregation_types
20
+ )
21
+ required(:domain_type).value(
22
+ included_in?: ::Dhis2::Api::Version227::Constants.domain_types
23
+ )
24
+ required(:value_type).value(
25
+ included_in?: ::Dhis2::Api::Version227::Constants.value_types
26
+ )
27
+ end
28
+
29
+ def self.creation_defaults(args)
30
+ {
31
+ aggregation_type: "SUM",
32
+ code: args[:short_name],
33
+ domain_type: "AGGREGATE",
34
+ type: "int",
35
+ value_type: "NUMBER",
36
+ zero_is_significant: true
37
+ }
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ class DataElementGroup < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Listable
8
+ include ::Dhis2::Api::Findable
9
+ include ::Dhis2::Api::Creatable
10
+ include ::Dhis2::Api::BulkCreatable
11
+ include ::Dhis2::Api::Updatable
12
+ include ::Dhis2::Api::Deletable
13
+ include ::Dhis2::Api::Shared::SaveValidator
14
+ include ::Dhis2::Api::Shared::DataElementGroup
15
+
16
+ Schema = Dry::Validation.Schema do
17
+ required(:name).filled
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ class DataSet < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Listable
8
+ include ::Dhis2::Api::Findable
9
+ include ::Dhis2::Api::Creatable
10
+ include ::Dhis2::Api::BulkCreatable
11
+ include ::Dhis2::Api::Updatable
12
+ include ::Dhis2::Api::Deletable
13
+ include ::Dhis2::Api::Shared::SaveValidator
14
+ include ::Dhis2::Api::Shared::DataSet
15
+
16
+ Schema = Dry::Validation.Schema do
17
+ required(:name).filled
18
+ required(:period_type).value(
19
+ included_in?: ::Dhis2::Api::Version227::Constants.period_types
20
+ )
21
+ end
22
+
23
+ def self.creation_defaults(args)
24
+ {
25
+ code: args[:short_name],
26
+ period_type: "Monthly"
27
+ }
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ class DataValue < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Shared::DataValue
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ class DataValueSet < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Creatable
8
+ include ::Dhis2::Api::Listable
9
+ include ::Dhis2::Api::Shared::SaveValidator
10
+ include ::Dhis2::Api::Shared::DataValueSet
11
+
12
+ Schema = Dry::Validation.Schema do
13
+ required(:data_values).each do
14
+ schema do
15
+ required(:value).filled
16
+ required(:period).filled
17
+ required(:org_unit).filled
18
+ required(:data_element).filled
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ class Event < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Listable
8
+ include ::Dhis2::Api::Findable
9
+ include ::Dhis2::Api::BulkCreatable
10
+ include ::Dhis2::Api::Creatable
11
+ include ::Dhis2::Api::Deletable
12
+ include ::Dhis2::Api::Shared::SaveValidator
13
+ include ::Dhis2::Api::Shared::Event
14
+
15
+ BulkCreationStatusClass = ::Dhis2::Api::EventCreationStatus
16
+
17
+ # args for a program without registration
18
+ # and a program with a program_stage
19
+ Schema = Dry::Validation.Schema do
20
+ required(:program).filled # program must be linked to the org unit
21
+ required(:org_unit).filled
22
+ required(:event_date).filled
23
+ required(:data_values).each do
24
+ required(:data_element).filled
25
+ required(:value).filled
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "constants"
4
+ require_relative "analytic"
5
+ require_relative "attribute"
6
+ require_relative "category_combo"
7
+ require_relative "category_option_combo"
8
+ require_relative "data_element"
9
+ require_relative "data_element_group"
10
+ require_relative "data_set"
11
+ require_relative "data_value"
12
+ require_relative "data_value_set"
13
+ require_relative "event"
14
+ require_relative "indicator"
15
+ require_relative "indicator_group"
16
+ require_relative "indicator_type"
17
+ require_relative "organisation_unit"
18
+ require_relative "organisation_unit_group"
19
+ require_relative "organisation_unit_group_set"
20
+ require_relative "organisation_unit_level"
21
+ require_relative "program"
22
+ require_relative "report_table"
23
+ require_relative "resource_table"
24
+ require_relative "report"
25
+ require_relative "system_info"
26
+ require_relative "user"
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ class Indicator < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Listable
8
+ include ::Dhis2::Api::Findable
9
+ include ::Dhis2::Api::Creatable
10
+ include ::Dhis2::Api::Updatable
11
+ include ::Dhis2::Api::Deletable
12
+ include ::Dhis2::Api::Shared::SaveValidator
13
+
14
+ Schema = Dry::Validation.Schema do
15
+ required(:name).filled
16
+ required(:short_name).filled
17
+ required(:numerator).filled
18
+ required(:denominator).filled
19
+ required(:indicator_type).filled
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ class IndicatorGroup < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Listable
8
+ include ::Dhis2::Api::Findable
9
+ include ::Dhis2::Api::Creatable
10
+ include ::Dhis2::Api::Updatable
11
+ include ::Dhis2::Api::Deletable
12
+ include ::Dhis2::Api::Shared::SaveValidator
13
+
14
+ Schema = Dry::Validation.Schema do
15
+ required(:name).filled
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ class IndicatorType < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Listable
8
+ include ::Dhis2::Api::Findable
9
+ include ::Dhis2::Api::Creatable
10
+ include ::Dhis2::Api::Updatable
11
+ include ::Dhis2::Api::Deletable
12
+ include ::Dhis2::Api::Shared::SaveValidator
13
+
14
+ Schema = Dry::Validation.Schema do
15
+ required(:name).filled
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ class OrganisationUnit < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Listable
8
+ include ::Dhis2::Api::Findable
9
+ include ::Dhis2::Api::Creatable
10
+ include ::Dhis2::Api::BulkCreatable
11
+ include ::Dhis2::Api::Updatable
12
+ include ::Dhis2::Api::Deletable
13
+ include ::Dhis2::Api::Shared::SaveValidator
14
+ include ::Dhis2::Api::Shared::OrganisationUnit
15
+
16
+ Schema = Dry::Validation.Schema do
17
+ required(:name).filled
18
+ required(:short_name).filled
19
+ required(:opening_date).filled
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ class OrganisationUnitGroup < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Listable
8
+ include ::Dhis2::Api::Findable
9
+ include ::Dhis2::Api::Creatable
10
+ include ::Dhis2::Api::BulkCreatable
11
+ include ::Dhis2::Api::Updatable
12
+ include ::Dhis2::Api::Deletable
13
+ include ::Dhis2::Api::Shared::SaveValidator
14
+ include ::Dhis2::Api::Shared::OrganisationUnitGroup
15
+
16
+ Schema = Dry::Validation.Schema do
17
+ required(:name).filled
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ class OrganisationUnitGroupSet < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Listable
8
+ include ::Dhis2::Api::Findable
9
+ include ::Dhis2::Api::Creatable
10
+ include ::Dhis2::Api::Updatable
11
+ include ::Dhis2::Api::Deletable
12
+ include ::Dhis2::Api::Shared::SaveValidator
13
+
14
+ Schema = Dry::Validation.Schema do
15
+ required(:name).filled
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ class OrganisationUnitLevel < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Listable
8
+ include ::Dhis2::Api::Findable
9
+ include ::Dhis2::Api::Creatable
10
+ include ::Dhis2::Api::Updatable
11
+ include ::Dhis2::Api::Deletable
12
+ include ::Dhis2::Api::Shared::SaveValidator
13
+
14
+ Schema = Dry::Validation.Schema do
15
+ required(:name).filled
16
+ required(:level).filled
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ class Program < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Listable
8
+ include ::Dhis2::Api::Findable
9
+ include ::Dhis2::Api::Creatable
10
+ include ::Dhis2::Api::Updatable
11
+ include ::Dhis2::Api::Deletable
12
+ include ::Dhis2::Api::Shared::SaveValidator
13
+
14
+ Schema = Dry::Validation.Schema do
15
+ required(:name).filled
16
+ required(:short_name).filled
17
+ required(:program_type).value(
18
+ included_in?: ::Dhis2::Api::Version227::Constants.program_types
19
+ )
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ class Report < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Listable
8
+ include ::Dhis2::Api::Findable
9
+ include ::Dhis2::Api::Creatable
10
+ include ::Dhis2::Api::Updatable
11
+ include ::Dhis2::Api::Deletable
12
+ include ::Dhis2::Api::Shared::SaveValidator
13
+
14
+ Schema = Dry::Validation.Schema do
15
+ required(:name).filled
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ class ReportTable < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Listable
8
+ include ::Dhis2::Api::Findable
9
+ include ::Dhis2::Api::Creatable
10
+ include ::Dhis2::Api::Updatable
11
+ include ::Dhis2::Api::Deletable
12
+ include ::Dhis2::Api::Shared::SaveValidator
13
+ include ::Dhis2::Api::Shared::ReportTable
14
+
15
+ Schema = Dry::Validation.Schema do
16
+ required(:name).filled
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ class ResourceTable
7
+ include ::Dhis2::Api::Shared::ResourceTable
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ class SystemInfo
7
+ include ::Dhis2::Api::Shared::SystemInfo
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version227
6
+ class User < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Listable
8
+ include ::Dhis2::Api::Findable
9
+ include ::Dhis2::Api::Updatable
10
+ include ::Dhis2::Api::Deletable
11
+ include ::Dhis2::Api::Shared::SaveValidator
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version228
6
+ class Analytic < ::Dhis2::Api::Shared::Analytic
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version228
6
+ class Attribute < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Listable
8
+ include ::Dhis2::Api::Findable
9
+ include ::Dhis2::Api::Creatable
10
+ include ::Dhis2::Api::Updatable
11
+ include ::Dhis2::Api::Deletable
12
+ include ::Dhis2::Api::Shared::SaveValidator
13
+
14
+ Schema = Dry::Validation.Schema do
15
+ required(:name).filled
16
+ required(:value_type).value(
17
+ included_in?: ::Dhis2::Api::Version228::Constants.value_types
18
+ )
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version228
6
+ class CategoryCombo < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Listable
8
+ include ::Dhis2::Api::Findable
9
+ include ::Dhis2::Api::Creatable
10
+ include ::Dhis2::Api::BulkCreatable
11
+ include ::Dhis2::Api::Updatable
12
+ include ::Dhis2::Api::Deletable
13
+ include ::Dhis2::Api::Shared::SaveValidator
14
+ include ::Dhis2::Api::Shared::CategoryCombo
15
+
16
+ Schema = Dry::Validation.Schema do
17
+ required(:name).filled
18
+ required(:data_dimension_type).value(
19
+ included_in?: ::Dhis2::Api::Version228::Constants.data_dimension_types
20
+ )
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version228
6
+ class CategoryOptionCombo < ::Dhis2::Api::Base
7
+ include ::Dhis2::Api::Listable
8
+ include ::Dhis2::Api::Findable
9
+ include ::Dhis2::Api::Creatable
10
+ include ::Dhis2::Api::Updatable
11
+ include ::Dhis2::Api::Deletable
12
+ include ::Dhis2::Api::Shared::SaveValidator
13
+ include ::Dhis2::Api::Shared::CategoryOptionCombo
14
+
15
+ Schema = Dry::Validation.Schema do
16
+ required(:category_combo).schema do
17
+ required(:id).filled
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version228
6
+ module Constants
7
+ include ::Dhis2::Api::Shared::Constants
8
+
9
+ VALUE_TYPES = %w(UNIT_INTERVAL LETTER BOOLEAN NUMBER TEXT DATE URL LONG_TEXT FILE_RESOURCE USERNAME TRACKER_ASSOCIATE COORDINATE INTEGER_POSITIVE DATETIME EMAIL TRUE_ONLY INTEGER INTEGER_ZERO_OR_POSITIVE ORGANISATION_UNIT TIME INTEGER_NEGATIVE PERCENTAGE AGE PHONE_NUMBER).freeze
10
+ AGGREGATION_TYPES = %w(DEFAULT MAX AVERAGE_INT_DISAGGREGATION SUM AVERAGE_BOOL AVERAGE_INT COUNT CUSTOM STDDEV AVERAGE_SUM_ORG_UNIT NONE AVERAGE_SUM_INT AVERAGE_SUM_INT_DISAGGREGATION AVERAGE VARIANCE MIN).freeze
11
+
12
+ def self.value_types
13
+ VALUE_TYPES
14
+ end
15
+
16
+ def self.aggregation_types
17
+ AGGREGATION_TYPES
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end