@aehrc/smart-forms-renderer 1.0.0-alpha.54 → 1.0.0-alpha.56

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 (54) hide show
  1. package/lib/components/FormComponents/Tables/GroupTableRow.js +3 -3
  2. package/lib/components/FormComponents/Tables/GroupTableRow.js.map +1 -1
  3. package/lib/index.d.ts +1 -1
  4. package/lib/index.js +1 -1
  5. package/lib/index.js.map +1 -1
  6. package/lib/stores/extractOperationStore.d.ts +26 -0
  7. package/lib/stores/extractOperationStore.js +20 -0
  8. package/lib/stores/extractOperationStore.js.map +1 -0
  9. package/lib/stores/index.d.ts +7 -4
  10. package/lib/stores/index.js +5 -2
  11. package/lib/stores/index.js.map +1 -1
  12. package/lib/stores/rendererStylingStore.d.ts +1 -1
  13. package/lib/templates/bloodPressureTemplate.d.ts +23 -0
  14. package/lib/templates/bloodPressureTemplate.js +80 -0
  15. package/lib/templates/bloodPressureTemplate.js.map +1 -0
  16. package/lib/tests/test-data/bloodPressureSample.d.ts +3 -0
  17. package/lib/tests/test-data/bloodPressureSample.js +250 -0
  18. package/lib/tests/test-data/bloodPressureSample.js.map +1 -0
  19. package/lib/tests/test-data/complexTemplateSample.d.ts +3 -0
  20. package/lib/tests/test-data/complexTemplateSample.js +704 -0
  21. package/lib/tests/test-data/complexTemplateSample.js.map +1 -0
  22. package/lib/utils/calculatedExpression.js +9 -4
  23. package/lib/utils/calculatedExpression.js.map +1 -1
  24. package/lib/utils/extractTemplate.d.ts +0 -0
  25. package/lib/utils/extractTemplate.js +1107 -0
  26. package/lib/utils/extractTemplate.js.map +1 -0
  27. package/lib/utils/index.d.ts +1 -1
  28. package/lib/utils/index.js +1 -1
  29. package/lib/utils/index.js.map +1 -1
  30. package/lib/utils/misc.d.ts +8 -0
  31. package/lib/utils/misc.js +7 -2
  32. package/lib/utils/misc.js.map +1 -1
  33. package/lib/utils/openChoice.js +3 -3
  34. package/lib/utils/openChoice.js.map +1 -1
  35. package/lib/utils/questionnaireStoreUtils/addDisplayToCodings.js +2 -2
  36. package/lib/utils/questionnaireStoreUtils/addDisplayToCodings.js.map +1 -1
  37. package/lib/utils/repopulateItems.js +4 -4
  38. package/lib/utils/repopulateItems.js.map +1 -1
  39. package/lib/utils/templateMatching.d.ts +15 -0
  40. package/lib/utils/templateMatching.js +56 -0
  41. package/lib/utils/templateMatching.js.map +1 -0
  42. package/lib/utils/valueSet.js +3 -3
  43. package/lib/utils/valueSet.js.map +1 -1
  44. package/package.json +4 -5
  45. package/src/components/FormComponents/Tables/GroupTableRow.tsx +4 -9
  46. package/src/index.ts +2 -1
  47. package/src/stores/index.ts +9 -7
  48. package/src/utils/calculatedExpression.ts +12 -4
  49. package/src/utils/index.ts +1 -1
  50. package/src/utils/misc.ts +7 -2
  51. package/src/utils/openChoice.ts +3 -3
  52. package/src/utils/questionnaireStoreUtils/addDisplayToCodings.ts +2 -2
  53. package/src/utils/repopulateItems.ts +4 -4
  54. package/src/utils/valueSet.ts +3 -3
@@ -9,11 +9,11 @@ import Box from '@mui/material/Box';
9
9
  import { Draggable } from 'react-beautiful-dnd';
10
10
  import { StyledGroupTableRow } from './Table.styles';
11
11
  function GroupTableRow(props) {
12
- const { rowId, index, tableQItem, answeredQrItem, nullableQrItem, readOnly, isRepeated, hoverDisabled, tableRows, itemIsSelected, qItemsIndexMap, itemPath, showMinimalView, parentIsReadOnly, onRowChange, onRemoveRow, onSelectRow } = props;
12
+ const { rowId, index, tableQItem, answeredQrItem, nullableQrItem, readOnly, isRepeated, hoverDisabled, tableRows, itemIsSelected, qItemsIndexMap, itemPath, showMinimalView, onRowChange, onRemoveRow, onSelectRow } = props;
13
13
  if (isRepeated) {
14
- return (_jsx(Draggable, Object.assign({ draggableId: rowId, index: index }, { children: (draggableProvided, snapshot) => (_jsxs(StyledGroupTableRow, Object.assign({ itemIsDragged: snapshot.isDragging, itemIsSelected: itemIsSelected, hoverDisabled: hoverDisabled, hover: !hoverDisabled, ref: draggableProvided.innerRef }, draggableProvided.draggableProps, { children: [showMinimalView || !isRepeated ? (_jsx(TableCell, { padding: "checkbox" })) : (_jsxs(_Fragment, { children: [_jsx(TableCell, Object.assign({ padding: "none" }, { children: _jsx(Box, Object.assign({ display: "flex", alignItems: "center", justifyContent: "center" }, (readOnly ? {} : draggableProvided.dragHandleProps), { children: _jsx(DragIndicator, { fontSize: "small", sx: { color: readOnly ? 'text.disabled' : 'inherit' } }) })) })), _jsx(SelectRowButton, { isChecked: itemIsSelected, readOnly: readOnly, onSelectItem: () => onSelectRow(rowId) })] })), _jsx(GroupTableRowCells, { qItem: tableQItem, qrItem: answeredQrItem, qItemsIndexMap: qItemsIndexMap, itemPath: itemPath, parentIsReadOnly: parentIsReadOnly, onQrItemChange: (newQrGroup, targetItemPath) => onRowChange(newQrGroup, index, targetItemPath) }), showMinimalView || !isRepeated ? (_jsx(TableCell, { padding: "checkbox" })) : (_jsx(RemoveRowButton, { nullableQrItem: nullableQrItem, numOfRows: tableRows.length, readOnly: readOnly, onRemoveItem: () => onRemoveRow(index) }))] }))) })));
14
+ return (_jsx(Draggable, Object.assign({ draggableId: rowId, index: index }, { children: (draggableProvided, snapshot) => (_jsxs(StyledGroupTableRow, Object.assign({ itemIsDragged: snapshot.isDragging, itemIsSelected: itemIsSelected, hoverDisabled: hoverDisabled, hover: !hoverDisabled, ref: draggableProvided.innerRef }, draggableProvided.draggableProps, { children: [showMinimalView || !isRepeated ? (_jsx(TableCell, { padding: "checkbox" })) : (_jsxs(_Fragment, { children: [_jsx(TableCell, Object.assign({ padding: "none" }, { children: _jsx(Box, Object.assign({ display: "flex", alignItems: "center", justifyContent: "center" }, (readOnly ? {} : draggableProvided.dragHandleProps), { children: _jsx(DragIndicator, { fontSize: "small", sx: { color: readOnly ? 'text.disabled' : 'inherit' } }) })) })), _jsx(SelectRowButton, { isChecked: itemIsSelected, readOnly: readOnly, onSelectItem: () => onSelectRow(rowId) })] })), _jsx(GroupTableRowCells, { qItem: tableQItem, qrItem: answeredQrItem, qItemsIndexMap: qItemsIndexMap, itemPath: itemPath, parentIsReadOnly: readOnly, onQrItemChange: (newQrGroup) => onRowChange(newQrGroup, index) }), showMinimalView || !isRepeated ? (_jsx(TableCell, { padding: "checkbox" })) : (_jsx(RemoveRowButton, { nullableQrItem: nullableQrItem, numOfRows: tableRows.length, readOnly: readOnly, onRemoveItem: () => onRemoveRow(index) }))] }))) })));
15
15
  }
16
- return (_jsxs(TableRow, { children: [showMinimalView || !isRepeated ? (_jsx(TableCell, { padding: "checkbox" })) : (_jsxs(_Fragment, { children: [_jsx(TableCell, Object.assign({ padding: "none" }, { children: _jsx(Box, Object.assign({ display: "flex", alignItems: "center", justifyContent: "center" }, { children: _jsx(DragIndicator, { fontSize: "small", sx: { color: readOnly ? 'text.disabled' : 'inherit' } }) })) })), _jsx(SelectRowButton, { isChecked: itemIsSelected, readOnly: readOnly, onSelectItem: () => onSelectRow(rowId) })] })), _jsx(GroupTableRowCells, { qItem: tableQItem, qrItem: answeredQrItem, qItemsIndexMap: qItemsIndexMap, itemPath: itemPath, parentIsReadOnly: parentIsReadOnly, onQrItemChange: (newQrGroup, targetItemPath) => onRowChange(newQrGroup, index, targetItemPath) }), showMinimalView || !isRepeated ? (_jsx(TableCell, { padding: "checkbox" })) : (_jsx(RemoveRowButton, { nullableQrItem: nullableQrItem, numOfRows: tableRows.length, readOnly: readOnly, onRemoveItem: () => onRemoveRow(index) }))] }));
16
+ return (_jsxs(TableRow, { children: [showMinimalView || !isRepeated ? (_jsx(TableCell, { padding: "checkbox" })) : (_jsxs(_Fragment, { children: [_jsx(TableCell, Object.assign({ padding: "none" }, { children: _jsx(Box, Object.assign({ display: "flex", alignItems: "center", justifyContent: "center" }, { children: _jsx(DragIndicator, { fontSize: "small", sx: { color: readOnly ? 'text.disabled' : 'inherit' } }) })) })), _jsx(SelectRowButton, { isChecked: itemIsSelected, readOnly: readOnly, onSelectItem: () => onSelectRow(rowId) })] })), _jsx(GroupTableRowCells, { qItem: tableQItem, qrItem: answeredQrItem, qItemsIndexMap: qItemsIndexMap, itemPath: itemPath, parentIsReadOnly: readOnly, onQrItemChange: (newQrGroup) => onRowChange(newQrGroup, index) }), showMinimalView || !isRepeated ? (_jsx(TableCell, { padding: "checkbox" })) : (_jsx(RemoveRowButton, { nullableQrItem: nullableQrItem, numOfRows: tableRows.length, readOnly: readOnly, onRemoveItem: () => onRemoveRow(index) }))] }));
17
17
  }
18
18
  export default GroupTableRow;
19
19
  //# sourceMappingURL=GroupTableRow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GroupTableRow.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/Tables/GroupTableRow.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GroupTableRow.js","sourceRoot":"","sources":["../../../../src/components/FormComponents/Tables/GroupTableRow.tsx"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -7,7 +7,7 @@ export { questionnaireStore, useQuestionnaireStore, questionnaireResponseStore,
7
7
  export type { UseResponsiveProps } from './hooks';
8
8
  export { useHidden, useReadOnly, useBuildForm, useRendererQueryClient, useRenderingExtensions, useValidationFeedback, useValueSetCodings, useStringCalculatedExpression, useDisplayCqfAndCalculatedExpression, useCodingCalculatedExpression, objectIsCoding, useResponsive } from './hooks';
9
9
  export type { ItemToRepopulate } from './utils';
10
- export { buildForm, destroyForm, getResponse, removeEmptyAnswersFromResponse, removeInternalIdsFromResponse, createEmptyQrItem, createEmptyQrGroup, updateQrItemsInGroup, mapQItemsIndex, getQrItemsIndex, isSpecificItemControl, getDecimalPrecision, isRepeatItemAndNotCheckbox, parseDecimalStringToFloat, parseDecimalStringWithPrecision, isHiddenByEnableWhen, initialiseQuestionnaireResponse, generateItemsToRepopulate, repopulateResponse, extractObservationBased, getQuestionnaireItem } from './utils';
10
+ export { buildForm, destroyForm, getResponse, removeEmptyAnswersFromResponse, removeInternalIdsFromResponse, createEmptyQrItem, createEmptyQrGroup, updateQrItemsInGroup, mapQItemsIndex, getQrItemsIndex, isSpecificItemControl, getDecimalPrecision, isRepeatItemAndNotCheckbox, parseDecimalStringToFloat, parseDecimalStringWithPrecision, isHiddenByEnableWhen, initialiseQuestionnaireResponse, generateItemsToRepopulate, repopulateResponse, extractObservationBased, getQuestionnaireItem, getSectionHeading } from './utils';
11
11
  export { RendererThemeProvider, themeOptions } from './theme';
12
12
  export type { InitialiseFormWrapperProps } from './stories/storybookWrappers';
13
13
  export { InitialiseFormWrapperForStorybook } from './stories/storybookWrappers';
package/lib/index.js CHANGED
@@ -3,7 +3,7 @@ import '@fontsource/inter';
3
3
  export { SmartFormsRenderer, BaseRenderer, SingleItem, GroupItem, RepeatItem, RepeatGroup, GroupTable, GridGroup, parseFhirDateToDisplayDate, ItemFieldGrid, ItemLabel, BooleanField, DecimalField, StringField, ChoiceRadioSingle, FullWidthFormComponentBox } from './components';
4
4
  export { questionnaireStore, useQuestionnaireStore, questionnaireResponseStore, useQuestionnaireResponseStore, smartConfigStore, useSmartConfigStore, terminologyServerStore, useTerminologyServerStore, rendererStylingStore, useRendererStylingStore } from './stores';
5
5
  export { useHidden, useReadOnly, useBuildForm, useRendererQueryClient, useRenderingExtensions, useValidationFeedback, useValueSetCodings, useStringCalculatedExpression, useDisplayCqfAndCalculatedExpression, useCodingCalculatedExpression, objectIsCoding, useResponsive } from './hooks';
6
- export { buildForm, destroyForm, getResponse, removeEmptyAnswersFromResponse, removeInternalIdsFromResponse, createEmptyQrItem, createEmptyQrGroup, updateQrItemsInGroup, mapQItemsIndex, getQrItemsIndex, isSpecificItemControl, getDecimalPrecision, isRepeatItemAndNotCheckbox, parseDecimalStringToFloat, parseDecimalStringWithPrecision, isHiddenByEnableWhen, initialiseQuestionnaireResponse, generateItemsToRepopulate, repopulateResponse, extractObservationBased, getQuestionnaireItem } from './utils';
6
+ export { buildForm, destroyForm, getResponse, removeEmptyAnswersFromResponse, removeInternalIdsFromResponse, createEmptyQrItem, createEmptyQrGroup, updateQrItemsInGroup, mapQItemsIndex, getQrItemsIndex, isSpecificItemControl, getDecimalPrecision, isRepeatItemAndNotCheckbox, parseDecimalStringToFloat, parseDecimalStringWithPrecision, isHiddenByEnableWhen, initialiseQuestionnaireResponse, generateItemsToRepopulate, repopulateResponse, extractObservationBased, getQuestionnaireItem, getSectionHeading } from './utils';
7
7
  // theme provider exports
8
8
  export { RendererThemeProvider, themeOptions } from './theme';
9
9
  export { InitialiseFormWrapperForStorybook } from './stories/storybookWrappers';
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,mBAAmB,CAAC;AAgB3B,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,SAAS,EACT,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,0BAA0B,EAC1B,aAAa,EACb,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AAWtB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,6BAA6B,EAC7B,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,UAAU,CAAC;AAIlB,OAAO,EACL,SAAS,EACT,WAAW,EACX,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,6BAA6B,EAC7B,oCAAoC,EACpC,6BAA6B,EAC7B,cAAc,EACd,aAAa,EACd,MAAM,SAAS,CAAC;AAIjB,OAAO,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,8BAA8B,EAC9B,6BAA6B,EAC7B,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EACzB,+BAA+B,EAC/B,oBAAoB,EACpB,+BAA+B,EAC/B,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB,yBAAyB;AACzB,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI9D,OAAO,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,mBAAmB,CAAC;AAgB3B,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,UAAU,EACV,SAAS,EACT,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,0BAA0B,EAC1B,aAAa,EACb,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,cAAc,CAAC;AAWtB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,6BAA6B,EAC7B,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,UAAU,CAAC;AAIlB,OAAO,EACL,SAAS,EACT,WAAW,EACX,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,6BAA6B,EAC7B,oCAAoC,EACpC,6BAA6B,EAC7B,cAAc,EACd,aAAa,EACd,MAAM,SAAS,CAAC;AAIjB,OAAO,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,8BAA8B,EAC9B,6BAA6B,EAC7B,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EACzB,+BAA+B,EAC/B,oBAAoB,EACpB,+BAA+B,EAC/B,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAEjB,yBAAyB;AACzB,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI9D,OAAO,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { QuestionnaireResponse } from 'fhir/r4';
2
+ export interface ExtractOperationStoreType {
3
+ extractionResult: QuestionnaireResponse | null;
4
+ extractionError: string | null;
5
+ debugInfo: any | null;
6
+ isExtractionStarted: boolean;
7
+ setExtractionResult: (result: QuestionnaireResponse | null) => void;
8
+ setExtractionError: (error: string | null) => void;
9
+ setDebugInfo: (info: any | null) => void;
10
+ startExtraction: () => void;
11
+ clearExtraction: () => void;
12
+ }
13
+ export declare const extractOperationStore: import("zustand/vanilla").StoreApi<ExtractOperationStoreType>;
14
+ export declare const useExtractOperationStore: import("zustand/vanilla").StoreApi<ExtractOperationStoreType> & {
15
+ use: {
16
+ extractionResult: () => QuestionnaireResponse | null;
17
+ extractionError: () => string | null;
18
+ debugInfo: () => any;
19
+ isExtractionStarted: () => boolean;
20
+ setExtractionResult: () => (result: QuestionnaireResponse | null) => void;
21
+ setExtractionError: () => (error: string | null) => void;
22
+ setDebugInfo: () => (info: any | null) => void;
23
+ startExtraction: () => () => void;
24
+ clearExtraction: () => () => void;
25
+ };
26
+ };
@@ -0,0 +1,20 @@
1
+ import { createStore } from 'zustand/vanilla';
2
+ import { createSelectors } from './selector';
3
+ export const extractOperationStore = createStore()((set) => ({
4
+ extractionResult: null,
5
+ extractionError: null,
6
+ debugInfo: null,
7
+ isExtractionStarted: false,
8
+ setExtractionResult: (result) => set({ extractionResult: result, extractionError: null }),
9
+ setExtractionError: (error) => set({ extractionError: error, extractionResult: null }),
10
+ setDebugInfo: (info) => set({ debugInfo: info }),
11
+ startExtraction: () => set({ isExtractionStarted: true }),
12
+ clearExtraction: () => set({
13
+ extractionResult: null,
14
+ extractionError: null,
15
+ debugInfo: null,
16
+ isExtractionStarted: false
17
+ })
18
+ }));
19
+ export const useExtractOperationStore = createSelectors(extractOperationStore);
20
+ //# sourceMappingURL=extractOperationStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extractOperationStore.js","sourceRoot":"","sources":["../../src/stores/extractOperationStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAc7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,EAA6B,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACtF,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,IAAI;IACrB,SAAS,EAAE,IAAI;IACf,mBAAmB,EAAE,KAAK;IAC1B,mBAAmB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IACzF,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IACtF,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAChD,eAAe,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;IACzD,eAAe,EAAE,GAAG,EAAE,CACpB,GAAG,CAAC;QACF,gBAAgB,EAAE,IAAI;QACtB,eAAe,EAAE,IAAI;QACrB,SAAS,EAAE,IAAI;QACf,mBAAmB,EAAE,KAAK;KAC3B,CAAC;CACL,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,wBAAwB,GAAG,eAAe,CAAC,qBAAqB,CAAC,CAAC"}
@@ -1,10 +1,13 @@
1
+ export * from './questionnaireStore';
2
+ export * from './questionnaireResponseStore';
3
+ export * from './smartConfigStore';
4
+ export * from './terminologyServerStore';
5
+ export * from './rendererStylingStore';
1
6
  export type { QuestionnaireStoreType } from './questionnaireStore';
2
- export { questionnaireStore, useQuestionnaireStore } from './questionnaireStore';
3
7
  export type { QuestionnaireResponseStoreType } from './questionnaireResponseStore';
4
- export { questionnaireResponseStore, useQuestionnaireResponseStore } from './questionnaireResponseStore';
5
8
  export type { SmartConfigStoreType } from './smartConfigStore';
6
- export { smartConfigStore, useSmartConfigStore } from './smartConfigStore';
7
9
  export type { TerminologyServerStoreType } from './terminologyServerStore';
8
- export { terminologyServerStore, useTerminologyServerStore } from './terminologyServerStore';
9
10
  export type { RendererStyling, RendererStylingStoreType } from './rendererStylingStore';
11
+ export { smartConfigStore, useSmartConfigStore } from './smartConfigStore';
12
+ export { terminologyServerStore, useTerminologyServerStore } from './terminologyServerStore';
10
13
  export { rendererStylingStore, useRendererStylingStore } from './rendererStylingStore';
@@ -1,5 +1,8 @@
1
- export { questionnaireStore, useQuestionnaireStore } from './questionnaireStore';
2
- export { questionnaireResponseStore, useQuestionnaireResponseStore } from './questionnaireResponseStore';
1
+ export * from './questionnaireStore';
2
+ export * from './questionnaireResponseStore';
3
+ export * from './smartConfigStore';
4
+ export * from './terminologyServerStore';
5
+ export * from './rendererStylingStore';
3
6
  export { smartConfigStore, useSmartConfigStore } from './smartConfigStore';
4
7
  export { terminologyServerStore, useTerminologyServerStore } from './terminologyServerStore';
5
8
  export { rendererStylingStore, useRendererStylingStore } from './rendererStylingStore';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stores/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGjF,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC9B,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG3E,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAG7F,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stores/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AAYvC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -135,7 +135,7 @@ export declare const useRendererStylingStore: import("zustand/vanilla").StoreApi
135
135
  reverseBooleanYesNo: () => boolean;
136
136
  hideClearButton: () => boolean;
137
137
  hideQuantityComparatorField: () => boolean;
138
- enableWhenAsReadOnly: () => boolean | Set<"string" | "boolean" | "url" | "display" | "text" | "group" | "question" | "decimal" | "integer" | "date" | "dateTime" | "time" | "choice" | "open-choice" | "attachment" | "reference" | "quantity">;
138
+ enableWhenAsReadOnly: () => boolean | Set<"string" | "boolean" | "group" | "display" | "question" | "decimal" | "integer" | "date" | "dateTime" | "time" | "text" | "url" | "choice" | "open-choice" | "attachment" | "reference" | "quantity">;
139
139
  disablePageCardView: () => boolean;
140
140
  disablePageButtons: () => boolean;
141
141
  disableTabButtons: () => boolean;
@@ -0,0 +1,23 @@
1
+ import type { Observation } from 'fhir/r4';
2
+ export interface BloodPressureTemplate {
3
+ systolic: {
4
+ code: {
5
+ system: string;
6
+ code: string;
7
+ display: string;
8
+ };
9
+ unit: string;
10
+ system: string;
11
+ };
12
+ diastolic: {
13
+ code: {
14
+ system: string;
15
+ code: string;
16
+ display: string;
17
+ };
18
+ unit: string;
19
+ system: string;
20
+ };
21
+ }
22
+ export declare const bloodPressureTemplate: BloodPressureTemplate;
23
+ export declare function createBloodPressureObservations(systolicValue: number, diastolicValue: number, subjectReference: string): Observation[];
@@ -0,0 +1,80 @@
1
+ export const bloodPressureTemplate = {
2
+ systolic: {
3
+ code: {
4
+ system: 'http://loinc.org',
5
+ code: '8480-6',
6
+ display: 'Systolic blood pressure'
7
+ },
8
+ unit: 'mmHg',
9
+ system: 'http://unitsofmeasure.org'
10
+ },
11
+ diastolic: {
12
+ code: {
13
+ system: 'http://loinc.org',
14
+ code: '8462-4',
15
+ display: 'Diastolic blood pressure'
16
+ },
17
+ unit: 'mmHg',
18
+ system: 'http://unitsofmeasure.org'
19
+ }
20
+ };
21
+ export function createBloodPressureObservations(systolicValue, diastolicValue, subjectReference) {
22
+ const systolicObservation = {
23
+ resourceType: 'Observation',
24
+ status: 'final',
25
+ category: [
26
+ {
27
+ coding: [
28
+ {
29
+ system: 'http://terminology.hl7.org/CodeSystem/observation-category',
30
+ code: 'vital-signs',
31
+ display: 'Vital Signs'
32
+ }
33
+ ]
34
+ }
35
+ ],
36
+ code: {
37
+ coding: [bloodPressureTemplate.systolic.code]
38
+ },
39
+ subject: {
40
+ reference: subjectReference
41
+ },
42
+ valueQuantity: {
43
+ value: systolicValue,
44
+ unit: bloodPressureTemplate.systolic.unit,
45
+ system: bloodPressureTemplate.systolic.system,
46
+ code: 'mm[Hg]'
47
+ },
48
+ effectiveDateTime: new Date().toISOString()
49
+ };
50
+ const diastolicObservation = {
51
+ resourceType: 'Observation',
52
+ status: 'final',
53
+ category: [
54
+ {
55
+ coding: [
56
+ {
57
+ system: 'http://terminology.hl7.org/CodeSystem/observation-category',
58
+ code: 'vital-signs',
59
+ display: 'Vital Signs'
60
+ }
61
+ ]
62
+ }
63
+ ],
64
+ code: {
65
+ coding: [bloodPressureTemplate.diastolic.code]
66
+ },
67
+ subject: {
68
+ reference: subjectReference
69
+ },
70
+ valueQuantity: {
71
+ value: diastolicValue,
72
+ unit: bloodPressureTemplate.diastolic.unit,
73
+ system: bloodPressureTemplate.diastolic.system,
74
+ code: 'mm[Hg]'
75
+ },
76
+ effectiveDateTime: new Date().toISOString()
77
+ };
78
+ return [systolicObservation, diastolicObservation];
79
+ }
80
+ //# sourceMappingURL=bloodPressureTemplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bloodPressureTemplate.js","sourceRoot":"","sources":["../../src/templates/bloodPressureTemplate.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAC,MAAM,qBAAqB,GAA0B;IAC1D,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,yBAAyB;SACnC;QACD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,2BAA2B;KACpC;IACD,SAAS,EAAE;QACT,IAAI,EAAE;YACJ,MAAM,EAAE,kBAAkB;YAC1B,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,0BAA0B;SACpC;QACD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,2BAA2B;KACpC;CACF,CAAC;AAEF,MAAM,UAAU,+BAA+B,CAC7C,aAAqB,EACrB,cAAsB,EACtB,gBAAwB;IAExB,MAAM,mBAAmB,GAAgB;QACvC,YAAY,EAAE,aAAa;QAC3B,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE;YACR;gBACE,MAAM,EAAE;oBACN;wBACE,MAAM,EAAE,4DAA4D;wBACpE,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE,aAAa;qBACvB;iBACF;aACF;SACF;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC;SAC9C;QACD,OAAO,EAAE;YACP,SAAS,EAAE,gBAAgB;SAC5B;QACD,aAAa,EAAE;YACb,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,qBAAqB,CAAC,QAAQ,CAAC,IAAI;YACzC,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,MAAM;YAC7C,IAAI,EAAE,QAAQ;SACf;QACD,iBAAiB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAC5C,CAAC;IAEF,MAAM,oBAAoB,GAAgB;QACxC,YAAY,EAAE,aAAa;QAC3B,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE;YACR;gBACE,MAAM,EAAE;oBACN;wBACE,MAAM,EAAE,4DAA4D;wBACpE,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE,aAAa;qBACvB;iBACF;aACF;SACF;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC;SAC/C;QACD,OAAO,EAAE;YACP,SAAS,EAAE,gBAAgB;SAC5B;QACD,aAAa,EAAE;YACb,KAAK,EAAE,cAAc;YACrB,IAAI,EAAE,qBAAqB,CAAC,SAAS,CAAC,IAAI;YAC1C,MAAM,EAAE,qBAAqB,CAAC,SAAS,CAAC,MAAM;YAC9C,IAAI,EAAE,QAAQ;SACf;QACD,iBAAiB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAC5C,CAAC;IAEF,OAAO,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Questionnaire, QuestionnaireResponse } from 'fhir/r4';
2
+ export declare const bloodPressureQuestionnaire: Questionnaire;
3
+ export declare const bloodPressureResponse: QuestionnaireResponse;
@@ -0,0 +1,250 @@
1
+ export const bloodPressureQuestionnaire = {
2
+ resourceType: 'Questionnaire',
3
+ id: 'blood-pressure-questionnaire',
4
+ identifier: [
5
+ {
6
+ system: 'http://example.org/questionnaire-identifier',
7
+ value: 'blood-pressure-questionnaire'
8
+ }
9
+ ],
10
+ status: 'active',
11
+ title: 'Blood Pressure Measurement',
12
+ extension: [
13
+ {
14
+ url: 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract',
15
+ valueBoolean: true
16
+ },
17
+ {
18
+ url: 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext',
19
+ extension: [
20
+ {
21
+ url: 'name',
22
+ valueCoding: {
23
+ system: 'http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext',
24
+ code: 'patient'
25
+ }
26
+ },
27
+ {
28
+ url: 'type',
29
+ valueCode: 'Patient'
30
+ },
31
+ {
32
+ url: 'description',
33
+ valueString: 'The patient that is to be used to pre-populate the form'
34
+ }
35
+ ]
36
+ }
37
+ ],
38
+ contained: [
39
+ {
40
+ resourceType: 'Observation',
41
+ id: 'systolic-bp-template',
42
+ status: 'final',
43
+ category: [
44
+ {
45
+ coding: [
46
+ {
47
+ system: 'http://terminology.hl7.org/CodeSystem/observation-category',
48
+ code: 'vital-signs'
49
+ }
50
+ ]
51
+ }
52
+ ],
53
+ code: {
54
+ coding: [
55
+ {
56
+ system: 'http://loinc.org',
57
+ code: '8480-6',
58
+ display: 'Systolic blood pressure'
59
+ }
60
+ ]
61
+ },
62
+ subject: {
63
+ extension: [
64
+ {
65
+ url: 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue',
66
+ valueString: '%QuestionnaireResponse.subject'
67
+ }
68
+ ]
69
+ },
70
+ effectiveDateTime: '1900-01-01',
71
+ _effectiveDateTime: {
72
+ extension: [
73
+ {
74
+ url: 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue',
75
+ valueString: 'now()'
76
+ }
77
+ ]
78
+ },
79
+ valueQuantity: {
80
+ extension: [
81
+ {
82
+ url: 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue',
83
+ valueString: "item.where(linkId = 'systolic').answer.valueQuantity.value"
84
+ }
85
+ ],
86
+ unit: 'mmHg',
87
+ system: 'http://unitsofmeasure.org',
88
+ code: 'mm[Hg]'
89
+ }
90
+ },
91
+ {
92
+ resourceType: 'Observation',
93
+ id: 'diastolic-bp-template',
94
+ status: 'final',
95
+ category: [
96
+ {
97
+ coding: [
98
+ {
99
+ system: 'http://terminology.hl7.org/CodeSystem/observation-category',
100
+ code: 'vital-signs'
101
+ }
102
+ ]
103
+ }
104
+ ],
105
+ code: {
106
+ coding: [
107
+ {
108
+ system: 'http://loinc.org',
109
+ code: '8462-4',
110
+ display: 'Diastolic blood pressure'
111
+ }
112
+ ]
113
+ },
114
+ subject: {
115
+ extension: [
116
+ {
117
+ url: 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue',
118
+ valueString: '%QuestionnaireResponse.subject'
119
+ }
120
+ ]
121
+ },
122
+ effectiveDateTime: '1900-01-01',
123
+ _effectiveDateTime: {
124
+ extension: [
125
+ {
126
+ url: 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue',
127
+ valueString: 'now()'
128
+ }
129
+ ]
130
+ },
131
+ valueQuantity: {
132
+ extension: [
133
+ {
134
+ url: 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtractValue',
135
+ valueString: "item.where(linkId = 'diastolic').answer.valueQuantity.value"
136
+ }
137
+ ],
138
+ unit: 'mmHg',
139
+ system: 'http://unitsofmeasure.org',
140
+ code: 'mm[Hg]'
141
+ }
142
+ }
143
+ ],
144
+ item: [
145
+ {
146
+ linkId: 'systolic',
147
+ text: 'Systolic Blood Pressure',
148
+ type: 'quantity',
149
+ required: true,
150
+ code: [
151
+ {
152
+ system: 'http://loinc.org',
153
+ code: '8480-6',
154
+ display: 'Systolic blood pressure'
155
+ }
156
+ ],
157
+ extension: [
158
+ {
159
+ url: 'http://hl7.org/fhir/StructureDefinition/questionnaire-unit',
160
+ valueCoding: {
161
+ system: 'http://unitsofmeasure.org',
162
+ code: 'mm[Hg]',
163
+ display: 'mmHg'
164
+ }
165
+ },
166
+ {
167
+ url: 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract',
168
+ extension: [
169
+ {
170
+ url: 'template',
171
+ valueReference: {
172
+ reference: '#systolic-bp-template'
173
+ }
174
+ }
175
+ ]
176
+ }
177
+ ]
178
+ },
179
+ {
180
+ linkId: 'diastolic',
181
+ text: 'Diastolic Blood Pressure',
182
+ type: 'quantity',
183
+ required: true,
184
+ code: [
185
+ {
186
+ system: 'http://loinc.org',
187
+ code: '8462-4',
188
+ display: 'Diastolic blood pressure'
189
+ }
190
+ ],
191
+ extension: [
192
+ {
193
+ url: 'http://hl7.org/fhir/StructureDefinition/questionnaire-unit',
194
+ valueCoding: {
195
+ system: 'http://unitsofmeasure.org',
196
+ code: 'mm[Hg]',
197
+ display: 'mmHg'
198
+ }
199
+ },
200
+ {
201
+ url: 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-templateExtract',
202
+ extension: [
203
+ {
204
+ url: 'template',
205
+ valueReference: {
206
+ reference: '#diastolic-bp-template'
207
+ }
208
+ }
209
+ ]
210
+ }
211
+ ]
212
+ }
213
+ ]
214
+ };
215
+ export const bloodPressureResponse = {
216
+ resourceType: 'QuestionnaireResponse',
217
+ status: 'completed',
218
+ subject: {
219
+ reference: 'Patient/123'
220
+ },
221
+ item: [
222
+ {
223
+ linkId: 'systolic',
224
+ answer: [
225
+ {
226
+ valueQuantity: {
227
+ value: 120,
228
+ unit: 'mmHg',
229
+ system: 'http://unitsofmeasure.org',
230
+ code: 'mm[Hg]'
231
+ }
232
+ }
233
+ ]
234
+ },
235
+ {
236
+ linkId: 'diastolic',
237
+ answer: [
238
+ {
239
+ valueQuantity: {
240
+ value: 80,
241
+ unit: 'mmHg',
242
+ system: 'http://unitsofmeasure.org',
243
+ code: 'mm[Hg]'
244
+ }
245
+ }
246
+ ]
247
+ }
248
+ ]
249
+ };
250
+ //# sourceMappingURL=bloodPressureSample.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bloodPressureSample.js","sourceRoot":"","sources":["../../../src/tests/test-data/bloodPressureSample.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Questionnaire, QuestionnaireResponse } from 'fhir/r4';
2
+ export declare const complexTemplateQuestionnaire: Questionnaire;
3
+ export declare const complexTemplateResponse: QuestionnaireResponse;