@iapps/d2-web-sdk 1.0.0 → 1.0.1

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 (254) hide show
  1. package/package.json +12 -1
  2. package/src/lib/d2-web-sdk.d.ts +9 -3
  3. package/src/lib/d2-web-sdk.js +12 -9
  4. package/src/lib/d2-web-sdk.js.map +1 -1
  5. package/src/lib/index.d.ts +0 -0
  6. package/src/lib/index.js +5 -0
  7. package/src/lib/index.js.map +1 -0
  8. package/src/lib/modules/data-element/models/data-element.model.d.ts +3 -2
  9. package/src/lib/modules/data-element/models/data-element.model.js +14 -60
  10. package/src/lib/modules/data-element/models/data-element.model.js.map +1 -1
  11. package/src/lib/modules/data-element/queries/data-element.query.d.ts +2 -2
  12. package/src/lib/modules/data-element/queries/data-element.query.js.map +1 -1
  13. package/src/lib/modules/engine/engine.module.d.ts +4 -0
  14. package/src/lib/modules/engine/engine.module.js +14 -0
  15. package/src/lib/modules/engine/engine.module.js.map +1 -0
  16. package/src/lib/modules/engine/index.d.ts +2 -0
  17. package/src/lib/modules/{organisation-unit → engine}/index.js +2 -3
  18. package/src/lib/modules/engine/index.js.map +1 -0
  19. package/src/lib/modules/engine/program-rule/index.d.ts +1 -0
  20. package/src/lib/{shared/decorators → modules/engine/program-rule}/index.js +1 -1
  21. package/src/lib/modules/engine/program-rule/index.js.map +1 -0
  22. package/src/lib/modules/engine/program-rule/program-rule.engine.d.ts +7 -0
  23. package/src/lib/modules/engine/program-rule/program-rule.engine.js +42 -0
  24. package/src/lib/modules/engine/program-rule/program-rule.engine.js.map +1 -0
  25. package/src/lib/modules/engine/program-rule/utils/d2-functions.util.d.ts +7 -0
  26. package/src/lib/modules/engine/program-rule/utils/d2-functions.util.js +361 -0
  27. package/src/lib/modules/engine/program-rule/utils/d2-functions.util.js.map +1 -0
  28. package/src/lib/modules/engine/program-rule/utils/d2.util.d.ts +17 -0
  29. package/src/lib/modules/engine/program-rule/utils/d2.util.js +35 -0
  30. package/src/lib/modules/engine/program-rule/utils/d2.util.js.map +1 -0
  31. package/src/lib/modules/engine/program-rule/utils/date.utils.d.ts +9 -0
  32. package/src/lib/modules/engine/program-rule/utils/date.utils.js +35 -0
  33. package/src/lib/modules/engine/program-rule/utils/date.utils.js.map +1 -0
  34. package/src/lib/modules/engine/program-rule/utils/index.d.ts +1 -0
  35. package/src/lib/modules/{organisation-unit/models → engine/program-rule/utils}/index.js +1 -3
  36. package/src/lib/modules/engine/program-rule/utils/index.js.map +1 -0
  37. package/src/lib/modules/engine/program-rule/utils/run-d2-expression.util.d.ts +4 -0
  38. package/src/lib/modules/engine/program-rule/utils/run-d2-expression.util.js +88 -0
  39. package/src/lib/modules/engine/program-rule/utils/run-d2-expression.util.js.map +1 -0
  40. package/src/lib/modules/engine/program-rule/utils/trim-quotes.util.d.ts +1 -0
  41. package/src/lib/modules/engine/program-rule/utils/trim-quotes.util.js +18 -0
  42. package/src/lib/modules/engine/program-rule/utils/trim-quotes.util.js.map +1 -0
  43. package/src/lib/modules/engine/program-rule/utils/value-converter.util.d.ts +3 -0
  44. package/src/lib/modules/engine/program-rule/utils/value-converter.util.js +10 -0
  45. package/src/lib/modules/engine/program-rule/utils/value-converter.util.js.map +1 -0
  46. package/src/lib/modules/engine/program-rule/utils/z-score-wfa.util.d.ts +1 -0
  47. package/src/lib/modules/engine/program-rule/utils/z-score-wfa.util.js +182 -0
  48. package/src/lib/modules/engine/program-rule/utils/z-score-wfa.util.js.map +1 -0
  49. package/src/lib/modules/index.d.ts +2 -1
  50. package/src/lib/modules/index.js +2 -1
  51. package/src/lib/modules/index.js.map +1 -1
  52. package/src/lib/modules/program/models/program-rule-action.model.d.ts +4 -2
  53. package/src/lib/modules/program/models/program-rule-action.model.js.map +1 -1
  54. package/src/lib/modules/program/models/program-rule-variable.model.d.ts +2 -2
  55. package/src/lib/modules/program/models/program-rule.model.d.ts +1 -1
  56. package/src/lib/modules/program/models/program-rule.model.js +6 -2
  57. package/src/lib/modules/program/models/program-rule.model.js.map +1 -1
  58. package/src/lib/modules/program/models/program-section.model.d.ts +1 -1
  59. package/src/lib/modules/program/models/program-section.model.js +1 -1
  60. package/src/lib/modules/program/models/program-section.model.js.map +1 -1
  61. package/src/lib/modules/program/models/program.model.d.ts +3 -0
  62. package/src/lib/modules/program/models/program.model.js +6 -0
  63. package/src/lib/modules/program/models/program.model.js.map +1 -1
  64. package/src/lib/modules/program/program.module.d.ts +2 -2
  65. package/src/lib/modules/program/program.module.js +2 -2
  66. package/src/lib/modules/program/program.module.js.map +1 -1
  67. package/src/lib/modules/tracker/decorators/attribute-field.decorator.d.ts +1 -0
  68. package/src/lib/modules/tracker/decorators/attribute-field.decorator.js +28 -0
  69. package/src/lib/modules/tracker/decorators/attribute-field.decorator.js.map +1 -0
  70. package/src/lib/modules/tracker/decorators/data-element-field.decorator.d.ts +4 -0
  71. package/src/lib/modules/tracker/decorators/data-element-field.decorator.js +53 -0
  72. package/src/lib/modules/tracker/decorators/data-element-field.decorator.js.map +1 -0
  73. package/src/lib/modules/tracker/decorators/enrollment-date-field.decorator.d.ts +1 -0
  74. package/src/lib/modules/tracker/decorators/enrollment-date-field.decorator.js +22 -0
  75. package/src/lib/modules/tracker/decorators/enrollment-date-field.decorator.js.map +1 -0
  76. package/src/lib/modules/tracker/decorators/event-date-field.decorator.d.ts +1 -0
  77. package/src/lib/modules/tracker/decorators/event-date-field.decorator.js +21 -0
  78. package/src/lib/modules/tracker/decorators/event-date-field.decorator.js.map +1 -0
  79. package/src/lib/modules/tracker/decorators/event-field.decorator.d.ts +2 -0
  80. package/src/lib/modules/tracker/decorators/event-field.decorator.js +54 -0
  81. package/src/lib/modules/tracker/decorators/event-field.decorator.js.map +1 -0
  82. package/src/lib/modules/tracker/decorators/event-id-field.decorator.d.ts +1 -0
  83. package/src/lib/modules/tracker/decorators/event-id-field.decorator.js +21 -0
  84. package/src/lib/modules/tracker/decorators/event-id-field.decorator.js.map +1 -0
  85. package/src/lib/modules/tracker/decorators/event.decorator.d.ts +3 -0
  86. package/src/lib/modules/tracker/decorators/event.decorator.js +13 -0
  87. package/src/lib/modules/tracker/decorators/event.decorator.js.map +1 -0
  88. package/src/lib/modules/tracker/decorators/index.d.ts +11 -0
  89. package/src/lib/modules/tracker/decorators/index.js +15 -0
  90. package/src/lib/modules/tracker/decorators/index.js.map +1 -0
  91. package/src/lib/modules/tracker/decorators/org-unit-field.decorator.d.ts +3 -0
  92. package/src/lib/modules/tracker/decorators/org-unit-field.decorator.js +28 -0
  93. package/src/lib/modules/tracker/decorators/org-unit-field.decorator.js.map +1 -0
  94. package/src/lib/modules/tracker/decorators/relationship-field.decorator.d.ts +2 -0
  95. package/src/lib/modules/tracker/decorators/relationship-field.decorator.js +55 -0
  96. package/src/lib/modules/tracker/decorators/relationship-field.decorator.js.map +1 -0
  97. package/src/lib/modules/tracker/decorators/tracked-entity-id-field.decorator.d.ts +1 -0
  98. package/src/lib/modules/tracker/decorators/tracked-entity-id-field.decorator.js +22 -0
  99. package/src/lib/modules/tracker/decorators/tracked-entity-id-field.decorator.js.map +1 -0
  100. package/src/lib/modules/tracker/decorators/tracked-entity.decorator.d.ts +4 -0
  101. package/src/lib/modules/tracker/decorators/tracked-entity.decorator.js +14 -0
  102. package/src/lib/modules/tracker/decorators/tracked-entity.decorator.js.map +1 -0
  103. package/src/lib/modules/tracker/index.d.ts +6 -0
  104. package/src/lib/modules/tracker/index.js +10 -0
  105. package/src/lib/modules/tracker/index.js.map +1 -0
  106. package/src/lib/modules/tracker/interfaces/index.d.ts +2 -0
  107. package/src/lib/modules/tracker/interfaces/index.js +9 -0
  108. package/src/lib/modules/tracker/interfaces/index.js.map +1 -0
  109. package/src/lib/modules/tracker/interfaces/tracker-filter-condition.interface.d.ts +10 -0
  110. package/src/lib/modules/tracker/interfaces/tracker-filter-condition.interface.js +18 -0
  111. package/src/lib/modules/tracker/interfaces/tracker-filter-condition.interface.js.map +1 -0
  112. package/src/lib/modules/tracker/interfaces/tracker-query-filter.interface.d.ts +6 -0
  113. package/src/lib/modules/tracker/interfaces/tracker-query-filter.interface.js +6 -0
  114. package/src/lib/modules/tracker/interfaces/tracker-query-filter.interface.js.map +1 -0
  115. package/src/lib/modules/tracker/models/attribute.model.d.ts +16 -0
  116. package/src/lib/modules/tracker/models/attribute.model.js +3 -0
  117. package/src/lib/modules/tracker/models/attribute.model.js.map +1 -0
  118. package/src/lib/modules/tracker/models/base.model.d.ts +3 -0
  119. package/src/lib/modules/tracker/models/base.model.js +14 -0
  120. package/src/lib/modules/tracker/models/base.model.js.map +1 -0
  121. package/src/lib/modules/tracker/models/d2-event-response.model.d.ts +10 -0
  122. package/src/lib/modules/tracker/models/d2-event-response.model.js +38 -0
  123. package/src/lib/modules/tracker/models/d2-event-response.model.js.map +1 -0
  124. package/src/lib/modules/tracker/models/d2-tracker-response.model.d.ts +10 -0
  125. package/src/lib/modules/tracker/models/d2-tracker-response.model.js +38 -0
  126. package/src/lib/modules/tracker/models/d2-tracker-response.model.js.map +1 -0
  127. package/src/lib/modules/tracker/models/data-value.model.d.ts +47 -0
  128. package/src/lib/modules/tracker/models/data-value.model.js +35 -0
  129. package/src/lib/modules/tracker/models/data-value.model.js.map +1 -0
  130. package/src/lib/modules/tracker/models/enrollment.model.d.ts +73 -0
  131. package/src/lib/modules/tracker/models/enrollment.model.js +113 -0
  132. package/src/lib/modules/tracker/models/enrollment.model.js.map +1 -0
  133. package/src/lib/modules/tracker/models/event.model.d.ts +95 -0
  134. package/src/lib/modules/tracker/models/event.model.js +99 -0
  135. package/src/lib/modules/tracker/models/event.model.js.map +1 -0
  136. package/src/lib/modules/tracker/models/index.d.ts +14 -0
  137. package/src/lib/modules/tracker/models/index.js +18 -0
  138. package/src/lib/modules/tracker/models/index.js.map +1 -0
  139. package/src/lib/modules/tracker/models/tracked-entity-instance.model.d.ts +125 -0
  140. package/src/lib/modules/tracker/models/tracked-entity-instance.model.js +215 -0
  141. package/src/lib/modules/tracker/models/tracked-entity-instance.model.js.map +1 -0
  142. package/src/lib/modules/tracker/models/tracker-import-stats.model.d.ts +11 -0
  143. package/src/lib/modules/tracker/models/tracker-import-stats.model.js +28 -0
  144. package/src/lib/modules/tracker/models/tracker-import-stats.model.js.map +1 -0
  145. package/src/lib/modules/tracker/models/tracker-import-summary.model.d.ts +10 -0
  146. package/src/lib/modules/tracker/models/tracker-import-summary.model.js +21 -0
  147. package/src/lib/modules/tracker/models/tracker-import-summary.model.js.map +1 -0
  148. package/src/lib/modules/tracker/models/tracker-import-validation-report.model.d.ts +12 -0
  149. package/src/lib/modules/tracker/models/tracker-import-validation-report.model.js +39 -0
  150. package/src/lib/modules/tracker/models/tracker-import-validation-report.model.js.map +1 -0
  151. package/src/lib/modules/tracker/models/tracker-query-filter.model.d.ts +13 -0
  152. package/src/lib/modules/tracker/models/tracker-query-filter.model.js +39 -0
  153. package/src/lib/modules/tracker/models/tracker-query-filter.model.js.map +1 -0
  154. package/src/lib/modules/tracker/models/tracker-relationship.model.d.ts +28 -0
  155. package/src/lib/modules/tracker/models/tracker-relationship.model.js +58 -0
  156. package/src/lib/modules/tracker/models/tracker-relationship.model.js.map +1 -0
  157. package/src/lib/modules/tracker/models/tracker-url-generator.model.d.ts +20 -0
  158. package/src/lib/modules/tracker/models/tracker-url-generator.model.js +98 -0
  159. package/src/lib/modules/tracker/models/tracker-url-generator.model.js.map +1 -0
  160. package/src/lib/modules/tracker/queries/base-event.query.d.ts +22 -0
  161. package/src/lib/modules/tracker/queries/base-event.query.js +104 -0
  162. package/src/lib/modules/tracker/queries/base-event.query.js.map +1 -0
  163. package/src/lib/modules/tracker/queries/base-tracker.query.d.ts +32 -0
  164. package/src/lib/modules/tracker/queries/base-tracker.query.js +230 -0
  165. package/src/lib/modules/tracker/queries/base-tracker.query.js.map +1 -0
  166. package/src/lib/modules/tracker/queries/index.d.ts +2 -0
  167. package/src/lib/modules/tracker/queries/index.js +6 -0
  168. package/src/lib/modules/tracker/queries/index.js.map +1 -0
  169. package/src/lib/modules/tracker/tracker.module.d.ts +8 -0
  170. package/src/lib/modules/tracker/tracker.module.js +14 -0
  171. package/src/lib/modules/tracker/tracker.module.js.map +1 -0
  172. package/src/lib/modules/tracker/utils/attribute.util.d.ts +9 -0
  173. package/src/lib/modules/tracker/utils/attribute.util.js +49 -0
  174. package/src/lib/modules/tracker/utils/attribute.util.js.map +1 -0
  175. package/src/lib/modules/tracker/utils/enrollment.util.d.ts +17 -0
  176. package/src/lib/modules/tracker/utils/enrollment.util.js +57 -0
  177. package/src/lib/modules/tracker/utils/enrollment.util.js.map +1 -0
  178. package/src/lib/modules/tracker/utils/event.util.d.ts +16 -0
  179. package/src/lib/modules/tracker/utils/event.util.js +45 -0
  180. package/src/lib/modules/tracker/utils/event.util.js.map +1 -0
  181. package/src/lib/modules/tracker/utils/index.d.ts +5 -0
  182. package/src/lib/modules/tracker/utils/index.js +9 -0
  183. package/src/lib/modules/tracker/utils/index.js.map +1 -0
  184. package/src/lib/modules/tracker/utils/program-rule.util.d.ts +4 -0
  185. package/src/lib/modules/tracker/utils/program-rule.util.js +21 -0
  186. package/src/lib/modules/tracker/utils/program-rule.util.js.map +1 -0
  187. package/src/lib/modules/tracker/utils/tracked-entity-instance.util.d.ts +14 -0
  188. package/src/lib/modules/tracker/utils/tracked-entity-instance.util.js +58 -0
  189. package/src/lib/modules/tracker/utils/tracked-entity-instance.util.js.map +1 -0
  190. package/src/lib/modules/tracker/utils/tracker-relationship.util.d.ts +4 -0
  191. package/src/lib/modules/tracker/utils/tracker-relationship.util.js +11 -0
  192. package/src/lib/modules/tracker/utils/tracker-relationship.util.js.map +1 -0
  193. package/src/lib/shared/index.d.ts +1 -1
  194. package/src/lib/shared/index.js +1 -1
  195. package/src/lib/shared/index.js.map +1 -1
  196. package/src/lib/shared/models/base.model.d.ts +0 -1
  197. package/src/lib/shared/models/base.model.js +0 -4
  198. package/src/lib/shared/models/base.model.js.map +1 -1
  199. package/src/lib/shared/models/d2-response.model.js +5 -3
  200. package/src/lib/shared/models/d2-response.model.js.map +1 -1
  201. package/src/lib/shared/models/d2-web-config.model.d.ts +1 -1
  202. package/src/lib/shared/models/http-client.model.d.ts +1 -0
  203. package/src/lib/shared/models/http-client.model.js +12 -1
  204. package/src/lib/shared/models/http-client.model.js.map +1 -1
  205. package/src/lib/shared/models/http-response.model.d.ts +1 -0
  206. package/src/lib/shared/models/http-response.model.js +3 -0
  207. package/src/lib/shared/models/http-response.model.js.map +1 -1
  208. package/src/lib/shared/models/index.d.ts +2 -0
  209. package/src/lib/shared/models/index.js +2 -0
  210. package/src/lib/shared/models/index.js.map +1 -1
  211. package/src/lib/shared/queries/base-query.d.ts +15 -5
  212. package/src/lib/shared/queries/base-query.js +32 -26
  213. package/src/lib/shared/queries/base-query.js.map +1 -1
  214. package/src/lib/shared/utils/dhis-url-generator.util.js +1 -1
  215. package/src/lib/shared/utils/dhis-url-generator.util.js.map +1 -1
  216. package/src/lib/shared/utils/generate-uid.util.d.ts +2 -0
  217. package/src/lib/shared/utils/generate-uid.util.js +31 -0
  218. package/src/lib/shared/utils/generate-uid.util.js.map +1 -0
  219. package/src/lib/shared/utils/index.d.ts +1 -0
  220. package/src/lib/shared/utils/index.js +1 -0
  221. package/src/lib/shared/utils/index.js.map +1 -1
  222. package/src/lib/modules/organisation-unit/index.d.ts +0 -3
  223. package/src/lib/modules/organisation-unit/index.js.map +0 -1
  224. package/src/lib/modules/organisation-unit/models/index.d.ts +0 -3
  225. package/src/lib/modules/organisation-unit/models/index.js.map +0 -1
  226. package/src/lib/modules/organisation-unit/models/organisation-unit-group-set.model.d.ts +0 -44
  227. package/src/lib/modules/organisation-unit/models/organisation-unit-group-set.model.js +0 -55
  228. package/src/lib/modules/organisation-unit/models/organisation-unit-group-set.model.js.map +0 -1
  229. package/src/lib/modules/organisation-unit/models/organisation-unit-group.model.d.ts +0 -39
  230. package/src/lib/modules/organisation-unit/models/organisation-unit-group.model.js +0 -50
  231. package/src/lib/modules/organisation-unit/models/organisation-unit-group.model.js.map +0 -1
  232. package/src/lib/modules/organisation-unit/models/organisation-unit.model.d.ts +0 -56
  233. package/src/lib/modules/organisation-unit/models/organisation-unit.model.js +0 -68
  234. package/src/lib/modules/organisation-unit/models/organisation-unit.model.js.map +0 -1
  235. package/src/lib/modules/organisation-unit/organisation-unit.module.d.ts +0 -9
  236. package/src/lib/modules/organisation-unit/organisation-unit.module.js +0 -20
  237. package/src/lib/modules/organisation-unit/organisation-unit.module.js.map +0 -1
  238. package/src/lib/modules/organisation-unit/queries/index.d.ts +0 -3
  239. package/src/lib/modules/organisation-unit/queries/index.js +0 -10
  240. package/src/lib/modules/organisation-unit/queries/index.js.map +0 -1
  241. package/src/lib/modules/organisation-unit/queries/organisation-unit-group-set.query.d.ts +0 -5
  242. package/src/lib/modules/organisation-unit/queries/organisation-unit-group-set.query.js +0 -15
  243. package/src/lib/modules/organisation-unit/queries/organisation-unit-group-set.query.js.map +0 -1
  244. package/src/lib/modules/organisation-unit/queries/organisation-unit-group.query.d.ts +0 -5
  245. package/src/lib/modules/organisation-unit/queries/organisation-unit-group.query.js +0 -15
  246. package/src/lib/modules/organisation-unit/queries/organisation-unit-group.query.js.map +0 -1
  247. package/src/lib/modules/organisation-unit/queries/organisation-unit.query.d.ts +0 -5
  248. package/src/lib/modules/organisation-unit/queries/organisation-unit.query.js +0 -15
  249. package/src/lib/modules/organisation-unit/queries/organisation-unit.query.js.map +0 -1
  250. package/src/lib/shared/decorators/d2-property.decorator.d.ts +0 -2
  251. package/src/lib/shared/decorators/d2-property.decorator.js +0 -14
  252. package/src/lib/shared/decorators/d2-property.decorator.js.map +0 -1
  253. package/src/lib/shared/decorators/index.d.ts +0 -1
  254. package/src/lib/shared/decorators/index.js.map +0 -1
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataValueUtil = void 0;
4
+ const lodash_1 = require("lodash");
5
+ class DataValueUtil {
6
+ static getEventDataValueEntities(events) {
7
+ return DataValueUtil.getDataValueEntities((0, lodash_1.flatten)(events.map((event) => event.dataValues)));
8
+ }
9
+ static getDataValueEntities(dataValues) {
10
+ return (dataValues || []).reduce((entity, dataValue) => {
11
+ return Object.assign(Object.assign({}, entity), { [dataValue.dataElement]: dataValue.value });
12
+ }, {});
13
+ }
14
+ static setEventDataValue(event, dataElement, value) {
15
+ if (!event) {
16
+ return event;
17
+ }
18
+ let { dataValues } = event;
19
+ const availableDataValue = (dataValues || []).find((dataValue) => (dataValue === null || dataValue === void 0 ? void 0 : dataValue.dataElement) === dataElement);
20
+ if (availableDataValue) {
21
+ const dataValueIndex = dataValues.indexOf(availableDataValue);
22
+ dataValues = [
23
+ ...dataValues.slice(0, dataValueIndex),
24
+ Object.assign(Object.assign({}, availableDataValue), { value }),
25
+ ...dataValues.slice(dataValueIndex + 1),
26
+ ];
27
+ }
28
+ else {
29
+ dataValues = [...dataValues, { dataElement, value }];
30
+ }
31
+ return Object.assign(Object.assign({}, event), { dataValues, dataValueEntities: DataValueUtil.getDataValueEntities(dataValues) });
32
+ }
33
+ }
34
+ exports.DataValueUtil = DataValueUtil;
35
+ //# sourceMappingURL=data-value.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-value.model.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/models/data-value.model.ts"],"names":[],"mappings":";;;AAAA,mCAAiC;AAcjC,MAAa,aAAa;IACxB,MAAM,CAAC,yBAAyB,CAAC,MAAoB;QAGnD,OAAO,aAAa,CAAC,oBAAoB,CACvC,IAAA,gBAAO,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CACjD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,UAAiB;QAC3C,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAW,EAAE,SAAoB,EAAE,EAAE;YACrE,uCACK,MAAM,KACT,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,KAAK,IACxC;QACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAED,MAAM,CAAC,iBAAiB,CACtB,KAAiB,EACjB,WAAmB,EACnB,KAAa;QAEb,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAC3B,MAAM,kBAAkB,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAChD,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,MAAK,WAAW,CACtD,CAAC;QAEF,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YAE9D,UAAU,GAAG;gBACX,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC;gDACjC,kBAAkB,KAAE,KAAK;gBAC9B,GAAG,UAAU,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC;aACxC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,CAAC,GAAG,UAAU,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,uCACK,KAAK,KACR,UAAU,EACV,iBAAiB,EAAE,aAAa,CAAC,oBAAoB,CAAC,UAAU,CAAC,IACjE;IACJ,CAAC;CACF;AAlDD,sCAkDC"}
@@ -0,0 +1,73 @@
1
+ import { BaseTrackerSDKModel } from './base.model';
2
+ import { DataValue } from './data-value.model';
3
+ import { IDHIS2Event } from './event.model';
4
+ export interface IEnrollment {
5
+ storedBy?: string;
6
+ created?: string;
7
+ orgUnit: string;
8
+ createdAtClient?: string;
9
+ program: string;
10
+ trackedEntity: string;
11
+ enrollment: string;
12
+ lastUpdated?: string;
13
+ trackedEntityType?: string;
14
+ lastUpdatedAtClient?: string;
15
+ orgUnitName?: string;
16
+ enrolledAt?: string;
17
+ enrollmentDate?: string;
18
+ deleted?: boolean;
19
+ occurredAt: string;
20
+ incidentDate?: string;
21
+ status?: string;
22
+ notes?: any[];
23
+ relationships?: any[];
24
+ attributes?: any[];
25
+ events: IDHIS2Event[];
26
+ eventEntities?: Record<string, Record<string, DataValue>>;
27
+ programStageEvents?: Record<string, {
28
+ events: IDHIS2Event[];
29
+ pristine: boolean;
30
+ }>;
31
+ setProgramStageData?: (key: string, dataEntities: Record<string, any>[]) => void;
32
+ setEvent?: (event: IDHIS2Event) => void;
33
+ setGeometry?: (geometry: Record<string, any>) => void;
34
+ getEventsByProgramStage?: (programStage: string) => IDHIS2Event[];
35
+ toObject?: () => IEnrollment;
36
+ }
37
+ export declare class Enrollment extends BaseTrackerSDKModel<Enrollment> implements IEnrollment {
38
+ enrollment: string;
39
+ storedBy?: string;
40
+ created?: string;
41
+ orgUnit: string;
42
+ geometry: any;
43
+ createdAtClient?: string;
44
+ program: string;
45
+ trackedEntity: string;
46
+ lastUpdated?: string;
47
+ trackedEntityType?: string;
48
+ lastUpdatedAtClient?: string;
49
+ orgUnitName?: string;
50
+ enrolledAt: string;
51
+ enrollmentDate?: string;
52
+ deleted?: boolean;
53
+ occurredAt: string;
54
+ incidentDate?: string;
55
+ status?: string;
56
+ notes?: any[];
57
+ relationships?: any[];
58
+ attributes?: any[];
59
+ events: IDHIS2Event[];
60
+ eventEntities?: Record<string, Record<string, DataValue>>;
61
+ programStageEvents?: Record<string, {
62
+ events: IDHIS2Event[];
63
+ pristine: boolean;
64
+ }>;
65
+ constructor(enrollmentDetails: Partial<Enrollment>);
66
+ get isCompleted(): boolean;
67
+ setProgramStageData(programStage: string, dataEntities: Record<string, any>[]): void;
68
+ setDataValue(dataElement: string, value: string, programStage: string, eventId?: string): void;
69
+ setEvent(event: IDHIS2Event): void;
70
+ setGeometry(geometry: any): void;
71
+ getEventsByProgramStage(programStage: string): IDHIS2Event[];
72
+ toObject(): IEnrollment;
73
+ }
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Enrollment = void 0;
4
+ const lodash_1 = require("lodash");
5
+ const event_util_1 = require("../utils/event.util");
6
+ const base_model_1 = require("./base.model");
7
+ const utils_1 = require("../utils");
8
+ class Enrollment extends base_model_1.BaseTrackerSDKModel {
9
+ constructor(enrollmentDetails) {
10
+ super(enrollmentDetails);
11
+ this.enrollmentDate = this.enrolledAt;
12
+ this.incidentDate = this.occurredAt;
13
+ this.events = event_util_1.EventUtil.getEvents(enrollmentDetails.events || []);
14
+ const eventsByProgramStage = (0, lodash_1.groupBy)(this.events, 'programStage');
15
+ this.programStageEvents = Object.keys(eventsByProgramStage).reduce((eventObject, programStage) => {
16
+ return Object.assign(Object.assign({}, eventObject), { [programStage]: {
17
+ events: eventsByProgramStage[programStage],
18
+ pristine: true,
19
+ } });
20
+ }, {});
21
+ this.eventEntities = this.events.reduce((eventObject, event) => {
22
+ return Object.assign(Object.assign({}, eventObject), { [event.event]: event.dataValueEntities });
23
+ }, {});
24
+ }
25
+ get isCompleted() {
26
+ return this.status === 'COMPLETED';
27
+ }
28
+ setProgramStageData(programStage, dataEntities) {
29
+ let event = this.events.find((event) => event.programStage === programStage);
30
+ const eventIndex = this.events.indexOf(event);
31
+ if (!event) {
32
+ event = event_util_1.EventUtil.generateEvent({
33
+ program: this.program,
34
+ programStage,
35
+ orgUnit: this.orgUnit,
36
+ enrollment: this.enrollment,
37
+ trackedEntity: this.trackedEntity,
38
+ });
39
+ }
40
+ (dataEntities || []).forEach((dataEntity) => {
41
+ //TODO: Add support to filter by event
42
+ const { dataElement, code, value } = dataEntity;
43
+ event.setDataValue({ dataElement, code, value });
44
+ });
45
+ if (eventIndex !== -1) {
46
+ this.events[eventIndex] = event;
47
+ }
48
+ else {
49
+ this.events.push(event);
50
+ }
51
+ }
52
+ setDataValue(dataElement, value, programStage, eventId) {
53
+ let event = eventId
54
+ ? event_util_1.EventUtil.getEventById(this.events, eventId)
55
+ : event_util_1.EventUtil.getEventByStage(this.events, programStage);
56
+ if (!event) {
57
+ event = event_util_1.EventUtil.generateEvent({
58
+ programStage,
59
+ program: this.program,
60
+ orgUnit: this.orgUnit,
61
+ eventId,
62
+ enrollment: '',
63
+ });
64
+ this.events = [...(this.events || []), event];
65
+ }
66
+ event.setDataValue({ dataElement, value });
67
+ const eventIndex = this.events.indexOf(event);
68
+ this.events = [
69
+ ...this.events.slice(0, eventIndex),
70
+ event,
71
+ ...this.events.slice(eventIndex + 1),
72
+ ];
73
+ }
74
+ setEvent(event) {
75
+ const availableEvent = this.events.find((eventItem) => eventItem.event === event.event);
76
+ const eventIndex = this.events.indexOf(availableEvent);
77
+ if (eventIndex !== -1) {
78
+ this.events[eventIndex] = event;
79
+ }
80
+ else {
81
+ this.events.push(event);
82
+ }
83
+ }
84
+ setGeometry(geometry) {
85
+ this.geometry = geometry;
86
+ }
87
+ getEventsByProgramStage(programStage) {
88
+ var _a;
89
+ return (0, lodash_1.cloneDeep)(((_a = (this.programStageEvents || {})[programStage]) === null || _a === void 0 ? void 0 : _a.events) || []).sort((a, b) => {
90
+ const dateA = new Date(a.eventDate);
91
+ const dateB = new Date(b.eventDate);
92
+ return dateB - dateA;
93
+ });
94
+ }
95
+ toObject() {
96
+ return {
97
+ enrollment: this.enrollment,
98
+ enrolledAt: this.enrolledAt,
99
+ occurredAt: this.occurredAt,
100
+ status: this.status || 'ACTIVE',
101
+ program: this.program,
102
+ orgUnit: this === null || this === void 0 ? void 0 : this.orgUnit,
103
+ trackedEntity: this.trackedEntity,
104
+ trackedEntityType: this.trackedEntityType,
105
+ events: this.events
106
+ .map((event) => event.toObject())
107
+ .filter((event) => (event.dataValues || []).length > 0),
108
+ attributes: utils_1.AttributeUtil.sanitizeAttributes(this.attributes || []),
109
+ };
110
+ }
111
+ }
112
+ exports.Enrollment = Enrollment;
113
+ //# sourceMappingURL=enrollment.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enrollment.model.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/models/enrollment.model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ import { BaseTrackerSDKModel } from './base.model';
2
+ import { DataValue } from './data-value.model';
3
+ export type DHIS2EventStatus = 'ACTIVE' | 'COMPLETED' | 'OVERDUE' | 'SKIPPED' | 'SCHEDULE' | 'VISITED';
4
+ export interface DHIS2EventAssignedUser {
5
+ uid: string;
6
+ username?: string;
7
+ firstName?: string;
8
+ surname?: string;
9
+ }
10
+ export interface IDHIS2Event {
11
+ storedBy?: string;
12
+ dueDate?: string;
13
+ scheduledAt?: string;
14
+ createdAtClient?: string;
15
+ program: string;
16
+ event: string;
17
+ programStage: string;
18
+ orgUnit: string;
19
+ trackedEntity?: string;
20
+ enrollment: string;
21
+ enrollmentStatus?: string;
22
+ status: DHIS2EventStatus;
23
+ orgUnitName?: string;
24
+ lastUpdatedAtClient?: string;
25
+ eventDate: string;
26
+ occurredAt: string;
27
+ attributeCategoryOptions?: string;
28
+ lastUpdated?: string;
29
+ created?: string;
30
+ completedDate?: string;
31
+ deleted?: boolean;
32
+ attributeOptionCombo?: string;
33
+ completedBy?: string;
34
+ dataValues: DataValue[];
35
+ assignedUser?: DHIS2EventAssignedUser;
36
+ dataValueEntities?: Record<string, DataValue>;
37
+ notes?: any[];
38
+ relationships?: any[];
39
+ [key: string]: any;
40
+ isCompleted: boolean;
41
+ setDataValue?: (options: {
42
+ dataElement: string;
43
+ value: string;
44
+ code?: string;
45
+ }) => void;
46
+ getDataValue?: (dataElement: string) => DataValue;
47
+ setStatus?: (status: string) => void;
48
+ toObject: () => Partial<IDHIS2Event>;
49
+ }
50
+ export declare class DHIS2Event extends BaseTrackerSDKModel<DHIS2Event> implements IDHIS2Event {
51
+ storedBy?: string;
52
+ dueDate?: string;
53
+ scheduledAt?: string;
54
+ createdAtClient?: string;
55
+ program: string;
56
+ event: string;
57
+ programStage: string;
58
+ orgUnit: string;
59
+ trackedEntity?: string;
60
+ enrollment: string;
61
+ enrollmentStatus?: string;
62
+ status: DHIS2EventStatus;
63
+ orgUnitName?: string;
64
+ lastUpdatedAtClient?: string;
65
+ eventDate: string;
66
+ occurredAt: string;
67
+ attributeCategoryOptions?: string;
68
+ lastUpdated?: string;
69
+ created?: string;
70
+ completedDate?: string;
71
+ deleted?: boolean;
72
+ attributeOptionCombo?: string;
73
+ completedBy?: string;
74
+ dataValues: DataValue[];
75
+ assignedUser?: DHIS2EventAssignedUser;
76
+ notes?: any[];
77
+ relationships?: any[];
78
+ [key: string]: any;
79
+ dataValueEntities?: Record<string, DataValue>;
80
+ constructor(eventDetails: Partial<DHIS2Event>, config?: {
81
+ skipAutoGeneration?: boolean;
82
+ generateIdIfNotExists?: boolean;
83
+ });
84
+ complete(): void;
85
+ get isCompleted(): boolean;
86
+ setEventDate(eventDate: string): void;
87
+ setDataValue(options: {
88
+ dataElement: string;
89
+ value: string;
90
+ code?: string;
91
+ }): void;
92
+ getDataValue(dataElement: string): DataValue;
93
+ setStatus(status?: string): void;
94
+ toObject(): Partial<DHIS2Event>;
95
+ }
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DHIS2Event = void 0;
4
+ const lodash_1 = require("lodash");
5
+ const event_util_1 = require("../utils/event.util");
6
+ const base_model_1 = require("./base.model");
7
+ const shared_1 = require("../../../shared");
8
+ class DHIS2Event extends base_model_1.BaseTrackerSDKModel {
9
+ constructor(eventDetails, config) {
10
+ if ((0, lodash_1.isEmpty)(eventDetails) && !(config === null || config === void 0 ? void 0 : config.skipAutoGeneration)) {
11
+ eventDetails = event_util_1.EventUtil.generateEvent({
12
+ program: '',
13
+ programStage: '',
14
+ orgUnit: '',
15
+ trackedEntity: '',
16
+ enrollment: '',
17
+ });
18
+ }
19
+ super(eventDetails);
20
+ if (!(0, lodash_1.isEmpty)(this)) {
21
+ if ((config === null || config === void 0 ? void 0 : config.generateIdIfNotExists) && !this.event) {
22
+ this.event = (0, shared_1.generateUid)();
23
+ }
24
+ this.occurredAt =
25
+ this.eventDate || this.occurredAt || new Date().toISOString();
26
+ this.dueDate = this.dueDate || this.scheduledAt;
27
+ (this.dataValues || []).forEach((dataValue) => {
28
+ if (dataValue.code && dataValue.code.length > 0) {
29
+ this[(0, lodash_1.camelCase)(dataValue.code)] = dataValue.value;
30
+ }
31
+ this[dataValue.dataElement] = dataValue.value;
32
+ this.dataValueEntities = Object.assign(Object.assign({}, this.dataValueEntities), { [dataValue.dataElement]: Object.assign(Object.assign({}, dataValue), { event: this.event }) });
33
+ });
34
+ }
35
+ }
36
+ complete() {
37
+ this.status = 'COMPLETED';
38
+ }
39
+ get isCompleted() {
40
+ return this.status === 'COMPLETED';
41
+ }
42
+ setEventDate(eventDate) {
43
+ this.eventDate = eventDate;
44
+ this.occurredAt = this.eventDate;
45
+ }
46
+ setDataValue(options) {
47
+ var _a;
48
+ const { dataElement, value, code } = options;
49
+ if (dataElement) {
50
+ /**
51
+ * This assignment is intended to simply make the value available as instance property,
52
+ * so that one can directly access without looping through data values
53
+ */
54
+ this[dataElement] = value;
55
+ const availableDataValue = (_a = this.dataValues) === null || _a === void 0 ? void 0 : _a.find((dataValue) => dataValue.dataElement === dataElement);
56
+ const dataValueIndex = (this.dataValues || []).indexOf(availableDataValue);
57
+ this.dataValues =
58
+ dataValueIndex !== -1
59
+ ? [
60
+ ...(this.dataValues || []).slice(0, dataValueIndex),
61
+ Object.assign(Object.assign({}, availableDataValue), { value }),
62
+ ...(this.dataValues || []).slice(dataValueIndex + 1),
63
+ ]
64
+ : [...(this.dataValues || []), { dataElement, value, code }];
65
+ }
66
+ }
67
+ getDataValue(dataElement) {
68
+ return (this.dataValues || []).find((dataValue) => dataValue.dataElement === dataElement);
69
+ }
70
+ setStatus(status) {
71
+ this.status = status;
72
+ }
73
+ toObject() {
74
+ const dataValues = (this.dataValues || []).filter((dataValue) => {
75
+ return !(0, lodash_1.isUndefined)(dataValue.value) && dataValue.value !== '';
76
+ });
77
+ return {
78
+ event: this.event,
79
+ status: this.status,
80
+ program: this.program,
81
+ programStage: this.programStage,
82
+ enrollment: this.enrollment,
83
+ trackedEntity: this.trackedEntity,
84
+ orgUnit: this.orgUnit,
85
+ occurredAt: this.occurredAt,
86
+ scheduledAt: this.dueDate,
87
+ dataValues,
88
+ assignedUser: this.assignedUser
89
+ ? {
90
+ uid: (0, lodash_1.isString)(this.assignedUser)
91
+ ? this.assignedUser
92
+ : this.assignedUser.uid,
93
+ }
94
+ : undefined,
95
+ };
96
+ }
97
+ }
98
+ exports.DHIS2Event = DHIS2Event;
99
+ //# sourceMappingURL=event.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.model.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/models/event.model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export * from './tracked-entity-instance.model';
2
+ export * from './attribute.model';
3
+ export * from './enrollment.model';
4
+ export * from './event.model';
5
+ export * from './data-value.model';
6
+ export * from './base.model';
7
+ export * from './tracker-relationship.model';
8
+ export * from './tracker-query-filter.model';
9
+ export * from './tracker-url-generator.model';
10
+ export * from './tracker-import-summary.model';
11
+ export * from './tracker-import-stats.model';
12
+ export * from './tracker-import-validation-report.model';
13
+ export * from './d2-tracker-response.model';
14
+ export * from './d2-event-response.model';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./tracked-entity-instance.model"), exports);
5
+ tslib_1.__exportStar(require("./attribute.model"), exports);
6
+ tslib_1.__exportStar(require("./enrollment.model"), exports);
7
+ tslib_1.__exportStar(require("./event.model"), exports);
8
+ tslib_1.__exportStar(require("./data-value.model"), exports);
9
+ tslib_1.__exportStar(require("./base.model"), exports);
10
+ tslib_1.__exportStar(require("./tracker-relationship.model"), exports);
11
+ tslib_1.__exportStar(require("./tracker-query-filter.model"), exports);
12
+ tslib_1.__exportStar(require("./tracker-url-generator.model"), exports);
13
+ tslib_1.__exportStar(require("./tracker-import-summary.model"), exports);
14
+ tslib_1.__exportStar(require("./tracker-import-stats.model"), exports);
15
+ tslib_1.__exportStar(require("./tracker-import-validation-report.model"), exports);
16
+ tslib_1.__exportStar(require("./d2-tracker-response.model"), exports);
17
+ tslib_1.__exportStar(require("./d2-event-response.model"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/dhis2-web-sdk/src/lib/modules/tracker/models/index.ts"],"names":[],"mappings":";;;AAAA,0EAAgD;AAChD,4DAAkC;AAClC,6DAAmC;AACnC,wDAA8B;AAC9B,6DAAmC;AACnC,uDAA6B;AAC7B,uEAA6C;AAC7C,uEAA6C;AAC7C,wEAA8C;AAC9C,yEAA+C;AAC/C,uEAA6C;AAC7C,mFAAyD;AACzD,sEAA4C;AAC5C,oEAA0C"}
@@ -0,0 +1,125 @@
1
+ import { Attribute, AttributeEntity } from './attribute.model';
2
+ import { Enrollment, IEnrollment } from './enrollment.model';
3
+ import { DHIS2Event, IDHIS2Event } from './event.model';
4
+ import { TrackerRelationship } from './tracker-relationship.model';
5
+ import { BaseTrackerSDKModel } from './base.model';
6
+ export interface ProgramOwner {
7
+ ownerOrgUnit: string;
8
+ program: string;
9
+ trackedEntityInstance: string;
10
+ }
11
+ export interface TrackerDataEntities {
12
+ [key: string]: string | number;
13
+ enrollmentDate: string;
14
+ orgUnit: string;
15
+ }
16
+ export interface TrackedEntityInstanceObject {
17
+ created?: string;
18
+ createdAt?: string;
19
+ updatedAt?: string;
20
+ orgUnit: string;
21
+ createdAtClient?: string;
22
+ trackedEntity: string;
23
+ trackedEntityInstance?: string;
24
+ lastUpdated?: string;
25
+ trackedEntityType: string;
26
+ lastUpdatedAtClient?: string;
27
+ inactive?: boolean;
28
+ deleted?: boolean;
29
+ featureType?: string;
30
+ programOwners?: ProgramOwner[];
31
+ enrollments: IEnrollment[];
32
+ relationships?: any[];
33
+ attributes?: Attribute[];
34
+ relatedEntities?: TrackerRelationship[];
35
+ }
36
+ interface TrackerFieldProperty {
37
+ id: string;
38
+ type: 'ATTRIBUTE' | 'DATA_ELEMENT';
39
+ generated?: boolean;
40
+ }
41
+ export interface ITrackedEntityInstance {
42
+ program: string;
43
+ attributes: Attribute[];
44
+ enrollments: IEnrollment[];
45
+ latestEnrollment: Enrollment;
46
+ enrollmentDate: string;
47
+ createdAt: string;
48
+ updatedAt: string;
49
+ trackedEntityType: string;
50
+ trackedEntity: string;
51
+ trackedEntityInstance?: string;
52
+ _events: any[];
53
+ ownerOrgUnit: string;
54
+ orgUnit: string;
55
+ orgUnitName: string;
56
+ relatedEntities?: TrackerRelationship[];
57
+ metaData?: Record<string, unknown>;
58
+ fields?: Record<string, TrackerFieldProperty>;
59
+ get attributeEntities(): AttributeEntity;
60
+ get dataEntities(): Record<string, any>;
61
+ get reportEntities(): Record<string, string>;
62
+ spreadAttributes?: (attributes: any) => void;
63
+ setAttributeValue?: (attribute: string, value: string, code?: string) => void;
64
+ setEnrollment?: (enrollment: IEnrollment) => void;
65
+ setEnrollmentDate?: (enrollmentDate: string) => void;
66
+ setIncidentDate?: (incidentDate: string) => void;
67
+ getEventByStage?: (programStage: string) => void;
68
+ setEvent?: (event: IDHIS2Event) => void;
69
+ setOrgUnit?: (orgUnit: string) => void;
70
+ setProgramStageData?: (programStage: string, data: Record<string, any>) => void;
71
+ getEventsByProgramStage?: (programStage: string) => IDHIS2Event[];
72
+ getRelatedEntitiesByType?: (relationshipType: string) => string[];
73
+ setRelationship?: (relationship: TrackerRelationship) => void;
74
+ toObject?: () => TrackedEntityInstanceObject;
75
+ }
76
+ export declare class TrackedEntityInstance extends BaseTrackerSDKModel<ITrackedEntityInstance> implements ITrackedEntityInstance {
77
+ program: string;
78
+ attributes: Attribute[];
79
+ enrollments: IEnrollment[];
80
+ latestEnrollment: Enrollment;
81
+ enrollmentDate: string;
82
+ updatedAt: string;
83
+ createdAt: string;
84
+ trackedEntityType: string;
85
+ trackedEntity: string;
86
+ trackedEntityInstance?: string;
87
+ _events: DHIS2Event[];
88
+ ownerOrgUnit: string;
89
+ orgUnit: string;
90
+ orgUnitName: string;
91
+ relatedEntities?: TrackerRelationship[];
92
+ fields?: Record<string, TrackerFieldProperty>;
93
+ [key: string]: any;
94
+ protected _attributes: Attribute[];
95
+ protected _enrollments: Enrollment[];
96
+ protected _latestEnrollment: Enrollment;
97
+ constructor(trackedEntityInstanceObject?: Partial<TrackedEntityInstanceObject>);
98
+ get attributeEntities(): AttributeEntity;
99
+ get dataEntities(): Record<string, any>;
100
+ get reportEntities(): Record<string, string>;
101
+ spreadAttributes?(attributes: any[]): void;
102
+ setOrgUnit?(orgUnit: string): void;
103
+ setAttributeValue(attribute: string, value: string, code?: string): void;
104
+ setEnrollment(enrollment: IEnrollment): void;
105
+ setRelationship?(relationship: TrackerRelationship): void;
106
+ setEnrollmentDate(enrollmentDate: string): void;
107
+ setIncidentDate?(incidentDate: string): void;
108
+ complete(): void;
109
+ getEventByStage?(programStage: string): DHIS2Event | {
110
+ dataValues: never[];
111
+ programStage: string;
112
+ };
113
+ setEvent(event: IDHIS2Event): void;
114
+ setProgramStageData(programStage: string, data: Record<string, any>): void;
115
+ getEventsByProgramStage(programStage: string): IDHIS2Event[];
116
+ getRelatedEntitiesByType?(relationshipType: string): string[];
117
+ updateDataValues?(dataValueEntities: Record<string, any>): void;
118
+ setDataValue(dataElement: string, value: string, programStage: string, eventId?: string): void;
119
+ toReadable(attributeName: string, attributeType: 'DATE' | 'BOOLEAN'): any;
120
+ toObject?(options?: {
121
+ skipAttributes?: boolean;
122
+ }): TrackedEntityInstanceObject;
123
+ toTrackedEntity(): Partial<TrackedEntityInstanceObject>;
124
+ }
125
+ export {};