UNPKG

fhirbuilder

Version:
142 lines (141 loc) 5.75 kB
import { IIdentifier, IElement, IEpisodeOfCareStatusHistory, ICodeableConcept, IEpisodeOfCareDiagnosis, IReference, IPeriod, EpisodeOfCareStatusType } from 'fhirtypes/dist/r4'; import { EpisodeOfCare } from '../../models'; import { DomainResourceBuilder, IBuildable } from '../base'; import { ExtractUnderscoreKeys } from '../../../core/commons/utils'; type PrimitiveExtensionFields = ExtractUnderscoreKeys<EpisodeOfCare>; /** * @description Interface for chaining the building of a EpisodeOfCare * @interface IEpisodeOfCareBuilder * @extends {IBuildable<EpisodeOfCare>} */ interface IEpisodeOfCareBuilder extends IBuildable<EpisodeOfCare> { addIdentifier(value: IIdentifier): this; setStatus(value: EpisodeOfCareStatusType): this; addStatusHistory(value: IEpisodeOfCareStatusHistory): this; addType(value: ICodeableConcept): this; addDiagnosis(value: IEpisodeOfCareDiagnosis): this; setPatient(value: IReference): this; setManagingOrganization(value: IReference): this; setPeriod(value: IPeriod): this; addReferralRequest(value: IReference): this; setCareManager(value: IReference): this; addTeam(value: IReference): this; addAccount(value: IReference): this; } /** * @version R4 (v4.0.1) * @summary FHIR® Specification by HL7® * @description Class for building a EpisodeOfCare * @class EpisodeOfCareBuilder * @extends {DomainResourceBuilder} * @implements {IEpisodeOfCareBuilder} * @author Roberto Araneda Espinoza */ export declare class EpisodeOfCareBuilder extends DomainResourceBuilder implements IEpisodeOfCareBuilder { private readonly episodeOfCare; 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 {EpisodeOfCare} */ build(): EpisodeOfCare; /** * @description Adds a value to the identifier array * @description The EpisodeOfCare may be known by different identifiers for different contexts of use, such as when an external agency is tracking the Episode for funding purposes. * @param value - the value to add * @returns {this} */ addIdentifier(value: IIdentifier): this; /** * @description Sets the status value * @description planned | waitlist | active | onhold | finished | cancelled. * @param value - the value to set * @returns {this} */ setStatus(value: EpisodeOfCareStatusType): this; /** * @description Adds a value to the statusHistory array * @description The history of statuses that the EpisodeOfCare has been through (without requiring processing the history of the resource). * @param value - the value to add * @returns {this} */ addStatusHistory(value: IEpisodeOfCareStatusHistory): this; /** * @description Adds a value to the type array * @description A classification of the type of episode of care; e.g. specialist referral, disease management, type of funded care. * @param value - the value to add * @returns {this} */ addType(value: ICodeableConcept): this; /** * @description Adds a value to the diagnosis array * @description The list of diagnosis relevant to this episode of care. * @param value - the value to add * @returns {this} */ addDiagnosis(value: IEpisodeOfCareDiagnosis): this; /** * @description Sets the patient value * @description The patient who is the focus of this episode of care. * @param value - the value to set * @returns {this} */ setPatient(value: IReference): this; /** * @description Sets the managingOrganization value * @description The organization that has assumed the specific responsibilities for the specified duration. * @param value - the value to set * @returns {this} */ setManagingOrganization(value: IReference): this; /** * @description Sets the period value * @description The interval during which the managing organization assumes the defined responsibility. * @param value - the value to set * @returns {this} */ setPeriod(value: IPeriod): this; /** * @description Adds a value to the referralRequest array * @description Referral Request(s) that are fulfilled by this EpisodeOfCare, incoming referrals. * @param value - the value to add * @returns {this} */ addReferralRequest(value: IReference): this; /** * @description Sets the careManager value * @description The practitioner that is the care manager/care coordinator for this patient. * @param value - the value to set * @returns {this} */ setCareManager(value: IReference): this; /** * @description Adds a value to the team array * @description The list of practitioners that may be facilitating this episode of care for specific purposes. * @param value - the value to add * @returns {this} */ addTeam(value: IReference): this; /** * @description Adds a value to the account array * @description The set of accounts that may be used for billing for this EpisodeOfCare. * @param value - the value to add * @returns {this} */ addAccount(value: IReference): this; /** * @description Sets the resource type to EpisodeOfCare * @param json - the json to parse * @returns {this} */ fromJSON(json: unknown): this; } export {};