@aehrc/smart-forms-renderer 0.35.4 → 0.35.6
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/lib/hooks/useStringCalculatedExpression.js +1 -0
- package/lib/hooks/useStringCalculatedExpression.js.map +1 -1
- package/lib/hooks/useValueSetCodings.js +5 -0
- package/lib/hooks/useValueSetCodings.js.map +1 -1
- package/lib/interfaces/questionnaireStore.interface.d.ts +2 -1
- package/lib/stores/questionnaireStore.js +4 -0
- package/lib/stores/questionnaireStore.js.map +1 -1
- package/lib/utils/fhirpathAsyncUtils/fhirpath-async.d.ts +15 -0
- package/lib/utils/fhirpathAsyncUtils/fhirpath-async.js +433 -0
- package/lib/utils/fhirpathAsyncUtils/fhirpath-async.js.map +1 -0
- package/lib/utils/fhirpathAsyncUtils/outcome-utils.d.ts +3 -0
- package/lib/utils/fhirpathAsyncUtils/outcome-utils.js +42 -0
- package/lib/utils/fhirpathAsyncUtils/outcome-utils.js.map +1 -0
- package/lib/utils/fhirpathAsyncUtils/test-questionnaire.d.ts +1 -0
- package/lib/utils/fhirpathAsyncUtils/test-questionnaire.js +379 -0
- package/lib/utils/fhirpathAsyncUtils/test-questionnaire.js.map +1 -0
- package/lib/utils/questionnaireStoreUtils/addDisplayToCodings.d.ts +2 -1
- package/lib/utils/questionnaireStoreUtils/addDisplayToCodings.js +35 -0
- package/lib/utils/questionnaireStoreUtils/addDisplayToCodings.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js +6 -2
- package/lib/utils/questionnaireStoreUtils/createQuestionaireModel.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.d.ts +2 -1
- package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js +13 -3
- package/lib/utils/questionnaireStoreUtils/extractOtherExtensions.js.map +1 -1
- package/lib/utils/questionnaireStoreUtils/insertAnswerOptions.d.ts +7 -0
- package/lib/utils/questionnaireStoreUtils/insertAnswerOptions.js +44 -0
- package/lib/utils/questionnaireStoreUtils/insertAnswerOptions.js.map +1 -0
- package/package.json +3 -3
- package/src/hooks/useStringCalculatedExpression.ts +1 -0
- package/src/hooks/useValueSetCodings.ts +6 -0
- package/src/interfaces/questionnaireStore.interface.ts +2 -1
- package/src/stores/questionnaireStore.ts +8 -0
- package/src/stories/assets/questionnaires/QPrePopTester.ts +117 -0
- package/src/utils/fhirpathAsyncUtils/test-questionnaire.ts +383 -0
- package/src/utils/questionnaireStoreUtils/addDisplayToCodings.ts +40 -1
- package/src/utils/questionnaireStoreUtils/createQuestionaireModel.ts +16 -3
- package/src/utils/questionnaireStoreUtils/extractOtherExtensions.ts +15 -0
- package/src/utils/questionnaireStoreUtils/insertAnswerOptions.ts +56 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outcome-utils.js","sourceRoot":"","sources":["../../../src/utils/fhirpathAsyncUtils/outcome-utils.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,yGAAyG;AACzG,gEAAgE;AAChE,6EAA6E;AAE7E,MAAM,UAAU,sBAAsB,CACpC,QAAuD,EACvD,IA+BmB,EACnB,OAAe,EACf,MAAe,EACf,WAAoB;IAEpB,IAAI,MAAM,GAA4B;QACpC,YAAY,EAAE,kBAAkB;QAChC,KAAK,EAAE,EAAE;KACV,CAAC;IAEF,IAAI,KAAK,GAA0B;QACjC,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;KAC3B,CAAC;IACF,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO;QAAE,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7D,IAAI,WAAW;QAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,OAAgB,EAChB,OAAyB,EACzB,OAAe,EACf,IAAU;IAEV,IAAI,OAAO,EAAE;QACX,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3B,wCAAwC;QACxC,IAAI,KAAK,GAA0B;YACjC,QAAQ,EAAE,aAAa;YACvB,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC3B,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,SAAS;YACnF,KAAK,CAAC,OAAQ,CAAC,IAAI,IAAI,EAAE,GAAG,IAAI,CAAC;QACnC,IAAI,IAAI,EAAE;YACR,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;;gBAClD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SAC/C;KACF;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
const testQuestionnaire = {
|
|
2
|
+
resourceType: 'Questionnaire',
|
|
3
|
+
id: 'CalculatedExpressionCvdRiskCalculatorPrepop',
|
|
4
|
+
meta: {
|
|
5
|
+
versionId: '1',
|
|
6
|
+
lastUpdated: '2024-06-11T10:15:22.026+00:00',
|
|
7
|
+
source: '#CwlqsoGwV8CY9l7l'
|
|
8
|
+
},
|
|
9
|
+
extension: [
|
|
10
|
+
{
|
|
11
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
12
|
+
valueExpression: {
|
|
13
|
+
name: 'Condition',
|
|
14
|
+
language: 'application/x-fhir-query',
|
|
15
|
+
expression: 'Condition?patient={{%patient.id}}'
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
20
|
+
valueExpression: {
|
|
21
|
+
name: 'ObsTobaccoSmokingStatus',
|
|
22
|
+
language: 'application/x-fhir-query',
|
|
23
|
+
expression: 'Observation?code=72166-2&_count=1&_sort=-date&patient={{%patient.id}}'
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
28
|
+
valueExpression: {
|
|
29
|
+
name: 'ObsBodyHeight',
|
|
30
|
+
language: 'application/x-fhir-query',
|
|
31
|
+
expression: 'Observation?code=8302-2&_count=1&_sort=-date&patient={{%patient.id}}'
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
36
|
+
valueExpression: {
|
|
37
|
+
name: 'ObsBodyWeight',
|
|
38
|
+
language: 'application/x-fhir-query',
|
|
39
|
+
expression: 'Observation?code=29463-7&_count=1&_sort=-date&patient={{%patient.id}}'
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
44
|
+
valueExpression: {
|
|
45
|
+
name: 'ObsHeadCircumference',
|
|
46
|
+
language: 'application/x-fhir-query',
|
|
47
|
+
expression: 'Observation?code=9843-4&_count=1&_sort=-date&patient={{%patient.id}}'
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
52
|
+
valueExpression: {
|
|
53
|
+
name: 'ObsWaistCircumference',
|
|
54
|
+
language: 'application/x-fhir-query',
|
|
55
|
+
expression: 'Observation?code=8280-0&_count=1&_sort=-date&patient={{%patient.id}}'
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
60
|
+
valueExpression: {
|
|
61
|
+
name: 'ObsBloodPressure',
|
|
62
|
+
language: 'application/x-fhir-query',
|
|
63
|
+
expression: 'Observation?code=85354-9&_count=1&_sort=-date&patient={{%patient.id}}'
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
68
|
+
valueExpression: {
|
|
69
|
+
name: 'ObsHeartRate',
|
|
70
|
+
language: 'application/x-fhir-query',
|
|
71
|
+
expression: 'Observation?code=8867-4&_count=1&_sort=-date&patient={{%patient.id}}'
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
76
|
+
valueExpression: {
|
|
77
|
+
name: 'ObsTotalCholesterol',
|
|
78
|
+
language: 'application/x-fhir-query',
|
|
79
|
+
expression: 'Observation?code=14647-2&_count=1&_sort=-date&patient={{%patient.id}}'
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
84
|
+
valueExpression: {
|
|
85
|
+
name: 'ObsHDLCholesterol',
|
|
86
|
+
language: 'application/x-fhir-query',
|
|
87
|
+
expression: 'Observation?code=14646-4&_count=1&_sort=-date&patient={{%patient.id}}'
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
url: 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext',
|
|
92
|
+
extension: [
|
|
93
|
+
{
|
|
94
|
+
url: 'name',
|
|
95
|
+
valueCoding: {
|
|
96
|
+
system: 'http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext',
|
|
97
|
+
code: 'patient'
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
url: 'type',
|
|
102
|
+
valueCode: 'Patient'
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
url: 'description',
|
|
106
|
+
valueString: 'The patient that is to be used to pre-populate the form'
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
contained: [
|
|
112
|
+
{
|
|
113
|
+
resourceType: 'ValueSet',
|
|
114
|
+
id: 'MedicalHistory',
|
|
115
|
+
url: 'https://smartforms.csiro.au/ig/ValueSet/MedicalHistory',
|
|
116
|
+
name: 'MedicalHistory',
|
|
117
|
+
title: 'Medical History',
|
|
118
|
+
status: 'draft',
|
|
119
|
+
experimental: false,
|
|
120
|
+
description: 'The Medical History value set includes values that may be used to represent medical history, operations and hospital admissions.',
|
|
121
|
+
compose: {
|
|
122
|
+
include: [
|
|
123
|
+
{
|
|
124
|
+
system: 'http://snomed.info/sct',
|
|
125
|
+
filter: [
|
|
126
|
+
{
|
|
127
|
+
property: 'constraint',
|
|
128
|
+
op: '=',
|
|
129
|
+
value: '^32570581000036105|Problem/Diagnosis reference set| OR ^32570141000036105|Procedure foundation reference set|'
|
|
130
|
+
}
|
|
131
|
+
]
|
|
132
|
+
}
|
|
133
|
+
]
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
],
|
|
137
|
+
url: 'https://smartforms.csiro.au/docs/sdc/population/calculated-expression-2',
|
|
138
|
+
version: '0.1.0',
|
|
139
|
+
name: 'CalculatedExpressionCvdRiskCalculatorPrepop',
|
|
140
|
+
title: 'Calculated Expression CVD Risk Calculator - Pre-population',
|
|
141
|
+
status: 'draft',
|
|
142
|
+
date: '2024-05-01',
|
|
143
|
+
publisher: 'AEHRC CSIRO',
|
|
144
|
+
item: [
|
|
145
|
+
{
|
|
146
|
+
extension: [
|
|
147
|
+
{
|
|
148
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
149
|
+
valueExpression: {
|
|
150
|
+
name: 'female',
|
|
151
|
+
language: 'text/fhirpath',
|
|
152
|
+
expression: "iif(item.where(linkId='gender').answer.value.code='female', 1, 0)"
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
157
|
+
valueExpression: {
|
|
158
|
+
name: 'age',
|
|
159
|
+
language: 'text/fhirpath',
|
|
160
|
+
expression: "item.where(linkId='patient-age').answer.value"
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
165
|
+
valueExpression: {
|
|
166
|
+
name: 'cvdAge',
|
|
167
|
+
language: 'text/fhirpath',
|
|
168
|
+
expression: 'iif(%age > 74, 74, iif(%age < 35, 35, %age))'
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
173
|
+
valueExpression: {
|
|
174
|
+
name: 'systolicBP',
|
|
175
|
+
language: 'text/fhirpath',
|
|
176
|
+
expression: "item.where(linkId='systolic-blood-pressure').answer.value"
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
181
|
+
valueExpression: {
|
|
182
|
+
name: 'smoker',
|
|
183
|
+
language: 'text/fhirpath',
|
|
184
|
+
expression: "iif(item.where(linkId='smoking-status').answer.value.code='77176002', 1, 0)"
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
189
|
+
valueExpression: {
|
|
190
|
+
name: 'totalCh',
|
|
191
|
+
language: 'text/fhirpath',
|
|
192
|
+
expression: "item.where(linkId='total-cholesterol').answer.value"
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
197
|
+
valueExpression: {
|
|
198
|
+
name: 'hdl',
|
|
199
|
+
language: 'text/fhirpath',
|
|
200
|
+
expression: "item.where(linkId='hdl-cholesterol').answer.value"
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
205
|
+
valueExpression: {
|
|
206
|
+
name: 'diabetes',
|
|
207
|
+
language: 'text/fhirpath',
|
|
208
|
+
expression: "iif(item.where(linkId='has-diabetes').answer.value = true,1,0)"
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
213
|
+
valueExpression: {
|
|
214
|
+
name: 'ecgLvh',
|
|
215
|
+
language: 'text/fhirpath',
|
|
216
|
+
expression: "iif(item.where(linkId='ecg-lvh').answer.value = true,1,0)"
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
221
|
+
valueExpression: {
|
|
222
|
+
name: 'cBase',
|
|
223
|
+
language: 'text/fhirpath',
|
|
224
|
+
expression: '18.8144'
|
|
225
|
+
}
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
229
|
+
valueExpression: {
|
|
230
|
+
name: 'cFemale',
|
|
231
|
+
language: 'text/fhirpath',
|
|
232
|
+
expression: '%female * -1.2146'
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
237
|
+
valueExpression: {
|
|
238
|
+
name: 'cAge',
|
|
239
|
+
language: 'text/fhirpath',
|
|
240
|
+
expression: '%cvdAge.ln() * -1.8443'
|
|
241
|
+
}
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
245
|
+
valueExpression: {
|
|
246
|
+
name: 'cAgeFemale',
|
|
247
|
+
language: 'text/fhirpath',
|
|
248
|
+
expression: '%female * %cvdAge.ln() * 0.3668'
|
|
249
|
+
}
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
253
|
+
valueExpression: {
|
|
254
|
+
name: 'cSBP',
|
|
255
|
+
language: 'text/fhirpath',
|
|
256
|
+
expression: '%systolicBP.ln() * -1.4032'
|
|
257
|
+
}
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
261
|
+
valueExpression: {
|
|
262
|
+
name: 'cSmoker',
|
|
263
|
+
language: 'text/fhirpath',
|
|
264
|
+
expression: '%smoker * -0.3899'
|
|
265
|
+
}
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
269
|
+
valueExpression: {
|
|
270
|
+
name: 'cTcHdl',
|
|
271
|
+
language: 'text/fhirpath',
|
|
272
|
+
expression: '(%totalCh / %hdl).ln() * -0.539'
|
|
273
|
+
}
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
277
|
+
valueExpression: {
|
|
278
|
+
name: 'cDiabetes',
|
|
279
|
+
language: 'text/fhirpath',
|
|
280
|
+
expression: '%diabetes * -0.3036'
|
|
281
|
+
}
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
285
|
+
valueExpression: {
|
|
286
|
+
name: 'cDiabetesFemale',
|
|
287
|
+
language: 'text/fhirpath',
|
|
288
|
+
expression: '%female * %diabetes * -0.1697'
|
|
289
|
+
}
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
293
|
+
valueExpression: {
|
|
294
|
+
name: 'cEcgLvh',
|
|
295
|
+
language: 'text/fhirpath',
|
|
296
|
+
expression: '%ecgLvh * -0.3362'
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
301
|
+
valueExpression: {
|
|
302
|
+
name: 'sumOfCoeffs',
|
|
303
|
+
language: 'text/fhirpath',
|
|
304
|
+
expression: '%cBase + %cFemale + %cAge + %cAgeFemale + %cSBP + %cSmoker + %cTcHdl + %cDiabetes + %cDiabetesFemale + %cEcgLvh'
|
|
305
|
+
}
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
309
|
+
valueExpression: {
|
|
310
|
+
name: 'cvdScale',
|
|
311
|
+
language: 'text/fhirpath',
|
|
312
|
+
expression: '(0.6536 + (%sumOfCoeffs * -0.2402)).exp()'
|
|
313
|
+
}
|
|
314
|
+
},
|
|
315
|
+
{
|
|
316
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
317
|
+
valueExpression: {
|
|
318
|
+
name: 'cvdU',
|
|
319
|
+
language: 'text/fhirpath',
|
|
320
|
+
expression: '(5.ln()-%sumOfCoeffs)/%cvdScale'
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
url: 'http://hl7.org/fhir/StructureDefinition/variable',
|
|
325
|
+
valueExpression: {
|
|
326
|
+
name: 'cvdScore',
|
|
327
|
+
language: 'text/fhirpath',
|
|
328
|
+
expression: '(1 - (%cvdU.exp()*-1).exp()) * 100'
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
],
|
|
332
|
+
linkId: 'scenario-2',
|
|
333
|
+
text: "Request for X-Ray Right Foot as 'Procedure + Laterality'",
|
|
334
|
+
type: 'group',
|
|
335
|
+
item: [
|
|
336
|
+
{
|
|
337
|
+
extension: [
|
|
338
|
+
{
|
|
339
|
+
url: 'http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl',
|
|
340
|
+
valueCodeableConcept: {
|
|
341
|
+
coding: [
|
|
342
|
+
{
|
|
343
|
+
system: 'http://hl7.org/fhir/questionnaire-item-control',
|
|
344
|
+
code: 'autocomplete'
|
|
345
|
+
}
|
|
346
|
+
]
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
],
|
|
350
|
+
linkId: 'medical-history-condition',
|
|
351
|
+
text: 'Medical History Condition',
|
|
352
|
+
type: 'open-choice',
|
|
353
|
+
answerValueSet: '#MedicalHistory'
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
extension: [
|
|
357
|
+
{
|
|
358
|
+
url: 'http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl',
|
|
359
|
+
valueCodeableConcept: {
|
|
360
|
+
coding: [
|
|
361
|
+
{
|
|
362
|
+
system: 'http://hl7.org/fhir/questionnaire-item-control',
|
|
363
|
+
code: 'autocomplete'
|
|
364
|
+
}
|
|
365
|
+
]
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
],
|
|
369
|
+
linkId: 'medical-history-condition',
|
|
370
|
+
text: 'Medical History Condition',
|
|
371
|
+
type: 'open-choice',
|
|
372
|
+
answerValueSet: '#MedicalHistory'
|
|
373
|
+
}
|
|
374
|
+
]
|
|
375
|
+
}
|
|
376
|
+
]
|
|
377
|
+
};
|
|
378
|
+
export {};
|
|
379
|
+
//# sourceMappingURL=test-questionnaire.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-questionnaire.js","sourceRoot":"","sources":["../../../src/utils/fhirpathAsyncUtils/test-questionnaire.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { Coding } from 'fhir/r4';
|
|
1
|
+
import type { Coding, QuestionnaireItemAnswerOption } from 'fhir/r4';
|
|
2
2
|
import type { CodeSystemLookupPromise } from '../../interfaces/lookup.interface';
|
|
3
3
|
export declare function addDisplayToProcessedCodings(processedCodings: Record<string, Coding[]>, terminologyServerUrl: string): Promise<Record<string, Coding[]>>;
|
|
4
|
+
export declare function addDisplayToAnswerOptions(answerOptions: Record<string, QuestionnaireItemAnswerOption[]>, terminologyServerUrl: string): Promise<Record<string, QuestionnaireItemAnswerOption[]>>;
|
|
4
5
|
export declare function addDisplayToCodingArray(codings: Coding[], terminologyServerUrl: string): Promise<Coding[]>;
|
|
5
6
|
export declare function getCodeSystemLookupPromise(query: string, terminologyServerUrl: string): Promise<any>;
|
|
6
7
|
export declare function resolveLookupPromises(codeSystemLookupPromises: Record<string, CodeSystemLookupPromise>): Promise<Record<string, CodeSystemLookupPromise>>;
|
|
@@ -57,6 +57,41 @@ export function addDisplayToProcessedCodings(processedCodings, terminologyServer
|
|
|
57
57
|
return processedCodings;
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
|
+
// Use this for a Record<linkId, answerOption[]>
|
|
61
|
+
export function addDisplayToAnswerOptions(answerOptions, terminologyServerUrl) {
|
|
62
|
+
var _a;
|
|
63
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
// Store code system lookup promises for codings without displays
|
|
65
|
+
const codeSystemLookupPromises = {};
|
|
66
|
+
for (const key in answerOptions) {
|
|
67
|
+
const options = answerOptions[key];
|
|
68
|
+
for (const option of options) {
|
|
69
|
+
if (option.valueCoding && !option.valueCoding.display) {
|
|
70
|
+
const query = `system=${option.valueCoding.system}&code=${option.valueCoding.code}`;
|
|
71
|
+
codeSystemLookupPromises[query] = {
|
|
72
|
+
promise: getCodeSystemLookupPromise(query, terminologyServerUrl),
|
|
73
|
+
oldCoding: option.valueCoding
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
// Resolves lookup promises in one go and assign newCodings to processedCodings
|
|
79
|
+
const resolvedCodeSystemLookupPromises = yield resolveLookupPromises(codeSystemLookupPromises);
|
|
80
|
+
for (const key in answerOptions) {
|
|
81
|
+
const options = answerOptions[key];
|
|
82
|
+
for (const option of options) {
|
|
83
|
+
if (option.valueCoding) {
|
|
84
|
+
const lookUpKey = `system=${option.valueCoding.system}&code=${option.valueCoding.code}`;
|
|
85
|
+
const resolvedLookup = resolvedCodeSystemLookupPromises[lookUpKey];
|
|
86
|
+
if ((_a = resolvedLookup === null || resolvedLookup === void 0 ? void 0 : resolvedLookup.newCoding) === null || _a === void 0 ? void 0 : _a.display) {
|
|
87
|
+
option.valueCoding.display = resolvedLookup.newCoding.display;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return answerOptions;
|
|
93
|
+
});
|
|
94
|
+
}
|
|
60
95
|
// Use this for an array of codings
|
|
61
96
|
export function addDisplayToCodingArray(codings, terminologyServerUrl) {
|
|
62
97
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addDisplayToCodings.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/addDisplayToCodings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"addDisplayToCodings.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/addDisplayToCodings.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ import { extractOtherExtensions } from './extractOtherExtensions';
|
|
|
31
31
|
import { resolveValueSets } from './resolveValueSets';
|
|
32
32
|
import { addAdditionalVariables } from './addAdditionalVariables';
|
|
33
33
|
import { getLinkIdTypeTuples } from '../qItem';
|
|
34
|
-
import { addDisplayToProcessedCodings } from './addDisplayToCodings';
|
|
34
|
+
import { addDisplayToAnswerOptions, addDisplayToProcessedCodings } from './addDisplayToCodings';
|
|
35
35
|
export function createQuestionnaireModel(questionnaire, additionalVariables, terminologyServerUrl) {
|
|
36
36
|
return __awaiter(this, void 0, void 0, function* () {
|
|
37
37
|
if (!questionnaire.item) {
|
|
@@ -47,7 +47,7 @@ export function createQuestionnaireModel(questionnaire, additionalVariables, ter
|
|
|
47
47
|
let processedValueSetCodings = extractContainedValueSetsResult.processedValueSetCodings;
|
|
48
48
|
const processedValueSetUrls = extractContainedValueSetsResult.processedValueSetUrls;
|
|
49
49
|
const extractOtherExtensionsResult = extractOtherExtensions(questionnaire, variables, valueSetPromises, terminologyServerUrl);
|
|
50
|
-
const { enableWhenItems, enableWhenExpressions, calculatedExpressions, answerExpressions } = extractOtherExtensionsResult;
|
|
50
|
+
const { enableWhenItems, enableWhenExpressions, calculatedExpressions, answerExpressions, answerOptions } = extractOtherExtensionsResult;
|
|
51
51
|
variables = extractOtherExtensionsResult.variables;
|
|
52
52
|
valueSetPromises = extractOtherExtensionsResult.valueSetPromises;
|
|
53
53
|
const resolveValueSetsResult = yield resolveValueSets(variables, valueSetPromises, processedValueSetCodings, terminologyServerUrl);
|
|
@@ -55,6 +55,8 @@ export function createQuestionnaireModel(questionnaire, additionalVariables, ter
|
|
|
55
55
|
processedValueSetCodings = resolveValueSetsResult.processedValueSetCodings;
|
|
56
56
|
// In processedCodings, add display values to codings lacking them
|
|
57
57
|
processedValueSetCodings = yield addDisplayToProcessedCodings(processedValueSetCodings, terminologyServerUrl);
|
|
58
|
+
// In answerOptions, add display values to codings lacking them
|
|
59
|
+
const completeAnswerOptions = yield addDisplayToAnswerOptions(answerOptions, terminologyServerUrl);
|
|
58
60
|
return {
|
|
59
61
|
itemTypes,
|
|
60
62
|
tabs,
|
|
@@ -64,6 +66,7 @@ export function createQuestionnaireModel(questionnaire, additionalVariables, ter
|
|
|
64
66
|
enableWhenExpressions,
|
|
65
67
|
calculatedExpressions,
|
|
66
68
|
answerExpressions,
|
|
69
|
+
answerOptions: completeAnswerOptions,
|
|
67
70
|
processedValueSetCodings,
|
|
68
71
|
processedValueSetUrls,
|
|
69
72
|
fhirPathContext: {}
|
|
@@ -79,6 +82,7 @@ function createEmptyModel() {
|
|
|
79
82
|
calculatedExpressions: {},
|
|
80
83
|
enableWhenExpressions: { singleExpressions: {}, repeatExpressions: {} },
|
|
81
84
|
answerExpressions: {},
|
|
85
|
+
answerOptions: {},
|
|
82
86
|
enableWhenItems: { singleItems: {}, repeatItems: {} },
|
|
83
87
|
processedValueSetCodings: {},
|
|
84
88
|
processedValueSetUrls: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createQuestionaireModel.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/createQuestionaireModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;AAMH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,kCAAkC,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"createQuestionaireModel.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/createQuestionaireModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Questionnaire, QuestionnaireItem, QuestionnaireItemEnableWhen } from 'fhir/r4';
|
|
1
|
+
import type { Questionnaire, QuestionnaireItem, QuestionnaireItemAnswerOption, QuestionnaireItemEnableWhen } from 'fhir/r4';
|
|
2
2
|
import type { CalculatedExpression } from '../../interfaces/calculatedExpression.interface';
|
|
3
3
|
import type { EnableWhenExpressions, EnableWhenItems, EnableWhenRepeatItemProperties, EnableWhenSingleItemProperties } from '../../interfaces/enableWhen.interface';
|
|
4
4
|
import type { AnswerExpression } from '../../interfaces/answerExpression.interface';
|
|
@@ -11,6 +11,7 @@ interface ReturnParamsRecursive {
|
|
|
11
11
|
calculatedExpressions: Record<string, CalculatedExpression[]>;
|
|
12
12
|
answerExpressions: Record<string, AnswerExpression>;
|
|
13
13
|
valueSetPromises: Record<string, ValueSetPromise>;
|
|
14
|
+
answerOptions: Record<string, QuestionnaireItemAnswerOption[]>;
|
|
14
15
|
}
|
|
15
16
|
export declare function extractOtherExtensions(questionnaire: Questionnaire, variables: Variables, valueSetPromises: Record<string, ValueSetPromise>, terminologyServerUrl: string): ReturnParamsRecursive;
|
|
16
17
|
/**
|
|
@@ -30,6 +30,7 @@ export function extractOtherExtensions(questionnaire, variables, valueSetPromise
|
|
|
30
30
|
};
|
|
31
31
|
const calculatedExpressions = {};
|
|
32
32
|
const answerExpressions = {};
|
|
33
|
+
const answerOptions = {};
|
|
33
34
|
if (!questionnaire.item || questionnaire.item.length === 0) {
|
|
34
35
|
return {
|
|
35
36
|
variables: variables,
|
|
@@ -40,6 +41,7 @@ export function extractOtherExtensions(questionnaire, variables, valueSetPromise
|
|
|
40
41
|
},
|
|
41
42
|
calculatedExpressions: {},
|
|
42
43
|
answerExpressions: {},
|
|
44
|
+
answerOptions: {},
|
|
43
45
|
valueSetPromises: valueSetPromises
|
|
44
46
|
};
|
|
45
47
|
}
|
|
@@ -53,6 +55,7 @@ export function extractOtherExtensions(questionnaire, variables, valueSetPromise
|
|
|
53
55
|
enableWhenExpressions,
|
|
54
56
|
calculatedExpressions,
|
|
55
57
|
answerExpressions,
|
|
58
|
+
answerOptions,
|
|
56
59
|
valueSetPromises,
|
|
57
60
|
defaultTerminologyServerUrl: terminologyServerUrl,
|
|
58
61
|
parentRepeatGroupLinkId: isRepeatGroup ? topLevelItem.linkId : undefined
|
|
@@ -64,12 +67,13 @@ export function extractOtherExtensions(questionnaire, variables, valueSetPromise
|
|
|
64
67
|
enableWhenExpressions,
|
|
65
68
|
calculatedExpressions,
|
|
66
69
|
answerExpressions,
|
|
70
|
+
answerOptions,
|
|
67
71
|
valueSetPromises
|
|
68
72
|
};
|
|
69
73
|
}
|
|
70
74
|
function extractExtensionsFromItemRecursive(params) {
|
|
71
|
-
var _a;
|
|
72
|
-
const { questionnaire, item, variables, enableWhenItems, enableWhenExpressions, calculatedExpressions, answerExpressions, valueSetPromises, defaultTerminologyServerUrl, parentRepeatGroupLinkId } = params;
|
|
75
|
+
var _a, _b;
|
|
76
|
+
const { questionnaire, item, variables, enableWhenItems, enableWhenExpressions, calculatedExpressions, answerExpressions, answerOptions, valueSetPromises, defaultTerminologyServerUrl, parentRepeatGroupLinkId } = params;
|
|
73
77
|
const items = item.item;
|
|
74
78
|
const isRepeatGroup = !!item.repeats && item.type === 'group';
|
|
75
79
|
if (items && items.length > 0) {
|
|
@@ -115,10 +119,15 @@ function extractExtensionsFromItemRecursive(params) {
|
|
|
115
119
|
expression: `${answerExpression.expression}`
|
|
116
120
|
};
|
|
117
121
|
}
|
|
122
|
+
// Get answerOptions
|
|
123
|
+
const options = (_a = item.answerOption) !== null && _a !== void 0 ? _a : null;
|
|
124
|
+
if (options) {
|
|
125
|
+
answerOptions[item.linkId] = options;
|
|
126
|
+
}
|
|
118
127
|
const valueSetUrl = item.answerValueSet;
|
|
119
128
|
if (valueSetUrl) {
|
|
120
129
|
if (!valueSetPromises[valueSetUrl] && !valueSetUrl.startsWith('#')) {
|
|
121
|
-
const terminologyServerUrl = (
|
|
130
|
+
const terminologyServerUrl = (_b = getTerminologyServerUrl(item)) !== null && _b !== void 0 ? _b : defaultTerminologyServerUrl;
|
|
122
131
|
valueSetPromises[valueSetUrl] = {
|
|
123
132
|
promise: getValueSetPromise(valueSetUrl, terminologyServerUrl)
|
|
124
133
|
};
|
|
@@ -140,6 +149,7 @@ function extractExtensionsFromItemRecursive(params) {
|
|
|
140
149
|
enableWhenExpressions,
|
|
141
150
|
calculatedExpressions,
|
|
142
151
|
answerExpressions,
|
|
152
|
+
answerOptions,
|
|
143
153
|
valueSetPromises
|
|
144
154
|
};
|
|
145
155
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractOtherExtensions.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/extractOtherExtensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
1
|
+
{"version":3,"file":"extractOtherExtensions.js","sourceRoot":"","sources":["../../../src/utils/questionnaireStoreUtils/extractOtherExtensions.ts"],"names":[],"mappings":"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"}
|