import type { Coding, QuestionnaireItem, QuestionnaireItemAnswerOption, QuestionnaireResponseItem, QuestionnaireResponseItemAnswer } from 'fhir/r4'; import { ChoiceItemControl, ChoiceItemOrientation } from '../interfaces/choice.enum'; /** * Retrieves only the relevant properties of a Coding object. * Reason: https://tx.ontoserver.csiro.au/fhir returns a Coding with designation element, which is not in the FHIR spec, causing QRs with it to fail validation. * * @author Sean Fong */ export declare function getRelevantCodingProperties(coding: Coding): Coding; /** * Convert codings to Questionnaire answer options * * @author Sean Fong */ export declare function convertCodingsToAnswerOptions(codings: Coding[]): QuestionnaireItemAnswerOption[]; /** * Find and return corresponding answerOption based on selected answer in form * * @author Sean Fong */ export declare function findInAnswerOptions(options: QuestionnaireItemAnswerOption[], valueInString: string): QuestionnaireResponseItemAnswer | undefined; /** * Compare answer option value with selected value via valueString, valueInteger, or valueCoding.code * * @author Sean Fong */ export declare function compareAnswerOptionValue(option: QuestionnaireItemAnswerOption, value: QuestionnaireItemAnswerOption): boolean; /** * Get choice control type based on certain criteria in choice items * * @author Sean Fong */ export declare function getChoiceControlType(qItem: QuestionnaireItem): ChoiceItemControl; export declare function getAnswerValueString(answer: QuestionnaireResponseItemAnswer): string | null; /** * Find and return string value from selected answer * * @author Sean Fong */ export declare function getQrChoiceValue(qrChoice: QuestionnaireResponseItem, returnNull?: boolean): string | null; /** * Update choice checkbox group answers based on checkbox changes * * @author Sean Fong */ export declare function updateChoiceCheckboxAnswers(changedValue: string, answers: QuestionnaireResponseItemAnswer[], options: QuestionnaireItemAnswerOption[], oldQrItem: QuestionnaireResponseItem, isMultiSelection: boolean, answerKey: string | undefined): QuestionnaireResponseItem | null; /** * Get choice orientation from its itemControl * * @author Sean Fong */ export declare function getChoiceOrientation(qItem: QuestionnaireItem): ChoiceItemOrientation | null; export declare function isOptionDisabled(option: QuestionnaireItemAnswerOption, answerOptionsToggleExpressionsMap: Map): boolean; export declare function isCodingDisabled(coding: Coding, answerOptionsToggleExpressionsMap: Map): boolean;