@openmrs/esm-fast-data-entry-app 1.0.1-pre.124 → 1.0.1-pre.128
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/129.js +1 -0
- package/dist/129.js.map +1 -0
- package/dist/153.js +1 -1
- package/dist/153.js.map +1 -1
- package/dist/208.js +1 -1
- package/dist/319.js +1 -1
- package/dist/365.js +1 -0
- package/dist/365.js.map +1 -0
- package/dist/436.js +1 -0
- package/dist/436.js.map +1 -0
- package/dist/460.js +1 -1
- package/dist/532.js +1 -0
- package/dist/532.js.map +1 -0
- package/dist/{651.js → 540.js} +1 -1
- package/dist/540.js.map +1 -0
- package/dist/574.js +1 -1
- package/dist/591.js +1 -1
- package/dist/593.js +1 -1
- package/dist/706.js +1 -1
- package/dist/706.js.map +1 -1
- package/dist/757.js +1 -1
- package/dist/788.js +1 -1
- package/dist/807.js +1 -1
- package/dist/833.js +1 -1
- package/dist/883.js +1 -1
- package/dist/883.js.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/openmrs-esm-fast-data-entry-app.js +1 -1
- package/dist/openmrs-esm-fast-data-entry-app.js.buildmanifest.json +142 -167
- package/dist/openmrs-esm-fast-data-entry-app.js.map +1 -1
- package/dist/routes.json +1 -1
- package/package.json +3 -2
- package/src/FormBootstrap.tsx +10 -1
- package/src/config-schema.ts +20 -0
- package/src/form-entry-workflow/FormEntryWorkflow.tsx +20 -14
- package/src/group-form-entry-workflow/GroupSessionWorkspace.tsx +28 -55
- package/src/group-form-entry-workflow/SessionDetailsForm.tsx +50 -4
- package/src/group-form-entry-workflow/configurable-questions/ConfigurableQuestionsSection.tsx +47 -0
- package/src/hooks/index.ts +8 -1
- package/src/hooks/useForm.ts +69 -0
- package/src/types.ts +20 -0
- package/translations/am.json +3 -0
- package/translations/ar.json +3 -0
- package/translations/en.json +3 -0
- package/translations/es.json +3 -0
- package/translations/fr.json +3 -0
- package/translations/he.json +3 -0
- package/translations/km.json +3 -0
- package/dist/262.js +0 -1
- package/dist/262.js.map +0 -1
- package/dist/279.js +0 -1
- package/dist/279.js.map +0 -1
- package/dist/651.js.map +0 -1
- package/dist/884.js +0 -1
- package/dist/884.js.map +0 -1
- package/dist/889.js +0 -1
- package/dist/889.js.map +0 -1
- package/dist/959.js +0 -1
- package/dist/959.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openmrs-esm-fast-data-entry-app.js","mappings":"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","sources":["webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/load script","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/consumes","webpack://@openmrs/esm-fast-data-entry-app/webpack/container-entry","webpack://@openmrs/esm-fast-data-entry-app/webpack/bootstrap","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/compat get default export","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/define property getters","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/ensure chunk","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/get javascript chunk filename","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/global","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/hasOwnProperty shorthand","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/make namespace object","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/node module decorator","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/sharing","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/publicPath","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/jsonp chunk loading","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/nonce","webpack://@openmrs/esm-fast-data-entry-app/webpack/startup"],"names":["inProgress","dataWebpackPrefix","parseVersion","versionLt","rangeToString","satisfy","findSingletonVersionKey","getInvalidSingletonVersionMessage","getSingletonVersion","warn","get","loadSingletonVersionCheckFallback","installedModules","moduleToHandlerMapping","chunkMapping","moduleMap","__webpack_require__","e","then","module","getScope","R","o","Promise","resolve","Error","undefined","init","shareScope","initScope","S","name","oldScope","I","d","exports","__webpack_module_cache__","moduleId","cachedModule","id","loaded","__webpack_modules__","call","m","c","n","getter","__esModule","a","definition","key","Object","defineProperty","enumerable","f","chunkId","all","keys","reduce","promises","u","g","globalThis","this","Function","window","obj","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","i","length","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","fn","setTimeout","bind","type","target","head","appendChild","r","Symbol","toStringTag","value","nmd","paths","children","initPromises","initTokens","initToken","indexOf","scope","uniqueName","register","version","factory","eager","versions","activeVersion","from","scriptUrl","importScripts","location","currentScript","replace","p","str","split","map","exec","apply","b","t","range","pop","requiredVersion","scopeName","msg","console","entry","promise","fallback","consumes","onFactory","onError","error","installedChunks","j","installedChunkData","test","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","data","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"openmrs-esm-fast-data-entry-app.js","mappings":"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","sources":["webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/load script","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/consumes","webpack://@openmrs/esm-fast-data-entry-app/webpack/container-entry","webpack://@openmrs/esm-fast-data-entry-app/webpack/bootstrap","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/compat get default export","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/define property getters","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/ensure chunk","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/get javascript chunk filename","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/global","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/hasOwnProperty shorthand","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/make namespace object","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/node module decorator","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/sharing","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/publicPath","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/jsonp chunk loading","webpack://@openmrs/esm-fast-data-entry-app/webpack/runtime/nonce","webpack://@openmrs/esm-fast-data-entry-app/webpack/startup"],"names":["inProgress","dataWebpackPrefix","parseVersion","versionLt","rangeToString","satisfy","findSingletonVersionKey","getInvalidSingletonVersionMessage","getSingletonVersion","warn","get","loadSingletonVersionCheckFallback","installedModules","moduleToHandlerMapping","chunkMapping","moduleMap","__webpack_require__","e","then","module","getScope","R","o","Promise","resolve","Error","undefined","init","shareScope","initScope","S","name","oldScope","I","d","exports","__webpack_module_cache__","moduleId","cachedModule","id","loaded","__webpack_modules__","call","m","c","n","getter","__esModule","a","definition","key","Object","defineProperty","enumerable","f","chunkId","all","keys","reduce","promises","u","g","globalThis","this","Function","window","obj","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","i","length","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","fn","setTimeout","bind","type","target","head","appendChild","r","Symbol","toStringTag","value","nmd","paths","children","initPromises","initTokens","initToken","indexOf","scope","uniqueName","register","version","factory","eager","versions","activeVersion","from","scriptUrl","importScripts","location","currentScript","replace","p","str","split","map","exec","apply","b","t","range","pop","requiredVersion","scopeName","msg","console","entry","promise","fallback","consumes","onFactory","onError","error","installedChunks","j","installedChunkData","test","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","data","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
|
package/dist/routes.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"fhir2":"^1.2.0","webservices.rest":"^2.2.0"},"pages":[{"component":"root","routeRegex":"forms","online":true,"offline":true}],"extensions":[{"name":"forms-app-link","slot":"app-menu-slot","component":"formsAppMenuLink","online":true,"offline":true}],"version":"1.0.1-pre.
|
|
1
|
+
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"fhir2":"^1.2.0","webservices.rest":"^2.2.0"},"pages":[{"component":"root","routeRegex":"forms","online":true,"offline":true}],"extensions":[{"name":"forms-app-link","slot":"app-menu-slot","component":"formsAppMenuLink","online":true,"offline":true}],"version":"1.0.1-pre.128"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openmrs/esm-fast-data-entry-app",
|
|
3
|
-
"version": "1.0.1-pre.
|
|
3
|
+
"version": "1.0.1-pre.128",
|
|
4
4
|
"license": "MPL-2.0",
|
|
5
5
|
"description": "An OpenMRS 3.x microfrontend",
|
|
6
6
|
"browser": "dist/openmrs-esm-fast-data-entry-app.js",
|
|
@@ -94,7 +94,8 @@
|
|
|
94
94
|
"dependencies": {
|
|
95
95
|
"i18next": "^21.10.0",
|
|
96
96
|
"i18next-parser": "^6.6.0",
|
|
97
|
-
"react-hook-form": "^7.34.2"
|
|
97
|
+
"react-hook-form": "^7.34.2",
|
|
98
|
+
"uuid": "^9.0.1"
|
|
98
99
|
},
|
|
99
100
|
"packageManager": "yarn@3.6.4",
|
|
100
101
|
"stableVersion": "1.0.0"
|
package/src/FormBootstrap.tsx
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import React, { useEffect, useState } from "react";
|
|
1
|
+
import React, { useContext, useEffect, useState } from "react";
|
|
2
2
|
import { detach, ExtensionSlot } from "@openmrs/esm-framework";
|
|
3
3
|
import useGetPatient from "./hooks/useGetPatient";
|
|
4
|
+
import GroupFormWorkflowContext from "./context/GroupFormWorkflowContext";
|
|
4
5
|
|
|
5
6
|
export interface Order {
|
|
6
7
|
uuid: string;
|
|
@@ -98,12 +99,18 @@ export interface Encounter {
|
|
|
98
99
|
obs: Array<Observation>;
|
|
99
100
|
orders: Array<Order>;
|
|
100
101
|
}
|
|
102
|
+
|
|
103
|
+
type PreFilledQuestions = {
|
|
104
|
+
[key: string]: string;
|
|
105
|
+
};
|
|
106
|
+
|
|
101
107
|
interface FormParams {
|
|
102
108
|
formUuid: string;
|
|
103
109
|
patientUuid: string;
|
|
104
110
|
visitUuid?: string;
|
|
105
111
|
visitTypeUuid?: string;
|
|
106
112
|
encounterUuid?: string;
|
|
113
|
+
preFilledQuestions?: PreFilledQuestions;
|
|
107
114
|
showDiscardSubmitButtons?: boolean;
|
|
108
115
|
handlePostResponse?: (Encounter) => void;
|
|
109
116
|
handleEncounterCreate?: (Object) => void;
|
|
@@ -121,6 +128,7 @@ const FormBootstrap = ({
|
|
|
121
128
|
handleOnValidate,
|
|
122
129
|
}: FormParams) => {
|
|
123
130
|
const patient = useGetPatient(patientUuid);
|
|
131
|
+
const { activeSessionMeta } = useContext(GroupFormWorkflowContext);
|
|
124
132
|
|
|
125
133
|
useEffect(() => {
|
|
126
134
|
return () => detach("form-widget-slot", "form-widget-slot");
|
|
@@ -156,6 +164,7 @@ const FormBootstrap = ({
|
|
|
156
164
|
handleEncounterCreate,
|
|
157
165
|
handleOnValidate,
|
|
158
166
|
showDiscardSubmitButtons: false,
|
|
167
|
+
preFilledQuestions: { ...activeSessionMeta },
|
|
159
168
|
}}
|
|
160
169
|
/>
|
|
161
170
|
)}
|
package/src/config-schema.ts
CHANGED
|
@@ -82,6 +82,26 @@ export const configSchema = {
|
|
|
82
82
|
_default: "fa8fedc0-c066-4da3-8dc1-2ad8621fc480",
|
|
83
83
|
},
|
|
84
84
|
},
|
|
85
|
+
specificQuestions: {
|
|
86
|
+
_type: Type.Array,
|
|
87
|
+
_description: "List of specific questions to populate forms.",
|
|
88
|
+
_elements: {
|
|
89
|
+
forms: {
|
|
90
|
+
_type: Type.Array,
|
|
91
|
+
_description: "List of form UUIDs for which the question applies.",
|
|
92
|
+
_elements: {
|
|
93
|
+
_type: Type.UUID,
|
|
94
|
+
},
|
|
95
|
+
_default: [],
|
|
96
|
+
},
|
|
97
|
+
questionId: {
|
|
98
|
+
_type: Type.String,
|
|
99
|
+
_description: "ID of the question.",
|
|
100
|
+
_default: "",
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
_default: [],
|
|
104
|
+
},
|
|
85
105
|
};
|
|
86
106
|
|
|
87
107
|
export type Form = {
|
|
@@ -6,6 +6,7 @@ import PatientCard from "../patient-card/PatientCard";
|
|
|
6
6
|
import styles from "./styles.scss";
|
|
7
7
|
import PatientSearchHeader from "./patient-search-header";
|
|
8
8
|
import { useTranslation } from "react-i18next";
|
|
9
|
+
import { v4 as uuid } from "uuid";
|
|
9
10
|
import FormWorkflowContext, {
|
|
10
11
|
FormWorkflowProvider,
|
|
11
12
|
} from "../context/FormWorkflowContext";
|
|
@@ -72,11 +73,7 @@ const FormWorkspace = () => {
|
|
|
72
73
|
const [visit, setVisit] = useState(null);
|
|
73
74
|
const { sessionLocation } = useSession();
|
|
74
75
|
|
|
75
|
-
const {
|
|
76
|
-
saveVisit,
|
|
77
|
-
updateEncounter,
|
|
78
|
-
success: visitSaveSuccess,
|
|
79
|
-
} = useStartVisit({
|
|
76
|
+
const { updateEncounter, success: visitSaveSuccess } = useStartVisit({
|
|
80
77
|
showSuccessNotification: false,
|
|
81
78
|
showErrorNotification: true,
|
|
82
79
|
});
|
|
@@ -110,15 +107,24 @@ const FormWorkspace = () => {
|
|
|
110
107
|
// Create a visit with the same date as the encounter being saved
|
|
111
108
|
const visitStartDatetime = new Date(payload.encounterDatetime);
|
|
112
109
|
const visitStopDatetime = new Date(payload.encounterDatetime);
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
110
|
+
const visitInfo = {
|
|
111
|
+
startDatetime: visitStartDatetime,
|
|
112
|
+
stopDatetime: visitStopDatetime,
|
|
113
|
+
uuid: uuid(),
|
|
114
|
+
patient: {
|
|
115
|
+
uuid: activePatientUuid,
|
|
116
|
+
},
|
|
117
|
+
location: {
|
|
118
|
+
uuid: sessionLocation?.uuid,
|
|
119
|
+
},
|
|
120
|
+
visitType: {
|
|
121
|
+
uuid: singleSessionVisitTypeUuid,
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
payload.visit = visitInfo;
|
|
120
126
|
},
|
|
121
|
-
[activePatientUuid, singleSessionVisitTypeUuid,
|
|
127
|
+
[activePatientUuid, singleSessionVisitTypeUuid, sessionLocation]
|
|
122
128
|
);
|
|
123
129
|
|
|
124
130
|
return (
|
|
@@ -142,7 +148,7 @@ const FormWorkspace = () => {
|
|
|
142
148
|
/>
|
|
143
149
|
</div>
|
|
144
150
|
<div className={styles.rightPanel}>
|
|
145
|
-
<h4>Forms filled</h4>
|
|
151
|
+
<h4>{t("formsFilled", "Forms filled")}</h4>
|
|
146
152
|
<div className={styles.patientCardsSection}>
|
|
147
153
|
{patientUuids.map((patientUuid) => (
|
|
148
154
|
<PatientCard
|
|
@@ -9,9 +9,9 @@ import React, { useCallback, useContext, useEffect, useState } from "react";
|
|
|
9
9
|
import PatientCard from "../patient-card/PatientCard";
|
|
10
10
|
import styles from "./styles.scss";
|
|
11
11
|
import { useTranslation } from "react-i18next";
|
|
12
|
+
import { v4 as uuid } from "uuid";
|
|
12
13
|
import GroupFormWorkflowContext from "../context/GroupFormWorkflowContext";
|
|
13
14
|
import FormBootstrap from "../FormBootstrap";
|
|
14
|
-
import useStartVisit from "../hooks/useStartVisit";
|
|
15
15
|
import CompleteModal from "../CompleteModal";
|
|
16
16
|
import CancelModal from "../CancelModal";
|
|
17
17
|
|
|
@@ -100,53 +100,17 @@ const GroupSessionWorkspace = () => {
|
|
|
100
100
|
} = useContext(GroupFormWorkflowContext);
|
|
101
101
|
|
|
102
102
|
const { sessionLocation } = useSession();
|
|
103
|
-
const [encounter, setEncounter] = useState(null);
|
|
104
|
-
const [visit, setVisit] = useState(null);
|
|
105
103
|
|
|
106
|
-
const {
|
|
107
|
-
saveVisit,
|
|
108
|
-
updateEncounter,
|
|
109
|
-
success: visitSaveSuccess,
|
|
110
|
-
} = useStartVisit({
|
|
111
|
-
showSuccessNotification: false,
|
|
112
|
-
showErrorNotification: true,
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
// 0. user clicks "next patient" in WorkflowNavigationButtons
|
|
116
|
-
// which triggers submitForNext() if workflowState === "EDIT_FORM"
|
|
117
|
-
|
|
118
|
-
// 1. save the new visit uuid and start form submission
|
|
119
104
|
useEffect(() => {
|
|
120
|
-
if (
|
|
121
|
-
|
|
122
|
-
visitSaveSuccess.data.patient.uuid === activePatientUuid
|
|
123
|
-
) {
|
|
124
|
-
setVisit(visitSaveSuccess.data);
|
|
125
|
-
// Update visit UUID on workflow
|
|
126
|
-
updateVisitUuid(visitSaveSuccess.data.uuid);
|
|
105
|
+
if (activeVisitUuid) {
|
|
106
|
+
updateVisitUuid(activeVisitUuid);
|
|
127
107
|
}
|
|
128
|
-
}, [
|
|
129
|
-
visitSaveSuccess,
|
|
130
|
-
updateVisitUuid,
|
|
131
|
-
activeVisitUuid,
|
|
132
|
-
activePatientUuid,
|
|
133
|
-
visit,
|
|
134
|
-
setVisit,
|
|
135
|
-
]);
|
|
108
|
+
}, [updateVisitUuid, activeVisitUuid, activePatientUuid]);
|
|
136
109
|
|
|
137
|
-
//
|
|
110
|
+
// If there's no active visit, trigger the creation of a new one
|
|
138
111
|
const handleEncounterCreate = useCallback(
|
|
139
112
|
(payload) => {
|
|
140
113
|
// Create a visit with the same date as the encounter being saved
|
|
141
|
-
if (!activeVisitUuid) {
|
|
142
|
-
saveVisit({
|
|
143
|
-
patientUuid: activePatientUuid,
|
|
144
|
-
startDatetime: activeSessionMeta.sessionDate,
|
|
145
|
-
stopDatetime: activeSessionMeta.sessionDate,
|
|
146
|
-
visitType: groupVisitTypeUuid,
|
|
147
|
-
location: sessionLocation?.uuid,
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
114
|
const obsTime = new Date(activeSessionMeta.sessionDate);
|
|
151
115
|
payload.obs.forEach((item, index) => {
|
|
152
116
|
payload.obs[index] = {
|
|
@@ -158,7 +122,7 @@ const GroupSessionWorkspace = () => {
|
|
|
158
122
|
obsDatetime: obsTime.toISOString(),
|
|
159
123
|
};
|
|
160
124
|
});
|
|
161
|
-
|
|
125
|
+
const visitUuid = activeVisitUuid ? activeVisitUuid : uuid();
|
|
162
126
|
if (!activeVisitUuid) {
|
|
163
127
|
Object.entries(groupSessionConcepts).forEach(([field, uuid]) => {
|
|
164
128
|
payload.obs.push({
|
|
@@ -166,34 +130,43 @@ const GroupSessionWorkspace = () => {
|
|
|
166
130
|
value: activeSessionMeta?.[field],
|
|
167
131
|
});
|
|
168
132
|
});
|
|
133
|
+
// If this is a newly created encounter and visit, add session concepts to encounter payload.
|
|
134
|
+
const visitInfo = {
|
|
135
|
+
startDatetime: activeSessionMeta.sessionDate,
|
|
136
|
+
stopDatetime: activeSessionMeta.sessionDate,
|
|
137
|
+
uuid: visitUuid,
|
|
138
|
+
patient: {
|
|
139
|
+
uuid: activePatientUuid,
|
|
140
|
+
},
|
|
141
|
+
location: {
|
|
142
|
+
uuid: sessionLocation?.uuid,
|
|
143
|
+
},
|
|
144
|
+
visitType: {
|
|
145
|
+
uuid: groupVisitTypeUuid,
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
payload.visit = visitInfo;
|
|
149
|
+
updateVisitUuid(visitUuid);
|
|
169
150
|
}
|
|
170
151
|
payload.location = sessionLocation?.uuid;
|
|
171
152
|
payload.encounterDatetime = obsTime.toISOString();
|
|
172
153
|
},
|
|
173
154
|
[
|
|
174
|
-
activePatientUuid,
|
|
175
|
-
activeVisitUuid,
|
|
176
155
|
activeSessionMeta,
|
|
156
|
+
activeVisitUuid,
|
|
157
|
+
sessionLocation?.uuid,
|
|
177
158
|
groupSessionConcepts,
|
|
159
|
+
activePatientUuid,
|
|
178
160
|
groupVisitTypeUuid,
|
|
179
|
-
|
|
180
|
-
sessionLocation,
|
|
161
|
+
updateVisitUuid,
|
|
181
162
|
]
|
|
182
163
|
);
|
|
183
164
|
|
|
184
|
-
//
|
|
185
|
-
useEffect(() => {
|
|
186
|
-
if (encounter && visit && encounter.patient?.uuid === visit.patient?.uuid) {
|
|
187
|
-
updateEncounter({ uuid: encounter.uuid, visit: visit.uuid });
|
|
188
|
-
}
|
|
189
|
-
}, [encounter, updateEncounter, visit]);
|
|
190
|
-
|
|
191
|
-
// 4. Once form has been posted, save the new encounter uuid so we can edit it later
|
|
165
|
+
// Once form has been posted, save the new encounter uuid so we can edit it later
|
|
192
166
|
const handlePostResponse = useCallback(
|
|
193
167
|
(encounter) => {
|
|
194
168
|
if (encounter && encounter.uuid) {
|
|
195
169
|
saveEncounter(encounter.uuid);
|
|
196
|
-
setEncounter(encounter);
|
|
197
170
|
}
|
|
198
171
|
},
|
|
199
172
|
[saveEncounter]
|
|
@@ -7,14 +7,26 @@ import {
|
|
|
7
7
|
DatePickerInput,
|
|
8
8
|
} from "@carbon/react";
|
|
9
9
|
import React, { useContext } from "react";
|
|
10
|
+
import { useConfig } from "@openmrs/esm-framework";
|
|
11
|
+
import { useParams } from "react-router-dom";
|
|
10
12
|
import styles from "./styles.scss";
|
|
11
13
|
import { useTranslation } from "react-i18next";
|
|
12
14
|
import { Controller, useFormContext } from "react-hook-form";
|
|
13
15
|
import { AttendanceTable } from "./attendance-table";
|
|
14
16
|
import GroupFormWorkflowContext from "../context/GroupFormWorkflowContext";
|
|
15
17
|
import useGetPatients from "../hooks/useGetPatients";
|
|
18
|
+
import ConfigurableQuestionsSection from "./configurable-questions/ConfigurableQuestionsSection";
|
|
19
|
+
import useSpecificQuestions from "../hooks/useForm";
|
|
20
|
+
|
|
21
|
+
interface ParamTypes {
|
|
22
|
+
formUuid?: string;
|
|
23
|
+
}
|
|
16
24
|
|
|
17
25
|
const SessionDetailsForm = () => {
|
|
26
|
+
const { specificQuestions } = useConfig();
|
|
27
|
+
const { formUuid } = useParams() as ParamTypes;
|
|
28
|
+
const { questions } = useSpecificQuestions(formUuid, specificQuestions);
|
|
29
|
+
|
|
18
30
|
const { t } = useTranslation();
|
|
19
31
|
const {
|
|
20
32
|
register,
|
|
@@ -54,7 +66,7 @@ const SessionDetailsForm = () => {
|
|
|
54
66
|
labelText={t("sessionName", "Session Name")}
|
|
55
67
|
{...register("sessionName", { required: true })}
|
|
56
68
|
invalid={errors.sessionName}
|
|
57
|
-
invalidText={"This field is required"}
|
|
69
|
+
invalidText={t("requiredField", "This field is required")}
|
|
58
70
|
/>
|
|
59
71
|
<TextInput
|
|
60
72
|
id="text"
|
|
@@ -62,7 +74,7 @@ const SessionDetailsForm = () => {
|
|
|
62
74
|
labelText={t("practitionerName", "Practitioner Name")}
|
|
63
75
|
{...register("practitionerName", { required: true })}
|
|
64
76
|
invalid={errors.practitionerName}
|
|
65
|
-
invalidText={"This field is required"}
|
|
77
|
+
invalidText={t("requiredField", "This field is required")}
|
|
66
78
|
/>
|
|
67
79
|
<Controller
|
|
68
80
|
name="sessionDate"
|
|
@@ -81,7 +93,10 @@ const SessionDetailsForm = () => {
|
|
|
81
93
|
placeholder="mm/dd/yyyy"
|
|
82
94
|
size="md"
|
|
83
95
|
invalid={errors.sessionDate}
|
|
84
|
-
invalidText={
|
|
96
|
+
invalidText={t(
|
|
97
|
+
"requiredField",
|
|
98
|
+
"This field is required"
|
|
99
|
+
)}
|
|
85
100
|
/>
|
|
86
101
|
</DatePicker>
|
|
87
102
|
)}
|
|
@@ -92,7 +107,7 @@ const SessionDetailsForm = () => {
|
|
|
92
107
|
labelText={t("sessionNotes", "Session Notes")}
|
|
93
108
|
{...register("sessionNotes", { required: true })}
|
|
94
109
|
invalid={errors.sessionNotes}
|
|
95
|
-
invalidText={"This field is required"}
|
|
110
|
+
invalidText={t("requiredField", "This field is required")}
|
|
96
111
|
/>
|
|
97
112
|
</div>
|
|
98
113
|
</Layer>
|
|
@@ -122,6 +137,37 @@ const SessionDetailsForm = () => {
|
|
|
122
137
|
</Layer>
|
|
123
138
|
</Tile>
|
|
124
139
|
</Layer>
|
|
140
|
+
{questions?.length > 0 ? (
|
|
141
|
+
<>
|
|
142
|
+
<h4>{t("sessionSpecificDetails", "3. Specific details")}</h4>
|
|
143
|
+
<div>
|
|
144
|
+
<p>
|
|
145
|
+
{t(
|
|
146
|
+
"sessionSpecificDetailsDescription",
|
|
147
|
+
"They will be mapped to form responses for all patients as pre-filled data."
|
|
148
|
+
)}
|
|
149
|
+
</p>
|
|
150
|
+
</div>
|
|
151
|
+
<Layer>
|
|
152
|
+
<Tile className={styles.formSectionTile}>
|
|
153
|
+
<Layer>
|
|
154
|
+
<div
|
|
155
|
+
style={{
|
|
156
|
+
display: "flex",
|
|
157
|
+
flexDirection: "column",
|
|
158
|
+
rowGap: "1.5rem",
|
|
159
|
+
}}
|
|
160
|
+
>
|
|
161
|
+
<ConfigurableQuestionsSection
|
|
162
|
+
register={register}
|
|
163
|
+
specificQuestions={questions}
|
|
164
|
+
/>
|
|
165
|
+
</div>
|
|
166
|
+
</Layer>
|
|
167
|
+
</Tile>
|
|
168
|
+
</Layer>
|
|
169
|
+
</>
|
|
170
|
+
) : null}
|
|
125
171
|
</div>
|
|
126
172
|
)}
|
|
127
173
|
</div>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { TextInput, Select, SelectItem } from "@carbon/react";
|
|
3
|
+
import { FieldValues, UseFormRegister } from "react-hook-form";
|
|
4
|
+
import { SpecificQuestion } from "../../types";
|
|
5
|
+
|
|
6
|
+
interface ConfigurableQuestionsSectionProps {
|
|
7
|
+
specificQuestions: Array<SpecificQuestion>;
|
|
8
|
+
register?: UseFormRegister<FieldValues>;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const ConfigurableQuestionsSection: React.FC<
|
|
12
|
+
ConfigurableQuestionsSectionProps
|
|
13
|
+
> = ({ register, specificQuestions }) => {
|
|
14
|
+
return (
|
|
15
|
+
<>
|
|
16
|
+
{specificQuestions?.map((specificQuestion) => (
|
|
17
|
+
<div key={specificQuestion.question.id}>
|
|
18
|
+
{specificQuestion?.answers?.length > 0 ? (
|
|
19
|
+
<Select
|
|
20
|
+
{...register(specificQuestion.question.id, { required: false })}
|
|
21
|
+
id={specificQuestion.question.id}
|
|
22
|
+
labelText={specificQuestion.question.display}
|
|
23
|
+
>
|
|
24
|
+
<SelectItem value="" text="" />
|
|
25
|
+
{specificQuestion.answers.map((answer) => (
|
|
26
|
+
<SelectItem
|
|
27
|
+
key={answer.value}
|
|
28
|
+
value={answer.value}
|
|
29
|
+
text={answer.display}
|
|
30
|
+
/>
|
|
31
|
+
))}
|
|
32
|
+
</Select>
|
|
33
|
+
) : (
|
|
34
|
+
<TextInput
|
|
35
|
+
id={specificQuestion.question.id}
|
|
36
|
+
{...register(specificQuestion.question.id, { required: false })}
|
|
37
|
+
type="text"
|
|
38
|
+
labelText={specificQuestion.question.display}
|
|
39
|
+
/>
|
|
40
|
+
)}
|
|
41
|
+
</div>
|
|
42
|
+
))}
|
|
43
|
+
</>
|
|
44
|
+
);
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
export default ConfigurableQuestionsSection;
|
package/src/hooks/index.ts
CHANGED
|
@@ -2,6 +2,13 @@ import useGetAllForms from "./useGetAllForms";
|
|
|
2
2
|
import useGetPatient from "./useGetPatient";
|
|
3
3
|
import useFormState from "./useFormState";
|
|
4
4
|
import useGetEncounter from "./useGetEncounter";
|
|
5
|
+
import useForm from "./useForm";
|
|
5
6
|
|
|
6
|
-
export {
|
|
7
|
+
export {
|
|
8
|
+
useGetAllForms,
|
|
9
|
+
useGetPatient,
|
|
10
|
+
useFormState,
|
|
11
|
+
useGetEncounter,
|
|
12
|
+
useForm,
|
|
13
|
+
};
|
|
7
14
|
export * from "./usePostEndpoint";
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { type FetchResponse, openmrsFetch } from "@openmrs/esm-framework";
|
|
2
|
+
import useSWR from "swr";
|
|
3
|
+
import { SpecificQuestion, SpecificQuestionConfig } from "../types";
|
|
4
|
+
import { useMemo } from "react";
|
|
5
|
+
|
|
6
|
+
const formUrl = "/ws/rest/v1/o3/forms";
|
|
7
|
+
|
|
8
|
+
export const useSpecificQuestions = (
|
|
9
|
+
formUuid: string,
|
|
10
|
+
specificQuestionConfig: Array<SpecificQuestionConfig>
|
|
11
|
+
) => {
|
|
12
|
+
const specificQuestionsToLoad = useMemo(
|
|
13
|
+
() => getQuestionIdsByFormId(formUuid, specificQuestionConfig),
|
|
14
|
+
[formUuid, specificQuestionConfig]
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
const { data, error } = useSWR<FetchResponse, Error>(
|
|
18
|
+
specificQuestionsToLoad ? `${formUrl}/${formUuid}` : null,
|
|
19
|
+
openmrsFetch
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
const specificQuestions = getQuestionsByIds(
|
|
23
|
+
specificQuestionsToLoad,
|
|
24
|
+
data?.data
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
return {
|
|
28
|
+
questions: specificQuestions || null,
|
|
29
|
+
isError: error,
|
|
30
|
+
isLoading: !data && !error,
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
function getQuestionIdsByFormId(
|
|
35
|
+
formUuid: string,
|
|
36
|
+
specificQuestionConfig: Array<SpecificQuestionConfig>
|
|
37
|
+
) {
|
|
38
|
+
const matchingQuestions = specificQuestionConfig.filter((question) =>
|
|
39
|
+
question.forms.includes(formUuid)
|
|
40
|
+
);
|
|
41
|
+
return matchingQuestions.map((question) => question.questionId);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function getQuestionsByIds(questionIds, formSchema): Array<SpecificQuestion> {
|
|
45
|
+
if (!formSchema || questionIds.lenght <= 0) {
|
|
46
|
+
return [];
|
|
47
|
+
}
|
|
48
|
+
const conceptLabels = formSchema.conceptReferences;
|
|
49
|
+
return formSchema.pages.flatMap((page) =>
|
|
50
|
+
page.sections.flatMap((section) =>
|
|
51
|
+
section.questions
|
|
52
|
+
.filter((question) => questionIds.includes(question.id))
|
|
53
|
+
.map((question) => ({
|
|
54
|
+
question: {
|
|
55
|
+
display:
|
|
56
|
+
question.label ??
|
|
57
|
+
conceptLabels[question.questionOptions.concept]?.display,
|
|
58
|
+
id: question.id,
|
|
59
|
+
},
|
|
60
|
+
answers: (question.questionOptions.answers ?? []).map((answer) => ({
|
|
61
|
+
value: answer.concept,
|
|
62
|
+
display: answer.label ?? conceptLabels[answer.concept]?.display,
|
|
63
|
+
})),
|
|
64
|
+
}))
|
|
65
|
+
)
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export default useSpecificQuestions;
|
package/src/types.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface Concept {
|
|
2
|
+
uuid: string;
|
|
3
|
+
display: string;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export interface SpecificQuestion {
|
|
7
|
+
question: {
|
|
8
|
+
id: string;
|
|
9
|
+
display: string;
|
|
10
|
+
};
|
|
11
|
+
answers: Array<{
|
|
12
|
+
value: string;
|
|
13
|
+
display: string;
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface SpecificQuestionConfig {
|
|
18
|
+
forms: Array<string>;
|
|
19
|
+
questionId: string;
|
|
20
|
+
}
|
package/translations/am.json
CHANGED
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
"postError": "POST Error",
|
|
46
46
|
"practitionerName": "Practitioner Name",
|
|
47
47
|
"remove": "Remove",
|
|
48
|
+
"requiredField": "This field is required",
|
|
48
49
|
"resumeGroupSession": "Resume Group Session",
|
|
49
50
|
"resumeSession": "Resume Session",
|
|
50
51
|
"save": "Save",
|
|
@@ -62,6 +63,8 @@
|
|
|
62
63
|
"sessionName": "Session Name",
|
|
63
64
|
"sessionNotes": "Session Notes",
|
|
64
65
|
"sessionParticipants": "2. Session participants",
|
|
66
|
+
"sessionSpecificDetails": "3. Specific details",
|
|
67
|
+
"sessionSpecificDetailsDescription": "They will be mapped to form responses for all patients as pre-filled data.",
|
|
65
68
|
"startGroupSession": "Start Group Session",
|
|
66
69
|
"trySearchWithPatientUniqueID": "Try searching with the cohort's description",
|
|
67
70
|
"unknown": "Unknown",
|
package/translations/ar.json
CHANGED
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
"postError": "خطأ POST",
|
|
46
46
|
"practitionerName": "اسم الممارس",
|
|
47
47
|
"remove": "إزالة",
|
|
48
|
+
"requiredField": "This field is required",
|
|
48
49
|
"resumeGroupSession": "استئناف جلسة المجموعة",
|
|
49
50
|
"resumeSession": "استئناف الجلسة",
|
|
50
51
|
"save": "حفظ",
|
|
@@ -62,6 +63,8 @@
|
|
|
62
63
|
"sessionName": "اسم الجلسة",
|
|
63
64
|
"sessionNotes": "ملاحظات الجلسة",
|
|
64
65
|
"sessionParticipants": "2. المشاركون في الجلسة",
|
|
66
|
+
"sessionSpecificDetails": "3. Specific details",
|
|
67
|
+
"sessionSpecificDetailsDescription": "They will be mapped to form responses for all patients as pre-filled data.",
|
|
65
68
|
"startGroupSession": "بدء جلسة المجموعة",
|
|
66
69
|
"trySearchWithPatientUniqueID": "حاول البحث باستخدام وصف الفوج",
|
|
67
70
|
"unknown": "غير معروف",
|