fhirbuilder
Version:
Another FHIR Tool to build FHIR Resources
80 lines (79 loc) • 3.25 kB
TypeScript
import { IElement, IResource } from 'fhirtypes/dist/r4';
import { BundleResponse } from '../../models';
import { BackboneBuilder, IBuildable } from '../base';
import { ExtractUnderscoreKeys } from '../../../core/commons/utils';
type PrimitiveExtensionFields = ExtractUnderscoreKeys<BundleResponse>;
/**
* @description Interface for chaining the building of a BundleResponse
* @interface IBundleResponseBuilder
* @extends {IBuildable<BundleResponse>}
*/
interface IBundleResponseBuilder extends IBuildable<BundleResponse> {
setStatus(value: string): this;
setLocation(value: string): this;
setEtag(value: string): this;
setLastModified(value: string): this;
setOutcome(value: IResource & Record<string, any>): this;
}
/**
* @version R4 (v4.0.1)
* @summary FHIR® Specification by HL7®
* @description Class for building a BundleResponse
* @class BundleResponseBuilder
* @extends {BackboneBuilder}
* @implements {IBundleResponseBuilder}
* @author Roberto Araneda Espinoza
*/
export declare class BundleResponseBuilder extends BackboneBuilder implements IBundleResponseBuilder {
private readonly bundleResponse;
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 {BundleResponse}
*/
build(): BundleResponse;
/**
* @description Sets the status value
* @description The status code returned by processing this entry. The status SHALL start with a 3 digit HTTP code (e.g. 404) and may contain the standard HTTP description associated with the status code.
* @param value - the value to set
* @returns {this}
*/
setStatus(value: string): this;
/**
* @description Sets the location value
* @description The location header created by processing this operation, populated if the operation returns a location.
* @param value - the value to set
* @returns {this}
*/
setLocation(value: string): this;
/**
* @description Sets the etag value
* @description The Etag for the resource, if the operation for the entry produced a versioned resource (see [Resource Metadata and Versioning](http.html#versioning) and [Managing Resource Contention](http.html#concurrency)).
* @param value - the value to set
* @returns {this}
*/
setEtag(value: string): this;
/**
* @description Sets the lastModified value
* @description The date/time that the resource was modified on the server.
* @param value - the value to set
* @returns {this}
*/
setLastModified(value: string): this;
/**
* @description Sets the outcome value
* @description An OperationOutcome containing hints and warnings produced as part of processing this entry in a batch or transaction.
* @param value - the value to set
* @returns {this}
*/
setOutcome(value: IResource & Record<string, any>): this;
}
export {};