openchs-models 1.18.1 → 1.20.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.
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _BaseEntity = _interopRequireDefault(require("./BaseEntity"));
9
+
10
+ var _DocumentationItem = _interopRequireDefault(require("./DocumentationItem"));
11
+
12
+ var _General = _interopRequireDefault(require("./utility/General"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ 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; }
17
+
18
+ class Documentation extends _BaseEntity.default {
19
+ constructor(...args) {
20
+ super(...args);
21
+
22
+ _defineProperty(this, "uuid", void 0);
23
+
24
+ _defineProperty(this, "name", void 0);
25
+
26
+ _defineProperty(this, "documentationItems", void 0);
27
+
28
+ _defineProperty(this, "voided", void 0);
29
+ }
30
+
31
+ static associateChild(child, childEntityClass, childResource, entityService) {
32
+ let documentation = _BaseEntity.default.getParentEntity(entityService, childEntityClass, childResource, "documentationUUID", Documentation.schema.name);
33
+
34
+ documentation = _General.default.pick(documentation, ["uuid"], ["documentationItems"]);
35
+
36
+ if (childEntityClass === _DocumentationItem.default) {
37
+ _BaseEntity.default.addNewChild(child, documentation.documentationItems);
38
+ } else throw `${childEntityClass.name} not support by ${Documentation.name}`;
39
+
40
+ return documentation;
41
+ }
42
+
43
+ static fromResource(resource) {
44
+ const documentation = new Documentation();
45
+ documentation.uuid = resource.uuid;
46
+ documentation.name = resource.name;
47
+ documentation.voided = resource.voided;
48
+ return documentation;
49
+ }
50
+
51
+ }
52
+
53
+ _defineProperty(Documentation, "schema", {
54
+ name: 'Documentation',
55
+ primaryKey: 'uuid',
56
+ properties: {
57
+ uuid: 'string',
58
+ name: 'string',
59
+ documentationItems: {
60
+ type: "list",
61
+ objectType: "DocumentationItem"
62
+ },
63
+ voided: {
64
+ type: "bool",
65
+ default: false
66
+ }
67
+ }
68
+ });
69
+
70
+ _defineProperty(Documentation, "merge", () => _BaseEntity.default.mergeOn("documentationItems"));
71
+
72
+ var _default = Documentation;
73
+ exports.default = _default;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _BaseEntity = _interopRequireDefault(require("./BaseEntity"));
9
+
10
+ var _ResourceUtil = _interopRequireDefault(require("./utility/ResourceUtil"));
11
+
12
+ var _Documentation = _interopRequireDefault(require("./Documentation"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ 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; }
17
+
18
+ class DocumentationItem extends _BaseEntity.default {
19
+ constructor(...args) {
20
+ super(...args);
21
+
22
+ _defineProperty(this, "uuid", void 0);
23
+
24
+ _defineProperty(this, "content", void 0);
25
+
26
+ _defineProperty(this, "contentHtml", void 0);
27
+
28
+ _defineProperty(this, "language", void 0);
29
+
30
+ _defineProperty(this, "documentation", void 0);
31
+
32
+ _defineProperty(this, "voided", void 0);
33
+ }
34
+
35
+ static fromResource(resource, entityService) {
36
+ const documentationItem = new DocumentationItem();
37
+ documentationItem.uuid = resource.uuid;
38
+ documentationItem.content = resource.content;
39
+ documentationItem.contentHtml = resource.contentHtml;
40
+ documentationItem.language = resource.language;
41
+ documentationItem.voided = resource.voided;
42
+ documentationItem.documentation = entityService.findByKey("uuid", _ResourceUtil.default.getUUIDFor(resource, "documentationUUID"), _Documentation.default.schema.name);
43
+ return documentationItem;
44
+ }
45
+
46
+ }
47
+
48
+ _defineProperty(DocumentationItem, "schema", {
49
+ name: 'DocumentationItem',
50
+ primaryKey: 'uuid',
51
+ properties: {
52
+ uuid: 'string',
53
+ content: {
54
+ type: "string",
55
+ optional: true
56
+ },
57
+ language: {
58
+ type: "string",
59
+ optional: true
60
+ },
61
+ contentHtml: {
62
+ type: "string",
63
+ optional: true
64
+ },
65
+ documentation: {
66
+ type: 'Documentation'
67
+ },
68
+ voided: {
69
+ type: "bool",
70
+ default: false
71
+ }
72
+ }
73
+ });
74
+
75
+ var _default = DocumentationItem;
76
+ exports.default = _default;
@@ -127,6 +127,10 @@ var _SubjectMigration = _interopRequireDefault(require("./SubjectMigration"));
127
127
 
128
128
  var _ResetSync = _interopRequireDefault(require("./ResetSync"));
129
129
 
130
+ var _Documentation = _interopRequireDefault(require("./Documentation"));
131
+
132
+ var _DocumentationItem = _interopRequireDefault(require("./DocumentationItem"));
133
+
130
134
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
131
135
 
132
136
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
@@ -432,6 +436,15 @@ const entityApprovalStatus = txData(_EntityApprovalStatus.default, {
432
436
  const news = txData(_News.default, {
433
437
  syncWeight: 0
434
438
  });
439
+ const documentation = refData(_Documentation.default, {
440
+ res: 'documentations',
441
+ syncWeight: 0
442
+ });
443
+ const documentationItem = refData(_DocumentationItem.default, {
444
+ res: 'documentationItems',
445
+ parent: documentation,
446
+ syncWeight: 0
447
+ });
435
448
  const comment = txData(_Comment.default, {
436
449
  parent: individual,
437
450
  syncWeight: 1,
@@ -449,7 +462,7 @@ const commentThread = txData(_CommentThread.default, {
449
462
  class EntityMetaData {
450
463
  //order is important. last entity in each (tx and ref) with be executed first. parent should be synced before the child.
451
464
  static model() {
452
- return [groupDashboard, approvalStatus, dashboardSectionCardMapping, dashboardSection, dashboard, reportCard, standardReportCardType, locationHierarchy, video, checklistItemDetail, checklistDetail, rule, ruleDependency, individualRelationshipType, individualRelationGenderMapping, individualRelation, programConfig, formMapping, formElement, formElementGroup, form, identifierSource, organisationConfig, platformTranslation, translation, locationMapping, addressLevel, encounterType, program, programOutcome, gender, groupRole, subjectType, conceptAnswer, concept, myGroups, groupPrivileges, groups, privilege, resetSync, subjectMigration, news, videoTelemetric, groupSubject, comment, commentThread, entityApprovalStatus, individualRelationship, checklistItem, checklist, encounter, identifierAssignment, programEncounter, programEnrolment, individual, extension, userInfo, syncTelemetry, ruleFailureTelemetry];
465
+ return [groupDashboard, approvalStatus, dashboardSectionCardMapping, dashboardSection, dashboard, reportCard, standardReportCardType, locationHierarchy, video, checklistItemDetail, checklistDetail, rule, ruleDependency, individualRelationshipType, individualRelationGenderMapping, individualRelation, programConfig, formMapping, formElement, formElementGroup, form, documentationItem, documentation, identifierSource, organisationConfig, platformTranslation, translation, locationMapping, addressLevel, encounterType, program, programOutcome, gender, groupRole, subjectType, conceptAnswer, concept, myGroups, groupPrivileges, groups, privilege, resetSync, subjectMigration, news, videoTelemetric, groupSubject, comment, commentThread, entityApprovalStatus, individualRelationship, checklistItem, checklist, encounter, identifierAssignment, programEncounter, programEnrolment, individual, extension, userInfo, syncTelemetry, ruleFailureTelemetry];
453
466
  }
454
467
 
455
468
  static entitiesLoadedFromServer() {
@@ -174,7 +174,7 @@ class ObservationsHolder {
174
174
  _lodash.default.forEach(childFormElements, cfe => {
175
175
  _lodash.default.range(size).forEach(questionGroupIndex => {
176
176
  const newFormElement = cfe.clone();
177
- newFormElement.questionGroupIndex = _lodash.default.isEmpty(cfe.rule) ? undefined : questionGroupIndex;
177
+ newFormElement.questionGroupIndex = questionGroupIndex;
178
178
  formElementsIncludingRepeatableElements.push(newFormElement);
179
179
  });
180
180
  });
package/dist/Schema.js CHANGED
@@ -161,6 +161,10 @@ var _SubjectMigration = _interopRequireDefault(require("./SubjectMigration"));
161
161
 
162
162
  var _ResetSync = _interopRequireDefault(require("./ResetSync"));
163
163
 
164
+ var _Documentation = _interopRequireDefault(require("./Documentation"));
165
+
166
+ var _DocumentationItem = _interopRequireDefault(require("./DocumentationItem"));
167
+
164
168
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
165
169
 
166
170
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -169,8 +173,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
169
173
 
170
174
  var _default = {
171
175
  //order is important, should be arranged according to the dependency
172
- schema: [_LocaleMapping.default, _Settings.default, _Concept.ConceptAnswer, _Concept.default, _EncounterType.default, _Gender.default, _UserDefinedIndividualProperty.default, _AddressLevel.LocationMapping, _AddressLevel.default, _KeyValue.default, _Form.default, _FormMapping.default, _FormElementGroup.default, _FormElement.default, _SubjectType.default, _Individual.default, _ProgramOutcome.default, _Program.default, _ProgramEnrolment.default, _Observation.default, _ProgramEncounter.default, _Encounter.default, _EntitySyncStatus.default, _EntityQueue.default, _ConfigFile.default, _Checklist.default, _ChecklistItem.default, _Format.default, _UserInfo.default, _StringKeyNumericValue.default, _VisitScheduleInterval.default, _VisitScheduleConfig.default, _ProgramConfig.default, _Family.default, _IndividualRelation.default, _IndividualRelationGenderMapping.default, _IndividualRelationshipType.default, _IndividualRelationship.default, _RuleDependency.default, _Rule.default, _ChecklistItemStatus.default, _ChecklistDetail.default, _ChecklistItemDetail.default, _VideoTelemetric.default, _Video.default, _MediaQueue.default, _Point.default, _SyncTelemetry.default, _IdentifierSource.default, _IdentifierAssignment.default, _RuleFailureTelemetry.default, _BeneficiaryModePin.default, _OrganisationConfig.default, _PlatformTranslation.default, _Translation.default, _Groups.default, _MyGroups.default, _GroupPrivileges.default, _Privilege.default, _GroupRole.default, _GroupSubject.default, _DashboardCache.default, _LocationHierarchy.default, _ReportCard.default, _Dashboard.default, _DashboardSectionCardMapping.default, _DraftSubject.default, _StandardReportCardType.default, _ApprovalStatus.default, _EntityApprovalStatus.default, _GroupDashboard.default, _DashboardSection.default, _News.default, _Comment.default, _CommentThread.default, _Extension.default, _SubjectMigration.default, _ResetSync.default],
173
- schemaVersion: 154,
176
+ schema: [_LocaleMapping.default, _Settings.default, _Concept.ConceptAnswer, _Concept.default, _EncounterType.default, _Gender.default, _UserDefinedIndividualProperty.default, _AddressLevel.LocationMapping, _AddressLevel.default, _KeyValue.default, _Form.default, _FormMapping.default, _FormElementGroup.default, _FormElement.default, _SubjectType.default, _Individual.default, _ProgramOutcome.default, _Program.default, _ProgramEnrolment.default, _Observation.default, _ProgramEncounter.default, _Encounter.default, _EntitySyncStatus.default, _EntityQueue.default, _ConfigFile.default, _Checklist.default, _ChecklistItem.default, _Format.default, _UserInfo.default, _StringKeyNumericValue.default, _VisitScheduleInterval.default, _VisitScheduleConfig.default, _ProgramConfig.default, _Family.default, _IndividualRelation.default, _IndividualRelationGenderMapping.default, _IndividualRelationshipType.default, _IndividualRelationship.default, _RuleDependency.default, _Rule.default, _ChecklistItemStatus.default, _ChecklistDetail.default, _ChecklistItemDetail.default, _VideoTelemetric.default, _Video.default, _MediaQueue.default, _Point.default, _SyncTelemetry.default, _IdentifierSource.default, _IdentifierAssignment.default, _RuleFailureTelemetry.default, _BeneficiaryModePin.default, _OrganisationConfig.default, _PlatformTranslation.default, _Translation.default, _Groups.default, _MyGroups.default, _GroupPrivileges.default, _Privilege.default, _GroupRole.default, _GroupSubject.default, _DashboardCache.default, _LocationHierarchy.default, _ReportCard.default, _Dashboard.default, _DashboardSectionCardMapping.default, _DraftSubject.default, _StandardReportCardType.default, _ApprovalStatus.default, _EntityApprovalStatus.default, _GroupDashboard.default, _DashboardSection.default, _News.default, _Comment.default, _CommentThread.default, _Extension.default, _SubjectMigration.default, _ResetSync.default, _Documentation.default, _DocumentationItem.default],
177
+ schemaVersion: 156,
174
178
  migration: function (oldDB, newDB) {
175
179
  if (oldDB.schemaVersion < 10) {
176
180
  var oldObjects = oldDB.objects("DecisionConfig");
@@ -50,7 +50,7 @@ class Form {
50
50
  this.deleteOutOfSyncDrafts(entityService, resource.uuid);
51
51
  }
52
52
 
53
- return _General.default.assignFields(resource, new Form(), ["uuid", "name", "formType", "decisionRule", "visitScheduleRule", "validationRule", "checklistsRule"]);
53
+ return _General.default.assignFields(resource, new Form(), ["uuid", "name", "formType", "decisionRule", "visitScheduleRule", "validationRule", "checklistsRule", "timed"]);
54
54
  }
55
55
 
56
56
  static deleteOutOfSyncDrafts(entityService, formUUID) {
@@ -267,6 +267,10 @@ _defineProperty(Form, "schema", {
267
267
  checklistsRule: {
268
268
  type: "string",
269
269
  optional: true
270
+ },
271
+ timed: {
272
+ type: "bool",
273
+ default: false
270
274
  }
271
275
  }
272
276
  });
@@ -25,6 +25,8 @@ var _Filter = _interopRequireDefault(require("./Filter"));
25
25
 
26
26
  var _moment = _interopRequireDefault(require("moment"));
27
27
 
28
+ var _Documentation = _interopRequireDefault(require("../Documentation"));
29
+
28
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
31
 
30
32
  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; }
@@ -38,6 +40,7 @@ class FormElement {
38
40
 
39
41
  formElement.formElementGroup = formElementGroup;
40
42
  formElement.groupUuid = _ResourceUtil.default.getUUIDFor(resource, "groupQuestionUUID");
43
+ formElement.documentation = entityService.findByKey("uuid", _ResourceUtil.default.getUUIDFor(resource, "documentationUUID"), _Documentation.default.schema.name);
41
44
  formElement.concept = concept; //remove orphan keyValues (because KeyValue doesn't have primary key
42
45
 
43
46
  entityService.deleteObjects(resource["uuid"], FormElement.schema.name, "keyValues");
@@ -215,7 +218,8 @@ class FormElement {
215
218
  keyValues: this.keyValues,
216
219
  concept: this.concept,
217
220
  formElementGroupUUID: this.formElementGroup.uuid,
218
- groupUuid: this.groupUuid
221
+ groupUuid: this.groupUuid,
222
+ documentation: this.documentation
219
223
  };
220
224
  }
221
225
 
@@ -276,6 +280,7 @@ class FormElement {
276
280
  formElement.voided = this.voided;
277
281
  formElement.rule = this.rule;
278
282
  formElement.groupUuid = this.groupUuid;
283
+ formElement.documentation = this.documentation;
279
284
  return formElement;
280
285
  }
281
286
 
@@ -314,6 +319,10 @@ _defineProperty(FormElement, "schema", {
314
319
  groupUuid: {
315
320
  type: "string",
316
321
  optional: true
322
+ },
323
+ documentation: {
324
+ type: "Documentation",
325
+ optional: true
317
326
  }
318
327
  }
319
328
  });
@@ -27,7 +27,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
27
27
 
28
28
  class FormElementGroup {
29
29
  static fromResource(resource, entityService) {
30
- const formElementGroup = _General.default.assignFields(resource, new FormElementGroup(), ["uuid", "name", "displayOrder", "display", "voided", "rule"]);
30
+ const formElementGroup = _General.default.assignFields(resource, new FormElementGroup(), ["uuid", "name", "displayOrder", "display", "voided", "rule", "startTime", "stayTime"]);
31
31
 
32
32
  formElementGroup.form = entityService.findByKey("uuid", _ResourceUtil.default.getUUIDFor(resource, "formUUID"), _Form.default.schema.name);
33
33
  return formElementGroup;
@@ -166,7 +166,9 @@ class FormElementGroup {
166
166
  displayOrder: this.displayOrder,
167
167
  display: this.display,
168
168
  formElements: this.formElements,
169
- formUUID: this.form.uuid
169
+ formUUID: this.form.uuid,
170
+ startTime: this.startTime,
171
+ stayTime: this.stayTime
170
172
  };
171
173
  }
172
174
 
@@ -195,6 +197,14 @@ _defineProperty(FormElementGroup, "schema", {
195
197
  rule: {
196
198
  type: "string",
197
199
  optional: true
200
+ },
201
+ startTime: {
202
+ type: 'int',
203
+ optional: true
204
+ },
205
+ stayTime: {
206
+ type: 'int',
207
+ optional: true
198
208
  }
199
209
  }
200
210
  });
package/dist/index.js CHANGED
@@ -663,6 +663,18 @@ Object.defineProperty(exports, "ResetSync", {
663
663
  return _ResetSync.default;
664
664
  }
665
665
  });
666
+ Object.defineProperty(exports, "Documentation", {
667
+ enumerable: true,
668
+ get: function () {
669
+ return _Documentation.default;
670
+ }
671
+ });
672
+ Object.defineProperty(exports, "DocumentationItem", {
673
+ enumerable: true,
674
+ get: function () {
675
+ return _DocumentationItem.default;
676
+ }
677
+ });
666
678
 
667
679
  var _AbstractEncounter = _interopRequireDefault(require("./AbstractEncounter"));
668
680
 
@@ -882,6 +894,10 @@ var _RepeatableQuestionGroup = _interopRequireDefault(require("./observation/Rep
882
894
 
883
895
  var _ResetSync = _interopRequireDefault(require("./ResetSync"));
884
896
 
897
+ var _Documentation = _interopRequireDefault(require("./Documentation"));
898
+
899
+ var _DocumentationItem = _interopRequireDefault(require("./DocumentationItem"));
900
+
885
901
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
886
902
 
887
903
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
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.18.1",
4
+ "version": "1.20.0",
5
5
  "private": false,
6
6
  "repository": {
7
7
  "type": "git",