openchs-models 1.23.2 → 1.23.3

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.
@@ -25,6 +25,8 @@ var _Point = _interopRequireDefault(require("./geo/Point"));
25
25
 
26
26
  var _moment = _interopRequireDefault(require("moment"));
27
27
 
28
+ var _Observation = _interopRequireDefault(require("./Observation"));
29
+
28
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
31
 
30
32
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -203,18 +205,51 @@ class AbstractEncounter extends _BaseEntity.default {
203
205
  return this.latestEntityApprovalStatus && this.latestEntityApprovalStatus.isRejected;
204
206
  }
205
207
 
206
- getEncounterLabel(templateString) {
208
+ getEncounterLabel(templateString, {
209
+ conceptService,
210
+ subjectService,
211
+ addressLevelService,
212
+ i18n,
213
+ encounterService
214
+ }) {
207
215
  const conceptPattern = /{.*?}/g;
208
216
  let identifierTemplateString = templateString;
209
217
 
210
218
  _lodash.default.forEach(templateString.match(conceptPattern), identifier => {
211
- const value = identifier === '{Date}' ? _General.default.toDisplayDate(this.encounterDateTime) : this.getObservationReadableValue(identifier.replace(/[{}]/g, ''));
219
+ const value = identifier === '{Date}' ? _General.default.toDisplayDate(this.encounterDateTime) : this.getValueForDisplay(identifier.replace(/[{}]/g, ''), {
220
+ conceptService,
221
+ subjectService,
222
+ addressLevelService,
223
+ i18n,
224
+ encounterService
225
+ });
212
226
  identifierTemplateString = identifierTemplateString.replace(identifier, value);
213
227
  });
214
228
 
215
229
  return identifierTemplateString;
216
230
  }
217
231
 
232
+ getValueForDisplay(conceptName, {
233
+ conceptService,
234
+ subjectService,
235
+ addressLevelService,
236
+ i18n,
237
+ encounterService
238
+ }) {
239
+ const observation = this.findObservation(conceptName);
240
+
241
+ const displayValue = _Observation.default.valueForDisplay({
242
+ observation,
243
+ conceptService,
244
+ subjectService,
245
+ addressLevelService,
246
+ i18n,
247
+ encounterService
248
+ });
249
+
250
+ return displayValue.displayValue;
251
+ }
252
+
218
253
  get subjectType() {
219
254
  return _lodash.default.get(this, this.getName() === "Encounter" ? "individual.subjectType" : "programEnrolment.individual.subjectType");
220
255
  }
@@ -61,7 +61,13 @@ class Observation {
61
61
  } else if (observation.concept.datatype === _Concept.default.dataType.Encounter) {
62
62
  const encounter = encounterService.findByUUID(valueWrapper.getValue());
63
63
  const identifier = observation.concept.recordValueByKey(_Concept.default.keys.encounterIdentifier);
64
- return [new _Displayable.default(encounter.getEncounterLabel(identifier), encounter)];
64
+ return [new _Displayable.default(encounter.getEncounterLabel(identifier, {
65
+ conceptService,
66
+ subjectService,
67
+ addressLevelService,
68
+ i18n,
69
+ encounterService
70
+ }), encounter)];
65
71
  } else if (_Concept.default.dataType.Media.includes(observation.concept.datatype)) {
66
72
  return new _Displayable.default(valueWrapper.getValue(), null);
67
73
  } else {
@@ -77,7 +83,13 @@ class Observation {
77
83
  const identifier = observation.concept.recordValueByKey(_Concept.default.keys.encounterIdentifier);
78
84
  return valueWrapper.getValue().map(uuid => {
79
85
  const encounter = encounterService.findByUUID(uuid);
80
- return new _Displayable.default(encounter.getEncounterLabel(identifier), encounter);
86
+ return new _Displayable.default(encounter.getEncounterLabel(identifier, {
87
+ conceptService,
88
+ subjectService,
89
+ addressLevelService,
90
+ i18n,
91
+ encounterService
92
+ }), encounter);
81
93
  });
82
94
  } else if (_Concept.default.dataType.Media.includes(observation.concept.datatype)) {
83
95
  return new _Displayable.default(valueWrapper.getValue(), null);
@@ -190,6 +202,8 @@ class Observation {
190
202
  }
191
203
  } else if (this.concept.isQuestionGroup()) {
192
204
  return valueWrapper.isRepeatable() ? _lodash.default.map(value, qg => qg.getReadableValue()) : valueWrapper.getReadableValue();
205
+ } else if (this.concept.isLocationConcept()) {
206
+ Location;
193
207
  }
194
208
 
195
209
  return value;
@@ -50,7 +50,7 @@ class Form {
50
50
  this.deleteOutOfSyncDrafts(entityService, resource.uuid);
51
51
  }
52
52
 
53
- return _General.default.assignFields(resource, new Form(), ["uuid", "name", "formType", "decisionRule", "visitScheduleRule", "validationRule", "checklistsRule", "taskScheduleRule"]);
53
+ return _General.default.assignFields(resource, new Form(), ["uuid", "name", "formType", "decisionRule", "visitScheduleRule", "taskScheduleRule", "validationRule", "checklistsRule", "taskScheduleRule"]);
54
54
  }
55
55
 
56
56
  static deleteOutOfSyncDrafts(entityService, formUUID) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "openchs-models",
3
3
  "description": "OpenCHS data model to be used by front end clients",
4
- "version": "1.23.2",
4
+ "version": "1.23.3",
5
5
  "private": false,
6
6
  "repository": {
7
7
  "type": "git",