import type { QuestionnaireItem, QuestionnaireResponse, QuestionnaireResponseItem } from 'fhir/r4'; import type { QrRepeatGroup } from '../interfaces/repeatGroup.interface'; /** * Remove items with no answers from a given questionnaireResponse * Also remove any starting or trailing whitespace from valueStrings * Generated questionnaireResponse only has items with answers * * @author Sean Fong */ export declare function removeNoAnswerQrItem(qrItem: QuestionnaireResponseItem): QuestionnaireResponseItem | undefined; /** * Create an empty group qrItem from a given group qItem * * @author Sean Fong */ export declare function createEmptyQrGroup(qItem: QuestionnaireItem): QuestionnaireResponseItem; /** * Create an empty repeat qrItem from a given repeat qItem * * @author Clinton Gillespie */ export declare function createEmptyRepeatNestedItems(qItem: QuestionnaireItem): QuestionnaireResponseItem; /** * Create an empty qrItem from a given qItem, optionally with an answer key * * @author Sean Fong */ export declare function createEmptyQrItem(qItem: QuestionnaireItem, answerKey: string | undefined): QuestionnaireResponseItem; /** * Updates the QuestionnaireResponseItem group by adding/removing a new/modified child QuestionnaireResponseItem into/from a qrGroup * Takes either a single newQrItem or an array of newQrItems * * @author Sean Fong */ export declare function updateQrItemsInGroup(newQrItem: QuestionnaireResponseItem | null, newQrRepeatGroup: QrRepeatGroup | null, questionnaireResponseOrQrItem: QuestionnaireResponseItem | QuestionnaireResponse, qItemsIndexMap: Record): void; /** * Updates the QuestionnaireResponseItem group by adding/removing a new/modified child QuestionnaireResponseItem into/from a qrGroup * Specifically handles nested repeat items where each item has an answer array rather than nested items * * @author Sean Fong */ export declare function updateQrNestedItems(newQrItem: QuestionnaireResponseItem | null, questionnaireResponseOrQrItem: QuestionnaireResponseItem, qItemsIndexMap: Record): void; /** * Gets the Id of the QR Item, if it has a Calculated Expression, then it returns a new Id, else it returns the passed Id. * * @author Janardhan Vignarajan */ export declare function getQRItemId(answerKey: string | undefined): string | undefined;