UNPKG

fhirbuilder

Version:
93 lines (92 loc) 3.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.QuestionnaireResponseItemBuilder = void 0; const models_1 = require("../../models"); const base_1 = require("../base"); /** * @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 */ class QuestionnaireResponseItemBuilder extends base_1.BackboneBuilder { questionnaireResponseItem; constructor() { super(); this.questionnaireResponseItem = new models_1.QuestionnaireResponseItem(); } /** * @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, extension) { this.questionnaireResponseItem[param] = extension; return this; } /** * @description Builds the model * @returns {QuestionnaireResponseItem} */ build() { return Object.assign(this.questionnaireResponseItem, super.build()); } /** * @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) { this.questionnaireResponseItem.linkId = value; return 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) { this.questionnaireResponseItem.definition = value; return 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) { this.questionnaireResponseItem.text = value; return 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) { this.questionnaireResponseItem.answer = this.questionnaireResponseItem.answer || []; this.questionnaireResponseItem.answer.push(value); return 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) { this.questionnaireResponseItem.item = this.questionnaireResponseItem.item || []; this.questionnaireResponseItem.item.push(value); return this; } } exports.QuestionnaireResponseItemBuilder = QuestionnaireResponseItemBuilder;