UNPKG

gcp-nrces-fhir

Version:

Google cloud healthcare api NRCES FHIR implimenataion

134 lines 4.49 kB
"use strict"; 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