UNPKG

fhirbuilder

Version:
210 lines (209 loc) 9.82 kB
import { IIdentifier, ICodeableConcept, IElement, IReference, IAge, IPeriod, IRange, IAnnotation, IAllergyIntoleranceReaction, AllergyIntoleranceTypeType, AllergyIntoleranceCategoryType, AllergyIntoleranceCriticalityType } from 'fhirtypes/dist/r4'; import { AllergyIntolerance } from '../../models'; import { DomainResourceBuilder, IBuildable } from '../base'; import { ExtractUnderscoreKeys, ExtractUnderscoreArrayKeys } from '../../../core/commons/utils'; type PrimitiveExtensionFields = ExtractUnderscoreKeys<AllergyIntolerance>; type UnderscoreArrayElements = ExtractUnderscoreArrayKeys<AllergyIntolerance>; /** * @description Interface for chaining the building of a AllergyIntolerance * @interface IAllergyIntoleranceBuilder * @extends {IBuildable<AllergyIntolerance>} */ interface IAllergyIntoleranceBuilder extends IBuildable<AllergyIntolerance> { addIdentifier(value: IIdentifier): this; setClinicalStatus(value: ICodeableConcept): this; setVerificationStatus(value: ICodeableConcept): this; setType(value: AllergyIntoleranceTypeType): this; addCategory(value: AllergyIntoleranceCategoryType): this; setCriticality(value: AllergyIntoleranceCriticalityType): this; setCode(value: ICodeableConcept): this; setPatient(value: IReference): this; setEncounter(value: IReference): this; setOnsetDateTime(value: string): this; setOnsetAge(value: IAge): this; setOnsetPeriod(value: IPeriod): this; setOnsetRange(value: IRange): this; setOnsetString(value: string): this; setRecordedDate(value: string): this; setRecorder(value: IReference): this; setAsserter(value: IReference): this; setLastOccurrence(value: string): this; addNote(value: IAnnotation): this; addReaction(value: IAllergyIntoleranceReaction): this; } /** * @version R4 (v4.0.1) * @summary FHIR® Specification by HL7® * @description Class for building a AllergyIntolerance * @class AllergyIntoleranceBuilder * @extends {DomainResourceBuilder} * @implements {IAllergyIntoleranceBuilder} * @author Roberto Araneda Espinoza */ export declare class AllergyIntoleranceBuilder extends DomainResourceBuilder implements IAllergyIntoleranceBuilder { private readonly allergyIntolerance; constructor(); /** * @description Sets the resource type to AllergyIntolerance * @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<T extends PrimitiveExtensionFields>(param: T, extension: T extends Extract<PrimitiveExtensionFields, UnderscoreArrayElements> ? IElement[] : IElement): this; /** * @description Builds the model * @returns {AllergyIntolerance} */ build(): AllergyIntolerance; /** * @description Adds a value to the identifier array * @description Business identifiers assigned to this AllergyIntolerance by the performer or other systems which remain constant as the resource is updated and propagates from server to server. * @param value - the value to add * @returns {this} */ addIdentifier(value: IIdentifier): this; /** * @description Sets the clinicalStatus value * @description The clinical status of the allergy or intolerance. * @param value - the value to set * @returns {this} */ setClinicalStatus(value: ICodeableConcept): this; /** * @description Sets the verificationStatus value * @description Assertion about certainty associated with the propensity, or potential risk, of a reaction to the identified substance (including pharmaceutical product). * @param value - the value to set * @returns {this} */ setVerificationStatus(value: ICodeableConcept): this; /** * @description Sets the type value * @description Identification of the underlying physiological mechanism for the reaction risk. allergy | intolerance. * @param value - the value to set * @returns {this} */ setType(value: AllergyIntoleranceTypeType): this; /** * @description Adds a value to the category array * @description Category of the identified substance. food | medication | environment | biologic. * @param value - the value to add * @returns {this} */ addCategory(value: AllergyIntoleranceCategoryType): this; /** * @description Sets the criticality value * @description Estimate of the potential clinical harm, or seriousness, of the reaction to the identified substance. low | high | unable-to-assess. * @param value - the value to set * @returns {this} */ setCriticality(value: AllergyIntoleranceCriticalityType): this; /** * @description Sets the code value * @description Code for an allergy or intolerance statement (either a positive or a negated/excluded statement). This may be a code for a substance or pharmaceutical product that is considered to be responsible for the adverse reaction risk (e.g., "Latex"), an allergy or intolerance condition (e.g., "Latex allergy"), or a negated/excluded code for a specific substance or class (e.g., "No latex allergy") or a general or categorical negated statement (e.g., "No known allergy", "No known drug allergies"). 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} */ setCode(value: ICodeableConcept): this; /** * @description Sets the patient value * @description The patient who has the allergy or intolerance. * @param value - the value to set * @returns {this} */ setPatient(value: IReference): this; /** * @description Sets the encounter value * @description The encounter when the allergy or intolerance was asserted. * @param value - the value to set * @returns {this} */ setEncounter(value: IReference): this; /** * @description Sets the onsetDateTime value * @description Estimated or actual date, date-time, or age when allergy or intolerance was identified. * @param value - the value to set * @returns {this} */ setOnsetDateTime(value: string): this; /** * @description Sets the onsetAge value * @description Estimated or actual date, date-time, or age when allergy or intolerance was identified. * @param value - the value to set * @returns {this} */ setOnsetAge(value: IAge): this; /** * @description Sets the onsetPeriod value * @description Estimated or actual date, date-time, or age when allergy or intolerance was identified. * @param value - the value to set * @returns {this} */ setOnsetPeriod(value: IPeriod): this; /** * @description Sets the onsetRange value * @description Estimated or actual date, date-time, or age when allergy or intolerance was identified. * @param value - the value to set * @returns {this} */ setOnsetRange(value: IRange): this; /** * @description Sets the onsetString value * @description Estimated or actual date, date-time, or age when allergy or intolerance was identified. * @param value - the value to set * @returns {this} */ setOnsetString(value: string): this; /** * @description Sets the recordedDate value * @description The recordedDate represents when this particular AllergyIntolerance record was created in the system, which is often a system-generated date. * @param value - the value to set * @returns {this} */ setRecordedDate(value: string): this; /** * @description Sets the recorder value * @description Individual who recorded the record and takes responsibility for its content. * @param value - the value to set * @returns {this} */ setRecorder(value: IReference): this; /** * @description Sets the asserter value * @description The source of the information about the allergy that is recorded. * @param value - the value to set * @returns {this} */ setAsserter(value: IReference): this; /** * @description Sets the lastOccurrence value * @description Represents the date and/or time of the last known occurrence of a reaction event. * @param value - the value to set * @returns {this} */ setLastOccurrence(value: string): this; /** * @description Adds a value to the note array * @description Additional narrative about the propensity for the Adverse Reaction, not captured in other fields. * @param value - the value to add * @returns {this} */ addNote(value: IAnnotation): this; /** * @description Adds a value to the reaction array * @description Details about each adverse reaction event linked to exposure to the identified substance. * @param value - the value to add * @returns {this} */ addReaction(value: IAllergyIntoleranceReaction): this; } export {};