fhirbuilder
Version:
Another FHIR Tool to build FHIR Resources
160 lines (159 loc) • 6.74 kB
TypeScript
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 {};