UNPKG

gcp-nrces-fhir

Version:

Google cloud healthcare api NRCES FHIR implimenataion

143 lines 5.68 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.PractitionerResource = exports.Practitioner = void 0; const ResourceMai_1 = __importDefault(require("./ResourceMai")); class Practitioner extends ResourceMai_1.default { toHtml() { return __awaiter(this, void 0, void 0, function* () { throw new Error("Method not implemented."); }); } getFHIR(options) { const identifiers = []; if (options.ndhmProfessionalId) { const id = { type: { coding: [ { system: "http://terminology.hl7.org/CodeSystem/v2-0203", code: "MD", display: "Medical License number", }, ], }, system: "https://doctor.ndhm.gov.in", value: options.ndhmProfessionalId, }; identifiers.push(id); } if (options.medicalLicenseNumber) { const id = { type: { coding: [ { system: "http://terminology.hl7.org/CodeSystem/v2-0203", code: "MD", display: "Medical License number", }, ], }, system: "https://www.nmc.org.in/", value: options.medicalLicenseNumber, }; identifiers.push(id); } if (options.providerNumber) { const id = { type: { coding: [ { system: "http://terminology.hl7.org/CodeSystem/v2-0203", code: "PRN", display: "Provider number", }, ], }, system: "https://www.nicehms.com", value: `${options.providerNumber}`, }; identifiers.push(id); } identifiers.push({ type: { coding: [ { system: "http://terminology.hl7.org/CodeSystem/v2-0203", code: "PRN", display: "Provider number", }, ], }, system: "https://www.nicehms.com/organizationId", value: `${options.orgnizationId}`, }); const body = { resourceType: "Practitioner", id: options.id || undefined, meta: { versionId: "1", lastUpdated: new Date().toISOString(), profile: [ "https://nrces.in/ndhm/fhir/r4/StructureDefinition/Practitioner", ], }, text: { status: "generated", div: `<div xmlns=\"http://www.w3.org/1999/xhtml\">${options.name}, ${options.qualification || ""})</div>`, }, identifier: identifiers, name: [ { text: `${options.name} ${options.qualification || ""}`, }, ], }; return body; } convertFhirToObject(options) { let ret = { name: options.name[0].text, id: options.id, orgnizationId: this.getIdentifers("https://www.nicehms.com/organizationId", options), }; if (options.identifier) { const medicalLicenseNumber = options.identifier.filter((el) => el.system == "https://www.nmc.org.in/"); if (medicalLicenseNumber.length > 0) { ret.medicalLicenseNumber = medicalLicenseNumber[0].value; } const ndhmProfessionalId = options.identifier.filter((el) => el.system == "https://healthid.ndhm.gov.in"); if (ndhmProfessionalId.length > 0) { ret.ndhmProfessionalId = ndhmProfessionalId[0].value; } const providerNumber = options.identifier.filter((el) => el.system == "https://www.nicehms.com"); if (providerNumber.length) { ret.providerNumber = providerNumber[0].value; } } return ret; } } exports.Practitioner = Practitioner; /** * @deprecated * @param options * @returns */ const PractitionerResource = (options) => { const body = new Practitioner().getFHIR(options); return body; }; exports.PractitionerResource = PractitionerResource; //# sourceMappingURL=Practitioner.js.map