openchs-models 1.31.49 → 1.31.51

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.
@@ -412,6 +412,19 @@ class AbstractEncounter extends _BaseEntity.default {
412
412
  this.that.latestEntityApprovalStatus = this.fromObject(entityApprovalStatus);
413
413
  }
414
414
 
415
+ updateAudit(userInfo, isNew, isGettingFilled) {
416
+ (0, _AuditUtil.updateAuditFields)(this, userInfo, isNew);
417
+
418
+ if (_lodash.default.isNil(this.filledByUUID) && isGettingFilled) {
419
+ this.filledByUUID = userInfo.userUUID;
420
+ this.filledBy = userInfo.name;
421
+ }
422
+ }
423
+
424
+ isFilled() {
425
+ return !_lodash.default.isNil(this.encounterDateTime);
426
+ }
427
+
415
428
  }
416
429
 
417
430
  _defineProperty(AbstractEncounter, "fieldKeys", {
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _PersistedObject = _interopRequireDefault(require("./PersistedObject"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ 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; }
13
+
14
+ class ConfigFile extends _PersistedObject.default {
15
+ constructor(that = null) {
16
+ super(that);
17
+ }
18
+
19
+ get fileName() {
20
+ return this.that.fileName;
21
+ }
22
+
23
+ set fileName(x) {
24
+ this.that.fileName = x;
25
+ }
26
+
27
+ get contents() {
28
+ return this.that.contents;
29
+ }
30
+
31
+ set contents(x) {
32
+ this.that.contents = x;
33
+ }
34
+
35
+ static create(fileName, contents) {
36
+ const configFile = new ConfigFile();
37
+ configFile.fileName = fileName.toLowerCase();
38
+ configFile.contents = contents;
39
+ return configFile;
40
+ }
41
+
42
+ toString() {
43
+ return this.fileName;
44
+ }
45
+
46
+ }
47
+
48
+ _defineProperty(ConfigFile, "schema", {
49
+ name: "ConfigFile",
50
+ primaryKey: "fileName",
51
+ properties: {
52
+ fileName: "string",
53
+ contents: "string"
54
+ }
55
+ });
56
+
57
+ var _default = ConfigFile;
58
+ exports.default = _default;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _PersistedObject = _interopRequireDefault(require("./PersistedObject"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ 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; }
13
+
14
+ class Decision extends _PersistedObject.default {
15
+ constructor(that = null) {
16
+ super(that);
17
+ }
18
+
19
+ get name() {
20
+ return this.that.name;
21
+ }
22
+
23
+ set name(x) {
24
+ this.that.name = x;
25
+ }
26
+
27
+ get value() {
28
+ return this.that.value;
29
+ }
30
+
31
+ set value(x) {
32
+ this.that.value = x;
33
+ }
34
+
35
+ get code() {
36
+ return this.that.code;
37
+ }
38
+
39
+ set code(x) {
40
+ this.that.code = x;
41
+ }
42
+
43
+ static newInstance(name, code, value) {
44
+ return {
45
+ name: name,
46
+ code: code,
47
+ value: value
48
+ };
49
+ }
50
+
51
+ }
52
+
53
+ _defineProperty(Decision, "schema", {
54
+ name: "Decision",
55
+ properties: {
56
+ name: "string",
57
+ code: "string",
58
+ value: "string"
59
+ }
60
+ });
61
+
62
+ var _default = Decision;
63
+ exports.default = _default;
@@ -33,6 +33,8 @@ var _EncounterType = _interopRequireDefault(require("./EncounterType"));
33
33
 
34
34
  var _Encounter = _interopRequireDefault(require("./Encounter"));
35
35
 
36
+ var _ProgramOutcome = _interopRequireDefault(require("./ProgramOutcome"));
37
+
36
38
  var _Form = _interopRequireDefault(require("./application/Form"));
37
39
 
38
40
  var _FormElementGroup = _interopRequireDefault(require("./application/FormElementGroup"));
@@ -246,6 +248,9 @@ const program = refDataNameTranslated(_Program.default, {
246
248
  res: "operationalProgram",
247
249
  syncWeight: 3
248
250
  });
251
+ const programOutcome = refDataNameTranslated(_ProgramOutcome.default, {
252
+ syncWeight: 3
253
+ });
249
254
  const gender = refDataNameTranslated(_Gender.default, {
250
255
  syncWeight: 1
251
256
  });
@@ -625,7 +630,7 @@ class EntityMetaData {
625
630
 
626
631
  //order is important. last entity in each (tx and ref) with be executed first. parent should be synced before the child.
627
632
  static model() {
628
- return [groupDashboard, approvalStatus, dashboardSectionCardMapping, dashboardSection, dashboardFilter, dashboard, reportCard, standardReportCardType, menuItem, locationHierarchy, video, checklistItemDetail, checklistDetail, rule, ruleDependency, individualRelationshipType, individualRelationGenderMapping, individualRelation, formMapping, formElement, formElementGroup, form, documentationItem, documentation, identifierSource, organisationConfig, platformTranslation, translation, locationMapping, addressLevel, taskStatus, taskType, encounterType, program, gender, groupRole, subjectType, conceptAnswer, concept, myGroups, groupPrivileges, groups, privilege, resetSync, subjectMigration, userSubjectAssignment, task, taskUnAssigment, subjectProgramEligibility, news, videoTelemetric, groupSubject, comment, commentThread, entityApprovalStatus, subjectEntityApprovalStatus, encounterEntityApprovalStatus, programEncounterEntityApprovalStatus, programEnrolmentEntityApprovalStatus, checklistItemEntityApprovalStatus, individualRelationship, checklistItem, checklist, encounter, identifierAssignment, programEncounter, programEnrolment, individual, extension, userInfo, ruleFailureTelemetry, syncTelemetry];
633
+ return [groupDashboard, approvalStatus, dashboardSectionCardMapping, dashboardSection, dashboardFilter, dashboard, reportCard, standardReportCardType, menuItem, locationHierarchy, video, checklistItemDetail, checklistDetail, rule, ruleDependency, individualRelationshipType, individualRelationGenderMapping, individualRelation, formMapping, formElement, formElementGroup, form, documentationItem, documentation, identifierSource, organisationConfig, platformTranslation, translation, locationMapping, addressLevel, taskStatus, taskType, encounterType, program, programOutcome, gender, groupRole, subjectType, conceptAnswer, concept, myGroups, groupPrivileges, groups, privilege, resetSync, subjectMigration, userSubjectAssignment, task, taskUnAssigment, subjectProgramEligibility, news, videoTelemetric, groupSubject, comment, commentThread, entityApprovalStatus, subjectEntityApprovalStatus, encounterEntityApprovalStatus, programEncounterEntityApprovalStatus, programEnrolmentEntityApprovalStatus, checklistItemEntityApprovalStatus, individualRelationship, checklistItem, checklist, encounter, identifierAssignment, programEncounter, programEnrolment, individual, extension, userInfo, ruleFailureTelemetry, syncTelemetry];
629
634
  }
630
635
 
631
636
  static entitiesLoadedFromServer() {
@@ -32,14 +32,6 @@ class GroupDashboard extends _BaseEntity.default {
32
32
  this.that.primaryDashboard = x;
33
33
  }
34
34
 
35
- get secondaryDashboard() {
36
- return this.that.secondaryDashboard;
37
- }
38
-
39
- set secondaryDashboard(x) {
40
- this.that.secondaryDashboard = x;
41
- }
42
-
43
35
  get group() {
44
36
  return this.toEntity("group", _Groups.default);
45
37
  }
@@ -57,7 +49,7 @@ class GroupDashboard extends _BaseEntity.default {
57
49
  }
58
50
 
59
51
  static fromResource(resource, entityService) {
60
- const groupDashboard = _General.default.assignFields(resource, new GroupDashboard(), ["uuid", "primaryDashboard", "secondaryDashboard", "voided"]);
52
+ const groupDashboard = _General.default.assignFields(resource, new GroupDashboard(), ["uuid", "primaryDashboard", "voided"]);
61
53
 
62
54
  groupDashboard.group = entityService.findByKey("uuid", _ResourceUtil.default.getUUIDFor(resource, "groupUUID"), _Groups.default.schema.name);
63
55
  groupDashboard.dashboard = entityService.findByKey("uuid", _ResourceUtil.default.getUUIDFor(resource, "dashboardUUID"), _Dashboard.default.schema.name);
@@ -75,10 +67,6 @@ _defineProperty(GroupDashboard, "schema", {
75
67
  type: "bool",
76
68
  default: false
77
69
  },
78
- secondaryDashboard: {
79
- type: "bool",
80
- default: false
81
- },
82
70
  group: {
83
71
  type: "Groups",
84
72
  optional: true
@@ -891,18 +891,6 @@ class Individual extends _BaseEntity.default {
891
891
  return _lodash.default.filter(this.getEncounters(true), encounter => !encounter.encounterDateTime && _lodash.default.isNil(encounter.cancelDateTime));
892
892
  }
893
893
 
894
- everScheduledEncounters() {
895
- return _lodash.default.filter(this.getEncounters(true), encounter => !_lodash.default.isNil(encounter.earliestVisitDateTime) && _lodash.default.isNil(encounter.cancelDateTime));
896
- }
897
-
898
- scheduledEncountersOfType(encounterTypeName) {
899
- return this.scheduledEncounters().filter(scheduledEncounter => scheduledEncounter.encounterType.name === encounterTypeName);
900
- }
901
-
902
- everScheduledEncountersOfType(encounterTypeName) {
903
- return this.everScheduledEncounters().filter(scheduledEncounter => scheduledEncounter.encounterType.name === encounterTypeName);
904
- }
905
-
906
894
  findObservationInLastEncounter(conceptNameOrUuid, currentEncounter) {
907
895
  const lastEncounter = this.findLastEncounterOfType(currentEncounter, _lodash.default.get(currentEncounter, 'encounterType'));
908
896
  return lastEncounter ? lastEncounter.findObservation(conceptNameOrUuid) : null;
@@ -1066,6 +1054,10 @@ class Individual extends _BaseEntity.default {
1066
1054
  return _SchemaNames.default.Individual;
1067
1055
  }
1068
1056
 
1057
+ updateAudit(userInfo, isNew) {
1058
+ (0, _AuditUtil.updateAuditFields)(this, userInfo, isNew);
1059
+ }
1060
+
1069
1061
  }
1070
1062
 
1071
1063
  _defineProperty(Individual, "schema", {
@@ -11,6 +11,8 @@ var _ResourceUtil = _interopRequireDefault(require("./utility/ResourceUtil"));
11
11
 
12
12
  var _Program = _interopRequireDefault(require("./Program"));
13
13
 
14
+ var _ProgramOutcome = _interopRequireDefault(require("./ProgramOutcome"));
15
+
14
16
  var _ProgramEncounter = _interopRequireDefault(require("./ProgramEncounter"));
15
17
 
16
18
  var _BaseEntity = _interopRequireDefault(require("./BaseEntity"));
@@ -96,6 +98,14 @@ class ProgramEnrolment extends _BaseEntity.default {
96
98
  this.that.programExitObservations = this.fromEntityList(x);
97
99
  }
98
100
 
101
+ get programOutcome() {
102
+ return this.toEntity("programOutcome", _ProgramOutcome.default);
103
+ }
104
+
105
+ set programOutcome(x) {
106
+ this.that.programOutcome = this.fromObject(x);
107
+ }
108
+
99
109
  get encounters() {
100
110
  return this.toEntityList("encounters", _ProgramEncounter.default);
101
111
  }
@@ -207,6 +217,7 @@ class ProgramEnrolment extends _BaseEntity.default {
207
217
  resource["programUUID"] = this.program.uuid;
208
218
  resource.enrolmentDateTime = _General.default.isoFormat(this.enrolmentDateTime);
209
219
  resource.programExitDateTime = _General.default.isoFormat(this.programExitDateTime);
220
+ resource["programOutcomeUUID"] = _lodash.default.isNil(this.programOutcome) ? null : this.programOutcome.uuid;
210
221
  resource["individualUUID"] = this.individual.uuid;
211
222
  if (!_lodash.default.isNil(this.checklist)) resource["checklistUUID"] = this.checklist.uuid;
212
223
  resource["observations"] = [];
@@ -231,12 +242,20 @@ class ProgramEnrolment extends _BaseEntity.default {
231
242
 
232
243
  static fromResource(resource, entityService) {
233
244
  const program = entityService.findByKey("uuid", _ResourceUtil.default.getUUIDFor(resource, "programUUID"), _Program.default.schema.name);
245
+
246
+ const programOutcomeUUID = _ResourceUtil.default.getUUIDFor(resource, "programOutcomeUUID");
247
+
234
248
  const individual = entityService.findByKey("uuid", _ResourceUtil.default.getUUIDFor(resource, "individualUUID"), _Individual.default.schema.name);
235
249
 
236
250
  const programEnrolment = _General.default.assignFields(resource, new ProgramEnrolment(), ["uuid", "voided"], ["enrolmentDateTime", "programExitDateTime"], ["observations", "programExitObservations"], entityService);
237
251
 
238
252
  programEnrolment.program = program;
239
253
  programEnrolment.individual = individual;
254
+
255
+ if (!_lodash.default.isNil(programOutcomeUUID)) {
256
+ programEnrolment.programOutcome = entityService.findByKey("uuid", programOutcomeUUID, _ProgramOutcome.default.schema.name);
257
+ }
258
+
240
259
  if (!_lodash.default.isNil(resource.enrolmentLocation)) programEnrolment.enrolmentLocation = _Point.default.fromResource(resource.enrolmentLocation);
241
260
  if (!_lodash.default.isNil(resource.exitLocation)) programEnrolment.exitLocation = _Point.default.fromResource(resource.exitLocation);
242
261
  (0, _AuditUtil.mapAuditFields)(programEnrolment, resource);
@@ -271,6 +290,7 @@ class ProgramEnrolment extends _BaseEntity.default {
271
290
  programEnrolment.program = _lodash.default.isNil(this.program) ? null : this.program.clone();
272
291
  programEnrolment.enrolmentDateTime = this.enrolmentDateTime;
273
292
  programEnrolment.programExitDateTime = this.programExitDateTime;
293
+ programEnrolment.programOutcome = _lodash.default.isNil(this.programOutcome) ? null : this.programOutcome.clone();
274
294
  programEnrolment.individual = this.individual;
275
295
  programEnrolment.observations = _ObservationsHolder.default.clone(this.observations);
276
296
  programEnrolment.programExitObservations = _ObservationsHolder.default.clone(this.programExitObservations);
@@ -634,6 +654,10 @@ class ProgramEnrolment extends _BaseEntity.default {
634
654
  observations: this.observations,
635
655
  programExitDateTime: this.programExitDateTime,
636
656
  programExitObservations: this.programExitObservations,
657
+ programOutcome: {
658
+ type: "ProgramOutcome",
659
+ optional: true
660
+ },
637
661
  encounters: this.encounters,
638
662
  checklists: this.checklists,
639
663
  individualUUID: this.individual.uuid,
@@ -646,6 +670,10 @@ class ProgramEnrolment extends _BaseEntity.default {
646
670
  return _SchemaNames.default.ProgramEnrolment;
647
671
  }
648
672
 
673
+ updateAudit(userInfo, isNew) {
674
+ (0, _AuditUtil.updateAuditFields)(this, userInfo, isNew);
675
+ }
676
+
649
677
  }
650
678
 
651
679
  _defineProperty(ProgramEnrolment, "schema", {
@@ -667,6 +695,10 @@ _defineProperty(ProgramEnrolment, "schema", {
667
695
  type: "list",
668
696
  objectType: "EmbeddedObservation"
669
697
  },
698
+ programOutcome: {
699
+ type: "ProgramOutcome",
700
+ optional: true
701
+ },
670
702
  encounters: {
671
703
  type: "list",
672
704
  objectType: _SchemaNames.default.ProgramEncounter
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _ReferenceEntity = _interopRequireDefault(require("./ReferenceEntity"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ 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; }
13
+
14
+ class ProgramOutcome extends _ReferenceEntity.default {
15
+ constructor(that = null) {
16
+ super(that);
17
+ }
18
+
19
+ get name() {
20
+ return this.that.name;
21
+ }
22
+
23
+ set name(x) {
24
+ this.that.name = x;
25
+ }
26
+
27
+ }
28
+
29
+ _defineProperty(ProgramOutcome, "schema", {
30
+ name: "ProgramOutcome",
31
+ primaryKey: "uuid",
32
+ properties: {
33
+ uuid: "string",
34
+ name: "string"
35
+ }
36
+ });
37
+
38
+ var _default = ProgramOutcome;
39
+ exports.default = _default;
package/dist/Schema.js CHANGED
@@ -20,6 +20,8 @@ var _Family = _interopRequireDefault(require("./Family"));
20
20
 
21
21
  var _AddressLevel = _interopRequireWildcard(require("./AddressLevel"));
22
22
 
23
+ var _UserDefinedIndividualProperty = _interopRequireDefault(require("./UserDefinedIndividualProperty"));
24
+
23
25
  var _Gender = _interopRequireDefault(require("./Gender"));
24
26
 
25
27
  var _EntitySyncStatus = _interopRequireDefault(require("./EntitySyncStatus"));
@@ -36,6 +38,8 @@ var _Encounter = _interopRequireDefault(require("./Encounter"));
36
38
 
37
39
  var _EncounterType = _interopRequireDefault(require("./EncounterType"));
38
40
 
41
+ var _ProgramOutcome = _interopRequireDefault(require("./ProgramOutcome"));
42
+
39
43
  var _FormElement = _interopRequireDefault(require("./application/FormElement"));
40
44
 
41
45
  var _FormElementGroup = _interopRequireDefault(require("./application/FormElementGroup"));
@@ -50,6 +54,8 @@ var _EntityQueue = _interopRequireDefault(require("./EntityQueue"));
50
54
 
51
55
  var _FormMapping = _interopRequireDefault(require("./application/FormMapping"));
52
56
 
57
+ var _ConfigFile = _interopRequireDefault(require("./ConfigFile"));
58
+
53
59
  var _ChecklistItemStatus = _interopRequireDefault(require("./ChecklistItemStatus"));
54
60
 
55
61
  var _ChecklistItemDetail = _interopRequireDefault(require("./ChecklistItemDetail"));
@@ -192,7 +198,7 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
192
198
 
193
199
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
194
200
 
195
- const entities = [_DashboardFilter.default, _LocaleMapping.default, _Settings.default, _ConceptAnswer.default, _Concept.default, _EncounterType.default, _Gender.default, _AddressLevel.LocationMapping, _AddressLevel.default, _KeyValue.default, _Form.default, _FormMapping.default, _FormElementGroup.default, _FormElement.default, _SubjectType.default, _Individual.default, _Program.default, _ProgramEnrolment.default, _Observation.default, _ProgramEncounter.default, _Encounter.default, _EntitySyncStatus.default, _EntityQueue.default, _Checklist.default, _ChecklistItem.default, _Format.default, _UserInfo.default, _StringKeyNumericValue.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, _CustomDashboardCache.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, _TaskType.default, _TaskStatus.default, _Task.default, _TaskUnAssignment.default, _DraftEncounter.default, _SubjectProgramEligibility.default, _MenuItem.default, _UserSubjectAssignment.default];
201
+ const entities = [_DashboardFilter.default, _LocaleMapping.default, _Settings.default, _ConceptAnswer.default, _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, _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, _CustomDashboardCache.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, _TaskType.default, _TaskStatus.default, _Task.default, _TaskUnAssignment.default, _DraftEncounter.default, _SubjectProgramEligibility.default, _MenuItem.default, _UserSubjectAssignment.default];
196
202
 
197
203
  function migrateObjectTypeFieldToEmbedded(newDB, oldDB, schemaName, field, creatorFn) {
198
204
  console.log(`schema: ${schemaName}, field: ${field}`);
@@ -375,10 +381,17 @@ function createRealmConfig() {
375
381
  return doCompact;
376
382
  },
377
383
  //order is important, should be arranged according to the dependency
378
- schemaVersion: 188,
384
+ schemaVersion: 186,
379
385
  onMigration: function (oldDB, newDB) {
380
386
  console.log("[AvniModels.Schema]", `Running migration with old schema version: ${oldDB.schemaVersion} and new schema version: ${newDB.schemaVersion}`);
381
387
 
388
+ if (oldDB.schemaVersion < 10) {
389
+ const oldObjects = oldDB.objects("DecisionConfig");
390
+ oldObjects.forEach(decisionConfig => {
391
+ newDB.create(_ConfigFile.default.schema.name, _ConfigFile.default.create(decisionConfig.fileName, decisionConfig.decisionCode), true);
392
+ });
393
+ }
394
+
382
395
  if (oldDB.schemaVersion < 17) {
383
396
  const oldObjects = oldDB.objects("AddressLevel");
384
397
  const newObjects = newDB.objects("AddressLevel");
@@ -984,12 +997,6 @@ function createRealmConfig() {
984
997
  if (oldDB.schemaVersion < 185) {
985
998
  migrateAllEmbeddedForTxnData(oldDB, newDB);
986
999
  }
987
-
988
- if (oldDB.schemaVersion < 186) {// newDB.deleteModel("UserDefinedIndividualProperty");
989
- // newDB.deleteModel("ConfigFile");
990
- // newDB.deleteModel("Decision");
991
- // newDB.deleteModel("ProgramOutcome");
992
- }
993
1000
  }
994
1001
  };
995
1002
  }
@@ -176,14 +176,6 @@ class SubjectType extends _ReferenceEntity.default {
176
176
  this.that.directlyAssignable = x;
177
177
  }
178
178
 
179
- get settings() {
180
- return this.that.settings;
181
- }
182
-
183
- set settings(x) {
184
- this.that.settings = x;
185
- }
186
-
187
179
  static create(name, group = false, household = false, type) {
188
180
  let subjectType = new SubjectType();
189
181
  subjectType.uuid = _General.default.randomUUID();
@@ -218,7 +210,6 @@ class SubjectType extends _ReferenceEntity.default {
218
210
  subjectType.syncRegistrationConcept1 = _ResourceUtil.default.getUUIDFor(operationalSubjectType, 'syncRegistrationConcept1');
219
211
  subjectType.syncRegistrationConcept2 = _ResourceUtil.default.getUUIDFor(operationalSubjectType, 'syncRegistrationConcept2');
220
212
  subjectType.nameHelpText = _ResourceUtil.default.getUUIDFor(operationalSubjectType, 'nameHelpText');
221
- subjectType.settings = !_.isNil(operationalSubjectType.settings) ? JSON.stringify(operationalSubjectType.settings) : '{}';
222
213
  return subjectType;
223
214
  }
224
215
 
@@ -246,7 +237,6 @@ class SubjectType extends _ReferenceEntity.default {
246
237
  cloned.syncRegistrationConcept1 = this.syncRegistrationConcept1;
247
238
  cloned.syncRegistrationConcept2 = this.syncRegistrationConcept2;
248
239
  cloned.nameHelpText = this.nameHelpText;
249
- cloned.settings = this.settings;
250
240
  return cloned;
251
241
  }
252
242
 
@@ -274,14 +264,6 @@ class SubjectType extends _ReferenceEntity.default {
274
264
  return !_.isNil(this.iconFileS3Key);
275
265
  }
276
266
 
277
- getSettings() {
278
- return JSON.parse(this.settings);
279
- }
280
-
281
- getSetting(settingName) {
282
- return this.getSettings()[settingName];
283
- }
284
-
285
267
  }
286
268
 
287
269
  _defineProperty(SubjectType, "schema", {
@@ -362,10 +344,6 @@ _defineProperty(SubjectType, "schema", {
362
344
  nameHelpText: {
363
345
  type: "string",
364
346
  optional: true
365
- },
366
- settings: {
367
- type: "string",
368
- default: '{}'
369
347
  }
370
348
  }
371
349
  });
@@ -377,10 +355,5 @@ _defineProperty(SubjectType, "types", {
377
355
  Household: 'Household'
378
356
  });
379
357
 
380
- _defineProperty(SubjectType, "settingKeys", {
381
- displayRegistrationDetails: 'displayRegistrationDetails',
382
- displayPlannedEncounters: 'displayPlannedEncounters'
383
- });
384
-
385
358
  var _default = SubjectType;
386
359
  exports.default = _default;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _PersistedObject = _interopRequireDefault(require("./PersistedObject"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ 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; }
13
+
14
+ class UserDefinedIndividualProperty extends _PersistedObject.default {
15
+ constructor(that = null) {
16
+ super(that);
17
+ }
18
+
19
+ get name() {
20
+ return this.that.name;
21
+ }
22
+
23
+ set name(x) {
24
+ this.that.name = x;
25
+ }
26
+
27
+ get value() {
28
+ return this.that.value;
29
+ }
30
+
31
+ set value(x) {
32
+ this.that.value = x;
33
+ }
34
+
35
+ get unit() {
36
+ return this.that.unit;
37
+ }
38
+
39
+ set unit(x) {
40
+ this.that.unit = x;
41
+ }
42
+
43
+ }
44
+
45
+ _defineProperty(UserDefinedIndividualProperty, "schema", {
46
+ name: "UserDefinedIndividualProperty",
47
+ properties: {
48
+ name: "string",
49
+ value: "string",
50
+ unit: {
51
+ type: "string",
52
+ optional: true
53
+ }
54
+ }
55
+ });
56
+
57
+ var _default = UserDefinedIndividualProperty;
58
+ exports.default = _default;
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
 
8
8
  //https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error
9
- function SyncError(code, message) {
10
- let instance = new Error(message);
9
+ function SyncError(code, message, fileName, lineNumber) {
10
+ let instance = new Error(message, fileName, lineNumber);
11
11
  instance.errorCode = code;
12
12
  instance.errorText = message;
13
13
 
package/dist/index.js CHANGED
@@ -75,6 +75,18 @@ Object.defineProperty(exports, "ConceptAnswer", {
75
75
  return _ConceptAnswer.default;
76
76
  }
77
77
  });
78
+ Object.defineProperty(exports, "ConfigFile", {
79
+ enumerable: true,
80
+ get: function () {
81
+ return _ConfigFile.default;
82
+ }
83
+ });
84
+ Object.defineProperty(exports, "Decision", {
85
+ enumerable: true,
86
+ get: function () {
87
+ return _Decision.default;
88
+ }
89
+ });
78
90
  Object.defineProperty(exports, "Duration", {
79
91
  enumerable: true,
80
92
  get: function () {
@@ -285,6 +297,12 @@ Object.defineProperty(exports, "Program", {
285
297
  return _Program.default;
286
298
  }
287
299
  });
300
+ Object.defineProperty(exports, "ProgramOutcome", {
301
+ enumerable: true,
302
+ get: function () {
303
+ return _ProgramOutcome.default;
304
+ }
305
+ });
288
306
  Object.defineProperty(exports, "ReferenceEntity", {
289
307
  enumerable: true,
290
308
  get: function () {
@@ -339,6 +357,12 @@ Object.defineProperty(exports, "StringKeyNumericValue", {
339
357
  return _StringKeyNumericValue.default;
340
358
  }
341
359
  });
360
+ Object.defineProperty(exports, "UserDefinedIndividualProperty", {
361
+ enumerable: true,
362
+ get: function () {
363
+ return _UserDefinedIndividualProperty.default;
364
+ }
365
+ });
342
366
  Object.defineProperty(exports, "UserInfo", {
343
367
  enumerable: true,
344
368
  get: function () {
@@ -806,6 +830,10 @@ var _Concept = _interopRequireDefault(require("./Concept"));
806
830
 
807
831
  var _ConceptAnswer = _interopRequireDefault(require("./ConceptAnswer"));
808
832
 
833
+ var _ConfigFile = _interopRequireDefault(require("./ConfigFile"));
834
+
835
+ var _Decision = _interopRequireDefault(require("./Decision"));
836
+
809
837
  var _Duration = _interopRequireDefault(require("./Duration"));
810
838
 
811
839
  var _Encounter = _interopRequireDefault(require("./Encounter"));
@@ -874,6 +902,8 @@ var _ProgramEnrolment = _interopRequireDefault(require("./ProgramEnrolment"));
874
902
 
875
903
  var _Program = _interopRequireDefault(require("./Program"));
876
904
 
905
+ var _ProgramOutcome = _interopRequireDefault(require("./ProgramOutcome"));
906
+
877
907
  var _ReferenceEntity = _interopRequireDefault(require("./ReferenceEntity"));
878
908
 
879
909
  var _RuleDependency = _interopRequireDefault(require("./RuleDependency"));
@@ -892,6 +922,8 @@ var _StaticFormElementGroup = _interopRequireDefault(require("./application/Stat
892
922
 
893
923
  var _StringKeyNumericValue = _interopRequireDefault(require("./application/StringKeyNumericValue"));
894
924
 
925
+ var _UserDefinedIndividualProperty = _interopRequireDefault(require("./UserDefinedIndividualProperty"));
926
+
895
927
  var _UserInfo = _interopRequireDefault(require("./UserInfo"));
896
928
 
897
929
  var _ValidationResult = _interopRequireDefault(require("./application/ValidationResult"));
@@ -3,10 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.mapAuditFields = exports.AuditFields = void 0;
6
+ exports.updateAuditFields = updateAuditFields;
7
+ exports.mapAuditFields = mapAuditFields;
8
+ exports.AuditFields = void 0;
7
9
 
8
10
  var _ResourceUtil = _interopRequireDefault(require("./ResourceUtil"));
9
11
 
12
+ var _lodash = _interopRequireDefault(require("lodash"));
13
+
10
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
15
 
12
16
  const AuditFields = {
@@ -29,11 +33,23 @@ const AuditFields = {
29
33
  };
30
34
  exports.AuditFields = AuditFields;
31
35
 
32
- const mapAuditFields = function (txnEntity, txnResource) {
36
+ function updateAuditFields(entity, userInfo, isNew = false) {
37
+ // old entities may have createdByUUID as null if never synced after audit release
38
+ // isNew must be passed by callers to specify that it is indeed a create scenario
39
+ if (_lodash.default.isNil(entity.createdByUUID) && isNew) {
40
+ entity.createdByUUID = userInfo.userUUID;
41
+ entity.createdBy = userInfo.name;
42
+ }
43
+
44
+ if (_lodash.default.isNil(entity.lastModifiedByUUID)) {
45
+ entity.lastModifiedByUUID = userInfo.userUUID;
46
+ entity.lastModifiedBy = userInfo.name;
47
+ }
48
+ }
49
+
50
+ function mapAuditFields(txnEntity, txnResource) {
33
51
  txnEntity.createdBy = _ResourceUtil.default.getFieldValue(txnResource, "createdBy");
34
52
  txnEntity.createdByUUID = _ResourceUtil.default.getFieldValue(txnResource, "createdByUUID");
35
53
  txnEntity.lastModifiedBy = _ResourceUtil.default.getFieldValue(txnResource, "lastModifiedBy");
36
54
  txnEntity.lastModifiedByUUID = _ResourceUtil.default.getFieldValue(txnResource, "lastModifiedByUUID");
37
- };
38
-
39
- exports.mapAuditFields = mapAuditFields;
55
+ }
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.31.49",
4
+ "version": "1.31.51",
5
5
  "private": false,
6
6
  "repository": {
7
7
  "type": "git",