fhirbuilder
Version:
Another FHIR Tool to build FHIR Resources
93 lines (92 loc) • 3.23 kB
JavaScript
"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;