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