UNPKG

gcp-nrces-fhir

Version:

Google cloud healthcare api NRCES FHIR implimenataion

94 lines 3.67 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Provenance = void 0; const ResourceMai_1 = __importDefault(require("./ResourceMai")); class Provenance extends ResourceMai_1.default { toHtml() { return __awaiter(this, void 0, void 0, function* () { throw new Error("Method not implemented."); }); } getFHIR(options) { const body = { resourceType: "Provenance", id: options.id || undefined, meta: { profile: [ "https://nrces.in/ndhm/fhir/r4/StructureDefinition/Provenance", ], }, text: { status: "generated", div: options.activity.text || "", }, target: options.target.map((el) => { return { reference: `${el.resource}/${el.id}` }; }), recorded: options.recorded, activity: options.activity, agent: options.agent.map((el) => { const agent = { who: { reference: `${el.who.resource}/${el.who.id}`, display: el.who.display, }, }; if (el.type) { agent.type = el.type; } return agent; }), }; if (options.reason) { body.reason = options.reason; } if (options.policy && options.policy.length > 0) { body.policy = options.policy; } return body; } convertFhirToObject(options) { let ret = { id: options.id, target: (options.target || []).map((el) => { return this.getFromMultResource({ reference: el.reference }); }), recorded: options.recorded, activity: options.activity, agent: (options.agent || []).map((el) => { var _a, _b; const agent = { who: this.getFromMultResource({ reference: (_a = el.who) === null || _a === void 0 ? void 0 : _a.reference, display: (_b = el.who) === null || _b === void 0 ? void 0 : _b.display, }), }; if (el.type) { agent.type = el.type; } return agent; }), }; if (options.reason) { ret.reason = options.reason; } if (options.policy) { ret.policy = options.policy; } return ret; } } exports.Provenance = Provenance; //# sourceMappingURL=Provenance.js.map