openchs-models 1.32.26 → 1.32.29

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/Concept.js CHANGED
@@ -270,8 +270,12 @@ class Concept extends _BaseEntity.default {
270
270
  return _lodash.default.includes([Concept.dataType.Image, Concept.dataType.ImageV2, Concept.dataType.Video, Concept.dataType.File], this.datatype);
271
271
  }
272
272
 
273
+ isMediaSelectConcept() {
274
+ return _lodash.default.includes([Concept.dataType.Image, Concept.dataType.Video, Concept.dataType.File], this.datatype);
275
+ }
276
+
273
277
  isSelectConcept() {
274
- return this.isCodedConcept() || this.isSubjectConcept() || this.isEncounterConcept() || this.isMediaConcept();
278
+ return this.isCodedConcept() || this.isSubjectConcept() || this.isEncounterConcept() || this.isMediaSelectConcept();
275
279
  }
276
280
 
277
281
  isDurationConcept() {
@@ -86,6 +86,8 @@ class Observation extends _PersistedObject.default {
86
86
  return new _Displayable.default(valueWrapper.asDisplayDate(), null);
87
87
  } else if (observation.concept.datatype === _Concept.default.dataType.Time) {
88
88
  return new _Displayable.default(valueWrapper.asDisplayTime(), null);
89
+ } else if (observation.concept.datatype === _Concept.default.dataType.ImageV2) {
90
+ return new _Displayable.default(JSON.parse(valueWrapper.getValue()), null);
89
91
  } else if (valueWrapper.isSingleCoded) {
90
92
  if (observation.concept.datatype === _Concept.default.dataType.Subject) {
91
93
  const uuid = valueWrapper.getValue();
@@ -142,9 +142,9 @@ class ObservationsHolder {
142
142
  formElementsIncludingRepeatableElements.push(newFormElement);
143
143
  });
144
144
  });
145
- } else if (_lodash.default.isNil(fe.groupUuid)) {
146
- formElementsIncludingRepeatableElements.push(fe);
147
145
  }
146
+
147
+ formElementsIncludingRepeatableElements.push(fe);
148
148
  });
149
149
 
150
150
  const inApplicableFormElements = _lodash.default.differenceWith(formElementsIncludingRepeatableElements, applicableFormElements, (a, b) => a.uuid === b.uuid && a.questionGroupIndex === b.questionGroupIndex);
@@ -487,7 +487,19 @@ class ObservationsHolder {
487
487
  if (observation) {
488
488
  const valueWrapper = observation.getValueWrapper();
489
489
 
490
- if (valueWrapper.isMultipleCoded) {
490
+ if (observation.concept.datatype === _Concept.default.dataType.ImageV2) {
491
+ const mediaObjects = JSON.parse(valueWrapper.getValue());
492
+
493
+ const newAnswers = _lodash.default.map(mediaObjects, mediaObject => {
494
+ if (mediaObject.uri === oldValue) {
495
+ mediaObject.uri = newValue;
496
+ }
497
+
498
+ return mediaObject;
499
+ });
500
+
501
+ observation.valueJSON = new _PrimitiveValue.default(JSON.stringify(newAnswers), _Concept.default.dataType.ImageV2);
502
+ } else if (valueWrapper.isMultipleCoded) {
491
503
  const answers = valueWrapper.getValue();
492
504
 
493
505
  const oldValueIndex = _lodash.default.indexOf(answers, oldValue);
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.32.26",
4
+ "version": "1.32.29",
5
5
  "private": false,
6
6
  "repository": {
7
7
  "type": "git",