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
90 lines (89 loc) • 3.75 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _reactIntl = require("react-intl");
var _terraVisuallyHiddenText = _interopRequireDefault(require("terra-visually-hidden-text"));
var _observationPropTypes = _interopRequireDefault(require("./proptypes/observationPropTypes"));
var _Observation = _interopRequireDefault(require("./common/observation/_Observation"));
var _ResultError = _interopRequireDefault(require("./common/other/_ResultError"));
var _KnownNoData = _interopRequireDefault(require("./common/other/_KnownNoData"));
var _utils = require("./common/utils");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var propTypes = {
/**
* Result for blood pressure
*/
result: _observationPropTypes.default,
/**
* Whether or not the unit of measure should be presented in a series of side-by-side columns of the same unit.
*/
hideUnit: _propTypes.default.bool,
/**
* Blood Pressure grouped result id
*/
id: _propTypes.default.string,
/**
* What type the display is
*/
type: _propTypes.default.string,
/**
* The cleaned unit of the diastolic display.
*/
diastolicUnit: _propTypes.default.string,
/**
* @private
* The intl object to be injected for translations.
*/
intl: _propTypes.default.shape({
formatMessage: _propTypes.default.func
}).isRequired
};
var BloodPressureDisplay = function BloodPressureDisplay(_ref) {
var _result$result, _result$result2;
var result = _ref.result,
hideUnit = _ref.hideUnit,
id = _ref.id,
type = _ref.type,
diastolicUnit = _ref.diastolicUnit,
intl = _ref.intl;
var isValidValue = result === null || result === void 0 || (_result$result = result.result) === null || _result$result === void 0 ? void 0 : _result$result.value;
var isUnitPresent = !hideUnit && (result === null || result === void 0 || (_result$result2 = result.result) === null || _result$result2 === void 0 ? void 0 : _result$result2.unit);
if (!result) {
return /*#__PURE__*/_react.default.createElement(_ResultError.default, {
key: "Error-".concat(type, "-").concat(id)
});
}
if (result.noData) {
return /*#__PURE__*/_react.default.createElement(_KnownNoData.default, {
key: "NoData-".concat(type, "-").concat(id)
});
}
return /*#__PURE__*/_react.default.createElement(_utils.ConditionalWrapper, {
key: "del-".concat(type, "-").concat(result.eventId),
condition: result.statusInError,
wrapper: function wrapper(children) {
return /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement("s", {
"aria-hidden": "true"
}, children), isValidValue ? /*#__PURE__*/_react.default.createElement(_terraVisuallyHiddenText.default, {
text: intl.formatMessage({
id: 'Terra.clinicalResult.statusInErrorStrikethrough'
}, {
strikethroughResult: "".concat(result.result.value, " ").concat(isUnitPresent ? result.result.unit : '')
})
}) : null);
}
}, /*#__PURE__*/_react.default.createElement(_Observation.default, {
key: "Observation-".concat(type, "-").concat(result.eventId),
eventId: result.eventId,
result: result.result,
interpretation: !result.statusInError ? result.interpretation : null,
isUnverified: result.isUnverified,
hideUnit: hideUnit || result.cleanedUnit === diastolicUnit && !result.statusInError
}));
};
BloodPressureDisplay.propTypes = propTypes;
var _default = exports.default = (0, _reactIntl.injectIntl)(BloodPressureDisplay);