UNPKG

fhirbuilder

Version:
97 lines (96 loc) 4.67 kB
import { ICodeableConcept, IElement, IAnnotation, AllergyIntoleranceSeverityType } from 'fhirtypes/dist/r4'; import { AllergyIntoleranceReaction } from '../../models'; import { BackboneBuilder, IBuildable } from '../base'; import { ExtractUnderscoreKeys } from '../../../core/commons/utils'; type PrimitiveExtensionFields = ExtractUnderscoreKeys<AllergyIntoleranceReaction>; /** * @description Interface for chaining the building of a AllergyIntoleranceReaction * @interface IAllergyIntoleranceReactionBuilder * @extends {IBuildable<AllergyIntoleranceReaction>} */ interface IAllergyIntoleranceReactionBuilder extends IBuildable<AllergyIntoleranceReaction> { setSubstance(value: ICodeableConcept): this; addManifestation(value: ICodeableConcept): this; setDescription(value: string): this; setOnset(value: string): this; setSeverity(value: AllergyIntoleranceSeverityType): this; setExposureRoute(value: ICodeableConcept): this; addNote(value: IAnnotation): this; } /** * @version R4 (v4.0.1) * @summary FHIR® Specification by HL7® * @description Class for building a AllergyIntoleranceReaction * @class AllergyIntoleranceReactionBuilder * @extends {BackboneBuilder} * @implements {IAllergyIntoleranceReactionBuilder} * @author Roberto Araneda Espinoza */ export declare class AllergyIntoleranceReactionBuilder extends BackboneBuilder implements IAllergyIntoleranceReactionBuilder { private readonly allergyIntoleranceReaction; 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 {AllergyIntoleranceReaction} */ build(): AllergyIntoleranceReaction; /** * @description Sets the substance value * @description Identification of the specific substance (or pharmaceutical product) considered to be responsible for the Adverse Reaction event. Note: the substance for a specific reaction may be different from the substance identified as the cause of the risk, but it must be consistent with it. For instance, it may be a more specific substance (e.g. a brand medication) or a composite product that includes the identified substance. It must be clinically safe to only process the 'code' and ignore the 'reaction.substance'. If a receiving system is unable to confirm that AllergyIntolerance.reaction.substance falls within the semantic scope of AllergyIntolerance.code, then the receiving system should ignore AllergyIntolerance.reaction.substance. * @param value - the value to set * @returns {this} */ setSubstance(value: ICodeableConcept): this; /** * @description Adds a value to the manifestation array * @description Clinical symptoms and/or signs that are observed or associated with the adverse reaction event. * @param value - the value to add * @returns {this} */ addManifestation(value: ICodeableConcept): this; /** * @description Sets the description value * @description Text description about the reaction as a whole, including details of the manifestation if required. * @param value - the value to set * @returns {this} */ setDescription(value: string): this; /** * @description Sets the onset value * @description Record of the date and/or time of the onset of the Reaction. * @param value - the value to set * @returns {this} */ setOnset(value: string): this; /** * @description Sets the severity value * @description Clinical assessment of the severity of the reaction event as a whole, potentially considering multiple different manifestations. mild | moderate | severe. * @param value - the value to set * @returns {this} */ setSeverity(value: AllergyIntoleranceSeverityType): this; /** * @description Sets the exposureRoute value * @description Identification of the route by which the subject was exposed to the substance. * @param value - the value to set * @returns {this} */ setExposureRoute(value: ICodeableConcept): this; /** * @description Adds a value to the note array * @description Additional text about the adverse reaction event not captured in other fields. * @param value - the value to add * @returns {this} */ addNote(value: IAnnotation): this; } export {};