@vidal-community/vidal-web-components
Version:
Vidal Web Components
39 lines • 1.88 kB
JavaScript
import './vidal-equivalent-form';
export class EquivalentFormularyFilter {
constructor() {
this.compatibleRoutesIds = [
'vidal://route/37',
'vidal://route/38',
'vidal://route/72',
'vidal://route/85',
];
this.incompatibleIndicatorIds = [59, 61, 82, 17, 14, 3, 4, 67];
}
byRouteAndIndicators(equivalentFormulary) {
const filteredEquivalentFormulary = Array.from(equivalentFormulary.entries()).filter(([prescriptionLine]) => {
var _a;
const indicators = (_a = prescriptionLine.multiComposableDrugData) === null || _a === void 0 ? void 0 : _a.indicators;
if (prescriptionLine.routeUri != null) {
const isRouteCompatible = this.compatibleRoutesIds.includes(prescriptionLine.routeUri);
const hasIncompatibleIndicator = indicators === null || indicators === void 0 ? void 0 : indicators.some((indicator) => this.incompatibleIndicatorIds.includes(Number(indicator)));
return (isRouteCompatible &&
!hasIncompatibleIndicator &&
!!prescriptionLine.multiComposableDrugData);
}
return false;
});
return new Map(filteredEquivalentFormulary.map((equivalentFormulary) => [
equivalentFormulary[0],
equivalentFormulary[1],
]));
}
isRouteAndIndicatorIncompatibleForMultiComposable(multiComposableDrugData, routeUri) {
var _a;
if (!routeUri) {
return true;
}
return (!multiComposableDrugData.routeUris.includes(routeUri) ||
((_a = multiComposableDrugData.indicators) === null || _a === void 0 ? void 0 : _a.some((indicator) => this.incompatibleIndicatorIds.includes(Number(indicator)))));
}
}
//# sourceMappingURL=equivalent-formulary-filter.js.map