sdc-qrf 0.0.1

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/utils.js ADDED
@@ -0,0 +1,483 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseFhirQueryExpression = exports.calcInitialContext = exports.getEnabledQuestions = exports.removeDisabledAnswers = exports.getChecker = exports.isValueEqual = exports.findAnswersForQuestion = exports.findAnswersForQuestionsRecursive = exports.mapResponseToForm = exports.mapFormToResponse = exports.compareValue = exports.calcContext = exports.getBranchItems = exports.wrapAnswerValue = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var fhirpath_1 = tslib_1.__importDefault(require("fhirpath"));
6
+ var lodash_1 = tslib_1.__importDefault(require("lodash"));
7
+ var isArray_1 = tslib_1.__importDefault(require("lodash/isArray"));
8
+ var isPlainObject_1 = tslib_1.__importDefault(require("lodash/isPlainObject"));
9
+ var query_string_1 = tslib_1.__importDefault(require("query-string"));
10
+ function wrapAnswerValue(type, answer) {
11
+ var _a;
12
+ if (type === 'choice') {
13
+ if ((0, isPlainObject_1.default)(answer)) {
14
+ return { Coding: answer };
15
+ }
16
+ else {
17
+ return { string: answer };
18
+ }
19
+ }
20
+ if (type === 'open-choice') {
21
+ if ((0, isPlainObject_1.default)(answer)) {
22
+ return { Coding: answer };
23
+ }
24
+ else {
25
+ return { string: answer };
26
+ }
27
+ }
28
+ if (type === 'text') {
29
+ return { string: answer };
30
+ }
31
+ if (type === 'attachment') {
32
+ return { Attachment: answer };
33
+ }
34
+ if (type === 'reference') {
35
+ return { Reference: answer };
36
+ }
37
+ if (type === 'quantity') {
38
+ return { Quantity: answer };
39
+ }
40
+ return _a = {}, _a[type] = answer, _a;
41
+ }
42
+ exports.wrapAnswerValue = wrapAnswerValue;
43
+ function getBranchItems(fieldPath, questionnaire, questionnaireResponse) {
44
+ var _a, _b;
45
+ var qrItem = questionnaireResponse;
46
+ var qItem = questionnaire;
47
+ var _loop_1 = function (i) {
48
+ qItem = qItem.item.find(function (curItem) { return curItem.linkId === fieldPath[i]; });
49
+ if (qrItem) {
50
+ var qrItems = (_b = (_a = qrItem.item) === null || _a === void 0 ? void 0 : _a.filter(function (curItem) { return curItem.linkId === fieldPath[i]; })) !== null && _b !== void 0 ? _b : [];
51
+ if (qItem.repeats) {
52
+ if (i + 2 < fieldPath.length) {
53
+ // In the middle
54
+ qrItem = qrItems[parseInt(fieldPath[i + 2], 10)];
55
+ }
56
+ else {
57
+ return { value: { qItem: qItem, qrItems: qrItems } };
58
+ }
59
+ }
60
+ else {
61
+ qrItem = qrItems[0];
62
+ }
63
+ }
64
+ if (qItem.repeats || qItem.type !== 'group') {
65
+ i += 2;
66
+ }
67
+ else {
68
+ i++;
69
+ }
70
+ out_i_1 = i;
71
+ };
72
+ var out_i_1;
73
+ // TODO: check for question with sub items
74
+ // TODO: check for root
75
+ for (var i = 0; i < fieldPath.length; i++) {
76
+ var state_1 = _loop_1(i);
77
+ i = out_i_1;
78
+ if (typeof state_1 === "object")
79
+ return state_1.value;
80
+ }
81
+ return { qItem: qItem, qrItems: [qrItem] };
82
+ }
83
+ exports.getBranchItems = getBranchItems;
84
+ function calcContext(initialContext, variables, qItem, qrItem) {
85
+ // TODO: add root variable support
86
+ return tslib_1.__assign({}, (variables || []).reduce(function (acc, curVariable) {
87
+ var _a;
88
+ return (tslib_1.__assign(tslib_1.__assign({}, acc), (_a = {}, _a[curVariable.name] = fhirpath_1.default.evaluate(qrItem || {}, curVariable.expression, acc), _a)));
89
+ }, tslib_1.__assign(tslib_1.__assign({}, initialContext), { context: qrItem, qitem: qItem })));
90
+ }
91
+ exports.calcContext = calcContext;
92
+ function compareValue(firstAnswerValue, secondAnswerValue) {
93
+ var firstValueType = lodash_1.default.keys(firstAnswerValue)[0];
94
+ var secondValueType = lodash_1.default.keys(secondAnswerValue)[0];
95
+ if (firstValueType !== secondValueType) {
96
+ throw new Error('Enable when must be used for the same type');
97
+ }
98
+ if (!lodash_1.default.includes(['string', 'date', 'dateTime', 'time', 'uri', 'boolean', 'integer', 'decimal'], firstValueType)) {
99
+ throw new Error('Impossible to compare non-primitive type');
100
+ }
101
+ if (firstValueType === 'Quantity') {
102
+ throw new Error('Quantity type is not supported yet');
103
+ }
104
+ var firstValue = firstAnswerValue[firstValueType];
105
+ var secondValue = secondAnswerValue[secondValueType];
106
+ if (firstValue < secondValue) {
107
+ return -1;
108
+ }
109
+ if (firstValue > secondValue) {
110
+ return 1;
111
+ }
112
+ return 0;
113
+ }
114
+ exports.compareValue = compareValue;
115
+ function isGroup(question) {
116
+ return question.type === 'group';
117
+ }
118
+ function isFormGroupItems(question, answers) {
119
+ return isGroup(question) && lodash_1.default.isPlainObject(answers);
120
+ }
121
+ function isRepeatableFormGroupItems(question, answers) {
122
+ return !!question.repeats && lodash_1.default.isArray(answers.items);
123
+ }
124
+ function hasSubAnswerItems(items) {
125
+ return !!items && lodash_1.default.some(items, function (x) { return !lodash_1.default.some(x, lodash_1.default.isEmpty); });
126
+ }
127
+ function mapFormToResponseRecursive(answersItems, questionnaireItems) {
128
+ return Object.entries(answersItems).reduce(function (acc, _a) {
129
+ var linkId = _a[0], answers = _a[1];
130
+ if (!linkId) {
131
+ console.warn('The answer item has no linkId');
132
+ return acc;
133
+ }
134
+ var question = questionnaireItems.filter(function (qItem) { return qItem.linkId === linkId; })[0];
135
+ if (!question) {
136
+ return acc;
137
+ }
138
+ if (isFormGroupItems(question, answers)) {
139
+ var groups = isRepeatableFormGroupItems(question, answers)
140
+ ? answers.items || []
141
+ : answers.items
142
+ ? [answers.items]
143
+ : [];
144
+ return groups.reduce(function (newAcc, group) {
145
+ var _a;
146
+ var items = mapFormToResponseRecursive(group, (_a = question.item) !== null && _a !== void 0 ? _a : []);
147
+ return tslib_1.__spreadArray(tslib_1.__spreadArray([], newAcc, true), [
148
+ tslib_1.__assign({ linkId: linkId }, (items.length ? { item: items } : {})),
149
+ ], false);
150
+ }, acc);
151
+ }
152
+ return tslib_1.__spreadArray(tslib_1.__spreadArray([], acc, true), [
153
+ {
154
+ linkId: linkId,
155
+ answer: answers.reduce(function (answersAcc, answer) {
156
+ var _a;
157
+ if (typeof answer === 'undefined') {
158
+ return answersAcc;
159
+ }
160
+ if (!answer.value) {
161
+ return answersAcc;
162
+ }
163
+ var items = hasSubAnswerItems(answer.items)
164
+ ? mapFormToResponseRecursive(answer.items, (_a = question.item) !== null && _a !== void 0 ? _a : [])
165
+ : [];
166
+ return tslib_1.__spreadArray(tslib_1.__spreadArray([], answersAcc, true), [
167
+ tslib_1.__assign({ value: answer.value }, (items.length ? { item: items } : {})),
168
+ ], false);
169
+ }, []),
170
+ },
171
+ ], false);
172
+ }, []);
173
+ }
174
+ function mapFormToResponse(values, questionnaire, keepDisabledAnswers) {
175
+ var _a, _b;
176
+ return {
177
+ item: mapFormToResponseRecursive(keepDisabledAnswers ? values : removeDisabledAnswers((_a = questionnaire.item) !== null && _a !== void 0 ? _a : [], values), (_b = questionnaire.item) !== null && _b !== void 0 ? _b : []),
178
+ };
179
+ }
180
+ exports.mapFormToResponse = mapFormToResponse;
181
+ function mapResponseToFormRecursive(questionnaireResponseItems, questionnaireItems) {
182
+ return questionnaireItems.reduce(function (acc, question) {
183
+ var _a, _b, _c;
184
+ var _d, _e, _f, _g, _h, _j;
185
+ var linkId = question.linkId, initial = question.initial, repeats = question.repeats, text = question.text;
186
+ if (!linkId) {
187
+ console.warn('The question has no linkId');
188
+ return acc;
189
+ }
190
+ var qrItems = (_d = questionnaireResponseItems.filter(function (qrItem) { return qrItem.linkId === linkId; })) !== null && _d !== void 0 ? _d : [];
191
+ if (qrItems.length && isGroup(question)) {
192
+ if (repeats) {
193
+ return tslib_1.__assign(tslib_1.__assign({}, acc), (_a = {}, _a[linkId] = {
194
+ question: text,
195
+ items: qrItems.map(function (qrItem) {
196
+ var _a, _b;
197
+ return mapResponseToFormRecursive((_a = qrItem.item) !== null && _a !== void 0 ? _a : [], (_b = question.item) !== null && _b !== void 0 ? _b : []);
198
+ }),
199
+ }, _a));
200
+ }
201
+ else {
202
+ return tslib_1.__assign(tslib_1.__assign({}, acc), (_b = {}, _b[linkId] = {
203
+ question: text,
204
+ items: mapResponseToFormRecursive((_f = (_e = qrItems[0]) === null || _e === void 0 ? void 0 : _e.item) !== null && _f !== void 0 ? _f : [], (_g = question.item) !== null && _g !== void 0 ? _g : []),
205
+ }, _b));
206
+ }
207
+ }
208
+ var answers = ((_j = (_h = qrItems === null || qrItems === void 0 ? void 0 : qrItems[0]) === null || _h === void 0 ? void 0 : _h.answer) === null || _j === void 0 ? void 0 : _j.length)
209
+ ? qrItems[0].answer
210
+ : initialToQuestionnaireResponseItemAnswer(initial);
211
+ if (!answers.length) {
212
+ return acc;
213
+ }
214
+ return tslib_1.__assign(tslib_1.__assign({}, acc), (_c = {}, _c[linkId] = answers.map(function (answer) {
215
+ var _a, _b;
216
+ return ({
217
+ question: text,
218
+ value: answer.value,
219
+ items: mapResponseToFormRecursive((_a = answer.item) !== null && _a !== void 0 ? _a : [], (_b = question.item) !== null && _b !== void 0 ? _b : []),
220
+ });
221
+ }), _c));
222
+ }, {});
223
+ }
224
+ function mapResponseToForm(resource, questionnaire) {
225
+ var _a, _b;
226
+ return mapResponseToFormRecursive((_a = resource.item) !== null && _a !== void 0 ? _a : [], (_b = questionnaire.item) !== null && _b !== void 0 ? _b : []);
227
+ }
228
+ exports.mapResponseToForm = mapResponseToForm;
229
+ function initialToQuestionnaireResponseItemAnswer(initial) {
230
+ return (initial !== null && initial !== void 0 ? initial : []).map(function (_a) {
231
+ var value = _a.value;
232
+ return ({ value: value });
233
+ });
234
+ }
235
+ function findAnswersForQuestionsRecursive(linkId, values) {
236
+ if (values && lodash_1.default.has(values, linkId)) {
237
+ return values[linkId];
238
+ }
239
+ return lodash_1.default.reduce(values, function (acc, v) {
240
+ if (acc) {
241
+ return acc;
242
+ }
243
+ if (lodash_1.default.isArray(v)) {
244
+ return lodash_1.default.reduce(v, function (acc2, v2) {
245
+ if (acc2) {
246
+ return acc2;
247
+ }
248
+ return findAnswersForQuestionsRecursive(linkId, v2.items);
249
+ }, null);
250
+ }
251
+ else if (lodash_1.default.isArray(v.items)) {
252
+ return lodash_1.default.reduce(v.items, function (acc2, v2) {
253
+ if (acc2) {
254
+ return acc2;
255
+ }
256
+ return findAnswersForQuestionsRecursive(linkId, v2);
257
+ }, null);
258
+ }
259
+ else {
260
+ return findAnswersForQuestionsRecursive(linkId, v.items);
261
+ }
262
+ }, null);
263
+ }
264
+ exports.findAnswersForQuestionsRecursive = findAnswersForQuestionsRecursive;
265
+ function findAnswersForQuestion(linkId, parentPath, values) {
266
+ var p = lodash_1.default.cloneDeep(parentPath);
267
+ // Go up
268
+ while (p.length) {
269
+ var part = p.pop();
270
+ // Find answers in parent groups (including repeatable)
271
+ // They might have either 'items' of the group or number of the repeatable group in path
272
+ if (part === 'items' || !isNaN(part)) {
273
+ var parentGroup = lodash_1.default.get(values, tslib_1.__spreadArray(tslib_1.__spreadArray([], p, true), [part], false));
274
+ if (typeof parentGroup === 'object' && linkId in parentGroup) {
275
+ return parentGroup[linkId];
276
+ }
277
+ }
278
+ }
279
+ // Go down
280
+ var answers = findAnswersForQuestionsRecursive(linkId, values);
281
+ return answers ? answers : [];
282
+ }
283
+ exports.findAnswersForQuestion = findAnswersForQuestion;
284
+ function isValueEqual(firstValue, secondValue) {
285
+ var _a, _b;
286
+ var firstValueType = lodash_1.default.keys(firstValue)[0];
287
+ var secondValueType = lodash_1.default.keys(secondValue)[0];
288
+ if (firstValueType !== secondValueType) {
289
+ console.error('Enable when must be used for the same type');
290
+ return false;
291
+ }
292
+ if (firstValueType === 'Coding') {
293
+ // NOTE: what if undefined === undefined
294
+ return ((_a = firstValue.Coding) === null || _a === void 0 ? void 0 : _a.code) === ((_b = secondValue.Coding) === null || _b === void 0 ? void 0 : _b.code);
295
+ }
296
+ return lodash_1.default.isEqual(firstValue, secondValue);
297
+ }
298
+ exports.isValueEqual = isValueEqual;
299
+ function getChecker(operator) {
300
+ if (operator === '=') {
301
+ return function (values, answerValue) {
302
+ return lodash_1.default.findIndex(values, function (_a) {
303
+ var value = _a.value;
304
+ return isValueEqual(value, answerValue);
305
+ }) !== -1;
306
+ };
307
+ }
308
+ if (operator === '!=') {
309
+ return function (values, answerValue) {
310
+ return lodash_1.default.findIndex(values, function (_a) {
311
+ var value = _a.value;
312
+ return isValueEqual(value, answerValue);
313
+ }) === -1;
314
+ };
315
+ }
316
+ if (operator === 'exists') {
317
+ return function (values, answerValue) {
318
+ var _a;
319
+ var answersLength = lodash_1.default.reject(values, function (value) { return lodash_1.default.isEmpty(value.value) || lodash_1.default.every(lodash_1.default.mapValues(value.value, lodash_1.default.isEmpty)); }).length;
320
+ var answer = (_a = answerValue === null || answerValue === void 0 ? void 0 : answerValue.boolean) !== null && _a !== void 0 ? _a : true;
321
+ return answersLength > 0 === answer;
322
+ };
323
+ }
324
+ if (operator === '>=') {
325
+ return function (values, answerValue) {
326
+ return lodash_1.default.findIndex(lodash_1.default.reject(values, function (value) { return lodash_1.default.isEmpty(value.value); }), function (_a) {
327
+ var value = _a.value;
328
+ return compareValue(value, answerValue) >= 0;
329
+ }) !== -1;
330
+ };
331
+ }
332
+ if (operator === '>') {
333
+ return function (values, answerValue) {
334
+ return lodash_1.default.findIndex(lodash_1.default.reject(values, function (value) { return lodash_1.default.isEmpty(value.value); }), function (_a) {
335
+ var value = _a.value;
336
+ return compareValue(value, answerValue) > 0;
337
+ }) !== -1;
338
+ };
339
+ }
340
+ if (operator === '<=') {
341
+ return function (values, answerValue) {
342
+ return lodash_1.default.findIndex(lodash_1.default.reject(values, function (value) { return lodash_1.default.isEmpty(value.value); }), function (_a) {
343
+ var value = _a.value;
344
+ return compareValue(value, answerValue) <= 0;
345
+ }) !== -1;
346
+ };
347
+ }
348
+ if (operator === '<') {
349
+ return function (values, answerValue) {
350
+ return lodash_1.default.findIndex(lodash_1.default.reject(values, function (value) { return lodash_1.default.isEmpty(value.value); }), function (_a) {
351
+ var value = _a.value;
352
+ return compareValue(value, answerValue) < 0;
353
+ }) !== -1;
354
+ };
355
+ }
356
+ console.error("Unsupported enableWhen.operator ".concat(operator));
357
+ return lodash_1.default.constant(true);
358
+ }
359
+ exports.getChecker = getChecker;
360
+ function isQuestionEnabled(qItem, parentPath, values) {
361
+ var enableWhen = qItem.enableWhen, enableBehavior = qItem.enableBehavior;
362
+ if (!enableWhen) {
363
+ return true;
364
+ }
365
+ var iterFn = enableBehavior === 'any' ? lodash_1.default.some : lodash_1.default.every;
366
+ return iterFn(enableWhen, function (_a) {
367
+ var question = _a.question, answer = _a.answer, operator = _a.operator;
368
+ var check = getChecker(operator);
369
+ if (lodash_1.default.includes(parentPath, question)) {
370
+ // TODO: handle double-nested values
371
+ var parentAnswerPath = lodash_1.default.slice(parentPath, 0, parentPath.length - 1);
372
+ var parentAnswer = lodash_1.default.get(values, parentAnswerPath);
373
+ return check(parentAnswer ? [parentAnswer] : [], answer);
374
+ }
375
+ var answers = findAnswersForQuestion(question, parentPath, values);
376
+ return check(lodash_1.default.compact(answers), answer);
377
+ });
378
+ }
379
+ function removeDisabledAnswers(questionnaireItems, values) {
380
+ return removeDisabledAnswersRecursive(questionnaireItems, [], values, {});
381
+ }
382
+ exports.removeDisabledAnswers = removeDisabledAnswers;
383
+ function removeDisabledAnswersRecursive(questionnaireItems, parentPath, answersItems, initialValues) {
384
+ return questionnaireItems.reduce(function (acc, questionnaireItem) {
385
+ var _a, _b, _c;
386
+ var _d;
387
+ var values = parentPath.length ? lodash_1.default.set(lodash_1.default.cloneDeep(initialValues), parentPath, acc) : acc;
388
+ var linkId = questionnaireItem.linkId;
389
+ var answers = answersItems[linkId];
390
+ if (!answers) {
391
+ return acc;
392
+ }
393
+ if (!isQuestionEnabled(questionnaireItem, parentPath, values)) {
394
+ return acc;
395
+ }
396
+ if (isFormGroupItems(questionnaireItem, answers)) {
397
+ if (!answers.items) {
398
+ return acc;
399
+ }
400
+ if (isRepeatableFormGroupItems(questionnaireItem, answers)) {
401
+ return tslib_1.__assign(tslib_1.__assign({}, acc), (_a = {}, _a[linkId] = tslib_1.__assign(tslib_1.__assign({}, answers), { items: answers.items.map(function (group, index) {
402
+ var _a;
403
+ return removeDisabledAnswersRecursive((_a = questionnaireItem.item) !== null && _a !== void 0 ? _a : [], tslib_1.__spreadArray(tslib_1.__spreadArray([], parentPath, true), [linkId, 'items', index.toString()], false), group, values);
404
+ }) }), _a));
405
+ }
406
+ else {
407
+ return tslib_1.__assign(tslib_1.__assign({}, acc), (_b = {}, _b[linkId] = tslib_1.__assign(tslib_1.__assign({}, answers), { items: removeDisabledAnswersRecursive((_d = questionnaireItem.item) !== null && _d !== void 0 ? _d : [], tslib_1.__spreadArray(tslib_1.__spreadArray([], parentPath, true), [linkId, 'items'], false), answers.items, values) }), _b));
408
+ }
409
+ }
410
+ return tslib_1.__assign(tslib_1.__assign({}, acc), (_c = {}, _c[linkId] = answers.reduce(function (answersAcc, answer, index) {
411
+ var _a;
412
+ if (typeof answer === 'undefined') {
413
+ return answersAcc;
414
+ }
415
+ if (!answer.value) {
416
+ return answersAcc;
417
+ }
418
+ var items = hasSubAnswerItems(answer.items)
419
+ ? removeDisabledAnswersRecursive((_a = questionnaireItem.item) !== null && _a !== void 0 ? _a : [], tslib_1.__spreadArray(tslib_1.__spreadArray([], parentPath, true), [linkId, index.toString(), 'items'], false), answer.items, values)
420
+ : {};
421
+ return tslib_1.__spreadArray(tslib_1.__spreadArray([], answersAcc, true), [tslib_1.__assign(tslib_1.__assign({}, answer), { items: items })], false);
422
+ }, []), _c));
423
+ }, {});
424
+ }
425
+ function getEnabledQuestions(questionnaireItems, parentPath, values) {
426
+ return lodash_1.default.filter(questionnaireItems, function (qItem) {
427
+ var linkId = qItem.linkId;
428
+ if (!linkId) {
429
+ return false;
430
+ }
431
+ return isQuestionEnabled(qItem, parentPath, values);
432
+ });
433
+ }
434
+ exports.getEnabledQuestions = getEnabledQuestions;
435
+ function calcInitialContext(qrfDataContext, values) {
436
+ var questionnaireResponse = tslib_1.__assign(tslib_1.__assign({}, qrfDataContext.questionnaireResponse), mapFormToResponse(values, qrfDataContext.questionnaire));
437
+ return tslib_1.__assign(tslib_1.__assign({}, qrfDataContext.launchContextParameters.reduce(function (acc, _a) {
438
+ var _b;
439
+ var name = _a.name, value = _a.value, resource = _a.resource;
440
+ return (tslib_1.__assign(tslib_1.__assign({}, acc), (_b = {}, _b[name] = value && (0, isPlainObject_1.default)(value)
441
+ ? value[Object.keys(value)[0]]
442
+ : resource, _b)));
443
+ }, {})), {
444
+ // Vars defined in IG
445
+ questionnaire: qrfDataContext.questionnaire, resource: questionnaireResponse, context: questionnaireResponse,
446
+ // Vars we use for backward compatibility
447
+ Questionnaire: qrfDataContext.questionnaire, QuestionnaireResponse: questionnaireResponse });
448
+ }
449
+ exports.calcInitialContext = calcInitialContext;
450
+ function resolveTemplateExpr(str, context) {
451
+ var matches = str.match(/{{[^}]+}}/g);
452
+ if (matches) {
453
+ return matches.reduce(function (result, match) {
454
+ var expr = match.replace(/[{}]/g, '');
455
+ var resolvedVar = fhirpath_1.default.evaluate(context.context || {}, expr, context);
456
+ if (resolvedVar === null || resolvedVar === void 0 ? void 0 : resolvedVar.length) {
457
+ return result.replace(match, resolvedVar.join(','));
458
+ }
459
+ else {
460
+ return result.replace(match, '');
461
+ }
462
+ }, str);
463
+ }
464
+ return str;
465
+ }
466
+ function parseFhirQueryExpression(expression, context) {
467
+ var _a = expression.split('?', 2), resourceType = _a[0], paramsQS = _a[1];
468
+ var searchParams = Object.fromEntries(Object.entries(query_string_1.default.parse(paramsQS !== null && paramsQS !== void 0 ? paramsQS : '')).map(function (_a) {
469
+ var key = _a[0], value = _a[1];
470
+ if (!value) {
471
+ return [key, value];
472
+ }
473
+ return [
474
+ key,
475
+ (0, isArray_1.default)(value)
476
+ ? value.map(function (arrValue) { return resolveTemplateExpr(arrValue, context); })
477
+ : resolveTemplateExpr(value, context),
478
+ ];
479
+ }));
480
+ return [resourceType, searchParams];
481
+ }
482
+ exports.parseFhirQueryExpression = parseFhirQueryExpression;
483
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "sdc-qrf",
3
+ "version": "0.0.1",
4
+ "scripts": {
5
+ "build": "tsc",
6
+ "coverage": "jest --coverage --coverageReporters=text-lcov | coveralls",
7
+ "test": "jest",
8
+ "prepare": "npm run build",
9
+ "typecheck": "tsc"
10
+ },
11
+ "dependencies": {
12
+ "classnames": "^2.3.1",
13
+ "fhirpath": "^2.14.5",
14
+ "lodash": "^4.17.15",
15
+ "tslib": "^2.4.0",
16
+ "query-string": "^7.1.1"
17
+ },
18
+ "devDependencies": {
19
+ "@babel/core": "^7.7.7",
20
+ "@babel/preset-env": "^7.7.7",
21
+ "@babel/preset-typescript": "^7.7.7",
22
+ "@testing-library/react": "^9.4.0",
23
+ "@testing-library/react-hooks": "^3.2.1",
24
+ "@types/jest": "^27.5.1",
25
+ "babel-jest": "^27.5.1",
26
+ "coveralls": "^3.0.9",
27
+ "jest": "^27.5.1",
28
+ "ts-jest": "^27.1.5",
29
+ "react": "^17.0.2",
30
+ "react-test-renderer": "^17.0.2",
31
+ "typescript": "^4.1.2"
32
+ },
33
+ "files": [
34
+ "lib/**/*",
35
+ "src/**/*"
36
+ ],
37
+ "main": "./lib/index.js"
38
+ }