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,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version224
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::Version224::SaveValidator
13
+
14
+ Schema = Dry::Validation.Schema do
15
+ required(:name).filled
16
+ required(:program_type).value(
17
+ included_in?: ::Dhis2::Api::Version224::Constants.program_types
18
+ )
19
+ required(:category_combo).schema do
20
+ required(:id).filled
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version224
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::Version224::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 Version224
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::Version224::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 Version224
6
+ class ResourceTable
7
+ include ::Dhis2::Api::Shared::ResourceTable
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version224
6
+ module SaveValidator
7
+ def self.included(base)
8
+ base.extend(ClassMethods)
9
+ end
10
+
11
+ private
12
+
13
+ def validate_instance_update(response)
14
+ unless instance_update_success?(response)
15
+ raise Dhis2::UpdateError, "Update error. #{response}"
16
+ end
17
+ end
18
+
19
+ def instance_update_success?(response)
20
+ self.class.base_response_check(response) &&
21
+ Dhis2::Api::ImportSummary.new(response["response"]).update_success?
22
+ end
23
+
24
+ module ClassMethods
25
+ def validate_instance_creation(response)
26
+ unless instance_creation_success?(response)
27
+ raise Dhis2::CreationError, "Creation error. #{response}"
28
+ end
29
+ end
30
+
31
+ def instance_creation_success?(response)
32
+ base_response_check(response) &&
33
+ Dhis2::Api::ImportSummary.new(response["response"]).creation_success?
34
+ end
35
+
36
+ def created_instance_id(response)
37
+ response["response"]["last_imported"]
38
+ end
39
+
40
+ def base_response_check(response)
41
+ response["status"] == "OK" &&
42
+ response["response"]
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version224
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 Version224
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::Version224::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 Version225
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 Version225
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::Version225::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 Version225
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::Version225::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 Version225
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 Version225
6
+ module Constants
7
+ include ::Dhis2::Api::Shared::Constants
8
+
9
+ VALUE_TYPES = %w(UNIT_INTERVAL LETTER BOOLEAN NUMBER TEXT DATE 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 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,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version225
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::Version225::Constants.aggregation_types
20
+ )
21
+ required(:domain_type).value(
22
+ included_in?: ::Dhis2::Api::Version225::Constants.domain_types
23
+ )
24
+ required(:value_type).value(
25
+ included_in?: ::Dhis2::Api::Version225::Constants.value_types
26
+ )
27
+ required(:category_combo).schema do
28
+ required(:id).filled
29
+ end
30
+ end
31
+
32
+ def self.creation_defaults(args)
33
+ {
34
+ aggregation_type: "SUM",
35
+ code: args[:short_name],
36
+ domain_type: "AGGREGATE",
37
+ type: "int",
38
+ value_type: "NUMBER",
39
+ zero_is_significant: true
40
+ }
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version225
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,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version225
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::Version225::Constants.period_types
20
+ )
21
+ required(:category_combo).schema do
22
+ required(:id).filled
23
+ end
24
+ end
25
+
26
+ def self.creation_defaults(args)
27
+ {
28
+ code: args[:short_name],
29
+ period_type: "Monthly"
30
+ }
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version225
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 Version225
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 Version225
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 Version225
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 Version225
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 Version225
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 Version225
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 Version225
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 Version225
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 Version225
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,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version225
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(:program_type).value(
17
+ included_in?: ::Dhis2::Api::Version225::Constants.program_types
18
+ )
19
+ required(:category_combo).schema do
20
+ required(:id).filled
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Dhis2
4
+ module Api
5
+ module Version225
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