import type { Bundle, CodeableConcept, Observation, Questionnaire, QuestionnaireItem, QuestionnaireResponse, QuestionnaireResponseItemAnswer } from 'fhir/r4'; /** * Extract an array of Observations from a QuestionnaireResponse and its source Questionnaire. * @see https://build.fhir.org/ig/HL7/sdc/extraction.html#observation-based-extraction * * @author Riza Nafis */ export declare function extractObservationBased(questionnaire: Questionnaire, questionnaireResponse: QuestionnaireResponse): Observation[]; export type Extractable = { extractable: boolean; extractCategories: CodeableConcept[]; }; export declare function mapQItemsExtractable(questionnaire: Questionnaire): Record; export declare function createObservation(questionnaireItem: QuestionnaireItem, questionnaireResponse: QuestionnaireResponse, answer: QuestionnaireResponseItemAnswer, categories: CodeableConcept[]): Observation; export declare function generateUniqueId(prefix: string): string; /** * Checks whether a Questionnaire or any of its items contains a valid `sdc-questionnaire-observationExtract` extension (and if it's at the item level, a valid item.code too). * Array.prototype.some() is short-circuiting, so it will return true as soon as it finds a valid extension. * * @param questionnaire - The FHIR Questionnaire to check. * @returns `true` if at least one valid observationExtract extension exists. */ export declare function canBeObservationExtracted(questionnaire: Questionnaire): boolean; export declare function buildBundleFromObservationArray(observations: Observation[]): Bundle;