openchs-models 1.31.55 → 1.31.56
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.
- package/dist/AbstractEncounter.js +13 -0
- package/dist/AddressLevel.js +1 -1
- package/dist/ChecklistItem.js +1 -1
- package/dist/ConfigFile.js +58 -0
- package/dist/Decision.js +63 -0
- package/dist/Encounter.js +4 -4
- package/dist/EntityMetaData.js +6 -1
- package/dist/Family.js +1 -1
- package/dist/Individual.js +6 -14
- package/dist/Observation.js +1 -2
- package/dist/ProgramEncounter.js +4 -4
- package/dist/ProgramEnrolment.js +36 -4
- package/dist/ProgramOutcome.js +39 -0
- package/dist/Schema.js +18 -105
- package/dist/SchemaNames.js +1 -1
- package/dist/SubjectType.js +0 -27
- package/dist/UserDefinedIndividualProperty.js +58 -0
- package/dist/application/Form.js +0 -26
- package/dist/draft/DraftEncounter.js +4 -4
- package/dist/draft/DraftSubject.js +2 -2
- package/dist/error/SyncError.js +2 -2
- package/dist/geo/Point.js +1 -2
- package/dist/index.js +32 -0
- package/dist/program/SubjectProgramEligibility.js +1 -1
- package/dist/relationship/IndividualRelationship.js +1 -1
- package/dist/task/Task.js +2 -2
- package/dist/utility/AuditUtil.js +21 -5
- package/package.json +1 -1
|
@@ -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", {
|
package/dist/AddressLevel.js
CHANGED
package/dist/ChecklistItem.js
CHANGED
|
@@ -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;
|
package/dist/Decision.js
ADDED
|
@@ -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;
|
package/dist/Encounter.js
CHANGED
|
@@ -132,10 +132,10 @@ _defineProperty(Encounter, "schema", {
|
|
|
132
132
|
individual: _SchemaNames.default.Individual,
|
|
133
133
|
observations: {
|
|
134
134
|
type: "list",
|
|
135
|
-
objectType: "
|
|
135
|
+
objectType: "Observation"
|
|
136
136
|
},
|
|
137
137
|
encounterLocation: {
|
|
138
|
-
type: _SchemaNames.default.
|
|
138
|
+
type: _SchemaNames.default.Point,
|
|
139
139
|
optional: true
|
|
140
140
|
},
|
|
141
141
|
name: {
|
|
@@ -156,10 +156,10 @@ _defineProperty(Encounter, "schema", {
|
|
|
156
156
|
},
|
|
157
157
|
cancelObservations: {
|
|
158
158
|
type: "list",
|
|
159
|
-
objectType: "
|
|
159
|
+
objectType: "Observation"
|
|
160
160
|
},
|
|
161
161
|
cancelLocation: {
|
|
162
|
-
type: _SchemaNames.default.
|
|
162
|
+
type: _SchemaNames.default.Point,
|
|
163
163
|
optional: true
|
|
164
164
|
},
|
|
165
165
|
voided: {
|
package/dist/EntityMetaData.js
CHANGED
|
@@ -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() {
|
package/dist/Family.js
CHANGED
package/dist/Individual.js
CHANGED
|
@@ -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", {
|
|
@@ -1116,7 +1108,7 @@ _defineProperty(Individual, "schema", {
|
|
|
1116
1108
|
},
|
|
1117
1109
|
observations: {
|
|
1118
1110
|
type: "list",
|
|
1119
|
-
objectType: "
|
|
1111
|
+
objectType: "Observation"
|
|
1120
1112
|
},
|
|
1121
1113
|
relationships: {
|
|
1122
1114
|
type: "list",
|
|
@@ -1127,7 +1119,7 @@ _defineProperty(Individual, "schema", {
|
|
|
1127
1119
|
objectType: "GroupSubject"
|
|
1128
1120
|
},
|
|
1129
1121
|
registrationLocation: {
|
|
1130
|
-
type: _SchemaNames.default.
|
|
1122
|
+
type: _SchemaNames.default.Point,
|
|
1131
1123
|
optional: true
|
|
1132
1124
|
},
|
|
1133
1125
|
comments: {
|
package/dist/Observation.js
CHANGED
|
@@ -261,8 +261,7 @@ class Observation extends _PersistedObject.default {
|
|
|
261
261
|
}
|
|
262
262
|
|
|
263
263
|
_defineProperty(Observation, "schema", {
|
|
264
|
-
name: "
|
|
265
|
-
embedded: true,
|
|
264
|
+
name: "Observation",
|
|
266
265
|
properties: {
|
|
267
266
|
concept: "Concept",
|
|
268
267
|
valueJSON: "string"
|
package/dist/ProgramEncounter.js
CHANGED
|
@@ -194,7 +194,7 @@ _defineProperty(ProgramEncounter, "schema", {
|
|
|
194
194
|
programEnrolment: _SchemaNames.default.ProgramEnrolment,
|
|
195
195
|
observations: {
|
|
196
196
|
type: "list",
|
|
197
|
-
objectType: "
|
|
197
|
+
objectType: "Observation"
|
|
198
198
|
},
|
|
199
199
|
cancelDateTime: {
|
|
200
200
|
type: "date",
|
|
@@ -202,14 +202,14 @@ _defineProperty(ProgramEncounter, "schema", {
|
|
|
202
202
|
},
|
|
203
203
|
cancelObservations: {
|
|
204
204
|
type: "list",
|
|
205
|
-
objectType: "
|
|
205
|
+
objectType: "Observation"
|
|
206
206
|
},
|
|
207
207
|
encounterLocation: {
|
|
208
|
-
type: _SchemaNames.default.
|
|
208
|
+
type: _SchemaNames.default.Point,
|
|
209
209
|
optional: true
|
|
210
210
|
},
|
|
211
211
|
cancelLocation: {
|
|
212
|
-
type: _SchemaNames.default.
|
|
212
|
+
type: _SchemaNames.default.Point,
|
|
213
213
|
optional: true
|
|
214
214
|
},
|
|
215
215
|
voided: {
|
package/dist/ProgramEnrolment.js
CHANGED
|
@@ -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", {
|
|
@@ -657,7 +685,7 @@ _defineProperty(ProgramEnrolment, "schema", {
|
|
|
657
685
|
enrolmentDateTime: "date",
|
|
658
686
|
observations: {
|
|
659
687
|
type: "list",
|
|
660
|
-
objectType: "
|
|
688
|
+
objectType: "Observation"
|
|
661
689
|
},
|
|
662
690
|
programExitDateTime: {
|
|
663
691
|
type: "date",
|
|
@@ -665,7 +693,11 @@ _defineProperty(ProgramEnrolment, "schema", {
|
|
|
665
693
|
},
|
|
666
694
|
programExitObservations: {
|
|
667
695
|
type: "list",
|
|
668
|
-
objectType: "
|
|
696
|
+
objectType: "Observation"
|
|
697
|
+
},
|
|
698
|
+
programOutcome: {
|
|
699
|
+
type: "ProgramOutcome",
|
|
700
|
+
optional: true
|
|
669
701
|
},
|
|
670
702
|
encounters: {
|
|
671
703
|
type: "list",
|
|
@@ -677,11 +709,11 @@ _defineProperty(ProgramEnrolment, "schema", {
|
|
|
677
709
|
},
|
|
678
710
|
individual: "Individual",
|
|
679
711
|
enrolmentLocation: {
|
|
680
|
-
type: _SchemaNames.default.
|
|
712
|
+
type: _SchemaNames.default.Point,
|
|
681
713
|
optional: true
|
|
682
714
|
},
|
|
683
715
|
exitLocation: {
|
|
684
|
-
type: _SchemaNames.default.
|
|
716
|
+
type: _SchemaNames.default.Point,
|
|
685
717
|
optional: true
|
|
686
718
|
},
|
|
687
719
|
voided: {
|
|
@@ -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
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.createTransactionDataMapForEmbeddedFields = createTransactionDataMapForEmbeddedFields;
|
|
7
6
|
exports.default = void 0;
|
|
8
7
|
|
|
9
8
|
var _Settings = _interopRequireDefault(require("./Settings"));
|
|
@@ -20,6 +19,8 @@ var _Family = _interopRequireDefault(require("./Family"));
|
|
|
20
19
|
|
|
21
20
|
var _AddressLevel = _interopRequireWildcard(require("./AddressLevel"));
|
|
22
21
|
|
|
22
|
+
var _UserDefinedIndividualProperty = _interopRequireDefault(require("./UserDefinedIndividualProperty"));
|
|
23
|
+
|
|
23
24
|
var _Gender = _interopRequireDefault(require("./Gender"));
|
|
24
25
|
|
|
25
26
|
var _EntitySyncStatus = _interopRequireDefault(require("./EntitySyncStatus"));
|
|
@@ -36,6 +37,8 @@ var _Encounter = _interopRequireDefault(require("./Encounter"));
|
|
|
36
37
|
|
|
37
38
|
var _EncounterType = _interopRequireDefault(require("./EncounterType"));
|
|
38
39
|
|
|
40
|
+
var _ProgramOutcome = _interopRequireDefault(require("./ProgramOutcome"));
|
|
41
|
+
|
|
39
42
|
var _FormElement = _interopRequireDefault(require("./application/FormElement"));
|
|
40
43
|
|
|
41
44
|
var _FormElementGroup = _interopRequireDefault(require("./application/FormElementGroup"));
|
|
@@ -50,6 +53,8 @@ var _EntityQueue = _interopRequireDefault(require("./EntityQueue"));
|
|
|
50
53
|
|
|
51
54
|
var _FormMapping = _interopRequireDefault(require("./application/FormMapping"));
|
|
52
55
|
|
|
56
|
+
var _ConfigFile = _interopRequireDefault(require("./ConfigFile"));
|
|
57
|
+
|
|
53
58
|
var _ChecklistItemStatus = _interopRequireDefault(require("./ChecklistItemStatus"));
|
|
54
59
|
|
|
55
60
|
var _ChecklistItemDetail = _interopRequireDefault(require("./ChecklistItemDetail"));
|
|
@@ -192,7 +197,7 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
|
|
|
192
197
|
|
|
193
198
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
194
199
|
|
|
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];
|
|
200
|
+
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
201
|
|
|
197
202
|
function migrateObjectTypeFieldToEmbedded(newDB, oldDB, schemaName, field, creatorFn) {
|
|
198
203
|
console.log(`schema: ${schemaName}, field: ${field}`);
|
|
@@ -272,100 +277,7 @@ function migrateEmbeddedObjects(oldDB, newDB) {
|
|
|
272
277
|
newDB.deleteModel("StringKeyNumericValue");
|
|
273
278
|
}
|
|
274
279
|
|
|
275
|
-
|
|
276
|
-
db.commitTransaction();
|
|
277
|
-
db.beginTransaction();
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
function shouldFlush(numberOfRecords) {
|
|
281
|
-
const batchSize = 100;
|
|
282
|
-
return numberOfRecords % batchSize === batchSize - 1;
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
function createTransactionDataMapForEmbeddedFields() {
|
|
286
|
-
const map = new Map();
|
|
287
|
-
|
|
288
|
-
_MetaDataService.default.forEachPointField((fieldName, schemaName) => {
|
|
289
|
-
if (map.has(schemaName)) {
|
|
290
|
-
map.get(schemaName).push({
|
|
291
|
-
fieldName,
|
|
292
|
-
fieldType: "Point"
|
|
293
|
-
});
|
|
294
|
-
} else {
|
|
295
|
-
map.set(schemaName, [{
|
|
296
|
-
fieldName,
|
|
297
|
-
fieldType: "Point"
|
|
298
|
-
}]);
|
|
299
|
-
}
|
|
300
|
-
});
|
|
301
|
-
|
|
302
|
-
_MetaDataService.default.forEachObservationField((fieldName, schemaName) => {
|
|
303
|
-
if (map.has(schemaName)) {
|
|
304
|
-
map.get(schemaName).push({
|
|
305
|
-
fieldName,
|
|
306
|
-
fieldType: "Obs"
|
|
307
|
-
});
|
|
308
|
-
} else {
|
|
309
|
-
map.set(schemaName, [{
|
|
310
|
-
fieldName,
|
|
311
|
-
fieldType: "Obs"
|
|
312
|
-
}]);
|
|
313
|
-
}
|
|
314
|
-
});
|
|
315
|
-
|
|
316
|
-
return map;
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
function migrateAllEmbeddedForTxnData(oldDB, newDB) {
|
|
320
|
-
const startTime = new Date();
|
|
321
|
-
flush(newDB);
|
|
322
|
-
const map = createTransactionDataMapForEmbeddedFields();
|
|
323
|
-
let recordCounter = 0;
|
|
324
|
-
const conceptMap = new Map();
|
|
325
|
-
map.forEach((fields, schemaName) => {
|
|
326
|
-
console.log(`schema: ${schemaName}, fields: ${fields.length}`);
|
|
327
|
-
newDB.objects(schemaName).forEach(newDbParentEntity => {
|
|
328
|
-
if (shouldFlush(recordCounter)) {
|
|
329
|
-
flush(newDB);
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
fields.forEach(field => {
|
|
333
|
-
const oldEntity = oldDB.objects(schemaName).filtered(`uuid = "${newDbParentEntity.uuid}"`)[0];
|
|
334
|
-
const oldValue = oldEntity[field.fieldName];
|
|
335
|
-
|
|
336
|
-
if (!_lodash.default.isNil(oldValue)) {
|
|
337
|
-
if (field.fieldType === "Point") newDbParentEntity[field.fieldName] = {
|
|
338
|
-
x: oldValue.x,
|
|
339
|
-
y: oldValue.y
|
|
340
|
-
};else {
|
|
341
|
-
const newObsList = [];
|
|
342
|
-
oldValue.forEach(oldItemValue => {
|
|
343
|
-
let newConcept = conceptMap.get(oldItemValue.concept.uuid);
|
|
344
|
-
|
|
345
|
-
if (_lodash.default.isNil(newConcept)) {
|
|
346
|
-
newConcept = newDB.objects("Concept").filtered(`uuid = "${oldItemValue.concept.uuid}"`)[0];
|
|
347
|
-
conceptMap.set(oldItemValue.concept.uuid, newConcept);
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
newObsList.push({
|
|
351
|
-
concept: newConcept,
|
|
352
|
-
valueJSON: oldItemValue.valueJSON
|
|
353
|
-
});
|
|
354
|
-
});
|
|
355
|
-
newDbParentEntity[field.fieldName] = newObsList;
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
});
|
|
359
|
-
recordCounter++;
|
|
360
|
-
});
|
|
361
|
-
});
|
|
362
|
-
flush(newDB);
|
|
363
|
-
newDB.deleteModel("Point");
|
|
364
|
-
newDB.deleteModel("Observation");
|
|
365
|
-
const endTime = new Date();
|
|
366
|
-
const diff = (0, _moment.default)(endTime).diff(startTime, "seconds", true);
|
|
367
|
-
console.log("Total Time Taken", diff, "seconds");
|
|
368
|
-
}
|
|
280
|
+
const VersionWithEmbeddedMigrationProblem = 185;
|
|
369
281
|
|
|
370
282
|
function createRealmConfig() {
|
|
371
283
|
return {
|
|
@@ -375,9 +287,17 @@ function createRealmConfig() {
|
|
|
375
287
|
return doCompact;
|
|
376
288
|
},
|
|
377
289
|
//order is important, should be arranged according to the dependency
|
|
378
|
-
schemaVersion:
|
|
290
|
+
schemaVersion: 186,
|
|
379
291
|
onMigration: function (oldDB, newDB) {
|
|
380
292
|
console.log("[AvniModels.Schema]", `Running migration with old schema version: ${oldDB.schemaVersion} and new schema version: ${newDB.schemaVersion}`);
|
|
293
|
+
if (oldDB.schemaVersion === VersionWithEmbeddedMigrationProblem) throw new Error(`Update from schema version ${VersionWithEmbeddedMigrationProblem} is not allowed. Please uninstall and install app.`);
|
|
294
|
+
|
|
295
|
+
if (oldDB.schemaVersion < 10) {
|
|
296
|
+
const oldObjects = oldDB.objects("DecisionConfig");
|
|
297
|
+
oldObjects.forEach(decisionConfig => {
|
|
298
|
+
newDB.create(_ConfigFile.default.schema.name, _ConfigFile.default.create(decisionConfig.fileName, decisionConfig.decisionCode), true);
|
|
299
|
+
});
|
|
300
|
+
}
|
|
381
301
|
|
|
382
302
|
if (oldDB.schemaVersion < 17) {
|
|
383
303
|
const oldObjects = oldDB.objects("AddressLevel");
|
|
@@ -981,14 +901,7 @@ function createRealmConfig() {
|
|
|
981
901
|
migrateEmbeddedObjects(oldDB, newDB);
|
|
982
902
|
}
|
|
983
903
|
|
|
984
|
-
if (oldDB.schemaVersion <
|
|
985
|
-
migrateAllEmbeddedForTxnData(oldDB, newDB);
|
|
986
|
-
}
|
|
987
|
-
|
|
988
|
-
if (oldDB.schemaVersion < 186) {// newDB.deleteModel("UserDefinedIndividualProperty");
|
|
989
|
-
// newDB.deleteModel("ConfigFile");
|
|
990
|
-
// newDB.deleteModel("Decision");
|
|
991
|
-
// newDB.deleteModel("ProgramOutcome");
|
|
904
|
+
if (oldDB.schemaVersion < VersionWithEmbeddedMigrationProblem) {// removed migration code. keeping the version number in case this number is required for any checks later
|
|
992
905
|
}
|
|
993
906
|
}
|
|
994
907
|
};
|
package/dist/SchemaNames.js
CHANGED
|
@@ -91,7 +91,7 @@ _defineProperty(SchemaNames, "Concept", "Concept");
|
|
|
91
91
|
|
|
92
92
|
_defineProperty(SchemaNames, "EntityApprovalStatus", "EntityApprovalStatus");
|
|
93
93
|
|
|
94
|
-
_defineProperty(SchemaNames, "
|
|
94
|
+
_defineProperty(SchemaNames, "Point", "Point");
|
|
95
95
|
|
|
96
96
|
var _default = SchemaNames;
|
|
97
97
|
exports.default = _default;
|
package/dist/SubjectType.js
CHANGED
|
@@ -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;
|
package/dist/application/Form.js
CHANGED
|
@@ -227,32 +227,6 @@ class Form extends _BaseEntity.default {
|
|
|
227
227
|
|
|
228
228
|
const extraObs = observations.filter(obs => _lodash.default.isNil(orderedObservations.find(oobs => oobs.concept.uuid === obs.concept.uuid)));
|
|
229
229
|
return orderedObservations.concat(extraObs);
|
|
230
|
-
} //TODO add tests
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
orderObservationsPerFEG(observations) {
|
|
234
|
-
const orderedObservations = [];
|
|
235
|
-
|
|
236
|
-
const formElementOrdering = _lodash.default.sortBy(this.formElementGroups, feg => feg.displayOrder).map(feg => {
|
|
237
|
-
let fegOrderedObservations = [];
|
|
238
|
-
const returnValue = {};
|
|
239
|
-
returnValue.uuid = feg.uuid;
|
|
240
|
-
returnValue.feg = feg;
|
|
241
|
-
returnValue.sortedObservationsArray = fegOrderedObservations;
|
|
242
|
-
this.orderObservationsWithinAFEG(feg.getFormElements(), observations, fegOrderedObservations);
|
|
243
|
-
orderedObservations.concat(fegOrderedObservations);
|
|
244
|
-
return returnValue;
|
|
245
|
-
});
|
|
246
|
-
|
|
247
|
-
return formElementOrdering;
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
orderObservationsWithinAFEG(formElements, observations, orderedObservations) {
|
|
251
|
-
_lodash.default.sortBy(formElements, fe => fe.displayOrder).forEach(formElement => this.addSortedObservations(formElement, observations, orderedObservations));
|
|
252
|
-
|
|
253
|
-
const extraObs = observations.filter(obs => _lodash.default.isNil(orderedObservations.find(oobs => oobs.concept.uuid === obs.concept.uuid)));
|
|
254
|
-
orderedObservations.concat(extraObs);
|
|
255
|
-
return extraObs;
|
|
256
230
|
}
|
|
257
231
|
|
|
258
232
|
sectionWiseOrderedObservations(observations) {
|
|
@@ -170,10 +170,10 @@ _defineProperty(DraftEncounter, "schema", {
|
|
|
170
170
|
individual: "Individual",
|
|
171
171
|
observations: {
|
|
172
172
|
type: "list",
|
|
173
|
-
objectType: "
|
|
173
|
+
objectType: "Observation"
|
|
174
174
|
},
|
|
175
175
|
encounterLocation: {
|
|
176
|
-
type: _SchemaNames.default.
|
|
176
|
+
type: _SchemaNames.default.Point,
|
|
177
177
|
optional: true
|
|
178
178
|
},
|
|
179
179
|
name: {
|
|
@@ -194,10 +194,10 @@ _defineProperty(DraftEncounter, "schema", {
|
|
|
194
194
|
},
|
|
195
195
|
cancelObservations: {
|
|
196
196
|
type: "list",
|
|
197
|
-
objectType: "
|
|
197
|
+
objectType: "Observation"
|
|
198
198
|
},
|
|
199
199
|
cancelLocation: {
|
|
200
|
-
type: _SchemaNames.default.
|
|
200
|
+
type: _SchemaNames.default.Point,
|
|
201
201
|
optional: true
|
|
202
202
|
},
|
|
203
203
|
voided: {
|
|
@@ -211,10 +211,10 @@ _defineProperty(DraftSubject, "schema", {
|
|
|
211
211
|
lowestAddressLevel: "AddressLevel",
|
|
212
212
|
observations: {
|
|
213
213
|
type: "list",
|
|
214
|
-
objectType: "
|
|
214
|
+
objectType: "Observation"
|
|
215
215
|
},
|
|
216
216
|
registrationLocation: {
|
|
217
|
-
type: _SchemaNames.default.
|
|
217
|
+
type: _SchemaNames.default.Point,
|
|
218
218
|
optional: true
|
|
219
219
|
},
|
|
220
220
|
updatedOn: "date",
|
package/dist/error/SyncError.js
CHANGED
|
@@ -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/geo/Point.js
CHANGED
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"));
|
package/dist/task/Task.js
CHANGED
|
@@ -230,7 +230,7 @@ _defineProperty(Task, "schema", {
|
|
|
230
230
|
},
|
|
231
231
|
metadata: {
|
|
232
232
|
type: "list",
|
|
233
|
-
objectType: "
|
|
233
|
+
objectType: "Observation"
|
|
234
234
|
},
|
|
235
235
|
subject: {
|
|
236
236
|
type: 'Individual',
|
|
@@ -238,7 +238,7 @@ _defineProperty(Task, "schema", {
|
|
|
238
238
|
},
|
|
239
239
|
observations: {
|
|
240
240
|
type: "list",
|
|
241
|
-
objectType: "
|
|
241
|
+
objectType: "Observation"
|
|
242
242
|
},
|
|
243
243
|
voided: {
|
|
244
244
|
type: 'bool',
|
|
@@ -3,10 +3,14 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
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
|
-
|
|
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
|
+
}
|