openchs-models 1.17.2 → 1.18.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.
- package/dist/EntityMetaData.js +7 -1
- package/dist/ObservationsHolder.js +34 -2
- package/dist/ResetSync.js +75 -0
- package/dist/Schema.js +4 -2
- package/dist/index.js +8 -0
- package/package.json +1 -1
package/dist/EntityMetaData.js
CHANGED
|
@@ -125,6 +125,8 @@ var _Extension = _interopRequireDefault(require("./Extension"));
|
|
|
125
125
|
|
|
126
126
|
var _SubjectMigration = _interopRequireDefault(require("./SubjectMigration"));
|
|
127
127
|
|
|
128
|
+
var _ResetSync = _interopRequireDefault(require("./ResetSync"));
|
|
129
|
+
|
|
128
130
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
129
131
|
|
|
130
132
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
@@ -280,6 +282,10 @@ const subjectMigration = txData(_SubjectMigration.default, {
|
|
|
280
282
|
privilegeEntity: _Privilege.default.privilegeEntityType.subject,
|
|
281
283
|
privilegeName: _Privilege.default.privilegeName.viewSubject
|
|
282
284
|
});
|
|
285
|
+
const resetSync = txData(_ResetSync.default, {
|
|
286
|
+
res: "resetSyncs",
|
|
287
|
+
syncWeight: 0
|
|
288
|
+
});
|
|
283
289
|
const addressLevel = refDataNameTranslated(_AddressLevel.default, {
|
|
284
290
|
res: "locations",
|
|
285
291
|
syncWeight: 4
|
|
@@ -443,7 +449,7 @@ const commentThread = txData(_CommentThread.default, {
|
|
|
443
449
|
class EntityMetaData {
|
|
444
450
|
//order is important. last entity in each (tx and ref) with be executed first. parent should be synced before the child.
|
|
445
451
|
static model() {
|
|
446
|
-
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, subjectMigration, news, videoTelemetric, groupSubject, comment, commentThread, entityApprovalStatus, individualRelationship, checklistItem, checklist, encounter, identifierAssignment, programEncounter, programEnrolment, individual, extension, userInfo, syncTelemetry, ruleFailureTelemetry];
|
|
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];
|
|
447
453
|
}
|
|
448
454
|
|
|
449
455
|
static entitiesLoadedFromServer() {
|
|
@@ -234,6 +234,10 @@ class ObservationsHolder {
|
|
|
234
234
|
}
|
|
235
235
|
|
|
236
236
|
updatePrimitiveCodedObs(applicableFormElements, formElementStatuses) {
|
|
237
|
+
const updateQuestionGroupObs = (parentFormElement, questionGroupIndex, fe, value) => {
|
|
238
|
+
parentFormElement.repeatable ? this.updateRepeatableGroupQuestion(questionGroupIndex, parentFormElement, fe, value) : this.updateGroupQuestion(parentFormElement, fe, value);
|
|
239
|
+
};
|
|
240
|
+
|
|
237
241
|
applicableFormElements.forEach(fe => {
|
|
238
242
|
const formElementStatus = _lodash.default.find(formElementStatuses, formElementStatus => {
|
|
239
243
|
return fe.uuid === formElementStatus.uuid && (_lodash.default.isNil(fe.questionGroupIndex) || fe.questionGroupIndex === formElementStatus.questionGroupIndex);
|
|
@@ -252,7 +256,35 @@ class ObservationsHolder {
|
|
|
252
256
|
uuid
|
|
253
257
|
}) => fe.groupUuid === uuid);
|
|
254
258
|
|
|
255
|
-
|
|
259
|
+
updateQuestionGroupObs(parentFormElement, questionGroupIndex, fe, value);
|
|
260
|
+
} else if (concept.isQuestionGroup() && _lodash.default.isArray(value)) {
|
|
261
|
+
const observation = this.findObservation(concept);
|
|
262
|
+
const questionGroup = observation && observation.getValueWrapper();
|
|
263
|
+
const size = questionGroup ? questionGroup.size() : 0;
|
|
264
|
+
|
|
265
|
+
if (size >= value.length) {
|
|
266
|
+
// Don't populate the values if already done. This will allow users to edit the prepopulated values.
|
|
267
|
+
// This check is added to make sure user can update the group values.
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
_lodash.default.forEach(value, (questionGroupValue, index) => {
|
|
272
|
+
if (fe.repeatable && size < index + 1) {
|
|
273
|
+
this.updateRepeatableGroupQuestion(index, fe, null, null, 'add');
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
_lodash.default.forEach(questionGroupValue, (answerValue, conceptUUID) => {
|
|
277
|
+
const childFormElement = _lodash.default.find(fe.formElementGroup.getFormElements(), ({
|
|
278
|
+
concept
|
|
279
|
+
}) => concept.uuid === conceptUUID);
|
|
280
|
+
|
|
281
|
+
if (childFormElement.concept.isCodedConcept() && childFormElement.isMultiSelect() && _lodash.default.isArray(answerValue)) {
|
|
282
|
+
_lodash.default.forEach(answerValue, v => updateQuestionGroupObs(fe, index, childFormElement, v));
|
|
283
|
+
} else {
|
|
284
|
+
updateQuestionGroupObs(fe, index, childFormElement, answerValue);
|
|
285
|
+
}
|
|
286
|
+
});
|
|
287
|
+
});
|
|
256
288
|
} else {
|
|
257
289
|
concept.isCodedConcept() ? this.addOrUpdateCodedObs(concept, value, fe.isSingleSelect()) : this.addOrUpdatePrimitiveObs(concept, value);
|
|
258
290
|
}
|
|
@@ -338,7 +370,7 @@ class ObservationsHolder {
|
|
|
338
370
|
}
|
|
339
371
|
}
|
|
340
372
|
|
|
341
|
-
if (childConcept.isCodedConcept()) {
|
|
373
|
+
if (childConcept.isCodedConcept() || childConcept.isMediaConcept()) {
|
|
342
374
|
let observation = childObservations.getObservation(childConcept);
|
|
343
375
|
const isSingleSelect = childFormElement.isSingleSelect();
|
|
344
376
|
|
|
@@ -0,0 +1,75 @@
|
|
|
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
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
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; }
|
|
15
|
+
|
|
16
|
+
class ResetSync extends _BaseEntity.default {
|
|
17
|
+
constructor(...args) {
|
|
18
|
+
super(...args);
|
|
19
|
+
|
|
20
|
+
_defineProperty(this, "uuid", void 0);
|
|
21
|
+
|
|
22
|
+
_defineProperty(this, "subjectTypeUUID", void 0);
|
|
23
|
+
|
|
24
|
+
_defineProperty(this, "hasMigrated", void 0);
|
|
25
|
+
|
|
26
|
+
_defineProperty(this, "voided", void 0);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
static fromResource(resource) {
|
|
30
|
+
const resetSync = new ResetSync();
|
|
31
|
+
resetSync.uuid = resource.uuid;
|
|
32
|
+
resetSync.voided = resource.voided;
|
|
33
|
+
resetSync.subjectTypeUUID = _ResourceUtil.default.getUUIDFor(resource, 'subjectTypeUUID');
|
|
34
|
+
return resetSync;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
updatedHasMigrated() {
|
|
38
|
+
const resetSync = this.clone();
|
|
39
|
+
resetSync.hasMigrated = true;
|
|
40
|
+
return resetSync;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
clone() {
|
|
44
|
+
const resetSync = new ResetSync();
|
|
45
|
+
resetSync.uuid = this.uuid;
|
|
46
|
+
resetSync.subjectTypeUUID = this.subjectTypeUUID;
|
|
47
|
+
resetSync.hasMigrated = this.hasMigrated;
|
|
48
|
+
resetSync.voided = this.voided;
|
|
49
|
+
return resetSync;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
_defineProperty(ResetSync, "schema", {
|
|
55
|
+
name: 'ResetSync',
|
|
56
|
+
primaryKey: 'uuid',
|
|
57
|
+
properties: {
|
|
58
|
+
uuid: 'string',
|
|
59
|
+
subjectTypeUUID: {
|
|
60
|
+
type: 'string',
|
|
61
|
+
optional: true
|
|
62
|
+
},
|
|
63
|
+
hasMigrated: {
|
|
64
|
+
type: 'bool',
|
|
65
|
+
default: false
|
|
66
|
+
},
|
|
67
|
+
voided: {
|
|
68
|
+
type: "bool",
|
|
69
|
+
default: false
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
var _default = ResetSync;
|
|
75
|
+
exports.default = _default;
|
package/dist/Schema.js
CHANGED
|
@@ -159,6 +159,8 @@ var _Extension = _interopRequireDefault(require("./Extension"));
|
|
|
159
159
|
|
|
160
160
|
var _SubjectMigration = _interopRequireDefault(require("./SubjectMigration"));
|
|
161
161
|
|
|
162
|
+
var _ResetSync = _interopRequireDefault(require("./ResetSync"));
|
|
163
|
+
|
|
162
164
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
163
165
|
|
|
164
166
|
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; }
|
|
@@ -167,8 +169,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
167
169
|
|
|
168
170
|
var _default = {
|
|
169
171
|
//order is important, should be arranged according to the dependency
|
|
170
|
-
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],
|
|
171
|
-
schemaVersion:
|
|
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,
|
|
172
174
|
migration: function (oldDB, newDB) {
|
|
173
175
|
if (oldDB.schemaVersion < 10) {
|
|
174
176
|
var oldObjects = oldDB.objects("DecisionConfig");
|
package/dist/index.js
CHANGED
|
@@ -657,6 +657,12 @@ Object.defineProperty(exports, "RepeatableQuestionGroup", {
|
|
|
657
657
|
return _RepeatableQuestionGroup.default;
|
|
658
658
|
}
|
|
659
659
|
});
|
|
660
|
+
Object.defineProperty(exports, "ResetSync", {
|
|
661
|
+
enumerable: true,
|
|
662
|
+
get: function () {
|
|
663
|
+
return _ResetSync.default;
|
|
664
|
+
}
|
|
665
|
+
});
|
|
660
666
|
|
|
661
667
|
var _AbstractEncounter = _interopRequireDefault(require("./AbstractEncounter"));
|
|
662
668
|
|
|
@@ -874,6 +880,8 @@ var _QuestionGroup = _interopRequireDefault(require("./observation/QuestionGroup
|
|
|
874
880
|
|
|
875
881
|
var _RepeatableQuestionGroup = _interopRequireDefault(require("./observation/RepeatableQuestionGroup"));
|
|
876
882
|
|
|
883
|
+
var _ResetSync = _interopRequireDefault(require("./ResetSync"));
|
|
884
|
+
|
|
877
885
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
|
|
878
886
|
|
|
879
887
|
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; }
|