fhirbuilder
Version:
Another FHIR Tool to build FHIR Resources
81 lines (80 loc) • 3.26 kB
TypeScript
import { ICodeableConcept, IReference, IElement, IPeriod } from 'fhirtypes/dist/r4';
import { AppointmentParticipant } from '../../models';
import { BackboneBuilder, IBuildable } from '../base';
import { ExtractUnderscoreKeys } from '../../../core/commons/utils';
import { ParticipantRequiredType, ParticipationStatusType } from 'fhirtypes/dist/r4/types';
type PrimitiveExtensionFields = ExtractUnderscoreKeys<AppointmentParticipant>;
/**
* @description Interface for chaining the building of a AppointmentParticipant
* @interface IAppointmentParticipantBuilder
* @extends {IBuildable<AppointmentParticipant>}
*/
interface IAppointmentParticipantBuilder extends IBuildable<AppointmentParticipant> {
addType(value: ICodeableConcept): this;
setActor(value: IReference): this;
setRequired(value: ParticipantRequiredType): this;
setStatus(value: ParticipationStatusType): this;
setPeriod(value: IPeriod): this;
}
/**
* @version R4 (v4.0.1)
* @summary FHIR® Specification by HL7®
* @description Class for building a AppointmentParticipant
* @class AppointmentParticipantBuilder
* @extends {BackboneBuilder}
* @implements {IAppointmentParticipantBuilder}
* @author Roberto Araneda Espinoza
*/
export declare class AppointmentParticipantBuilder extends BackboneBuilder implements IAppointmentParticipantBuilder {
private readonly appointmentParticipant;
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 {AppointmentParticipant}
*/
build(): AppointmentParticipant;
/**
* @description Adds a value to the type array
* @description Role of participant in the appointment.
* @param value - the value to add
* @returns {this}
*/
addType(value: ICodeableConcept): this;
/**
* @description Sets the actor value
* @description A Person, Location/HealthcareService or Device that is participating in the appointment.
* @param value - the value to set
* @returns {this}
*/
setActor(value: IReference): this;
/**
* @description Sets the required value
* @description Whether this participant is required to be present at the meeting. This covers a use-case where two doctors need to meet to discuss the results for a specific patient, and the patient is not required to be present.
* @param value - the value to set
* @returns {this}
*/
setRequired(value: ParticipantRequiredType): this;
/**
* @description Sets the status value
* @description Participation status of the actor.
* @param value - the value to set
* @returns {this}
*/
setStatus(value: ParticipationStatusType): this;
/**
* @description Sets the period value
* @description Participation period of the actor.
* @param value - the value to set
* @returns {this}
*/
setPeriod(value: IPeriod): this;
}
export {};