UNPKG

gcp-nrces-fhir

Version:

Google cloud healthcare api NRCES FHIR implimenataion

143 lines 5.09 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Coverage = void 0; const ResourceMai_1 = __importDefault(require("./ResourceMai")); const CoverageStatus = [ "active", "cancelled", "draft", "entered-in-error", ]; class Coverage extends ResourceMai_1.default { getFHIR(options) { var _a; const getText = () => { let ret = ""; ret = options.text; return ret; }; const body = { id: options.id, resourceType: "Coverage", type: options.type, identifier: options.identifier, text: { status: "generated", div: getText(), }, status: options.status, policyHolder: options.policyHolder ? { reference: `${options.policyHolder.resource}/${options.policyHolder.id}`, } : undefined, subscriber: options.subscriber ? { reference: `${options.subscriber.resource}/${options.subscriber.id}`, } : undefined, subscriberId: options.subscriberId, beneficiary: { reference: `Patient/${options.beneficiaryPatientId}` }, dependent: options.dependent, relationship: options.relationship, payor: options.payor.map((el) => { const ret = { reference: `${el.resource}/${el.id}` }; if (el.display) { ret.display = el.display; } return ret; }), period: options.period, insurer: options.insurerOrganizationId ? { reference: `Organization/${options.insurerOrganizationId}` } : undefined, class: options.class, order: options.order, network: options.network, costToBeneficiary: options.costToBeneficiary, subrogation: options.subrogation, contract: (_a = options.contractId) === null || _a === void 0 ? void 0 : _a.map((el) => { return { reference: `Contract/${options.contractId}` }; }), insurancePlan: options.insurancePlanId ? { reference: `InsurancePlan/${options.insurancePlanId}` } : undefined, }; return body; } convertFhirToObject(options) { const ret = { id: options.id, identifier: options.identifier, text: options.text.div, status: options.status, beneficiaryPatientId: this.getIdFromReference({ ref: options.beneficiary.reference, resourceType: "Patient", }), payor: options.payor.map((el) => { const ret = this.getFromMultResource(el); return ret; }), }; if (options.type) { ret.type = options.type; } if (options.policyHolder) { ret.policyHolder = this.getFromMultResource(options.policyHolder); } if (options.subscriber) { ret.subscriber = this.getFromMultResource(options.subscriber); } if (options.subscriberId) { ret.subscriberId = options.subscriberId; } if (options.dependent) { ret.dependent = options.dependent; } if (options.relationship) { ret.relationship = options.relationship; } if (options.period) { ret.period = options.period; } if (options.insurer) { ret.insurerOrganizationId = this.getIdFromReference({ ref: options.insurer.reference, resourceType: "Organization", }); } if (options.dependent) { ret.dependent = options.dependent; } if (options.class) { ret.class = options.class; } if (options.order) { ret.order = options.order; } if (options.network) { ret.network = options.network; } if (options.costToBeneficiary) { ret.costToBeneficiary = options.costToBeneficiary; } if (options.subrogation) { ret.subrogation = options.subrogation; } if (options.contract) { ret.contractId = options.contract.map((el) => { const ret = this.getIdFromReference({ ref: el.reference, resourceType: "Contract", }); }); } return ret; } } exports.Coverage = Coverage; //# sourceMappingURL=Coverage.js.map