UNPKG

fhirbuilder

Version:
135 lines (134 loc) 5.72 kB
import { IIdentifier, IReference, IElement, IQuestionnaireResponseItem } from 'fhirtypes/dist/r4'; import { QuestionnaireResponse } from '../../models'; import { DomainResourceBuilder, IBuildable } from '../base'; import { ExtractUnderscoreKeys } from '../../../core/commons/utils'; import { QuestionnaireAnswersStatusType } from 'fhirtypes/dist/r4/types'; type PrimitiveExtensionFields = ExtractUnderscoreKeys<QuestionnaireResponse>; /** * @description Interface for chaining the building of a QuestionnaireResponse * @interface IQuestionnaireResponseBuilder * @extends {IBuildable<QuestionnaireResponse>} */ interface IQuestionnaireResponseBuilder extends IBuildable<QuestionnaireResponse> { setIdentifier(value: IIdentifier): this; addBasedOn(value: IReference): this; addPartOf(value: IReference): this; setQuestionnaire(value: string): this; setStatus(value: QuestionnaireAnswersStatusType): this; setSubject(value: IReference): this; setEncounter(value: IReference): this; setAuthored(value: string): this; setAuthor(value: IReference): this; setSource(value: IReference): this; addItem(value: IQuestionnaireResponseItem): this; } /** * @version R4 (v4.0.1) * @summary FHIR® Specification by HL7® * @description Class for building a QuestionnaireResponse * @class QuestionnaireResponseBuilder * @extends {DomainResourceBuilder} * @implements {IQuestionnaireResponseBuilder} * @author Roberto Araneda Espinoza */ export declare class QuestionnaireResponseBuilder extends DomainResourceBuilder implements IQuestionnaireResponseBuilder { private readonly questionnaireResponse; constructor(); /** * @description Sets the resource type to QuestionnaireResponse * @param json - the json to parse * @returns {this} */ fromJSON(json: unknown): this; /** * @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 {QuestionnaireResponse} */ build(): QuestionnaireResponse; /** * @description Sets the identifier value * @description A business identifier assigned to a particular completed (or partially completed) questionnaire. * @param value - the value to set * @returns {this} */ setIdentifier(value: IIdentifier): this; /** * @description Adds a value to the basedOn array * @description The order, proposal or plan that is fulfilled in whole or in part by this QuestionnaireResponse. For example, a ServiceRequest seeking an intake assessment or a decision support recommendation to assess for post-partum depression. * @param value - the value to add * @returns {this} */ addBasedOn(value: IReference): this; /** * @description Adds a value to the partOf array * @description A procedure or observation that this questionnaire was performed as part of the execution of. For example, the surgery a checklist was executed as part of. * @param value - the value to add * @returns {this} */ addPartOf(value: IReference): this; /** * @description Sets the questionnaire value * @description The Questionnaire that defines and organizes the questions for which answers are being provided. * @param value - the value to set * @returns {this} */ setQuestionnaire(value: string): this; /** * @description Sets the status value * @description The position of the questionnaire response within its overall lifecycle. * @param value - the value to set * @returns {this} */ setStatus(value: QuestionnaireAnswersStatusType): this; /** * @description Sets the subject value * @description The subject of the questionnaire response. This could be a patient, organization, practitioner, device, etc. This is who/what the answers apply to, but is not necessarily the source of information. * @param value - the value to set * @returns {this} */ setSubject(value: IReference): this; /** * @description Sets the encounter value * @description The Encounter during which this questionnaire response was created or to which the creation of this record is tightly associated. * @param value - the value to set * @returns {this} */ setEncounter(value: IReference): this; /** * @description Sets the authored value * @description The date and/or time that this set of answers were last changed. * @param value - the value to set * @returns {this} */ setAuthored(value: string): this; /** * @description Sets the author value * @description Person who received the answers to the questions in the QuestionnaireResponse and recorded them in the system. * @param value - the value to set * @returns {this} */ setAuthor(value: IReference): this; /** * @description Sets the source value * @description The person who answered the questions about the subject. * @param value - the value to set * @returns {this} */ setSource(value: IReference): this; /** * @description Adds a value to the item array * @description A group or question item from the original questionnaire for which answers are provided. * @param value - the value to add * @returns {this} */ addItem(value: IQuestionnaireResponseItem): this; } export {};