import { CalculationOptions, DataTypeQuery, DRCalculationOutput } from '../types/Calculator'; import { GracefulError } from '../types/errors/GracefulError'; import { ELM, ELMIdentifier } from '../types/ELMTypes'; import { ExtractedLibrary } from '../types/CQLTypes'; import { Interval } from 'cql-execution'; /** * Returns a FHIR library containing data requirements, given a root library */ export declare function getDataRequirements(cqls: ExtractedLibrary[], rootLibIdentifier: ELMIdentifier, elmJSONs: ELM[], options?: CalculationOptions, effectivePeriod?: fhir4.Period, valueSets?: fhir4.ValueSet[]): Promise; /** * Creates query string for the data requirement using either the code filter code or valueSet and * the specified endpoint, and adds a fhirQueryPattern extension to the data requirement that * contains the query string. Uses expanded valuesets to get all of the codes in a valueset if the * useExpandedCodeQueries option is set to true. * @param dataRequirement Data requirement to add FHIR Query Pattern to * @param options Options for calculation. * @param valueSets Cache of existing valuesets */ export declare function addFhirQueryPatternToDataRequirements(dataRequirement: fhir4.DataRequirement, options?: CalculationOptions, valueSets?: fhir4.ValueSet[]): void; /** * Given a DataTypeQuery object, create a DataRequirement object that represents the data * that would be requested from a FHIR server for that query. * Currently supports * @param retrieve a DataTypeQuery that represents a retrieve for a FHIR Resource with certain attributes * @returns fhir4.DataRequirement with as much attribute data as we can add */ export declare function generateDataRequirement(retrieve: DataTypeQuery): fhir4.DataRequirement; /** * Extracts the measurement period information from either the options or effective period (in that order depending on presence) * and populates a parameters object including the extracted info to be passed into the parseQueryInfo function */ export declare function extractDataRequirementsMeasurementPeriod(options: CalculationOptions, effectivePeriod?: fhir4.Period): Record; /** * Get a flattened list of all related artifacts in the measure bundle. * * @param measureBundle The measure bundle to fetch all RelatedArtifacts from * @returns List of flattened related artifacts. */ export declare function getFlattenedRelatedArtifacts(measureBundle: fhir4.Bundle, rootLibRef?: string): fhir4.RelatedArtifact[]; /** * * @param q The query which contains the filters to add to the data requirement * @param dataRequirement Data requirement to add date filters to * @param withErrors Errors object which will eventually be returned to the user if populated * @returns void, but populated the dataRequirement filters */ export declare function addFiltersToDataRequirement(q: DataTypeQuery, dataRequirement: fhir4.DataRequirement, withErrors: GracefulError[]): void;