From f5c4ceb3e8b6ff723b8562c58386dc02b911d943 Mon Sep 17 00:00:00 2001 From: Rohit Kandimalla Date: Wed, 9 Oct 2024 12:33:42 -0400 Subject: [PATCH 1/3] MAT-7774 Updating cqm-models and using QDMDate instead of CQL.Date for CareGoal StatusDate Attribute --- package-lock.json | 15 +++++++++++++-- package.json | 2 +- .../Elements/DataElementsCard/timing/Timing.tsx | 17 ++++++++--------- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7ef8bf2ce..5384cf9be 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,7 +33,7 @@ "blueimp-md5": "^2.19.0", "classnames": "^2.3.1", "cqm-execution": "4.2.3", - "cqm-models": "^4.1.3", + "cqm-models": "^4.1.4", "dayjs": "^1.11.7", "fhir": "^4.11.1", "file-saver": "^2.0.5", @@ -7920,10 +7920,21 @@ "yarn.lock": "^0.0.1-security" } }, - "node_modules/cqm-models": { + "node_modules/cqm-execution/node_modules/cqm-models": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/cqm-models/-/cqm-models-4.1.3.tgz", "integrity": "sha512-OMAkvU09r2z4N8UklYdw84HYEWa1nIg+cjGn+tyA6D/BFFbSb/f51sCP62yFH0oLPFfqUN3bmuuZ4bymTwTkZg==", + "license": "Apache-2.0", + "dependencies": { + "cql-execution": "2.4.1", + "mongoose": "^5.13.20" + } + }, + "node_modules/cqm-models": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/cqm-models/-/cqm-models-4.1.4.tgz", + "integrity": "sha512-W3z5IKC702QkyROOnjPv0JFz85SzyHfVhItO5NpdKJ0/Pa0W2t2KIwmnhDtMfrOyLqMy852S8gUaH/06vLrW1g==", + "license": "Apache-2.0", "dependencies": { "cql-execution": "2.4.1", "mongoose": "^5.13.20" diff --git a/package.json b/package.json index 4225bcf3a..d453cc5c6 100644 --- a/package.json +++ b/package.json @@ -106,7 +106,7 @@ "blueimp-md5": "^2.19.0", "classnames": "^2.3.1", "cqm-execution": "4.2.3", - "cqm-models": "^4.1.3", + "cqm-models": "^4.1.4", "dayjs": "^1.11.7", "fhir": "^4.11.1", "file-saver": "^2.0.5", diff --git a/src/components/editTestCase/qdm/LeftPanel/ElementsTab/Elements/DataElementsCard/timing/Timing.tsx b/src/components/editTestCase/qdm/LeftPanel/ElementsTab/Elements/DataElementsCard/timing/Timing.tsx index 6e82c89d2..21f29c456 100644 --- a/src/components/editTestCase/qdm/LeftPanel/ElementsTab/Elements/DataElementsCard/timing/Timing.tsx +++ b/src/components/editTestCase/qdm/LeftPanel/ElementsTab/Elements/DataElementsCard/timing/Timing.tsx @@ -1,7 +1,7 @@ import React from "react"; import DateTimeInput from "../../../../../../../common/dateTimeInput/DateTimeInput"; import DateTimeInterval from "../../../../../../../common/dateTimeInterval/DateTimeInterval"; -import { CQL } from "cqm-models"; +import { QDMDate } from "cqm-models"; import "./Timing.scss"; import { PRIMARY_TIMING_ATTRIBUTES } from "../../../../../../../../util/QdmAttributeHelpers"; import * as _ from "lodash"; @@ -24,11 +24,10 @@ const Timing = ({ canEdit, onChange, selectedDataElement }) => { const dateFormatToDisplay = (date) => { if (date) { const currentDate = dayjs(); - const dayjsDate = dayjs(currentDate) + return dayjs(currentDate) .set("year", date?.year) - .set("month", date?.month) + .set("month", date?.month - 1) .set("date", date?.day); - return dayjsDate; } return; }; @@ -82,11 +81,11 @@ const Timing = ({ canEdit, onChange, selectedDataElement }) => { ) || null } onChange={(newValue: any) => { - const newDate = new CQL.Date( - newValue.$y, - newValue.$M + 1, - newValue.$D - ); + const newDate = new QDMDate().cast({ + year: newValue.$y, + month: newValue.$M + 1, + day: newValue.$D, + }); handleChange(newDate, timingAttr.path); }} /> From 5cb98817a9d8336a8478e7d84ad61288b73aa325 Mon Sep 17 00:00:00 2001 From: Rohit Kandimalla Date: Thu, 10 Oct 2024 09:24:45 -0400 Subject: [PATCH 2/3] MAT-7774 Fixed Date input field in attributes --- .../attributes/DisplayAttributeInputs.tsx | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/components/editTestCase/qdm/LeftPanel/ElementsTab/Elements/DataElementsCard/attributes/DisplayAttributeInputs.tsx b/src/components/editTestCase/qdm/LeftPanel/ElementsTab/Elements/DataElementsCard/attributes/DisplayAttributeInputs.tsx index a1fbb58c4..3f49ad6cd 100644 --- a/src/components/editTestCase/qdm/LeftPanel/ElementsTab/Elements/DataElementsCard/attributes/DisplayAttributeInputs.tsx +++ b/src/components/editTestCase/qdm/LeftPanel/ElementsTab/Elements/DataElementsCard/attributes/DisplayAttributeInputs.tsx @@ -1,11 +1,10 @@ import React, { useState } from "react"; -import { CQL, DataElement } from "cqm-models"; +import { QDMDate, CQL, DataElement } from "cqm-models"; import { DateField, TimeField, Button, } from "@madie/madie-design-system/dist/react"; -import dayjs from "dayjs"; import IntegerInput from "../../../../../../../common/IntegerInput/IntegerInput"; import "./DisplayAttributeInputs.scss"; import RatioInput from "../../../../../../../common/ratioInput/RatioInput"; @@ -57,27 +56,26 @@ const DisplayAttributeInputs = ({ }; const { cqmMeasureState } = useQdmExecutionContext(); const [cqmMeasure] = cqmMeasureState; - const displayAttributeInput = () => { switch (attributeType) { case "Date": return ( { - const newDate = dayjs.utc(e); - const newCQLDate: CQL.Date = new CQL.Date( - newDate.year(), - newDate.month() + 1, - newDate.date() - ); + handleDateChange={(date) => { + const newCQLDate = new QDMDate().cast({ + year: date.year(), + month: date.month() + 1, + day: date.date(), + }); setAttributeValue(newCQLDate); if (onChangeForComponentType) { onChangeForComponentType(newCQLDate); } }} + onBlur={() => {}} /> ); case "DateTime": From d833bccd14b272d0722289b380727be1d633554a Mon Sep 17 00:00:00 2001 From: Rohit Kandimalla Date: Thu, 24 Oct 2024 13:30:53 -0400 Subject: [PATCH 3/3] MAT-7774 Pulling in new version of Cqm-models 4.1.5 --- package-lock.json | 50 ++++++++++++++++++++++++++--------------------- package.json | 2 +- 2 files changed, 29 insertions(+), 23 deletions(-) diff --git a/package-lock.json b/package-lock.json index d8f6cd757..f47ac6c50 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,7 +33,7 @@ "blueimp-md5": "^2.19.0", "classnames": "^2.3.1", "cqm-execution": "4.2.3", - "cqm-models": "^4.1.4", + "cqm-models": "^4.1.5", "dayjs": "^1.11.7", "fhir": "^4.11.1", "file-saver": "^2.0.5", @@ -7956,9 +7956,9 @@ } }, "node_modules/cqm-models": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/cqm-models/-/cqm-models-4.1.4.tgz", - "integrity": "sha512-W3z5IKC702QkyROOnjPv0JFz85SzyHfVhItO5NpdKJ0/Pa0W2t2KIwmnhDtMfrOyLqMy852S8gUaH/06vLrW1g==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/cqm-models/-/cqm-models-4.1.5.tgz", + "integrity": "sha512-QwfjPLitVRtSKv1taNgGi2n+KSDhjrFTWZguyxYXv4z6DmlukotpYhKM0wR93pRWVX5h7D3xlGgaZozbMPCAQA==", "license": "Apache-2.0", "dependencies": { "cql-execution": "2.4.1", @@ -8039,25 +8039,30 @@ } }, "node_modules/crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.1.tgz", + "integrity": "sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==", "dev": true, + "license": "MIT", "dependencies": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" + "browserify-cipher": "^1.0.1", + "browserify-sign": "^4.2.3", + "create-ecdh": "^4.0.4", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "diffie-hellman": "^5.0.3", + "hash-base": "~3.0.4", + "inherits": "^2.0.4", + "pbkdf2": "^3.1.2", + "public-encrypt": "^4.0.3", + "randombytes": "^2.1.0", + "randomfill": "^1.0.4" }, "engines": { - "node": "*" + "node": ">= 0.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/css-blank-pseudo": { @@ -11400,10 +11405,11 @@ } }, "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", + "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", "dev": true, + "license": "MIT", "dependencies": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", diff --git a/package.json b/package.json index f6820bab4..3563fa082 100644 --- a/package.json +++ b/package.json @@ -106,7 +106,7 @@ "blueimp-md5": "^2.19.0", "classnames": "^2.3.1", "cqm-execution": "4.2.3", - "cqm-models": "^4.1.4", + "cqm-models": "^4.1.5", "dayjs": "^1.11.7", "fhir": "^4.11.1", "file-saver": "^2.0.5",