fhirbuilder
Version:
Another FHIR Tool to build FHIR Resources
80 lines (79 loc) • 3.21 kB
TypeScript
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 {};