@openmrs/ngx-formentry 3.2.1-pre.275 → 3.2.1-pre.276

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.
Files changed (50) hide show
  1. package/package.json +5 -1
  2. package/src/app/adult-1.4.json +6858 -0
  3. package/src/app/adult-1.6.json +8082 -0
  4. package/src/app/adult.json +5700 -0
  5. package/src/app/app.component.html +25 -0
  6. package/src/app/app.component.spec.ts +23 -0
  7. package/src/app/app.component.ts +414 -0
  8. package/src/app/app.module.ts +24 -0
  9. package/src/app/mock/mock-form.ts +101 -0
  10. package/src/app/mock/mock-obs.ts +440 -0
  11. package/src/app/mock/mock-translations.ts +73 -0
  12. package/src/app/mock/obs.json +4188 -0
  13. package/src/app/mock/orders.json +338 -0
  14. package/src/app/mock/schema/adult-return.json +72 -0
  15. package/src/app/mock/schema/compiled-adult-return.json +706 -0
  16. package/src/app/mock/schema/component_art.json +1705 -0
  17. package/src/app/mock/schema/component_hospitalization.json +133 -0
  18. package/src/app/mock/schema/component_preclinic-review.json +480 -0
  19. package/src/app/ncd-registration-1.0.json +456 -0
  20. package/src/app/translate/json-loader.ts +10 -0
  21. package/src/app/translate/translate.module.ts +23 -0
  22. package/src/assets/.gitkeep +0 -0
  23. package/src/assets/carbon.select.theme.css +356 -0
  24. package/src/environments/environment.prod.ts +3 -0
  25. package/src/environments/environment.ts +15 -0
  26. package/src/favicon.ico +0 -0
  27. package/src/index.html +23 -0
  28. package/src/karma.conf.js +37 -0
  29. package/src/main.ts +13 -0
  30. package/src/polyfills.ts +68 -0
  31. package/src/styles.scss +8 -0
  32. package/src/test.ts +23 -0
  33. package/src/translations/en.json +53 -0
  34. package/src/translations/fr.json +53 -0
  35. package/src/tsconfig.app.json +13 -0
  36. package/src/tsconfig.spec.json +9 -0
  37. package/src/tslint.json +9 -0
  38. package/src/typings.d.ts +4 -0
  39. package/.editorconfig +0 -13
  40. package/.eslintrc.json +0 -45
  41. package/.prettierignore +0 -40
  42. package/.prettierrc +0 -6
  43. package/.turbo/turbo-build:lib.log +0 -37
  44. package/.yarn/plugins/@yarnpkg/plugin-version.cjs +0 -550
  45. package/angular.json +0 -164
  46. package/proxy.conf.json +0 -6
  47. package/scripts/build.sh +0 -2
  48. package/tsconfig.json +0 -29
  49. package/turbo.json +0 -18
  50. /package/{.yarn/versions/6b8f5374.yml → src/app/app.component.css} +0 -0
@@ -0,0 +1,706 @@
1
+ {
2
+ "name": "ampath_poc_adult_return_visit_form_v1.0",
3
+ "uuid": "xxxx",
4
+ "processor": "EncounterFormProcessor",
5
+ "referencedForms": [
6
+ {
7
+ "formName": "component_preclinic-review",
8
+ "alias": "pcr"
9
+ },
10
+ {
11
+ "formName": "component_hospitalization",
12
+ "alias": "hosp"
13
+ },
14
+ {
15
+ "formName": "component_art",
16
+ "alias": "art"
17
+ }
18
+ ],
19
+ "pages": [
20
+ {
21
+ "label": "Pre-Clinic Review",
22
+ "sections": [
23
+ {
24
+ "label": "Pre-clinic Review",
25
+ "isExpanded": "true",
26
+ "questions": [
27
+ {
28
+ "type": "obsGroup",
29
+ "label": "Transfer in from other centre, detailed",
30
+ "questionOptions": {
31
+ "concept": "0f8b7f4e-1656-46b7-bc93-d1fe4f193f5d",
32
+ "rendering": "group"
33
+ },
34
+ "questions": [
35
+ {
36
+ "label": "Transfer in from other centre:",
37
+ "id": "transferIn",
38
+ "questionOptions": {
39
+ "rendering": "select",
40
+ "concept": "35ed8aad-d6fa-429e-961a-c877e1ad4953",
41
+ "answers": [
42
+ {
43
+ "concept": "a89c2f42-1350-11df-a1f1-0026b9348838",
44
+ "label": "Ampath"
45
+ },
46
+ {
47
+ "concept": "a89c301e-1350-11df-a1f1-0026b9348838",
48
+ "label": "Non-Ampath"
49
+ }
50
+ ]
51
+ },
52
+ "type": "obs",
53
+ "validators": []
54
+ },
55
+ {
56
+ "type": "personAttribute",
57
+ "label": "If transfer in from other AMPATH clinic (specify):",
58
+ "id": "transfered_in_to_ampath",
59
+ "required": "false",
60
+ "default": "",
61
+ "questionOptions": {
62
+ "rendering": "ui-select-extended",
63
+ "attributeType": "7ef225db-94db-4e40-9dd8-fb121d9dc370"
64
+ },
65
+ "hide": {
66
+ "hideWhenExpression": "transferIn !== 'a89c2f42-1350-11df-a1f1-0026b9348838'"
67
+ }
68
+ },
69
+ {
70
+ "type": "obs",
71
+ "label": "If non-Ampath, specify:",
72
+ "id": "nonAmpathSpecify",
73
+ "questionOptions": {
74
+ "concept": "a8a06fc6-1350-11df-a1f1-0026b9348838",
75
+ "rendering": "text"
76
+ },
77
+ "validators": [],
78
+ "hide": {
79
+ "hideWhenExpression": "transferIn !== 'a89c301e-1350-11df-a1f1-0026b9348838'"
80
+ }
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ "label": "Was this visit scheduled?",
86
+ "id": "scheduledVisit",
87
+ "questionOptions": {
88
+ "rendering": "select",
89
+ "concept": "a89ff9a6-1350-11df-a1f1-0026b9348838",
90
+ "answers": [
91
+ {
92
+ "concept": "a89b6440-1350-11df-a1f1-0026b9348838",
93
+ "label": "Scheduled visit"
94
+ },
95
+ {
96
+ "concept": "a89ff816-1350-11df-a1f1-0026b9348838",
97
+ "label": "Unscheduled Visit Early"
98
+ },
99
+ {
100
+ "concept": "a89ff8de-1350-11df-a1f1-0026b9348838",
101
+ "label": "Unscheduled Visit Late"
102
+ }
103
+ ]
104
+ },
105
+ "type": "obs",
106
+ "validators": []
107
+ },
108
+ {
109
+ "label": "If Unscheduled, actual scheduled date",
110
+ "id": "actualDate",
111
+ "type": "obs",
112
+ "required": {
113
+ "type": "conditionalRequired",
114
+ "message": "Patient visit marked as unscheduled. Please provide the scheduled date.",
115
+ "referenceQuestionId": "scheduledVisit",
116
+ "referenceQuestionAnswers": [
117
+ "a89ff816-1350-11df-a1f1-0026b9348838",
118
+ "a89ff8de-1350-11df-a1f1-0026b9348838"
119
+ ]
120
+ },
121
+ "questionOptions": {
122
+ "rendering": "date",
123
+ "concept": "dc1942b2-5e50-4adc-949d-ad6c905f054e"
124
+ },
125
+ "validators": [
126
+ {
127
+ "type": "date",
128
+ "allowFutureDates": "true"
129
+ },
130
+ {
131
+ "type": "js_expression",
132
+ "failsWhenExpression": "!isEmpty(scheduledVisit) && arrayContains(['a89ff816-1350-11df-a1f1-0026b9348838','a89ff8de-1350-11df-a1f1-0026b9348838'], scheduledVisit) && isEmpty(myValue)",
133
+ "message": "Patient visit marked as unscheduled. Please provide the scheduled date."
134
+ }
135
+ ],
136
+ "hide": {
137
+ "hideWhenExpression": "!arrayContains(['a89ff816-1350-11df-a1f1-0026b9348838','a89ff8de-1350-11df-a1f1-0026b9348838'], scheduledVisit)"
138
+ }
139
+ },
140
+ {
141
+ "label": "Patient covered by NHIF:",
142
+ "questionOptions": {
143
+ "rendering": "select",
144
+ "concept": "a8b02524-1350-11df-a1f1-0026b9348838",
145
+ "answers": [
146
+ {
147
+ "concept": "8b715fed-97f6-4e38-8f6a-c167a42f8923",
148
+ "label": "Yes"
149
+ },
150
+ {
151
+ "concept": "a899e0ac-1350-11df-a1f1-0026b9348838",
152
+ "label": "No"
153
+ }
154
+ ]
155
+ },
156
+ "type": "obs",
157
+ "validators": []
158
+ }
159
+ ]
160
+ }
161
+ ]
162
+ },
163
+ {
164
+ "label": "Medical History",
165
+ "sections": [
166
+ {
167
+ "label": "Social History",
168
+ "questions": [
169
+ {
170
+ "label": "Civil status:",
171
+ "id": "civil_status_question",
172
+ "type": "obs",
173
+ "questionOptions": {
174
+ "rendering": "select",
175
+ "concept": "a899a9f2-1350-11df-a1f1-0026b9348838",
176
+ "answers": [
177
+ {
178
+ "concept": "a899af10-1350-11df-a1f1-0026b9348838",
179
+ "label": "Cohabitating"
180
+ },
181
+ {
182
+ "concept": "a899ad58-1350-11df-a1f1-0026b9348838",
183
+ "label": "Divorced"
184
+ },
185
+ {
186
+ "concept": "a8aa76b0-1350-11df-a1f1-0026b9348838",
187
+ "label": "Married monogamous"
188
+ },
189
+ {
190
+ "concept": "a8b03712-1350-11df-a1f1-0026b9348838",
191
+ "label": "Married polygamous"
192
+ },
193
+ {
194
+ "concept": "a899aba0-1350-11df-a1f1-0026b9348838",
195
+ "label": "Separated"
196
+ },
197
+ {
198
+ "concept": "a899ac7c-1350-11df-a1f1-0026b9348838",
199
+ "label": "Single"
200
+ },
201
+ {
202
+ "concept": "a899ae34-1350-11df-a1f1-0026b9348838",
203
+ "label": "Widowed"
204
+ }
205
+ ]
206
+ },
207
+ "validators": []
208
+ },
209
+ {
210
+ "label": "Discordant couple:",
211
+ "questionOptions": {
212
+ "answers": [
213
+ {
214
+ "concept": "a899b35c-1350-11df-a1f1-0026b9348838",
215
+ "label": "Yes"
216
+ },
217
+ {
218
+ "concept": "a899b42e-1350-11df-a1f1-0026b9348838",
219
+ "label": "No"
220
+ },
221
+ {
222
+ "concept": "a899b50a-1350-11df-a1f1-0026b9348838",
223
+ "label": "Unknown"
224
+ },
225
+ {
226
+ "concept": "a89ad3a4-1350-11df-a1f1-0026b9348838",
227
+ "label": "N/A"
228
+ }
229
+ ],
230
+ "concept": "a8af49d8-1350-11df-a1f1-0026b9348838",
231
+ "rendering": "select"
232
+ },
233
+ "type": "obs",
234
+ "validators": []
235
+ }
236
+ ]
237
+ },
238
+ {
239
+ "label": "Prevention With Positives",
240
+ "questions": [
241
+ {
242
+ "label": "Prevention with positives: At risk population:",
243
+ "required": "true",
244
+ "questionOptions": {
245
+ "rendering": "select",
246
+ "concept": "93aa3f1d-1c39-4196-b5e6-8adc916cd5d6",
247
+ "answers": [
248
+ {
249
+ "concept": "5da55301-e28e-4fdf-8b64-02622dedc8b0",
250
+ "label": "Client of sex worker"
251
+ },
252
+ {
253
+ "concept": "a89ff438-1350-11df-a1f1-0026b9348838",
254
+ "label": "Commercial sex worker"
255
+ },
256
+ {
257
+ "concept": "a8af49d8-1350-11df-a1f1-0026b9348838",
258
+ "label": "Discordant couple"
259
+ },
260
+ {
261
+ "concept": "a890d57a-1350-11df-a1f1-0026b9348838",
262
+ "label": "IV drug use"
263
+ },
264
+ {
265
+ "concept": "e19c35f0-12f0-46c2-94ea-97050f37b811",
266
+ "label": "MSM"
267
+ },
268
+ {
269
+ "concept": "a89ad3a4-1350-11df-a1f1-0026b9348838",
270
+ "label": "N/A"
271
+ }
272
+ ]
273
+ },
274
+ "type": "obs",
275
+ "validators": []
276
+ },
277
+ {
278
+ "label": "Prevention with positives: PWP services:",
279
+ "required": "true",
280
+ "questionOptions": {
281
+ "rendering": "select",
282
+ "concept": "9ce5dbf0-a141-4ad8-8c9d-cd2bf84fe72b",
283
+ "answers": [
284
+ {
285
+ "concept": "f0a280e8-eb88-41a8-837a-f9949ed1b9cd",
286
+ "label": "Condom promotion/provision"
287
+ },
288
+ {
289
+ "concept": "bf51f71e-937c-4da5-ae07-654acf59f5bb",
290
+ "label": "Couple counseling"
291
+ },
292
+ {
293
+ "concept": "91f43249-73c7-427c-8300-2038fc0d6be8",
294
+ "label": "Needle exchange"
295
+ },
296
+ {
297
+ "concept": "05656545-86be-4605-9527-34fb580534b1",
298
+ "label": "Targeted risk reduction"
299
+ },
300
+ {
301
+ "concept": "a89ad3a4-1350-11df-a1f1-0026b9348838",
302
+ "label": "N/A"
303
+ }
304
+ ]
305
+ },
306
+ "type": "obs",
307
+ "validators": []
308
+ }
309
+ ]
310
+ },
311
+ {
312
+ "label": "Hospitalization History",
313
+ "questions": [
314
+ {
315
+ "type": "obsGroup",
316
+ "label": "Recent hospitalizations",
317
+ "questionOptions": {
318
+ "rendering": "group",
319
+ "concept": "a8a003a6-1350-11df-a1f1-0026b9348838"
320
+ },
321
+ "questions": [
322
+ {
323
+ "label": "Was the patient hospitalized since last visit?",
324
+ "id": "wasHospitalized",
325
+ "questionOptions": {
326
+ "concept": "a898c56e-1350-11df-a1f1-0026b9348838",
327
+ "answers": [
328
+ {
329
+ "concept": "a899b35c-1350-11df-a1f1-0026b9348838",
330
+ "label": "Yes"
331
+ },
332
+ {
333
+ "concept": "a899b42e-1350-11df-a1f1-0026b9348838",
334
+ "label": "No"
335
+ }
336
+ ],
337
+ "rendering": "select"
338
+ },
339
+ "type": "obs",
340
+ "validators": []
341
+ }
342
+ ]
343
+ },
344
+ {
345
+ "type": "obsGroup",
346
+ "label": "If yes reason for hospitalization:",
347
+ "questionOptions": {
348
+ "concept": "a8a003a6-1350-11df-a1f1-0026b9348838",
349
+ "rendering": "repeating"
350
+ },
351
+ "questions": [
352
+ {
353
+ "label": "Reason for hospitalization:",
354
+ "questionOptions": {
355
+ "concept": "a8a07a48-1350-11df-a1f1-0026b9348838",
356
+ "rendering": "problem"
357
+ },
358
+ "type": "obs",
359
+ "validators": [
360
+ {
361
+ "type": "conditionalAnswered",
362
+ "message": "Providing diagnosis but didn't answer that patient was hospitalized in question 11a",
363
+ "referenceQuestionId": "wasHospitalized",
364
+ "referenceQuestionAnswers": [
365
+ "a899b35c-1350-11df-a1f1-0026b9348838"
366
+ ]
367
+ }
368
+ ]
369
+ }
370
+ ]
371
+ }
372
+ ]
373
+ }
374
+ ]
375
+ },
376
+ {
377
+ "label": "ART History",
378
+ "sections": [
379
+ {
380
+ "label": "ART History",
381
+ "isExpanded": "true",
382
+ "questions": [
383
+ {
384
+ "label": "Patient currently on ART:",
385
+ "required": "true",
386
+ "id": "onArt",
387
+ "historicalExpression": "arrayContainsAny(['a89b7c50-1350-11df-a1f1-0026b9348838','a89b7ae8-1350-11df-a1f1-0026b9348838','a8a00220-1350-11df-a1f1-0026b9348838','a89b77aa-1350-11df-a1f1-0026b9348838'], HD.getObject('prevEnc').getValue('a89b75d4-1350-11df-a1f1-0026b9348838')) ? 'a899b35c-1350-11df-a1f1-0026b9348838' : HD.getObject('prevEnc').getValue('a89ae254-1350-11df-a1f1-0026b9348838')",
388
+ "questionOptions": {
389
+ "concept": "a89ae254-1350-11df-a1f1-0026b9348838",
390
+ "answers": [
391
+ {
392
+ "concept": "a899b35c-1350-11df-a1f1-0026b9348838",
393
+ "label": "Yes"
394
+ },
395
+ {
396
+ "concept": "a899b42e-1350-11df-a1f1-0026b9348838",
397
+ "label": "No"
398
+ }
399
+ ],
400
+ "rendering": "select"
401
+ },
402
+ "type": "obs",
403
+ "validators": []
404
+ },
405
+ {
406
+ "label": "Reason for use:",
407
+ "id": "reasonUse",
408
+ "type": "obs",
409
+ "questionOptions": {
410
+ "concept": "a8a30d1c-1350-11df-a1f1-0026b9348838",
411
+ "rendering": "select",
412
+ "answers": [
413
+ {
414
+ "concept": "a89adc46-1350-11df-a1f1-0026b9348838",
415
+ "label": "Treatment"
416
+ },
417
+ {
418
+ "concept": "a8a19c20-1350-11df-a1f1-0026b9348838",
419
+ "label": "PEP"
420
+ },
421
+ {
422
+ "concept": "a89fbedc-1350-11df-a1f1-0026b9348838",
423
+ "label": "PMTCT"
424
+ }
425
+ ]
426
+ },
427
+ "validators": [],
428
+ "hide": {
429
+ "hideWhenExpression": "onArt!== 'a899b35c-1350-11df-a1f1-0026b9348838'"
430
+ }
431
+ },
432
+ {
433
+ "label": "If patient started ART since last visit, enter start date:",
434
+ "id": "startDate",
435
+ "questionOptions": {
436
+ "concept": "a89d200a-1350-11df-a1f1-0026b9348838",
437
+ "rendering": "date"
438
+ },
439
+ "type": "obs",
440
+ "validators": [
441
+ {
442
+ "type": "date"
443
+ }
444
+ ],
445
+ "hide": {
446
+ "hideWhenExpression": "onArt !== 'a899b35c-1350-11df-a1f1-0026b9348838'"
447
+ }
448
+ },
449
+ {
450
+ "label": "Line of ART patient is taking:",
451
+ "id": "current_arv_line",
452
+ "historicalExpression": "!_.isEmpty(HD.getObject('prevEnc').getValue('a89b6a62-1350-11df-a1f1-0026b9348838')) ? undefined : HD.getObject('prevEnc').getValue('04616f5d-b961-4f41-bbd7-bcc0dd235577')",
453
+ "questionOptions": {
454
+ "concept": "04616f5d-b961-4f41-bbd7-bcc0dd235577",
455
+ "answers": [
456
+ {
457
+ "concept": "034047bd-3fa1-4b2a-b0f0-2787e9b9f7b3",
458
+ "label": "First line regimen"
459
+ },
460
+ {
461
+ "concept": "8f8a715d-e49a-4b2c-aa3a-83fa9d7a4254",
462
+ "label": "Second line regimen"
463
+ },
464
+ {
465
+ "concept": "a90ebdd2-351f-485a-b850-4938fcca2729",
466
+ "label": "Third line regimen"
467
+ }
468
+ ],
469
+ "rendering": "select"
470
+ },
471
+ "type": "obs",
472
+ "validators": [
473
+ {
474
+ "type": "js_expression",
475
+ "failsWhenExpression": "isEmpty(myValue) && !isEmpty(onArt) && onArt === 'a899b35c-1350-11df-a1f1-0026b9348838'",
476
+ "message": "Patient previously marked as on ART. Please provide the treatment category."
477
+ }
478
+ ],
479
+ "hide": {
480
+ "hideWhenExpression": "onArt !== 'a899b35c-1350-11df-a1f1-0026b9348838'"
481
+ }
482
+ },
483
+ {
484
+ "label": "Patient's current ART regimen, adults:",
485
+ "id": "current_art_regimen_adult",
486
+ "historicalExpression": "_.isEmpty(HD.getObject('prevEnc').getValue('a89b6a62-1350-11df-a1f1-0026b9348838')) ? HD.getObject('prevEnc').getValue('a8a08344-1350-11df-a1f1-0026b9348838.a899cf5e-1350-11df-a1f1-0026b9348838') : HD.getObject('prevEnc').getValue('a89b6a62-1350-11df-a1f1-0026b9348838')",
487
+ "questionOptions": {
488
+ "concept": "a899cf5e-1350-11df-a1f1-0026b9348838",
489
+ "answers": [
490
+ {
491
+ "concept": "6a73f32d-1870-4527-af6e-74443251ded2",
492
+ "label": "NVP200/ZDV300/3TC150"
493
+ },
494
+ {
495
+ "concept": "1c4a75d0-cc91-4752-b0a5-4b833326ff7a",
496
+ "label": "TDF300mg/3TC300mg/EFV600mg"
497
+ },
498
+ {
499
+ "concept": "a89cc876-1350-11df-a1f1-0026b9348838",
500
+ "label": "3TC300mg/TDF300mg"
501
+ },
502
+ {
503
+ "concept": "3d587177-984e-4eeb-93f2-3223b6c1dd7c",
504
+ "label": "3TC150mg/D4T30mg"
505
+ },
506
+ {
507
+ "concept": "a896758e-1350-11df-a1f1-0026b9348838",
508
+ "label": "3TC150mg/ZDV300mg"
509
+ },
510
+ {
511
+ "concept": "a897e608-1350-11df-a1f1-0026b9348838",
512
+ "label": "NVP200/D4T30/3TC150"
513
+ },
514
+ {
515
+ "concept": "a8afcf84-1350-11df-a1f1-0026b9348838",
516
+ "label": "Emtri200mg/TDF300(Truvada)"
517
+ },
518
+ {
519
+ "concept": "a897e7c0-1350-11df-a1f1-0026b9348838",
520
+ "label": "Aluvia(Kaletra)200mg/LPV50mg"
521
+ },
522
+ {
523
+ "concept": "a8afc066-1350-11df-a1f1-0026b9348838",
524
+ "label": "Atazanavir300/Ritonavir100"
525
+ },
526
+ {
527
+ "concept": "dabf36cb-dd9a-4542-a8ef-874c1ee5be4a",
528
+ "label": "FTC200mg/RPV25mg/TDF245mg(Eviplera)"
529
+ },
530
+ {
531
+ "concept": "a897f8a0-1350-11df-a1f1-0026b9348838",
532
+ "label": "Abacavir300mg"
533
+ },
534
+ {
535
+ "concept": "a89677e6-1350-11df-a1f1-0026b9348838",
536
+ "label": "Efavirenz600mg"
537
+ },
538
+ {
539
+ "concept": "a89673f4-1350-11df-a1f1-0026b9348838",
540
+ "label": "Lamivudine150mg"
541
+ },
542
+ {
543
+ "concept": "a8967656-1350-11df-a1f1-0026b9348838",
544
+ "label": "Nevirapine200mg"
545
+ },
546
+ {
547
+ "concept": "a8afbd64-1350-11df-a1f1-0026b9348838",
548
+ "label": "Raltegravir 400mg"
549
+ },
550
+ {
551
+ "concept": "a897ea4a-1350-11df-a1f1-0026b9348838",
552
+ "label": "Zidovudine300mg"
553
+ },
554
+ {
555
+ "concept": "68a0a5dd-1e91-43a2-8dce-c6e84a14de04",
556
+ "label": "Darunavir 600mg"
557
+ },
558
+ {
559
+ "concept": "38fbba9c-4b26-412d-9659-8dd649514d66",
560
+ "label": "Etravirine 100mg"
561
+ },
562
+ {
563
+ "concept": "a899e0ac-1350-11df-a1f1-0026b9348838",
564
+ "label": "None"
565
+ },
566
+ {
567
+ "concept": "a8a87a86-1350-11df-a1f1-0026b9348838",
568
+ "label": "Other"
569
+ }
570
+ ],
571
+ "rendering": "multiCheckbox"
572
+ },
573
+ "type": "obs",
574
+ "validators": [],
575
+ "hide": {
576
+ "hideWhenExpression": "onArt !== 'a899b35c-1350-11df-a1f1-0026b9348838'"
577
+ }
578
+ },
579
+ {
580
+ "type": "obsGroup",
581
+ "label": "ART adherence",
582
+ "questionOptions": {
583
+ "concept": "bc3834dd-ef07-4027-be30-729baa069291",
584
+ "rendering": "group"
585
+ },
586
+ "questions": [
587
+ {
588
+ "label": "Adherence on ART:",
589
+ "id": "artAdherence",
590
+ "questionOptions": {
591
+ "concept": "2c363a0e-7cf9-42cd-9778-1301b09c4484",
592
+ "answers": [
593
+ {
594
+ "concept": "a8b0f882-1350-11df-a1f1-0026b9348838",
595
+ "label": "Good"
596
+ },
597
+ {
598
+ "concept": "a73d20b3-d721-4763-a362-14a0c41a6b5e",
599
+ "label": "Fair"
600
+ },
601
+ {
602
+ "concept": "fdaf8b47-ea14-4d28-80fa-e1da58a30e8b",
603
+ "label": "Poor"
604
+ }
605
+ ],
606
+ "rendering": "select"
607
+ },
608
+ "type": "obs",
609
+ "validators": [
610
+ {
611
+ "type": "js_expression",
612
+ "failsWhenExpression": "!isEmpty(onArt) && onArt === 'a899b35c-1350-11df-a1f1-0026b9348838' && isEmpty(myValue)",
613
+ "message": "Patient on ARVs. Please provide adherence history."
614
+ }
615
+ ],
616
+ "hide": {
617
+ "hideWhenExpression": "onArt !== 'a899b35c-1350-11df-a1f1-0026b9348838'"
618
+ }
619
+ },
620
+ {
621
+ "label": "Adherence (ART) Reason for poor/fair:",
622
+ "id": "artReasonPoorFair",
623
+ "questionOptions": {
624
+ "concept": "a89ebbc2-1350-11df-a1f1-0026b9348838",
625
+ "answers": [
626
+ {
627
+ "concept": "a89ced88-1350-11df-a1f1-0026b9348838",
628
+ "label": "Alcohol"
629
+ },
630
+ {
631
+ "concept": "a8935fde-1350-11df-a1f1-0026b9348838",
632
+ "label": "Depression"
633
+ },
634
+ {
635
+ "concept": "a89eac04-1350-11df-a1f1-0026b9348838",
636
+ "label": "Felt well"
637
+ },
638
+ {
639
+ "concept": "a89eacc2-1350-11df-a1f1-0026b9348838",
640
+ "label": "Forgot"
641
+ },
642
+ {
643
+ "concept": "7211031b-0685-44bc-a5e9-5a018d0173ea",
644
+ "label": "Gave away"
645
+ },
646
+ {
647
+ "concept": "a8af4cee-1350-11df-a1f1-0026b9348838",
648
+ "label": "Lost/Ran out of pills"
649
+ },
650
+ {
651
+ "concept": "ecafa614-49c5-4eba-84c7-b85b0d9e2c46",
652
+ "label": "Pill Burden"
653
+ },
654
+ {
655
+ "concept": "a89eb8c0-1350-11df-a1f1-0026b9348838",
656
+ "label": "Side Effects"
657
+ },
658
+ {
659
+ "concept": "a89eba46-1350-11df-a1f1-0026b9348838",
660
+ "label": "Stigma"
661
+ },
662
+ {
663
+ "concept": "c0c9eab3-46f6-453c-b29d-dc1c242317c5",
664
+ "label": "Stock out"
665
+ },
666
+ {
667
+ "concept": "a89de2d8-1350-11df-a1f1-0026b9348838",
668
+ "label": "Too ill"
669
+ },
670
+ {
671
+ "concept": "a897fdaa-1350-11df-a1f1-0026b9348838",
672
+ "label": "Travel Problems"
673
+ },
674
+ {
675
+ "concept": "a8aaf3e2-1350-11df-a1f1-0026b9348838",
676
+ "label": "Other"
677
+ }
678
+ ],
679
+ "rendering": "multiCheckbox"
680
+ },
681
+ "type": "obs",
682
+ "validators": [],
683
+ "hide": {
684
+ "hideWhenExpression": "onArt !== 'a899b35c-1350-11df-a1f1-0026b9348838' || !arrayContains(['a73d20b3-d721-4763-a362-14a0c41a6b5e','fdaf8b47-ea14-4d28-80fa-e1da58a30e8b'], artAdherence) "
685
+ }
686
+ },
687
+ {
688
+ "label": "Adherence (ART): Other (specify):",
689
+ "type": "obs",
690
+ "questionOptions": {
691
+ "concept": "a8a06fc6-1350-11df-a1f1-0026b9348838",
692
+ "rendering": "text"
693
+ },
694
+ "validators": [],
695
+ "hide": {
696
+ "hideWhenExpression": "onArt !== 'a899b35c-1350-11df-a1f1-0026b9348838' || !arrayContains(['a73d20b3-d721-4763-a362-14a0c41a6b5e','fdaf8b47-ea14-4d28-80fa-e1da58a30e8b'], artAdherence)"
697
+ }
698
+ }
699
+ ]
700
+ }
701
+ ]
702
+ }
703
+ ]
704
+ }
705
+ ]
706
+ }