UNPKG

fhirbuilder

Version:
160 lines (159 loc) 6.74 kB
import { ICodeableConcept, IQuantity, IElement, IRange, IRatio, ISampledData, IPeriod, IObservationReferenceRange } from 'fhirtypes/dist/r4'; import { ObservationComponent } from '../../models'; import { BackboneBuilder, IBuildable } from '../base'; import { ExtractUnderscoreKeys } from '../../../core/commons/utils'; type PrimitiveExtensionFields = ExtractUnderscoreKeys<ObservationComponent>; /** * @description Interface for chaining the building of a ObservationComponent * @interface IObservationComponentBuilder * @extends {IBuildable<ObservationComponent>} */ interface IObservationComponentBuilder extends IBuildable<ObservationComponent> { setCode(value: ICodeableConcept): this; setValueQuantity(value: IQuantity): this; setValueCodeableConcept(value: ICodeableConcept): this; setValueString(value: string): this; setValueBoolean(value: boolean): this; setValueInteger(value: number): this; setValueRange(value: IRange): this; setValueRatio(value: IRatio): this; setValueSampledData(value: ISampledData): this; setValueTime(value: string): this; setValueDateTime(value: string): this; setValuePeriod(value: IPeriod): this; setDataAbsentReason(value: ICodeableConcept): this; addInterpretation(value: ICodeableConcept): this; addReferenceRange(value: IObservationReferenceRange): this; } /** * @version R4 (v4.0.1) * @summary FHIR® Specification by HL7® * @description Class for building a ObservationComponent * @class ObservationComponentBuilder * @extends {BackboneBuilder} * @implements {IObservationComponentBuilder} * @author Roberto Araneda Espinoza */ export declare class ObservationComponentBuilder extends BackboneBuilder implements IObservationComponentBuilder { private readonly observationComponent; 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 {ObservationComponent} */ build(): ObservationComponent; /** * @description Sets the code value * @description Describes what was observed. Sometimes this is called the observation "code". * @param value - the value to set * @returns {this} */ setCode(value: ICodeableConcept): this; /** * @description Sets the valueQuantity value * @description The information determined as a result of making the observation, if the information has a simple value. * @param value - the value to set * @returns {this} */ setValueQuantity(value: IQuantity): this; /** * @description Sets the valueCodeableConcept value * @description The information determined as a result of making the observation, if the information has a simple value. * @param value - the value to set * @returns {this} */ setValueCodeableConcept(value: ICodeableConcept): this; /** * @description Sets the valueString value * @description The information determined as a result of making the observation, if the information has a simple value. * @param value - the value to set * @returns {this} */ setValueString(value: string): this; /** * @description Sets the valueBoolean value * @description The information determined as a result of making the observation, if the information has a simple value. * @param value - the value to set * @returns {this} */ setValueBoolean(value: boolean): this; /** * @description Sets the valueInteger value * @description The information determined as a result of making the observation, if the information has a simple value. * @param value - the value to set * @returns {this} */ setValueInteger(value: number): this; /** * @description Sets the valueRange value * @description The information determined as a result of making the observation, if the information has a simple value. * @param value - the value to set * @returns {this} */ setValueRange(value: IRange): this; /** * @description Sets the valueRatio value * @description The information determined as a result of making the observation, if the information has a simple value. * @param value - the value to set * @returns {this} */ setValueRatio(value: IRatio): this; /** * @description Sets the valueSampledData value * @description The information determined as a result of making the observation, if the information has a simple value. * @param value - the value to set * @returns {this} */ setValueSampledData(value: ISampledData): this; /** * @description Sets the valueTime value * @description The information determined as a result of making the observation, if the information has a simple value. * @param value - the value to set * @returns {this} */ setValueTime(value: string): this; /** * @description Sets the valueDateTime value * @description The information determined as a result of making the observation, if the information has a simple value. * @param value - the value to set * @returns {this} */ setValueDateTime(value: string): this; /** * @description Sets the valuePeriod value * @description The information determined as a result of making the observation, if the information has a simple value. * @param value - the value to set * @returns {this} */ setValuePeriod(value: IPeriod): this; /** * @description Sets the dataAbsentReason value * @description Provides a reason why the expected value in the element Observation.component.value[x] is missing. * @param value - the value to set * @returns {this} */ setDataAbsentReason(value: ICodeableConcept): this; /** * @description Adds a value to the interpretation array * @description A categorical assessment of an observation value. For example, high, low, normal. * @param value - the value to add * @returns {this} */ addInterpretation(value: ICodeableConcept): this; /** * @description Adds a value to the referenceRange array * @description Guidance on how to interpret the value by comparison to a normal or recommended range. * @param value - the value to add * @returns {this} */ addReferenceRange(value: IObservationReferenceRange): this; } export {};