UNPKG

fhirbuilder

Version:
126 lines (125 loc) 4.59 kB
import { IIdentifier, IElement, ICodeableConcept, IContactPoint, IAddress, IReference, IOrganizationContact } from 'fhirtypes/dist/r4'; import { Organization } from '../../models'; import { DomainResourceBuilder, IBuildable } from '../base'; import { ExtractUnderscoreKeys } from '../../../core/commons/utils'; type PrimitiveExtensionFields = ExtractUnderscoreKeys<Organization>; /** * @description Interface for chaining the building of a Organization * @interface IOrganizationBuilder * @extends {IBuildable<Organization>} */ interface IOrganizationBuilder extends IBuildable<Organization> { addIdentifier(value: IIdentifier): this; setActive(value: boolean): this; addType(value: ICodeableConcept): this; setName(value: string): this; addAlias(value: string): this; addTelecom(value: IContactPoint): this; addAddress(value: IAddress): this; setPartOf(value: IReference): this; addContact(value: IOrganizationContact): this; addEndpoint(value: IReference): this; } /** * @version R4 (v4.0.1) * @summary FHIR® Specification by HL7® * @description Class for building a Organization * @class OrganizationBuilder * @extends {DomainResourceBuilder} * @implements {IOrganizationBuilder} * @author Roberto Araneda Espinoza */ export declare class OrganizationBuilder extends DomainResourceBuilder implements IOrganizationBuilder { private readonly organization; constructor(); /** * @description Sets the resource type to Organization * @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: IElement): this; /** * @description Builds the model * @returns {Organization} */ build(): Organization; /** * @description Adds a value to the identifier array * @description Identifier for the organization that is used to identify the organization across multiple disparate systems. * @param value - the value to add * @returns {this} */ addIdentifier(value: IIdentifier): this; /** * @description Sets the active value * @description Whether the organization's record is still in active use. * @param value - the value to set * @returns {this} */ setActive(value: boolean): this; /** * @description Adds a value to the type array * @description The kind(s) of organization that this is. * @param value - the value to add * @returns {this} */ addType(value: ICodeableConcept): this; /** * @description Sets the name value * @description A name associated with the organization. * @param value - the value to set * @returns {this} */ setName(value: string): this; /** * @description Adds a value to the alias array * @description A list of alternate names that the organization is known as, or was known as in the past. * @param value - the value to add * @returns {this} */ addAlias(value: string): this; /** * @description Adds a value to the telecom array * @description A contact detail for the organization. * @param value - the value to add * @returns {this} */ addTelecom(value: IContactPoint): this; /** * @description Adds a value to the address array * @description An address for the organization. * @param value - the value to add * @returns {this} */ addAddress(value: IAddress): this; /** * @description Sets the partOf value * @description The organization of which this organization forms a part. * @param value - the value to set * @returns {this} */ setPartOf(value: IReference): this; /** * @description Adds a value to the contact array * @description Contact for the organization for a certain purpose. * @param value - the value to add * @returns {this} */ addContact(value: IOrganizationContact): this; /** * @description Adds a value to the endpoint array * @description Technical endpoints providing access to services operated for the organization. * @param value - the value to add * @returns {this} */ addEndpoint(value: IReference): this; } export {};