openchs-models 1.23.0 → 1.23.2

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.
@@ -467,7 +467,6 @@ const commentThread = txData(_CommentThread.default, {
467
467
  privilegeName: _Privilege.default.privilegeName.viewSubject
468
468
  });
469
469
  const task = txData(_Task.default, {
470
- res: 'tasks',
471
470
  syncWeight: 0
472
471
  });
473
472
  const taskType = refData(_TaskType.default, {
@@ -817,6 +817,14 @@ class Individual extends _BaseEntity.default {
817
817
  return this.latestEntityApprovalStatus && this.latestEntityApprovalStatus.isRejected;
818
818
  }
819
819
 
820
+ getMobileNumber() {
821
+ const mobileNumberObs = _lodash.default.find(this.observations, obs => obs.concept.isMobileNo());
822
+
823
+ if (!_lodash.default.isNil(mobileNumberObs)) {
824
+ return mobileNumberObs.getReadableValue();
825
+ }
826
+ }
827
+
820
828
  toJSON() {
821
829
  return {
822
830
  uuid: this.uuid,
@@ -209,6 +209,10 @@ class Observation {
209
209
  return !_lodash.default.isEmpty(formElement) && this.concept.datatype === _Concept.default.dataType.PhoneNumber && this.concept.recordValueByKey('verifyPhoneNumber') && this.getValueWrapper().isVerificationRequired();
210
210
  }
211
211
 
212
+ isMobileNumberObs() {
213
+ return this.concept.isMobileNo();
214
+ }
215
+
212
216
  }
213
217
 
214
218
  _defineProperty(Observation, "schema", {
@@ -296,7 +296,8 @@ _defineProperty(Form, "formTypes", {
296
296
  ProgramExit: "ProgramExit",
297
297
  ProgramEncounterCancellation: "ProgramEncounterCancellation",
298
298
  ChecklistItem: "ChecklistItem",
299
- IndividualEncounterCancellation: "IndividualEncounterCancellation"
299
+ IndividualEncounterCancellation: "IndividualEncounterCancellation",
300
+ Task: "Task"
300
301
  });
301
302
 
302
303
  var _default = Form;
@@ -23,6 +23,8 @@ var _ProgramEncounter = _interopRequireDefault(require("../ProgramEncounter"));
23
23
 
24
24
  var _ChecklistItem = _interopRequireDefault(require("../ChecklistItem"));
25
25
 
26
+ var _TaskType = _interopRequireDefault(require("../task/TaskType"));
27
+
26
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
29
 
28
30
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -40,6 +42,7 @@ class FormMapping {
40
42
  static fromResource(resource, entityService) {
41
43
  const form = entityService.findByKey("uuid", _ResourceUtil.default.getUUIDFor(resource, "formUUID"), _Form.default.schema.name);
42
44
  const subjectType = entityService.findByKey("uuid", _ResourceUtil.default.getUUIDFor(resource, "subjectTypeUUID"), _SubjectType.default.schema.name);
45
+ const taskType = entityService.findByKey("uuid", _ResourceUtil.default.getUUIDFor(resource, "taskTypeUUID"), _TaskType.default.schema.name);
43
46
 
44
47
  const formMapping = _General.default.assignFields(resource, new FormMapping(), ["uuid", "voided", "enableApproval"]);
45
48
 
@@ -47,6 +50,7 @@ class FormMapping {
47
50
  formMapping.observationsTypeEntityUUID = _ResourceUtil.default.getUUIDFor(resource, "observationsTypeEntityUUID");
48
51
  formMapping.form = form;
49
52
  formMapping.subjectType = subjectType;
53
+ formMapping.taskType = taskType;
50
54
  return formMapping;
51
55
  }
52
56
 
@@ -110,7 +114,10 @@ _defineProperty(FormMapping, "schema", {
110
114
  properties: {
111
115
  uuid: "string",
112
116
  form: "Form",
113
- subjectType: "SubjectType",
117
+ subjectType: {
118
+ type: "SubjectType",
119
+ optional: true
120
+ },
114
121
  entityUUID: {
115
122
  type: "string",
116
123
  optional: true
@@ -126,6 +133,10 @@ _defineProperty(FormMapping, "schema", {
126
133
  enableApproval: {
127
134
  type: "bool",
128
135
  default: false
136
+ },
137
+ taskType: {
138
+ type: "TaskType",
139
+ optional: true
129
140
  }
130
141
  }
131
142
  });
package/dist/task/Task.js CHANGED
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _index = require("../index");
9
-
10
8
  var _TaskType = _interopRequireDefault(require("./TaskType"));
11
9
 
12
10
  var _TaskStatus = _interopRequireDefault(require("./TaskStatus"));
@@ -17,11 +15,19 @@ var _General = _interopRequireDefault(require("../utility/General"));
17
15
 
18
16
  var _ResourceUtil = _interopRequireDefault(require("../utility/ResourceUtil"));
19
17
 
18
+ var _ObservationsHolder = _interopRequireDefault(require("../ObservationsHolder"));
19
+
20
+ var _moment = _interopRequireDefault(require("moment"));
21
+
22
+ var _lodash = _interopRequireDefault(require("lodash"));
23
+
24
+ var _BaseEntity = _interopRequireDefault(require("../BaseEntity"));
25
+
20
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
27
 
22
28
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
29
 
24
- class Task extends _index.BaseEntity {
30
+ class Task extends _BaseEntity.default {
25
31
  constructor(...args) {
26
32
  super(...args);
27
33
 
@@ -46,6 +52,26 @@ class Task extends _index.BaseEntity {
46
52
  _defineProperty(this, "voided", void 0);
47
53
  }
48
54
 
55
+ get toResource() {
56
+ const taskResource = _lodash.default.pick(this, ["uuid", "voided", "name"]);
57
+
58
+ taskResource.observations = _lodash.default.map(this.observations, "toResource");
59
+ taskResource.metadata = _lodash.default.map(this.metadata, "toResource");
60
+ taskResource.taskTypeUUID = this.taskType.uuid;
61
+ taskResource.taskStatusUUID = this.taskStatus.uuid;
62
+ if (!_lodash.default.isNil(this.scheduledOn)) taskResource.scheduledOn = (0, _moment.default)(this.scheduledOn).format();
63
+
64
+ if (!_lodash.default.isNil(this.completedOn)) {
65
+ taskResource.completedOn = (0, _moment.default)(this.completedOn).format();
66
+ }
67
+
68
+ if (!_lodash.default.isNil(this.subject)) {
69
+ taskResource.subjectUUID = this.subject.uuid;
70
+ }
71
+
72
+ return taskResource;
73
+ }
74
+
49
75
  static fromResource(resource, entityService) {
50
76
  const task = _General.default.assignFields(resource, new Task(), ['uuid', 'name', 'voided'], ['scheduledOn', 'completedOn'], ['metadata', 'observations'], entityService);
51
77
 
@@ -55,6 +81,45 @@ class Task extends _index.BaseEntity {
55
81
  return task;
56
82
  }
57
83
 
84
+ setScheduledOn(date) {
85
+ this.scheduledOn = date;
86
+ }
87
+
88
+ setCompletedOn(date = new Date()) {
89
+ this.completedOn = date;
90
+ }
91
+
92
+ setTaskStatus(newStatus) {
93
+ this.taskStatus = newStatus;
94
+ }
95
+
96
+ isCallType() {
97
+ return this.taskType.type === _TaskType.default.TaskTypeName.Call;
98
+ }
99
+
100
+ isTaskStatusTerminal() {
101
+ return this.taskStatus.isTerminal;
102
+ }
103
+
104
+ isOpenSubjectType() {
105
+ return this.taskType.type === _TaskType.default.TaskTypeName.OpenSubject;
106
+ }
107
+
108
+ cloneForEdit() {
109
+ const task = new Task();
110
+ task.uuid = this.uuid;
111
+ task.name = this.name;
112
+ task.taskType = this.taskType.clone();
113
+ task.taskStatus = this.taskStatus.clone();
114
+ task.scheduledOn = this.scheduledOn;
115
+ task.completedOn = this.completedOn;
116
+ task.metadata = _ObservationsHolder.default.clone(this.metadata);
117
+ task.subject = this.subject;
118
+ task.observations = _ObservationsHolder.default.clone(this.observations);
119
+ task.voided = this.voided;
120
+ return task;
121
+ }
122
+
58
123
  }
59
124
 
60
125
  _defineProperty(Task, "schema", {
@@ -5,19 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _index = require("../index");
9
-
10
8
  var _TaskType = _interopRequireDefault(require("./TaskType"));
11
9
 
12
10
  var _General = _interopRequireDefault(require("../utility/General"));
13
11
 
14
12
  var _ResourceUtil = _interopRequireDefault(require("../utility/ResourceUtil"));
15
13
 
14
+ var _BaseEntity = _interopRequireDefault(require("../BaseEntity"));
15
+
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
18
18
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
19
 
20
- class TaskStatus extends _index.BaseEntity {
20
+ class TaskStatus extends _BaseEntity.default {
21
21
  constructor(...args) {
22
22
  super(...args);
23
23
 
@@ -33,12 +33,23 @@ class TaskStatus extends _index.BaseEntity {
33
33
  }
34
34
 
35
35
  static fromResource(resource, entityService) {
36
- const taskStatus = _General.default.assignFields(resource, new TaskStatus(), ['uuid', 'name', 'voided', 'isTerminal'], [], [], entityService);
36
+ const taskStatus = _General.default.assignFields(resource, new TaskStatus(), ['uuid', 'name', 'voided'], [], [], entityService);
37
37
 
38
+ taskStatus.isTerminal = resource.terminal;
38
39
  taskStatus.taskType = entityService.findByKey("uuid", _ResourceUtil.default.getUUIDFor(resource, "taskTypeUUID"), _TaskType.default.schema.name);
39
40
  return taskStatus;
40
41
  }
41
42
 
43
+ clone() {
44
+ const taskStatus = new TaskStatus();
45
+ taskStatus.uuid = this.uuid;
46
+ taskStatus.name = this.name;
47
+ taskStatus.isTerminal = this.isTerminal;
48
+ taskStatus.taskType = this.taskType.clone();
49
+ taskStatus.voided = this.voided;
50
+ return taskStatus;
51
+ }
52
+
42
53
  }
43
54
 
44
55
  _defineProperty(TaskStatus, "schema", {
@@ -5,19 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _index = require("../index");
9
-
10
8
  var _General = _interopRequireDefault(require("../utility/General"));
11
9
 
12
10
  var _Concept = _interopRequireDefault(require("../Concept"));
13
11
 
14
12
  var _lodash = require("lodash");
15
13
 
14
+ var _BaseEntity = _interopRequireDefault(require("../BaseEntity"));
15
+
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
18
18
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
19
 
20
- class TaskType extends _index.BaseEntity {
20
+ class TaskType extends _BaseEntity.default {
21
21
  constructor(...args) {
22
22
  super(...args);
23
23
 
@@ -35,7 +35,17 @@ class TaskType extends _index.BaseEntity {
35
35
  static fromResource(resource, entityService) {
36
36
  const taskType = _General.default.assignFields(resource, new TaskType(), ['uuid', 'name', 'type', 'voided']);
37
37
 
38
- taskType.metadataSearchFields = (0, _lodash.map)(resource.metadataSearchFields, name => entityService.findByKey("name", name, _Concept.default.schema.name));
38
+ taskType.metadataSearchFields = (0, _lodash.map)(resource.metadataSearchFields, name => entityService.findByKey("name", name, _Concept.default.schema.name)).filter(concept => !(0, _lodash.isNil)(concept));
39
+ return taskType;
40
+ }
41
+
42
+ clone() {
43
+ const taskType = new TaskType();
44
+ taskType.uuid = this.uuid;
45
+ taskType.name = this.name;
46
+ taskType.type = this.type;
47
+ taskType.metadataSearchFields = this.metadataSearchFields;
48
+ taskType.voided = this.voided;
39
49
  return taskType;
40
50
  }
41
51
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "openchs-models",
3
3
  "description": "OpenCHS data model to be used by front end clients",
4
- "version": "1.23.0",
4
+ "version": "1.23.2",
5
5
  "private": false,
6
6
  "repository": {
7
7
  "type": "git",