diff --git a/apps/smart-forms-app/package.json b/apps/smart-forms-app/package.json index d17e93fb1..4040e73e1 100644 --- a/apps/smart-forms-app/package.json +++ b/apps/smart-forms-app/package.json @@ -44,7 +44,7 @@ "@sentry/tracing": "^7.101.0", "@tanstack/react-query": "^4.36.1", "@tanstack/react-table": "^8.10.7", - "allotment": "^1.19.2", + "allotment": "^1.20.2", "dayjs": "^1.11.10", "fhirclient": "^2.5.2", "fhirpath": "^3.7.1", diff --git a/apps/smart-forms-app/src/features/renderer/components/RendererActions/RepopulateAction.tsx b/apps/smart-forms-app/src/features/renderer/components/RendererActions/RepopulateAction.tsx index 10aa710a3..99926beda 100644 --- a/apps/smart-forms-app/src/features/renderer/components/RendererActions/RepopulateAction.tsx +++ b/apps/smart-forms-app/src/features/renderer/components/RendererActions/RepopulateAction.tsx @@ -28,8 +28,9 @@ import type { ItemToRepopulate } from '@aehrc/smart-forms-renderer'; import { generateItemsToRepopulate, useQuestionnaireStore } from '@aehrc/smart-forms-renderer'; import RepopulateDialog from '../../../repopulate/components/RepopulateDialog.tsx'; import { useState } from 'react'; -import type { Patient, Practitioner } from 'fhir/r4'; +import type { Encounter, Patient, Practitioner } from 'fhir/r4'; import { useMutation } from '@tanstack/react-query'; +import { readCommonLaunchContexts } from '../../../smartAppLaunch/utils/launch.ts'; interface RepopulateActionProps extends SpeedDialActionProps { spinner: RendererSpinner; @@ -40,7 +41,7 @@ interface RepopulateActionProps extends SpeedDialActionProps { function RepopulateAction(props: RepopulateActionProps) { const { spinner, isSpeedDial, onSpinnerChange, ...speedDialActionProps } = props; - const { smartClient, patient, user, encounter } = useSmartClient(); + const { smartClient, patient, user } = useSmartClient(); const [itemsToRepopulate, setItemsToRepopulate] = useState>({}); @@ -64,15 +65,19 @@ function RepopulateAction(props: RepopulateActionProps) { !!(sourceQuestionnaire.contained || sourceQuestionnaire.extension); const { mutate: repopulateMutation } = useMutation({ - mutationFn: (params: { newPatient: Patient; newUser: Practitioner }) => { - const { newPatient, newUser } = params; + mutationFn: (params: { + newPatient: Patient; + newUser: Practitioner; + newEncounter: Encounter | null; + }) => { + const { newPatient, newUser, newEncounter } = params; return populateQuestionnaire( sourceQuestionnaire, smartClient!, newPatient, newUser, - encounter, + newEncounter, fhirPathContext ); }, @@ -131,10 +136,14 @@ function RepopulateAction(props: RepopulateActionProps) { status: 'repopulate-fetch', message: 'Retrieving latest information' }); - const newPatient = await smartClient.patient.read(); - const newUser = (await smartClient.user.read()) as Practitioner; - repopulateMutation({ newPatient, newUser }); + const { patient, user, encounter } = await readCommonLaunchContexts(smartClient); + + repopulateMutation({ + newPatient: patient as Patient, + newUser: user as Practitioner, + newEncounter: encounter + }); } return ( diff --git a/package-lock.json b/package-lock.json index dd73fb66b..e67573c11 100644 --- a/package-lock.json +++ b/package-lock.json @@ -67,7 +67,7 @@ "@sentry/tracing": "^7.101.0", "@tanstack/react-query": "^4.36.1", "@tanstack/react-table": "^8.10.7", - "allotment": "^1.19.2", + "allotment": "^1.20.2", "dayjs": "^1.11.10", "fhirclient": "^2.5.2", "fhirpath": "^3.7.1", @@ -340,21 +340,6 @@ "typescript": "~5.2.2" } }, - "deployment/ehr-proxy/ehr-proxy-app/node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "deployment/ehr-proxy/ehr-proxy-app/node_modules/source-map-support": { - "version": "0.5.21", - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, "deployment/ehr-proxy/hapi-endpoint": { "name": "ehr-proxy-hapi-endpoint", "version": "0.1.0", @@ -446,21 +431,6 @@ "constructs": "^10.0.0" } }, - "deployment/forms-server/node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "deployment/forms-server/node_modules/source-map-support": { - "version": "0.5.21", - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, "documentation": { "name": "@aehrc/smart-forms-documentation", "version": "0.0.0", @@ -2725,23 +2695,6 @@ "semver": "bin/semver" } }, - "node_modules/@babel/register/node_modules/source-map": { - "version": "0.6.1", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/register/node_modules/source-map-support": { - "version": "0.5.21", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, "node_modules/@babel/regjsgen": { "version": "0.8.0", "license": "MIT" @@ -12805,13 +12758,14 @@ "license": "ISC" }, "node_modules/@swc/core": { - "version": "1.3.99", + "version": "1.5.28", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.5.28.tgz", + "integrity": "sha512-muCdNIqOTURUgYeyyOLYE3ShL8SZO6dw6bhRm6dCvxWzCZOncPc5fB0kjcPXTML+9KJoHL7ks5xg+vsQK+v6ig==", "dev": true, "hasInstallScript": true, - "license": "Apache-2.0", "dependencies": { - "@swc/counter": "^0.1.1", - "@swc/types": "^0.1.5" + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.8" }, "engines": { "node": ">=10" @@ -12821,18 +12775,19 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.3.99", - "@swc/core-darwin-x64": "1.3.99", - "@swc/core-linux-arm64-gnu": "1.3.99", - "@swc/core-linux-arm64-musl": "1.3.99", - "@swc/core-linux-x64-gnu": "1.3.99", - "@swc/core-linux-x64-musl": "1.3.99", - "@swc/core-win32-arm64-msvc": "1.3.99", - "@swc/core-win32-ia32-msvc": "1.3.99", - "@swc/core-win32-x64-msvc": "1.3.99" + "@swc/core-darwin-arm64": "1.5.28", + "@swc/core-darwin-x64": "1.5.28", + "@swc/core-linux-arm-gnueabihf": "1.5.28", + "@swc/core-linux-arm64-gnu": "1.5.28", + "@swc/core-linux-arm64-musl": "1.5.28", + "@swc/core-linux-x64-gnu": "1.5.28", + "@swc/core-linux-x64-musl": "1.5.28", + "@swc/core-win32-arm64-msvc": "1.5.28", + "@swc/core-win32-ia32-msvc": "1.5.28", + "@swc/core-win32-x64-msvc": "1.5.28" }, "peerDependencies": { - "@swc/helpers": "^0.5.0" + "@swc/helpers": "*" }, "peerDependenciesMeta": { "@swc/helpers": { @@ -12841,12 +12796,13 @@ } }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.3.99", + "version": "1.5.28", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.5.28.tgz", + "integrity": "sha512-sP6g63ybzIdOWNDbn51tyHN8EMt7Mb4RMeHQEsXB7wQfDvzhpWB+AbfK6Gs3Q8fwP/pmWIrWW9csKOc1K2Mmkg==", "cpu": [ "arm64" ], "dev": true, - "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "darwin" @@ -12855,15 +12811,164 @@ "node": ">=10" } }, - "node_modules/@swc/counter": { - "version": "0.1.2", + "node_modules/@swc/core-darwin-x64": { + "version": "1.5.28", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.5.28.tgz", + "integrity": "sha512-Bd/agp/g7QocQG5AuorOzSC78t8OzeN+pCN/QvJj1CvPhvppjJw6e1vAbOR8vO2vvGi2pvtf3polrYQStJtSiA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "Apache-2.0" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.5.28", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.5.28.tgz", + "integrity": "sha512-Wr3TwPGIveS9/OBWm0r9VAL8wkCR0zQn46J8K01uYCmVhUNK3Muxjs0vQBZaOrGu94mqbj9OXY+gB3W7aDvGdA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.5.28", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.5.28.tgz", + "integrity": "sha512-8G1ZwVTuLgTAVTMPD+M97eU6WeiRIlGHwKZ5fiJHPBcz1xqIC7jQcEh7XBkobkYoU5OILotls3gzjRt8CMNyDQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.5.28", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.5.28.tgz", + "integrity": "sha512-0Ajdzb5Fzvz+XUbN5ESeHAz9aHHSYiQcm+vmsDi0TtPHmsalfnqEPZmnK0zPALPJPLQP2dDo4hELeDg3/c3xgA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.5.28", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.5.28.tgz", + "integrity": "sha512-ueQ9VejnQUM2Pt+vT0IAKoF4vYBWUP6n1KHGdILpoGe3LuafQrqu7RoyQ15C7/AYii7hAeNhTFdf6gLbg8cjFg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.5.28", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.5.28.tgz", + "integrity": "sha512-G5th8Mg0az8CbY4GQt9/m5hg2Y0kGIwvQBeVACuLQB6q2Y4txzdiTpjmFqUUhEvvl7Klyx1IHvNhfXs3zpt7PA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.5.28", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.5.28.tgz", + "integrity": "sha512-JezwCGavZ7CkNXx4yInI4kpb71L0zxzxA9BFlmnsGKEEjVQcKc3hFpmIzfFVs+eotlBUwDNb0+Yo9m6Cb7lllA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.5.28", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.5.28.tgz", + "integrity": "sha512-q8tW5J4RkOkl7vYShnWS//VAb2Ngolfm9WOMaF2GRJUr2Y/Xeb/+cNjdsNOqea2BzW049D5vdP7XPmir3/zUZw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.5.28", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.5.28.tgz", + "integrity": "sha512-jap6EiB3wG1YE1hyhNr9KLPpH4PGm+5tVMfN0l7fgKtV0ikgpcEN/YF94tru+z5m2HovqYW009+Evq9dcVGmpg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "dev": true }, "node_modules/@swc/types": { - "version": "0.1.5", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.8.tgz", + "integrity": "sha512-RNFA3+7OJFNYY78x0FYwi1Ow+iF1eF5WvmfY1nXPOEH4R2p/D4Cr1vzje7dNAI2aLFqpv8Wyz4oKSWqIZArpQA==", "dev": true, - "license": "Apache-2.0" + "dependencies": { + "@swc/counter": "^0.1.3" + } }, "node_modules/@szmarczak/http-timer": { "version": "4.0.6", @@ -13347,8 +13452,9 @@ } }, "node_modules/@types/express": { - "version": "4.17.20", - "license": "MIT", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", @@ -14970,8 +15076,9 @@ } }, "node_modules/allotment": { - "version": "1.19.3", - "license": "MIT", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/allotment/-/allotment-1.20.2.tgz", + "integrity": "sha512-TaCuHfYNcsJS9EPk04M7TlG5Rl3vbAdHeAyrTE9D5vbpzV+wxnRoUrulDbfnzaQcPIZKpHJNixDOoZNuzliKEA==", "dependencies": { "classnames": "^2.3.0", "eventemitter3": "^5.0.0", @@ -24403,6 +24510,25 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/jest-runner/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-runner/node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/jest-runtime": { "version": "29.7.0", "dev": true, @@ -39899,9 +40025,9 @@ } }, "node_modules/source-map-support": { - "version": "0.5.13", - "dev": true, - "license": "MIT", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -39909,7 +40035,6 @@ }, "node_modules/source-map-support/node_modules/source-map": { "version": "0.6.1", - "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -40836,21 +40961,6 @@ "version": "2.20.3", "license": "MIT" }, - "node_modules/terser/node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/terser/node_modules/source-map-support": { - "version": "0.5.21", - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, "node_modules/test-exclude": { "version": "6.0.0", "dev": true, @@ -43515,7 +43625,7 @@ "@storybook/react-vite": "^8.0.10", "@storybook/test": "^8.0.10", "@swc/cli": "^0.1.63", - "@swc/core": "^1.3.99", + "@swc/core": "^1.5.28", "@testing-library/jest-dom": "^6.1.2", "@testing-library/react": "^14.2.1", "@testing-library/react-hooks": "^7.0.2", @@ -44468,7 +44578,7 @@ }, "devDependencies": { "@types/cors": "^2.8.17", - "@types/express": "^4.17.20", + "@types/express": "^4.17.21", "@types/node": "^20.12.5", "typescript": "^5.1.6" } diff --git a/packages/smart-forms-renderer/package.json b/packages/smart-forms-renderer/package.json index a6e4358e6..6f2a6b0e4 100644 --- a/packages/smart-forms-renderer/package.json +++ b/packages/smart-forms-renderer/package.json @@ -68,7 +68,7 @@ "@storybook/react-vite": "^8.0.10", "@storybook/test": "^8.0.10", "@swc/cli": "^0.1.63", - "@swc/core": "^1.3.99", + "@swc/core": "^1.5.28", "@testing-library/jest-dom": "^6.1.2", "@testing-library/react": "^14.2.1", "@testing-library/react-hooks": "^7.0.2", diff --git a/services/assemble-express/package.json b/services/assemble-express/package.json index be1aef69c..e04a988ab 100644 --- a/services/assemble-express/package.json +++ b/services/assemble-express/package.json @@ -17,7 +17,7 @@ "cors": "^2.8.5" }, "devDependencies": { - "@types/express": "^4.17.20", + "@types/express": "^4.17.21", "@types/cors": "^2.8.17", "@types/node": "^20.12.5", "typescript": "^5.1.6"