UNPKG

fhirbuilder

Version:
80 lines (79 loc) 3.21 kB
import { IElement, IQuestionnaireResponseAnswer, IQuestionnaireResponseItem } from 'fhirtypes/dist/r4'; import { QuestionnaireResponseItem } from '../../models'; import { BackboneBuilder, IBuildable } from '../base'; import { ExtractUnderscoreKeys } from '../../../core/commons/utils'; type PrimitiveExtensionFields = ExtractUnderscoreKeys<QuestionnaireResponseItem>; /** * @description Interface for chaining the building of a QuestionnaireResponseItem * @interface IQuestionnaireResponseItemBuilder * @extends {IBuildable<QuestionnaireResponseItem>} */ interface IQuestionnaireResponseItemBuilder extends IBuildable<QuestionnaireResponseItem> { setLinkId(value: string): this; setDefinition(value: string): this; setText(value: string): this; addAnswer(value: IQuestionnaireResponseAnswer): this; addItem(value: IQuestionnaireResponseItem): this; } /** * @version R4 (v4.0.1) * @summary FHIR® Specification by HL7® * @description Class for building a QuestionnaireResponseItem * @class QuestionnaireResponseItemBuilder * @extends {BackboneBuilder} * @implements {IQuestionnaireResponseItemBuilder} * @author Roberto Araneda Espinoza */ export declare class QuestionnaireResponseItemBuilder extends BackboneBuilder implements IQuestionnaireResponseItemBuilder { private readonly questionnaireResponseItem; constructor(); /** * @description Adds a primitive extension to the element * @param param - the field to add the extension to * @param extension - the extension to add * @returns {this} * @example addPrimitiveExtension('_value', { value: 'test' }) */ addPrimitiveExtension(param: PrimitiveExtensionFields, extension: IElement): this; /** * @description Builds the model * @returns {QuestionnaireResponseItem} */ build(): QuestionnaireResponseItem; /** * @description Sets the linkId value * @description The item from the Questionnaire that corresponds to this item in the QuestionnaireResponse resource. * @param value - the value to set * @returns {this} */ setLinkId(value: string): this; /** * @description Sets the definition value * @description A reference to an [[[ElementDefinition]]] that provides the details for the item. * @param value - the value to set * @returns {this} */ setDefinition(value: string): this; /** * @description Sets the text value * @description Text that is displayed above the contents of the group or as the text of the question being answered. * @param value - the value to set * @returns {this} */ setText(value: string): this; /** * @description Adds a value to the answer array * @description The respondent's answer(s) to the question. * @param value - the value to add * @returns {this} */ addAnswer(value: IQuestionnaireResponseAnswer): this; /** * @description Adds a value to the item array * @description Questions or sub-groups nested beneath a question or group. * @param value - the value to add * @returns {this} */ addItem(value: IQuestionnaireResponseItem): this; } export {};