@openmrs/ngx-formentry 5.0.1-pre.339 → 5.0.1-pre.345
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/esm2020/form-entry/value-adapters/diagnosis.adapter.mjs +26 -14
- package/fesm2015/openmrs-ngx-formentry.mjs +29 -14
- package/fesm2015/openmrs-ngx-formentry.mjs.map +1 -1
- package/fesm2020/openmrs-ngx-formentry.mjs +25 -13
- package/fesm2020/openmrs-ngx-formentry.mjs.map +1 -1
- package/package.json +9 -7
- package/styles/ngx-formentry.css +0 -1
|
@@ -13743,6 +13743,7 @@ class DiagnosisValueAdapter {
|
|
|
13743
13743
|
_createDiagnosesPayload(diagnosisNodes, existingDiagnoses) {
|
|
13744
13744
|
const payload = [];
|
|
13745
13745
|
let deletedDiagnoses = [];
|
|
13746
|
+
// Add new diagnosis to payload
|
|
13746
13747
|
diagnosisNodes?.forEach((node) => {
|
|
13747
13748
|
if (node instanceof ArrayNode) {
|
|
13748
13749
|
node.control.value
|
|
@@ -13750,8 +13751,12 @@ class DiagnosisValueAdapter {
|
|
|
13750
13751
|
.forEach((value) => {
|
|
13751
13752
|
// Create Payload
|
|
13752
13753
|
const payloadDiagnosis = this._createPayloadDiagnosis(value[node.question.key], node.question.extras);
|
|
13753
|
-
|
|
13754
|
-
|
|
13754
|
+
const isNewDiagnosis = existingDiagnoses.every((d) => d.diagnosis.coded.uuid !== value[node.question.key] ||
|
|
13755
|
+
d.certainty !== 'CONFIRMED' ||
|
|
13756
|
+
d.rank !== node.question.extras.questionOptions.rank);
|
|
13757
|
+
if (isNewDiagnosis) {
|
|
13758
|
+
payload.push(payloadDiagnosis);
|
|
13759
|
+
}
|
|
13755
13760
|
});
|
|
13756
13761
|
}
|
|
13757
13762
|
if (node instanceof ArrayNode) {
|
|
@@ -13805,19 +13810,26 @@ class DiagnosisValueAdapter {
|
|
|
13805
13810
|
};
|
|
13806
13811
|
return diagnosis;
|
|
13807
13812
|
}
|
|
13808
|
-
_getDeletedDiagnoses(
|
|
13813
|
+
_getDeletedDiagnoses(diagnosisNodes, existingDiagnoses) {
|
|
13809
13814
|
return existingDiagnoses
|
|
13810
|
-
|
|
13811
|
-
return !
|
|
13812
|
-
|
|
13813
|
-
|
|
13815
|
+
.filter((existingDiagnosis) => {
|
|
13816
|
+
return !diagnosisNodes?.some((node) => {
|
|
13817
|
+
if (node instanceof ArrayNode) {
|
|
13818
|
+
return node.control.value.some((value) => {
|
|
13819
|
+
return (value[node.question.key] ===
|
|
13820
|
+
existingDiagnosis.diagnosis.coded.uuid &&
|
|
13821
|
+
existingDiagnosis.rank ===
|
|
13822
|
+
node.question.extras.questionOptions.rank &&
|
|
13823
|
+
existingDiagnosis.certainty === 'CONFIRMED');
|
|
13824
|
+
});
|
|
13825
|
+
}
|
|
13826
|
+
return false;
|
|
13814
13827
|
});
|
|
13815
13828
|
})
|
|
13816
|
-
.map((
|
|
13817
|
-
|
|
13818
|
-
|
|
13819
|
-
|
|
13820
|
-
});
|
|
13829
|
+
.map((existingDiagnosis) => ({
|
|
13830
|
+
uuid: existingDiagnosis.uuid,
|
|
13831
|
+
voided: true
|
|
13832
|
+
}));
|
|
13821
13833
|
}
|
|
13822
13834
|
_updatedOldDiagnoses(payloadDiagnoses, existingDiagnoses) {
|
|
13823
13835
|
payloadDiagnoses.forEach((p) => {
|
|
@@ -13933,7 +13945,7 @@ class DiagnosisValueAdapter {
|
|
|
13933
13945
|
hasDiagnosisNodeChanged(nodeAsGroup) {
|
|
13934
13946
|
const childrenNodes = Object.values(nodeAsGroup.children);
|
|
13935
13947
|
for (let childNode of childrenNodes) {
|
|
13936
|
-
if (childNode.control.value !==
|
|
13948
|
+
if (childNode.control.value !== nodeAsGroup.initialValue?.primaryDiagnosisId) {
|
|
13937
13949
|
return true;
|
|
13938
13950
|
}
|
|
13939
13951
|
}
|