@openmrs/esm-user-onboarding-app 4.0.1-pre.87 → 4.0.1-pre.89
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/.tx/config +11 -0
- package/dist/1119.js +1 -0
- package/dist/1197.js +1 -0
- package/dist/2146.js +1 -0
- package/dist/2690.js +1 -0
- package/dist/282.js +2 -0
- package/dist/282.js.LICENSE.txt +32 -0
- package/dist/282.js.map +1 -0
- package/dist/3099.js +1 -0
- package/dist/3184.js +2 -0
- package/dist/3184.js.LICENSE.txt +14 -0
- package/dist/3184.js.map +1 -0
- package/dist/3584.js +1 -0
- package/dist/3950.js +2 -0
- package/dist/3950.js.LICENSE.txt +24 -0
- package/dist/3950.js.map +1 -0
- package/dist/4055.js +1 -0
- package/dist/4132.js +1 -0
- package/dist/4300.js +1 -0
- package/dist/4335.js +1 -0
- package/dist/4353.js +1 -0
- package/dist/4353.js.map +1 -0
- package/dist/4618.js +1 -0
- package/dist/4652.js +1 -0
- package/dist/4944.js +1 -0
- package/dist/5059.js +1 -0
- package/dist/5059.js.map +1 -0
- package/dist/5173.js +1 -0
- package/dist/5241.js +1 -0
- package/dist/5442.js +1 -0
- package/dist/553.js +2 -0
- package/dist/{534.js.LICENSE.txt → 553.js.LICENSE.txt} +7 -13
- package/dist/553.js.map +1 -0
- package/dist/5661.js +1 -0
- package/dist/6022.js +1 -0
- package/dist/6399.js +1 -0
- package/dist/6399.js.map +1 -0
- package/dist/6468.js +1 -0
- package/dist/6540.js +2 -0
- package/dist/6540.js.map +1 -0
- package/dist/6679.js +1 -0
- package/dist/6840.js +1 -0
- package/dist/6859.js +1 -0
- package/dist/6920.js +1 -0
- package/dist/6920.js.map +1 -0
- package/dist/7097.js +1 -0
- package/dist/7159.js +1 -0
- package/dist/723.js +1 -0
- package/dist/7617.js +1 -0
- package/dist/795.js +1 -0
- package/dist/8163.js +1 -0
- package/dist/8349.js +1 -0
- package/dist/844.js +1 -0
- package/dist/844.js.map +1 -0
- package/dist/8618.js +1 -0
- package/dist/8690.js +1 -0
- package/dist/8690.js.map +1 -0
- package/dist/890.js +1 -0
- package/dist/9214.js +1 -0
- package/dist/9538.js +1 -0
- package/dist/9569.js +1 -0
- package/dist/961.js +2 -0
- package/dist/961.js.LICENSE.txt +19 -0
- package/dist/961.js.map +1 -0
- package/dist/986.js +1 -0
- package/dist/9879.js +1 -0
- package/dist/9895.js +1 -0
- package/dist/9900.js +1 -0
- package/dist/9913.js +1 -0
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/openmrs-esm-user-onboarding-app.js +1 -1
- package/dist/openmrs-esm-user-onboarding-app.js.buildmanifest.json +980 -108
- package/dist/openmrs-esm-user-onboarding-app.js.map +1 -1
- package/dist/routes.json +1 -1
- package/e2e/README.md +9 -7
- package/e2e/core/test.ts +1 -1
- package/e2e/fixtures/api.ts +1 -1
- package/e2e/pages/home-page.ts +2 -2
- package/e2e/specs/onboarding-test.spec.ts +9 -28
- package/jest.config.js +2 -2
- package/package.json +8 -7
- package/src/config-schema.ts +251 -127
- package/src/declarations.d.ts +2 -0
- package/src/root.component.tsx +26 -17
- package/src/tooltip/tooltip.component.tsx +35 -30
- package/src/tooltip/tooltip.scss +52 -23
- package/src/tutorial/modal.component.tsx +11 -6
- package/src/tutorial/{modal.component.test.tsx → modal.test.tsx} +10 -8
- package/src/tutorial/styles.scss +35 -1
- package/src/tutorial/tutorial.tsx +1 -0
- package/src/types.ts +2 -2
- package/tools/update-openmrs-deps.mjs +43 -0
- package/translations/am.json +9 -1
- package/translations/ar.json +9 -0
- package/translations/ar_SY.json +9 -0
- package/translations/bn.json +9 -0
- package/translations/de.json +9 -0
- package/translations/en_US.json +9 -0
- package/translations/es.json +9 -1
- package/translations/es_MX.json +9 -0
- package/translations/fr.json +9 -1
- package/translations/he.json +9 -1
- package/translations/hi.json +9 -0
- package/translations/hi_IN.json +9 -0
- package/translations/id.json +9 -0
- package/translations/it.json +9 -0
- package/translations/ka.json +9 -0
- package/translations/km.json +9 -1
- package/translations/ku.json +9 -0
- package/translations/ky.json +9 -0
- package/translations/lg.json +9 -0
- package/translations/ne.json +9 -0
- package/translations/pl.json +9 -0
- package/translations/pt.json +9 -0
- package/translations/pt_BR.json +9 -0
- package/translations/qu.json +9 -0
- package/translations/ro_RO.json +9 -0
- package/translations/ru_RU.json +9 -0
- package/translations/si.json +9 -0
- package/translations/sw.json +9 -0
- package/translations/sw_KE.json +9 -0
- package/translations/tr.json +9 -0
- package/translations/tr_TR.json +9 -0
- package/translations/uk.json +9 -0
- package/translations/uz.json +9 -0
- package/translations/uz@Latn.json +9 -0
- package/translations/uz_UZ.json +9 -0
- package/translations/vi.json +9 -0
- package/translations/zh.json +9 -0
- package/translations/zh_CN.json +9 -0
- package/tsconfig.json +2 -1
- package/dist/151.js +0 -2
- package/dist/151.js.LICENSE.txt +0 -3
- package/dist/151.js.map +0 -1
- package/dist/197.js +0 -1
- package/dist/300.js +0 -1
- package/dist/335.js +0 -1
- package/dist/422.js +0 -1
- package/dist/422.js.map +0 -1
- package/dist/438.js +0 -1
- package/dist/438.js.map +0 -1
- package/dist/534.js +0 -2
- package/dist/534.js.map +0 -1
- package/dist/540.js +0 -2
- package/dist/540.js.map +0 -1
- package/dist/55.js +0 -1
- package/dist/570.js +0 -1
- package/dist/570.js.map +0 -1
- package/dist/652.js +0 -1
- package/dist/743.js +0 -1
- package/dist/743.js.map +0 -1
- package/dist/917.js +0 -1
- package/dist/917.js.map +0 -1
- package/dist/99.js +0 -1
- /package/dist/{540.js.LICENSE.txt → 6540.js.LICENSE.txt} +0 -0
package/src/config-schema.ts
CHANGED
|
@@ -11,13 +11,15 @@ export const configSchema = {
|
|
|
11
11
|
_description: 'List of tutorials to be displayed in the modal',
|
|
12
12
|
_default: [
|
|
13
13
|
{
|
|
14
|
-
title: 'Basic
|
|
15
|
-
description:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
title: 'Basic Overview',
|
|
15
|
+
description:
|
|
16
|
+
'This guide provides a quick look at the essential components that shape the layout and user experience of our homepage.',
|
|
17
|
+
steps: [
|
|
18
|
+
{
|
|
19
|
+
target: '[aria-label="OpenMRS"]',
|
|
20
|
+
content:
|
|
21
|
+
'Welcome to OpenMRS! This is the main dashboard where you can navigate to various features of the system.',
|
|
22
|
+
},
|
|
21
23
|
{
|
|
22
24
|
target: '[name="SearchPatientIcon"]',
|
|
23
25
|
content: 'This is the search icon. Use it to find patients in the system quickly.',
|
|
@@ -30,90 +32,15 @@ export const configSchema = {
|
|
|
30
32
|
target: '[name="User"]',
|
|
31
33
|
content: 'The user icon. Click here to change your user preferences and settings.',
|
|
32
34
|
},
|
|
33
|
-
{
|
|
34
|
-
target: '[data-extension-id="active-visits-widget"]',
|
|
35
|
-
content: 'This table displays active visits. Here you can see all the ongoing patient visits.',
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
target: '[data-extension-id="home-appointments"]',
|
|
39
|
-
content: 'This table shows appointments. View and manage patient appointments from this section.',
|
|
40
|
-
},
|
|
41
35
|
],
|
|
42
36
|
},
|
|
43
37
|
{
|
|
44
|
-
title: '
|
|
45
|
-
description: 'This tutorial is for demo / debugging purposes only',
|
|
46
|
-
steps: [
|
|
47
|
-
{
|
|
48
|
-
target: '[aria-label="OpenMRS"]',
|
|
49
|
-
title: 'Let us walk through the tutorial features together.',
|
|
50
|
-
disableBeacon: true,
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
target: '[data-extension-id="clinical-appointments-dashboard-link"]',
|
|
54
|
-
title:
|
|
55
|
-
'Click on this link. This step is configured to be automatic and will take you to the next step. Once the given query selector resolves an element on the page, it will proceed automatically.',
|
|
56
|
-
hideCloseButton: true,
|
|
57
|
-
hideNextButton: true,
|
|
58
|
-
disableOverlayClose: true,
|
|
59
|
-
spotlightClicks: true,
|
|
60
|
-
data: {
|
|
61
|
-
autoNextOn: '[data-extension-id="clinical-appointments-dashboard"]',
|
|
62
|
-
},
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
target: '[data-extension-id="clinical-appointments-dashboard"]',
|
|
66
|
-
title: 'Congrats! You have reached the clinical appointments dashboard.',
|
|
67
|
-
disableOverlayClose: true,
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
target: '[aria-label="OpenMRS"]',
|
|
71
|
-
title:
|
|
72
|
-
'Now, let’s see how this behaves when elements take a bit longer to load. Set your network throttling to "Slow 3G" and hit "Next".',
|
|
73
|
-
disableOverlayClose: true,
|
|
74
|
-
hideBackButton: true,
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
target: '[data-extension-id="laboratory-dashboard-link"]',
|
|
78
|
-
title:
|
|
79
|
-
'Let\'s navigate to the laboratory page. Our next target is the "Tests Ordered" table. I’ll disappear once you reach the laboratory page and reappear when the table is loaded. See you there!',
|
|
80
|
-
hideCloseButton: true,
|
|
81
|
-
hideNextButton: true,
|
|
82
|
-
disableOverlayClose: true,
|
|
83
|
-
spotlightClicks: true,
|
|
84
|
-
data: {
|
|
85
|
-
autoNextOn: '[data-extension-id="laboratory-dashboard"]',
|
|
86
|
-
},
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
target: '[data-extension-id="all-lab-requests-table"] table',
|
|
90
|
-
title:
|
|
91
|
-
"It's me again. By default, I'll wait for the element to appear, so you don't have to worry about slow components when writing a new tutorial.",
|
|
92
|
-
disableOverlayClose: true,
|
|
93
|
-
hideBackButton: true,
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
target: '[aria-label="OpenMRS"]',
|
|
97
|
-
title:
|
|
98
|
-
"Now let's do a fun exercise. Can you find out how to view a patient's allergies on your own? Feel free to turn off network throttling. ;) ",
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
target: '[data-extension-slot-name="patient-chart-allergies-dashboard-slot"]',
|
|
102
|
-
title:
|
|
103
|
-
'Great job! You found the allergies section! This is the end of the tutorial. Feel free to explore the system on your own or check out the other tutorials.',
|
|
104
|
-
},
|
|
105
|
-
],
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
title: 'Patient Registration Tutorial',
|
|
38
|
+
title: 'Registering a Patient',
|
|
109
39
|
description: 'Learn how to register a new patient into the system.',
|
|
110
40
|
steps: [
|
|
111
41
|
{
|
|
112
42
|
target: '[name="AddPatientIcon"]',
|
|
113
|
-
title: 'Add Patient',
|
|
114
43
|
content: 'Click here to add a patient to the system.',
|
|
115
|
-
disableBeacon: true,
|
|
116
|
-
disableOverlayClose: true,
|
|
117
44
|
spotlightClicks: true,
|
|
118
45
|
hideCloseButton: true,
|
|
119
46
|
hideNextButton: true,
|
|
@@ -127,41 +54,33 @@ export const configSchema = {
|
|
|
127
54
|
title: 'Demographics',
|
|
128
55
|
content:
|
|
129
56
|
'This is the Demographics section. Here you can find various fields and information related to the patient.',
|
|
130
|
-
disableBeacon: true,
|
|
131
57
|
hideBackButton: true,
|
|
132
58
|
},
|
|
133
59
|
{
|
|
134
60
|
target: '#contact',
|
|
135
61
|
title: 'Contact Details',
|
|
136
62
|
content: "Here you can update the patient's contact information.",
|
|
137
|
-
disableBeacon: true,
|
|
138
63
|
},
|
|
139
64
|
{
|
|
140
65
|
target: '#relationships',
|
|
141
66
|
title: 'Relationships',
|
|
142
67
|
content: "In this section, you can manage the patient's relationships.",
|
|
143
|
-
disableBeacon: true,
|
|
144
68
|
},
|
|
145
69
|
{
|
|
146
70
|
target: 'button[type="submit"]',
|
|
147
|
-
title: 'Register Patient',
|
|
148
71
|
content: "Click this button to register the patient's information into the system.",
|
|
149
|
-
disableBeacon: true,
|
|
150
72
|
},
|
|
151
73
|
],
|
|
152
74
|
},
|
|
153
75
|
{
|
|
154
|
-
title: 'Patient Chart
|
|
76
|
+
title: 'Patient Chart',
|
|
155
77
|
description:
|
|
156
78
|
'Patient chart is the main point of interaction between healthcare professionals and patient data, where you can manage everything related to a single patient.',
|
|
157
79
|
steps: [
|
|
158
80
|
{
|
|
159
81
|
target: '[data-testid="searchPatientIcon"]',
|
|
160
|
-
title: 'Search icon',
|
|
161
82
|
content:
|
|
162
83
|
'To access the patient chart, first, you need to select a patient. To start, click here to open the search box so that we can search for a patient.',
|
|
163
|
-
disableBeacon: true,
|
|
164
|
-
disableOverlayClose: true,
|
|
165
84
|
spotlightClicks: true,
|
|
166
85
|
hideNextButton: true,
|
|
167
86
|
data: {
|
|
@@ -170,12 +89,10 @@ export const configSchema = {
|
|
|
170
89
|
},
|
|
171
90
|
{
|
|
172
91
|
target: '[data-testid="patientSearchBar"]',
|
|
173
|
-
title: 'Search box',
|
|
174
92
|
content:
|
|
175
93
|
'Now, enter the name or the ID of the patient here. Some example patient names that you can search for are: John, Smith, Mary.',
|
|
176
94
|
hideNextButton: true,
|
|
177
95
|
hideBackButton: true,
|
|
178
|
-
disableOverlayClose: true,
|
|
179
96
|
spotlightClicks: true,
|
|
180
97
|
data: {
|
|
181
98
|
autoNextOn: '[data-testid="floatingSearchResultsContainer"]',
|
|
@@ -183,11 +100,9 @@ export const configSchema = {
|
|
|
183
100
|
},
|
|
184
101
|
{
|
|
185
102
|
target: '[data-testid="floatingSearchResultsContainer"]',
|
|
186
|
-
title: 'Search results',
|
|
187
103
|
content: 'Click on the patient you want to go to their patient chart.',
|
|
188
104
|
spotlightClicks: true,
|
|
189
|
-
|
|
190
|
-
disableOverlay : true,
|
|
105
|
+
disableOverlay: true,
|
|
191
106
|
placement: 'left',
|
|
192
107
|
hideNextButton: true,
|
|
193
108
|
hideBackButton: true,
|
|
@@ -198,9 +113,9 @@ export const configSchema = {
|
|
|
198
113
|
{
|
|
199
114
|
target: 'body',
|
|
200
115
|
title: 'Patient Chart',
|
|
201
|
-
content:
|
|
116
|
+
content:
|
|
117
|
+
"Welcome to the Patient Chart View! Here, you can quickly see everything about your patient's health history, visits, medications, allergies, and test results—all in one place. It's designed to help you provide the best care efficiently.",
|
|
202
118
|
spotlightClicks: true,
|
|
203
|
-
disableOverlayClose: true,
|
|
204
119
|
hideBackButton: true,
|
|
205
120
|
placement: 'center',
|
|
206
121
|
},
|
|
@@ -209,7 +124,6 @@ export const configSchema = {
|
|
|
209
124
|
title: 'Patient header',
|
|
210
125
|
content:
|
|
211
126
|
'The patient header contains all the key information you need to identify the patient you are currently viewing. You can click on the "Show Details" button to see additional patient information.',
|
|
212
|
-
disableOverlayClose: true,
|
|
213
127
|
spotlightClicks: true,
|
|
214
128
|
hideBackButton: true,
|
|
215
129
|
},
|
|
@@ -218,7 +132,6 @@ export const configSchema = {
|
|
|
218
132
|
title: 'Left panel',
|
|
219
133
|
content:
|
|
220
134
|
'The left panel shows the sections of the patient chart. Currently, we are on the patient summary page.',
|
|
221
|
-
disableOverlayClose: true,
|
|
222
135
|
spotlightClicks: true,
|
|
223
136
|
placement: 'right',
|
|
224
137
|
},
|
|
@@ -227,7 +140,6 @@ export const configSchema = {
|
|
|
227
140
|
title: 'Patient summary widgets',
|
|
228
141
|
content:
|
|
229
142
|
'Patient Summary is a personalized view made up of widgets that show essential features and information for quick access.',
|
|
230
|
-
disableOverlayClose: true,
|
|
231
143
|
},
|
|
232
144
|
{
|
|
233
145
|
target: '[data-extension-slot-name="action-menu-patient-chart-items-slot"]',
|
|
@@ -237,23 +149,20 @@ export const configSchema = {
|
|
|
237
149
|
},
|
|
238
150
|
{
|
|
239
151
|
target: 'body',
|
|
240
|
-
|
|
152
|
+
content:
|
|
241
153
|
"Great job! You've completed the tutorial. Now, take a moment to explore the Patient Chart View and discover all its features. Feel free to navigate around and get comfortable with the layout. If you need to return to the home page, just click the close button in the top right corner. Happy exploring!",
|
|
242
|
-
disableOverlayClose: true,
|
|
243
154
|
placement: 'center',
|
|
244
155
|
},
|
|
245
156
|
],
|
|
246
157
|
},
|
|
247
158
|
{
|
|
248
|
-
title: 'Patient
|
|
249
|
-
description:
|
|
159
|
+
title: 'Finding a Patient',
|
|
160
|
+
description:
|
|
161
|
+
'Learn how to find a patient in the system using basic and advanced search features, including the use of filters to refine results.',
|
|
250
162
|
steps: [
|
|
251
163
|
{
|
|
252
164
|
target: '[data-testid="searchPatientIcon"]',
|
|
253
|
-
title: 'Search icon',
|
|
254
165
|
content: 'Click on the search icon to open the search box so that we can search for a patient.',
|
|
255
|
-
disableBeacon: true,
|
|
256
|
-
disableOverlayClose: true,
|
|
257
166
|
spotlightClicks: true,
|
|
258
167
|
hideNextButton: true,
|
|
259
168
|
data: {
|
|
@@ -262,12 +171,10 @@ export const configSchema = {
|
|
|
262
171
|
},
|
|
263
172
|
{
|
|
264
173
|
target: '[data-testid="patientSearchBar"]',
|
|
265
|
-
title: 'Search box',
|
|
266
174
|
content:
|
|
267
175
|
'Now, enter the name of the patient here. If you know the patient ID, you can use that as well. You will see the results if the patient you entered exists in the system. Some example patient names that you can search for are: John, Smith, Mary.',
|
|
268
176
|
hideNextButton: true,
|
|
269
177
|
hideBackButton: true,
|
|
270
|
-
disableOverlayClose: true,
|
|
271
178
|
spotlightClicks: true,
|
|
272
179
|
data: {
|
|
273
180
|
autoNextOn: '[data-testid="floatingSearchResultsContainer"]',
|
|
@@ -275,11 +182,9 @@ export const configSchema = {
|
|
|
275
182
|
},
|
|
276
183
|
{
|
|
277
184
|
target: 'button[type="submit"]',
|
|
278
|
-
title: 'Search button',
|
|
279
185
|
content:
|
|
280
186
|
'If there are a lot of patients in the system, you may need additional fields to search other than the name. Also, the patient you are looking for may not be displayed in the top results if there are multiple patients with the same name. In these scenarios, you can click here to open the advanced search.',
|
|
281
187
|
spotlightClicks: true,
|
|
282
|
-
disableOverlayClose: true,
|
|
283
188
|
placement: 'bottom',
|
|
284
189
|
hideNextButton: true,
|
|
285
190
|
hideBackButton: true,
|
|
@@ -293,22 +198,18 @@ export const configSchema = {
|
|
|
293
198
|
content:
|
|
294
199
|
'You can refine your search by applying filters such as date of birth, age, sex, and phone number here.',
|
|
295
200
|
spotlightClicks: true,
|
|
296
|
-
disableOverlayClose: true,
|
|
297
201
|
hideBackButton: true,
|
|
298
202
|
},
|
|
299
203
|
{
|
|
300
204
|
target: '[data-openmrs-role="Search Results"]',
|
|
301
|
-
title: 'Search results',
|
|
302
205
|
content:
|
|
303
206
|
'Here you can see all the patients who match the search criteria. Clicking on a patient will open the patient’s patient chart.',
|
|
304
|
-
disableOverlayClose: true,
|
|
305
207
|
placement: 'right',
|
|
306
208
|
},
|
|
307
209
|
{
|
|
308
210
|
target: '[data-testid="closeSearchIcon"]',
|
|
309
211
|
content: 'That’s the end of the tutorial. Click on the close button to go back to the home page.',
|
|
310
212
|
spotlightClicks: true,
|
|
311
|
-
disableOverlayClose: true,
|
|
312
213
|
placement: 'bottom',
|
|
313
214
|
hideNextButton: true,
|
|
314
215
|
hideBackButton: true,
|
|
@@ -327,7 +228,6 @@ export const configSchema = {
|
|
|
327
228
|
target: '[data-extension-id="patient-lists-dashboard-link"]',
|
|
328
229
|
content:
|
|
329
230
|
'Creating a patient list is a great way to keep a group of patients organized for easier management. Click here to go to the patient lists view',
|
|
330
|
-
disableBeacon: true,
|
|
331
231
|
spotlightClicks: true,
|
|
332
232
|
hideNextButton: true,
|
|
333
233
|
data: {
|
|
@@ -347,7 +247,6 @@ export const configSchema = {
|
|
|
347
247
|
},
|
|
348
248
|
{
|
|
349
249
|
target: '[data-openmrs-role="New List"]',
|
|
350
|
-
title: 'New List',
|
|
351
250
|
content: "Now, let's try creating a new list. Click here to open the new patient list form.",
|
|
352
251
|
spotlightClicks: true,
|
|
353
252
|
placement: 'left',
|
|
@@ -359,10 +258,8 @@ export const configSchema = {
|
|
|
359
258
|
},
|
|
360
259
|
{
|
|
361
260
|
target: '[data-openmrs-role="Patient List Form"]',
|
|
362
|
-
title: 'Patient List Form',
|
|
363
261
|
content: 'Enter the necessary details and click on "Create List" to create the list.',
|
|
364
262
|
spotlightClicks: true,
|
|
365
|
-
|
|
366
263
|
hideBackButton: true,
|
|
367
264
|
hideNextButton: true,
|
|
368
265
|
placement: 'left',
|
|
@@ -372,7 +269,6 @@ export const configSchema = {
|
|
|
372
269
|
},
|
|
373
270
|
{
|
|
374
271
|
target: '[data-testid="patientListsTable"]',
|
|
375
|
-
title: 'Patient Lists table',
|
|
376
272
|
content:
|
|
377
273
|
'Great! We have successfully created a new patient list. Find and click on the patient list you created to proceed. You can use the search option at the top right if needed.',
|
|
378
274
|
disableOverlay: true,
|
|
@@ -394,7 +290,6 @@ export const configSchema = {
|
|
|
394
290
|
target: '[data-testid="searchPatientIcon"]',
|
|
395
291
|
content:
|
|
396
292
|
'To add a patient to the list, we have to go to the respective patient’s chart view. Click here to open the search box so that we can search for a patient.',
|
|
397
|
-
disableBeacon: true,
|
|
398
293
|
spotlightClicks: true,
|
|
399
294
|
hideNextButton: true,
|
|
400
295
|
hideBackButton: true,
|
|
@@ -455,7 +350,6 @@ export const configSchema = {
|
|
|
455
350
|
target: '[aria-label="Close"]',
|
|
456
351
|
content:
|
|
457
352
|
"We have successfully added a patient to the patient list. Let's go back to the patient lists by closing the patient chart by clicking here.",
|
|
458
|
-
|
|
459
353
|
spotlightClicks: true,
|
|
460
354
|
hideBackButton: true,
|
|
461
355
|
hideNextButton: true,
|
|
@@ -467,19 +361,250 @@ export const configSchema = {
|
|
|
467
361
|
target: '[data-testid="patientsTable"]',
|
|
468
362
|
title: 'Patients List',
|
|
469
363
|
content: 'You can see the added patient on the list of patients.',
|
|
470
|
-
|
|
471
364
|
spotlightClicks: true,
|
|
472
365
|
hideBackButton: true,
|
|
473
366
|
},
|
|
474
367
|
{
|
|
475
368
|
target: 'body',
|
|
476
|
-
|
|
369
|
+
content:
|
|
477
370
|
'Congrats! You have now completed the tutorial on creating patient lists and adding patients to the lists.',
|
|
478
371
|
placement: 'center',
|
|
479
372
|
hideBackButton: true,
|
|
480
373
|
},
|
|
481
374
|
],
|
|
482
375
|
},
|
|
376
|
+
{
|
|
377
|
+
title: 'Recording Vitals',
|
|
378
|
+
description:
|
|
379
|
+
"Learn how to record a patient's vitals and biometric data, and review the records through the patient chart.",
|
|
380
|
+
steps: [
|
|
381
|
+
{
|
|
382
|
+
target: '[data-testid="searchPatientIcon"]',
|
|
383
|
+
content:
|
|
384
|
+
'To capture the vitals of a patient, you need to start by going to the patient chart view of the respective patient. Click on the search icon to open the search box so that you can search for the patient.',
|
|
385
|
+
spotlightClicks: true,
|
|
386
|
+
hideNextButton: true,
|
|
387
|
+
data: {
|
|
388
|
+
autoNextOn: '[data-testid="patientSearchBar"]',
|
|
389
|
+
},
|
|
390
|
+
},
|
|
391
|
+
{
|
|
392
|
+
target: '[data-testid="patientSearchBar"]',
|
|
393
|
+
content:
|
|
394
|
+
'Now, enter the name or the ID of the patient here. Some example patient names you can search for are: John, Smith, Mary.',
|
|
395
|
+
hideNextButton: true,
|
|
396
|
+
hideBackButton: true,
|
|
397
|
+
spotlightClicks: true,
|
|
398
|
+
data: {
|
|
399
|
+
autoNextOn: '[data-testid="floatingSearchResultsContainer"]',
|
|
400
|
+
},
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
target: '[data-testid="floatingSearchResultsContainer"]',
|
|
404
|
+
content: 'Click on the patient to go to their patient chart.',
|
|
405
|
+
placement: 'left',
|
|
406
|
+
spotlightClicks: true,
|
|
407
|
+
hideBackButton: true,
|
|
408
|
+
hideNextButton: true,
|
|
409
|
+
data: {
|
|
410
|
+
autoNextOn: '[data-extension-slot-name="action-menu-patient-chart-items-slot"]',
|
|
411
|
+
},
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
target: '[data-extension-id="patient-vitals-info"] button',
|
|
415
|
+
content:
|
|
416
|
+
'Click on the "Record Vitals" button to open the vitals form. If the selected patient doesn\'t have an active visit, you will be prompted to start one. In that case, submit the start visit form in order to the next step.',
|
|
417
|
+
disableOverlay: true,
|
|
418
|
+
spotlightClicks: true,
|
|
419
|
+
hideBackButton: true,
|
|
420
|
+
hideNextButton: true,
|
|
421
|
+
data: {
|
|
422
|
+
autoNextOn: '[aria-label="Workspace header"]',
|
|
423
|
+
},
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
target: '[data-openmrs-role="Vitals and Biometrics Form"]',
|
|
427
|
+
title: 'Vitals form',
|
|
428
|
+
content:
|
|
429
|
+
'In this form, you can enter the vitals and biometrics you have captured. If any value entered is out of the normal range, you will see ↑ (High), ↓ (Low), ↑↑ (Very High) or ↓↓ (Very Low) indicators next to the respective field. After entering all necessary details, click on the "Save and Close" button to submit the data.',
|
|
430
|
+
disableOverlay: true,
|
|
431
|
+
spotlightClicks: true,
|
|
432
|
+
placement: 'left',
|
|
433
|
+
hideBackButton: true,
|
|
434
|
+
hideNextButton: true,
|
|
435
|
+
data: {
|
|
436
|
+
autoNextOn: '.omrs-snackbars-container div',
|
|
437
|
+
},
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
target: '[data-extension-id="patient-vitals-info"]',
|
|
441
|
+
content: 'The latest vitals and biometrics data of the patient can be viewed in this section.',
|
|
442
|
+
hideBackButton: true,
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
target: '[data-extension-id="results-summary-dashboard"]',
|
|
446
|
+
content:
|
|
447
|
+
'Click here to go to the Vitals and Biometrics page, where you can view the past records of vitals and biometrics.',
|
|
448
|
+
hideBackButton: true,
|
|
449
|
+
hideNextButton: true,
|
|
450
|
+
spotlightClicks: true,
|
|
451
|
+
data: {
|
|
452
|
+
autoNextOn: '[data-extension-slot-name="patient-chart-vitals-biometrics-dashboard-slot"]',
|
|
453
|
+
},
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
target: '[data-extension-slot-name="patient-chart-vitals-biometrics-dashboard-slot"]',
|
|
457
|
+
content:
|
|
458
|
+
'These tables display the history of vitals and biometrics. Indicators may be present here to show measurements that are higher or lower than the typical range.',
|
|
459
|
+
hideBackButton: true,
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
target: '[aria-label="Chart view"]',
|
|
463
|
+
content: 'You can click on the "Chart" button for a graphical representation of the vitals history.',
|
|
464
|
+
},
|
|
465
|
+
{
|
|
466
|
+
target: 'body',
|
|
467
|
+
content:
|
|
468
|
+
'You have now successfully completed the tutorial. You can continue with the rest of the patient visit by recording additional information or performing other necessary actions within the patient chart view, or you can return to the homepage.',
|
|
469
|
+
placement: 'center',
|
|
470
|
+
hideBackButton: true,
|
|
471
|
+
},
|
|
472
|
+
],
|
|
473
|
+
},
|
|
474
|
+
{
|
|
475
|
+
title: 'Starting a Patient Visit',
|
|
476
|
+
description: 'Learn how to start a visit for a patient.',
|
|
477
|
+
steps: [
|
|
478
|
+
{
|
|
479
|
+
target: '[data-testid="searchPatientIcon"]',
|
|
480
|
+
content:
|
|
481
|
+
'To fill out any forms or encounters of a patient, you have to start a visit. To start a patient visit, first you need to go to the patient chart view of the respective patient. Click on the search icon to open the search box so that we can search for the patient. ',
|
|
482
|
+
disableBeacon: true,
|
|
483
|
+
spotlightClicks: true,
|
|
484
|
+
hideNextButton: true,
|
|
485
|
+
data: {
|
|
486
|
+
autoNextOn: '[data-testid="patientSearchBar"]',
|
|
487
|
+
},
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
target: '[data-testid="patientSearchBar"]',
|
|
491
|
+
content:
|
|
492
|
+
'Now, enter the name or the ID of the patient here. Some example patient names that you can search for are: John, Smith, Mary.',
|
|
493
|
+
hideNextButton: true,
|
|
494
|
+
hideBackButton: true,
|
|
495
|
+
spotlightClicks: true,
|
|
496
|
+
data: {
|
|
497
|
+
autoNextOn: '[data-testid="floatingSearchResultsContainer"]',
|
|
498
|
+
},
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
target: '[data-testid="floatingSearchResultsContainer"]',
|
|
502
|
+
content:
|
|
503
|
+
'Click on the patient whose chart you want to access. Make sure to select a patient without the "Active visit" label, as we will start a visit in the next steps of the tutorial.',
|
|
504
|
+
spotlightClicks: true,
|
|
505
|
+
disableOverlay: true,
|
|
506
|
+
placement: 'left',
|
|
507
|
+
hideNextButton: true,
|
|
508
|
+
hideBackButton: true,
|
|
509
|
+
data: {
|
|
510
|
+
autoNextOn: '[data-extension-slot-name="action-menu-patient-chart-items-slot"]',
|
|
511
|
+
},
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
target: '[aria-label="Start a visit"]',
|
|
515
|
+
content:
|
|
516
|
+
'Welcome to the patient chart view! Here, you can find detailed patient information, records of clinical visits, demographic information, graphs, and medical forms. Click on the "Start Visit" button to open the Start Visit form.',
|
|
517
|
+
spotlightClicks: true,
|
|
518
|
+
hideNextButton: true,
|
|
519
|
+
hideBackButton: true,
|
|
520
|
+
data: {
|
|
521
|
+
autoNextOn: '[data-openmrs-role="Start Visit Form"]',
|
|
522
|
+
},
|
|
523
|
+
},
|
|
524
|
+
{
|
|
525
|
+
target: '[data-openmrs-role="Start Visit Form"]',
|
|
526
|
+
title: 'Start Visit Form',
|
|
527
|
+
content:
|
|
528
|
+
'Fill out the necessary information here and click on the "Start Visit" button at the bottom of this form to start the visit. You can click on "Discard" if you don\'t want to start a visit at the moment.',
|
|
529
|
+
disableOverlay: true,
|
|
530
|
+
spotlightClicks: true,
|
|
531
|
+
hideNextButton: true,
|
|
532
|
+
hideBackButton: true,
|
|
533
|
+
placement: 'left',
|
|
534
|
+
data: {
|
|
535
|
+
autoNextOn: '.omrs-snackbars-container div',
|
|
536
|
+
},
|
|
537
|
+
},
|
|
538
|
+
{
|
|
539
|
+
target: 'body',
|
|
540
|
+
content:
|
|
541
|
+
'That\'s the end of this tutorial! If you have already started a visit, you will see an "Active Visit" tag near the patient\'s name. After the visit is started, you can do things like capturing vitals, biometrics, and more through this patient chart view.',
|
|
542
|
+
hideBackButton: true,
|
|
543
|
+
placement: 'center',
|
|
544
|
+
},
|
|
545
|
+
],
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
title: 'Tutorial for demo purposes',
|
|
549
|
+
description: 'This tutorial is for demo / debugging purposes only',
|
|
550
|
+
steps: [
|
|
551
|
+
{
|
|
552
|
+
target: '[aria-label="OpenMRS"]',
|
|
553
|
+
content: 'Let us walk through the tutorial features together.',
|
|
554
|
+
},
|
|
555
|
+
{
|
|
556
|
+
target: '[data-extension-id="clinical-appointments-dashboard-link"]',
|
|
557
|
+
content:
|
|
558
|
+
'Click on this link. This step is configured to be automatic and will take you to the next step. Once the given query selector resolves an element on the page, it will proceed automatically.',
|
|
559
|
+
hideCloseButton: true,
|
|
560
|
+
hideNextButton: true,
|
|
561
|
+
spotlightClicks: true,
|
|
562
|
+
data: {
|
|
563
|
+
autoNextOn: '[data-extension-id="clinical-appointments-dashboard"]',
|
|
564
|
+
},
|
|
565
|
+
},
|
|
566
|
+
{
|
|
567
|
+
target: '[data-extension-id="clinical-appointments-dashboard"]',
|
|
568
|
+
content: 'Congrats! You have reached the clinical appointments dashboard.',
|
|
569
|
+
},
|
|
570
|
+
{
|
|
571
|
+
target: '[aria-label="OpenMRS"]',
|
|
572
|
+
content:
|
|
573
|
+
'Now, let’s see how this behaves when elements take a bit longer to load. Set your network throttling to "Slow 3G" and hit "Next".',
|
|
574
|
+
|
|
575
|
+
hideBackButton: true,
|
|
576
|
+
},
|
|
577
|
+
{
|
|
578
|
+
target: '[data-extension-id="laboratory-dashboard-link"]',
|
|
579
|
+
content:
|
|
580
|
+
'Let\'s navigate to the laboratory page. Our next target is the "Tests Ordered" table. I’ll disappear once you reach the laboratory page and reappear when the table is loaded. See you there!',
|
|
581
|
+
hideCloseButton: true,
|
|
582
|
+
hideNextButton: true,
|
|
583
|
+
|
|
584
|
+
spotlightClicks: true,
|
|
585
|
+
data: {
|
|
586
|
+
autoNextOn: '[data-extension-id="laboratory-dashboard"]',
|
|
587
|
+
},
|
|
588
|
+
},
|
|
589
|
+
{
|
|
590
|
+
target: '[data-extension-id="all-lab-requests-table"] table',
|
|
591
|
+
content:
|
|
592
|
+
"It's me again. By default, I'll wait for the element to appear, so you don't have to worry about slow components when writing a new tutorial.",
|
|
593
|
+
|
|
594
|
+
hideBackButton: true,
|
|
595
|
+
},
|
|
596
|
+
{
|
|
597
|
+
target: '[aria-label="OpenMRS"]',
|
|
598
|
+
content:
|
|
599
|
+
"Now let's do a fun exercise. Can you find out how to view a patient's allergies on your own? Feel free to turn off network throttling. ;) ",
|
|
600
|
+
},
|
|
601
|
+
{
|
|
602
|
+
target: '[data-extension-slot-name="patient-chart-allergies-dashboard-slot"]',
|
|
603
|
+
content:
|
|
604
|
+
'Great job! You found the allergies section! This is the end of the tutorial. Feel free to explore the system on your own or check out the other tutorials.',
|
|
605
|
+
},
|
|
606
|
+
],
|
|
607
|
+
},
|
|
483
608
|
],
|
|
484
609
|
},
|
|
485
610
|
};
|
|
@@ -493,7 +618,6 @@ export type Config = {
|
|
|
493
618
|
target: string;
|
|
494
619
|
title: string;
|
|
495
620
|
content: string;
|
|
496
|
-
disableBeacon: boolean;
|
|
497
621
|
data?: {
|
|
498
622
|
autoNextOn?: boolean;
|
|
499
623
|
};
|