gcp-nrces-fhir
Version:
Google cloud healthcare api NRCES FHIR implimenataion
134 lines • 4.49 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Goal = void 0;
const ResourceMai_1 = __importDefault(require("./ResourceMai"));
const DURRATION = [
{
code: "s",
display: "seconds",
system: "http://unitsofmeasure.org",
},
{
code: "min",
display: "minutes",
system: "http://unitsofmeasure.org",
},
{
code: "h",
display: "hours",
system: "http://unitsofmeasure.org",
},
{
code: "d",
display: "days",
system: "http://unitsofmeasure.org",
},
{
code: "wk",
display: "weeks",
system: "http://unitsofmeasure.org",
},
{
code: "mo",
display: "months",
system: "http://unitsofmeasure.org",
},
{
code: "a",
display: "years",
system: "http://unitsofmeasure.org",
},
];
class Goal extends ResourceMai_1.default {
getFHIR(options) {
const body = {
resourceType: "Goal",
id: options.id,
text: {
status: "additional",
div: options.text,
},
identifier: options.identifier,
lifecycleStatus: options.lifecycleStatus,
achievementStatus: options.achievementStatus,
category: options.category,
priority: options.priority,
description: options.description,
subject: options.subject && { "reference": `${options.subject.resource}/${options.subject.id}` },
startDate: options.startDate,
target: options.target,
statusDate: options.statusDate,
statusReason: options.statusReason,
expressedBy: options.expressedBy && { "reference": `${options.expressedBy.resource}/${options.expressedBy.id}` },
addresses: options.addresses && options.addresses.map(el => {
return { "reference": `${el.resource}/${el.id}` };
}),
outcomeReference: options.outcomeReference && options.outcomeReference.map(el => {
return { "reference": `${el.resource}/${el.id}` };
}),
note: options.note,
};
return body;
}
convertFhirToObject(options) {
const ret = {
id: options.id,
lifecycleStatus: options.lifecycleStatus,
description: options.description,
subject: this.getFromMultResource({
reference: options.subject.reference,
}),
startDate: options.startDate,
};
if (options.achievementStatus) {
ret.achievementStatus = options.achievementStatus;
}
if (options.identifier) {
ret.identifier = options.identifier;
}
if (options.category) {
ret.category = options.category;
}
if (options.priority) {
ret.priority = options.priority;
}
if (options.statusDate) {
ret.statusDate = options.statusDate;
}
if (options.statusReason) {
ret.statusReason = options.statusReason;
}
if (options.expressedBy) {
ret.expressedBy = this.getFromMultResource({
reference: options.expressedBy.reference,
});
}
if (options.addresses) {
ret.addresses =
options.addresses &&
options.addresses.map((el) => this.getFromMultResource({ reference: el.reference }));
}
if (options.target) {
ret.target = options.target;
}
if (options.outcomeReference) {
ret.outcomeReference =
options.outcomeReference &&
options.outcomeReference.map((el) => this.getFromMultResource({
reference: options.outcomeReference.reference,
}));
}
if (options.note) {
ret.note = options.note;
}
return ret;
}
toHtml(option) {
throw new Error("Method not implemented.");
}
}
exports.Goal = Goal;
//# sourceMappingURL=Goal.js.map