import { ELM } from '../types/ELMTypes'; import { CalculationOptions, ClauseCoverageDetails, ClauseResult, DetailedPopulationGroupResult, ExecutionResult, StatementResult } from '../types/Calculator'; export declare const cqlLogicClauseTrueStyle: { 'background-color': string; color: string; 'border-bottom-color': string; 'border-bottom-style': string; 'border-bottom-width': string; }; export declare const cqlLogicClauseFalseStyle: { 'background-color': string; color: string; 'border-bottom-color': string; 'border-bottom-style': string; 'border-bottom-width': string; }; export declare const cqlLogicClauseCoveredStyle: { 'background-color': string; color: string; }; export declare const cqlLogicUncoveredClauseStyle: { 'background-color': string; color: string; }; export declare const cqlLogicUncoveredUncoverageClauseStyle: { 'background-color': string; color: string; }; /** * Convert JS object to CSS Style string * * @param obj JS object representing CSS styles * @returns semi-colon separated string of CSS styles for style attribute */ export declare function objToCSS(obj: { [key: string]: string; }): string; /** * Sort statements into population, then non-functions, then functions */ export declare function sortStatements(measure: fhir4.Measure, groupId: string, statements: StatementResult[]): void; /** * Generate HTML structure based on ELM annotations in relevant statements * * @param measure measure used for calculation * @param elmLibraries main ELM and dependencies to lookup statements * @param statementResults StatementResult array from calculation * @param clauseResults ClauseResult array from calculation * @param groupId ID of population group * @param options Calculation Options * @returns string of HTML representing the clauses for this group */ export declare function generateHTML(measure: fhir4.Measure, elmLibraries: ELM[], statementResults: StatementResult[], clauseResults: ClauseResult[], groupId: string, options?: CalculationOptions): string; /** * Generate HTML structure with clause coverage highlighting for all clauses * based on ELM annotations in relevant statements * * @param measure measure used for calculation * @param elmLibraries main ELM and dependencies to lookup statements * @param executionResults array of detailed population group results across * all patients * @param disableHTMLOrdering disables CQL statement sorting * @returns a lookup object where the key is the groupId and the value is the * clause coverage HTML */ export declare function generateClauseCoverageHTML(measure: fhir4.Measure, elmLibraries: ELM[], executionResults: ExecutionResult[], options: T): { coverage: Record; uncoverage?: Record; details?: Record; }; /** * Calculates clause coverage as the percentage of relevant clauses with FinalResult.TRUE * out of all relevant clauses. * @param relevantStatements StatementResults array from calculation filtered to relevant statements * @param clauseResults ClauseResult array from calculation * @returns percentage out of 100, represented as a string */ export declare function calculateClauseCoverage(relevantStatements: StatementResult[], clauseResults: ClauseResult[]): { percentage: string; coveredClauses: ClauseResult[]; uncoveredClauses: ClauseResult[]; };