UNPKG

terra-clinical-result

Version:

The Terra Clinical Result package is a collection of standardized views for presenting clinical results documented to a Patient's Medical Chart, such as Vital Signs, Laboratory Results, and Discretely Documented Values

390 lines (376 loc) 10.8 kB
import React from 'react'; import { FlowsheetResultCell, ResultNameHeaderCell } from 'terra-clinical-result/lib/index'; import Table, { Header, Row, Body, } from 'terra-html-table'; import classNamesBind from 'classnames/bind'; import styles from '../Examples.module.scss'; const cx = classNamesBind.bind(styles); const defaultBloodPressureResult = [ { id: '1', systolic: { eventId: '2', result: { value: '130', unit: 'mmHg', }, interpretation: 'high', }, diastolic: { eventId: '3', result: { value: '80', unit: 'mmHg', }, }, }, ]; const multipleResults = [ { id: '4', systolic: { eventId: '5', result: { value: '140', unit: 'mmHg', }, interpretation: 'high', }, diastolic: { eventId: '6', result: { value: '77', unit: 'mmHg', }, interpretation: 'critical', }, }, { id: '7', systolic: { eventId: '8', result: { value: '140', unit: 'mmHg', }, interpretation: 'high', }, diastolic: { eventId: '9', result: { value: '77', unit: 'mmHg', }, interpretation: 'critical', }, }, ]; const numericResultsNoOverflow = [ { eventId: '1602328271', result: { value: '101.1', unit: 'degC', }, isNumeric: true, isModified: true, hasComment: true, }, { eventId: '1602328282', result: { value: '101.2', unit: 'degC', }, isNumeric: true, isModified: false, hasComment: false, }, { eventId: '1602328293', result: { value: '101.3', unit: 'degC', }, isNumeric: true, isModified: false, hasComment: false, }, ]; const numericResultsOverflow = [ { eventId: '1602328271', result: { value: '10111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011101110111011', unit: 'degC', }, isNumeric: true, isModified: true, hasComment: true, }, { eventId: '1602328282', result: { value: '101.2', unit: 'degC', }, isNumeric: true, isModified: false, hasComment: false, }, { eventId: '1602328293', result: { value: '101.3', unit: 'degC', }, isNumeric: true, isModified: false, hasComment: false, }, ]; const multipleDecoratedResults = [ { id: '10', systolic: { eventId: '11', result: { value: '140', unit: 'mmHg', }, interpretation: 'high', }, diastolic: { eventId: '12', result: { value: '77', unit: 'mmHg', }, interpretation: 'critical', isUnverified: false, isModified: true, hasComment: true, }, }, { id: '13', systolic: { eventId: '14', result: { value: '140', unit: 'mmHg', }, interpretation: 'high', }, diastolic: { eventId: '15', result: { value: '77', unit: 'mmHg', }, interpretation: 'critical', isUnverified: true, }, }, ]; const decoratedResult = [ { id: '16', systolic: { eventId: '17', result: { value: '85', unit: 'mmHg', }, interpretation: 'low', }, diastolic: { eventId: '18', result: { value: '77', unit: 'mmHg', }, isUnverified: false, isModified: true, hasComment: true, }, }, ]; const partialResultWithNoDataPropSystolic = [ { id: '19', systolic: { eventId: '20', resultNoData: true, }, diastolic: { eventId: '21', result: { value: '85', unit: 'mmHg', }, }, }, ]; const partialResultWithNoDataPropDiastolic = [ { id: '22', systolic: { eventId: '23', result: { value: '170', unit: 'mmHg', }, interpretation: 'critical', }, diastolic: { eventId: '24', resultNoData: true, }, }, ]; const partialResultError = [ { id: '111', systolic: { eventId: '111.2', result: { value: '77', unit: 'mmHg', }, interpretation: 'critical', }, }, ]; const unverifiedResult = [ { id: '25', systolic: { eventId: '26', result: { value: '140', unit: 'mmHg', }, interpretation: 'high', isUnverified: true, }, diastolic: { eventId: '27', result: { value: '77', unit: 'mmHg', }, interpretation: 'critical', isUnverified: true, }, }, ]; const enteredInError = [ { id: '1577836800', result: { value: '12345.678', unit: 'mL', }, status: 'entered-in-error', }, { id: '1577836911', result: { value: '12345.678', unit: 'mL', }, }, ]; export default () => ( <Table className={cx('mock-flowsheet-table-full')}> <Header> <ResultNameHeaderCell key="notes" resultName="Notes" /> <ResultNameHeaderCell key="result" resultName="Clinical Results" /> <ResultNameHeaderCell key="date" resultName="Date" /> </Header> <Body> <Row> {/* This example cell shows a standard result */} <FlowsheetResultCell key="notes" resultDataSet={[{ id: 1, result: { value: 'Standard Result (With Unit)' } }]} /> <FlowsheetResultCell key="result" resultDataSet={defaultBloodPressureResult} /> <FlowsheetResultCell key="date" resultDataSet={[{ id: 2, result: { value: 'May 12th' } }]} /> </Row> <Row> {/* This example cell shows multiple results */} <FlowsheetResultCell key="notes" resultDataSet={[{ id: 3, result: { value: 'Multiple Results' } }]} /> <FlowsheetResultCell key="result" resultDataSet={multipleResults} hideUnit /> <FlowsheetResultCell key="date" resultDataSet={[{ id: 4, result: { value: 'May 12th' } }]} /> </Row> <Row> {/* This example cell shows multiple decorated results */} <FlowsheetResultCell key="notes" resultDataSet={[{ id: 5, result: { value: 'Multiple Decorated Results' } }]} /> <FlowsheetResultCell key="result" resultDataSet={multipleDecoratedResults} hideUnit /> <FlowsheetResultCell key="date" resultDataSet={[{ id: 6, result: { value: 'May 12th' } }]} /> </Row> <Row> {/* This example cell shows a decorated result */} <FlowsheetResultCell key="notes" resultDataSet={[{ id: 7, result: { value: 'Decorated Result' } }]} /> <FlowsheetResultCell key="result" resultDataSet={decoratedResult} hideUnit /> <FlowsheetResultCell key="date" resultDataSet={[{ id: 8, result: { value: 'May 12th' } }]} /> </Row> <Row> {/* This example cell shows a partial Blood Pressure no data display using the `resultNoData` property name for the Diastolic result */} <FlowsheetResultCell key="notes" resultDataSet={[{ id: 9, result: { value: 'Partial Result, Diastolic' } }]} /> <FlowsheetResultCell key="result" resultDataSet={partialResultWithNoDataPropDiastolic} hideUnit /> <FlowsheetResultCell key="date" resultDataSet={[{ id: 10, result: { value: 'May 12th' } }]} /> </Row> <Row> {/* This example cell shows a partial Blood Pressure no data display using the `resultNoData` property name for the Systolic result */} <FlowsheetResultCell key="notes" resultDataSet={[{ id: 11, result: { value: 'Partial Result, Systolic' } }]} /> <FlowsheetResultCell key="result" resultDataSet={partialResultWithNoDataPropSystolic} hideUnit /> <FlowsheetResultCell key="date" resultDataSet={[{ id: 12, result: { value: 'May 12th' } }]} /> </Row> <Row> {/* This example cell shows an unverified result */} <FlowsheetResultCell key="notes" resultDataSet={[{ id: 13, result: { value: 'Unverified Result' } }]} /> <FlowsheetResultCell key="result" resultDataSet={unverifiedResult} hideUnit /> <FlowsheetResultCell key="date" resultDataSet={[{ id: 14, result: { value: 'May 12th' } }]} /> </Row> <Row> {/* This example cell shows a standard result with the `hasResultNoData` prop */} <FlowsheetResultCell key="notes" resultDataSet={[{ id: 15, result: { value: 'No Data Result' } }]} /> <FlowsheetResultCell key="result" hasResultNoData /> <FlowsheetResultCell key="date" resultDataSet={[{ id: 16, result: { value: 'May 12th' } }]} /> </Row> <Row> {/* This example cell shows multiple numeric results without overflow present */} <FlowsheetResultCell key="notes" resultDataSet={[{ id: 23, result: { value: 'Numeric Without Overflow' } }]} /> <FlowsheetResultCell key="result" resultDataSet={numericResultsNoOverflow} /> <FlowsheetResultCell key="date" resultDataSet={[{ id: 24, result: { value: 'May 12th' } }]} /> </Row> <Row> {/* This example cell shows multiple numeric results with overflow present */} <FlowsheetResultCell key="notes" resultDataSet={[{ id: 25, result: { value: 'Numeric With Overflow' } }]} /> <FlowsheetResultCell key="result" resultDataSet={numericResultsOverflow} /> <FlowsheetResultCell key="date" resultDataSet={[{ id: 26, result: { value: 'May 12th' } }]} /> </Row> <Row> {/* This example cell shows a result with a status of entered-in-error */} <FlowsheetResultCell key="notes" resultDataSet={[{ id: 21, result: { value: 'Entered-in-error Result' } }]} /> <FlowsheetResultCell key="result" resultDataSet={enteredInError} /> <FlowsheetResultCell key="date" resultDataSet={[{ id: 22, result: { value: 'May 12th' } }]} /> </Row> <Row> {/* This example cell shows a result with an error */} <FlowsheetResultCell key="notes" resultDataSet={[{ id: 17, result: { value: 'Error Result' } }]} /> <FlowsheetResultCell key="result" hasResultError /> <FlowsheetResultCell key="date" resultDataSet={[{ id: 18, result: { value: 'May 12th' } }]} /> </Row> <Row> {/* This example cell shows a result with a partial error */} <FlowsheetResultCell key="notes" resultDataSet={[{ id: 19, result: { value: 'Partial Error Result' } }]} /> <FlowsheetResultCell key="result" resultDataSet={partialResultError} hideUnit /> <FlowsheetResultCell key="date" resultDataSet={[{ id: 20, result: { value: 'May 12th' } }]} /> </Row> </Body> </Table> );