fhirbuilder
Version:
Another FHIR Tool to build FHIR Resources
49 lines (48 loc) • 1.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ReferenceBuilder = void 0;
const models_1 = require("../../models");
const ElementBuilder_1 = require("../base/ElementBuilder");
class ReferenceBuilder extends ElementBuilder_1.ElementBuilder {
reference;
constructor() {
super();
this.reference = new models_1.Reference();
}
addPrimitiveExtension(param, extension) {
this.reference[param] = extension;
return this;
}
setReference(value) {
if (typeof value === 'string') {
this.reference.reference = value;
}
else {
this.reference.reference = transformReference(value);
}
return this;
}
setDisplay(value) {
this.reference.display = value;
return this;
}
setIdentifier(value) {
this.reference.identifier = value;
return this;
}
setType(value) {
this.reference.type = value;
return this;
}
build() {
return Object.assign(this.reference, super.build());
}
}
exports.ReferenceBuilder = ReferenceBuilder;
function transformReference(item) {
if (!item.resourceType)
throw new Error('Reference must have a resourceType');
if (!item.id)
throw new Error('Reference must have an id');
return `${item.resourceType}/${item.id}`;
}