334 lines
12 KiB
JavaScript
334 lines
12 KiB
JavaScript
"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());
|
|
});
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.getDataKfa = exports.updateInsertIdPatientRepo = exports.getDataPatient = exports.updateInsertIdPractitionerRepo = exports.getDataPractitioner = exports.updateStatusPegawai = exports.getPractitionerSimrs = exports.getJob = exports.updateStatusPasien = exports.updateJobData = exports.insertJobData = exports.getPatientSimrs = exports.updateDataPractitionerSatSet = exports.insertDataPractitionerSatSet = exports.getPractitionerSatSet = exports.updateDataPatientSatSet = exports.insertDataPatientSatSet = exports.getPatientSatSet = void 0;
|
|
const db_1 = require("./../../../db");
|
|
const database_handler_1 = require("./../../../db/database.handler");
|
|
const time_1 = require("./../../../middlewares/time");
|
|
const getPatientSimrs = (limit) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const patientSimrs = yield db_1.prismaDb1.pasien.findMany({
|
|
where: {
|
|
id_satu_sehat: null,
|
|
ktp: {
|
|
not: null,
|
|
},
|
|
status_satu_sehat: null,
|
|
},
|
|
select: {
|
|
no_mr: true,
|
|
pasien_id: true,
|
|
ktp: true,
|
|
tgl_lahir: true,
|
|
nama_pasien: true,
|
|
jenis_kelamin: true,
|
|
},
|
|
orderBy: {
|
|
no_mr: "asc",
|
|
},
|
|
take: limit,
|
|
});
|
|
return patientSimrs;
|
|
});
|
|
exports.getPatientSimrs = getPatientSimrs;
|
|
const getPractitionerSimrs = (limit) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const practitionerSimrs = yield db_1.prismaDb1.pegawai.findMany({
|
|
where: {
|
|
id_satu_sehat: null,
|
|
status_batal: null,
|
|
nik: {
|
|
not: null,
|
|
},
|
|
},
|
|
select: {
|
|
pegawai_id: true,
|
|
nama_pegawai: true,
|
|
nik: true,
|
|
},
|
|
orderBy: {
|
|
pegawai_id: "asc",
|
|
},
|
|
take: limit,
|
|
});
|
|
return practitionerSimrs;
|
|
});
|
|
exports.getPractitionerSimrs = getPractitionerSimrs;
|
|
const getPatientSatSet = (no_mr) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const pasienSatSet = yield db_1.prismaDb2.patient.findFirst({
|
|
where: {
|
|
no_mr,
|
|
},
|
|
select: {
|
|
patient_ihs_id: true,
|
|
patient_name: true,
|
|
pasien_id: true,
|
|
},
|
|
});
|
|
return pasienSatSet;
|
|
});
|
|
exports.getPatientSatSet = getPatientSatSet;
|
|
const getPractitionerSatSet = (pegawaiId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const practitionerSatSet = yield db_1.prismaDb2.practitioner.findFirst({
|
|
where: {
|
|
pegawai_id: pegawaiId,
|
|
},
|
|
select: {
|
|
practitioner_ihs_id: true,
|
|
practitioner_name: true,
|
|
id: true,
|
|
},
|
|
});
|
|
return practitionerSatSet;
|
|
});
|
|
exports.getPractitionerSatSet = getPractitionerSatSet;
|
|
const insertDataPatientSatSet = (data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const patient = yield db_1.prismaDb2.patient.create({
|
|
data: {
|
|
pasien_id: data.pasien_id,
|
|
patient_name: data.nama_pasien,
|
|
created_date: (0, time_1.dateNow)(),
|
|
birth_date: new Date(data.tgl_lahir),
|
|
nik: data.nik,
|
|
no_mr: data.no_mr,
|
|
},
|
|
});
|
|
return patient;
|
|
});
|
|
exports.insertDataPatientSatSet = insertDataPatientSatSet;
|
|
const getDataKfa = (kfa_name) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const kfa_data = yield db_1.prismaDb2.kfa_references.findMany({
|
|
where: {
|
|
kfa_name: {
|
|
contains: kfa_name,
|
|
mode: "insensitive",
|
|
},
|
|
},
|
|
select: {
|
|
kfa_code: true,
|
|
kfa_name: true,
|
|
},
|
|
});
|
|
return kfa_data;
|
|
});
|
|
exports.getDataKfa = getDataKfa;
|
|
const updateDataPatientSatSet = (responseSatSet, data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const patient = yield db_1.prismaDb2.patient.update({
|
|
where: {
|
|
pasien_id: data.pasien_id,
|
|
},
|
|
data: {
|
|
patient_ihs_id: responseSatSet.entry[0].resource.id,
|
|
last_updated_date: (0, time_1.dateNow)(),
|
|
ihs_json_data: responseSatSet,
|
|
},
|
|
});
|
|
return patient;
|
|
});
|
|
exports.updateDataPatientSatSet = updateDataPatientSatSet;
|
|
const insertDataPractitionerSatSet = (responseSatSet, data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const idPractiitioner = yield (0, database_handler_1.generateMaxDb2)("max_practitioner_idx", "id");
|
|
const practitioner = yield db_1.prismaDb2.practitioner.create({
|
|
data: {
|
|
id: idPractiitioner,
|
|
practitioner_name: responseSatSet.entry[0].resource.name[0].text,
|
|
created_date: (0, time_1.dateNow)(),
|
|
birth_date: new Date(responseSatSet.entry[0].resource.birthDate),
|
|
gender: responseSatSet.entry[0].resource.gender,
|
|
practitioner_ihs_id: responseSatSet.entry[0].resource.id,
|
|
ihs_json_data: responseSatSet,
|
|
nik: data.nik,
|
|
pegawai_id: data.pegawai_id,
|
|
},
|
|
});
|
|
return practitioner;
|
|
});
|
|
exports.insertDataPractitionerSatSet = insertDataPractitionerSatSet;
|
|
const updateDataPractitionerSatSet = (responseSatSet, data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const patient = yield db_1.prismaDb2.practitioner.updateMany({
|
|
where: {
|
|
id: data.id,
|
|
},
|
|
data: {
|
|
practitioner_name: responseSatSet.entry[0].resource.name[0].text,
|
|
created_date: (0, time_1.dateNow)(),
|
|
birth_date: new Date(responseSatSet.entry[0].resource.birthDate),
|
|
gender: responseSatSet.entry[0].resource.gender,
|
|
practitioner_ihs_id: responseSatSet.entry[0].resource.id,
|
|
ihs_json_data: responseSatSet,
|
|
nik: data.nik,
|
|
pegawai_id: data.pegawai_id,
|
|
},
|
|
});
|
|
return patient;
|
|
});
|
|
exports.updateDataPractitionerSatSet = updateDataPractitionerSatSet;
|
|
const insertJobData = (data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const idJob = yield (0, database_handler_1.generateMaxDb2)("max_job_idx", "id");
|
|
const job = yield db_1.prismaDb2.job.create({
|
|
data: {
|
|
id: idJob,
|
|
created_date: (0, time_1.dateNow)(),
|
|
endpoint_name: data.endpoint_name,
|
|
payload: data.payload,
|
|
status: data.status,
|
|
method: data.method,
|
|
url: data.url,
|
|
key_simrs: data.key_simrs,
|
|
},
|
|
});
|
|
return job;
|
|
});
|
|
exports.insertJobData = insertJobData;
|
|
const updateJobData = (data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const job = yield db_1.prismaDb2.job.update({
|
|
where: {
|
|
id: data.id,
|
|
},
|
|
data: {
|
|
last_updated_date: (0, time_1.dateNow)(),
|
|
status: data.status,
|
|
response: data.response,
|
|
},
|
|
});
|
|
return job;
|
|
});
|
|
exports.updateJobData = updateJobData;
|
|
const updateStatusPasien = (data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const updateStatus = yield db_1.prismaDb1.pasien.updateMany({
|
|
where: {
|
|
no_mr: data.no_mr,
|
|
},
|
|
data: {
|
|
status_satu_sehat: data.status_satu_sehat,
|
|
id_satu_sehat: data.id_satu_sehat,
|
|
},
|
|
});
|
|
return updateStatus;
|
|
});
|
|
exports.updateStatusPasien = updateStatusPasien;
|
|
const updateStatusPegawai = (data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const updateStatus = yield db_1.prismaDb1.pegawai.update({
|
|
where: {
|
|
pegawai_id: data.pegawai_id,
|
|
},
|
|
data: {
|
|
id_satu_sehat: data.id_satu_sehat,
|
|
},
|
|
});
|
|
return updateStatus;
|
|
});
|
|
exports.updateStatusPegawai = updateStatusPegawai;
|
|
const getJob = (endpoint_name, limit) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const job = yield db_1.prismaDb2.job.findMany({
|
|
where: {
|
|
status: {
|
|
in: [1, 3],
|
|
},
|
|
endpoint_name: endpoint_name,
|
|
},
|
|
select: {
|
|
id: true,
|
|
created_date: true,
|
|
endpoint_name: true,
|
|
payload: true,
|
|
status: true,
|
|
method: true,
|
|
url: true,
|
|
key_simrs: true,
|
|
},
|
|
orderBy: [
|
|
{
|
|
status: "asc",
|
|
},
|
|
{
|
|
created_date: "asc",
|
|
},
|
|
],
|
|
take: limit,
|
|
});
|
|
return job;
|
|
});
|
|
exports.getJob = getJob;
|
|
const getDataPractitioner = (limit) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const getDataPegawai = yield db_1.prismaDb1.$queryRaw `
|
|
SELECT
|
|
pegawai.pegawai_id,
|
|
pegawai.nik
|
|
FROM
|
|
pegawai
|
|
LEFT JOIN resources ON
|
|
resources.key_simrs = pegawai.pegawai_id
|
|
WHERE
|
|
pegawai.status_batal is null
|
|
AND pegawai.nik IS NOT NULL
|
|
AND resources.resources_id IS NULL
|
|
ORDER BY
|
|
pegawai.pegawai_id ASC
|
|
LIMIT ${parseInt(limit, 10)};
|
|
`;
|
|
return getDataPegawai;
|
|
});
|
|
exports.getDataPractitioner = getDataPractitioner;
|
|
const updateInsertIdPractitionerRepo = (pegawai_id, response, id, type) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const resourcesId = yield (0, database_handler_1.generateMaxDb1)("max_resources_idx", "resources_id");
|
|
const insertRujukan = yield db_1.prismaDb1.resources.create({
|
|
data: {
|
|
resources_id: resourcesId,
|
|
input_time: (0, time_1.dateNow)(),
|
|
input_user_id: 1,
|
|
key_simrs: pegawai_id,
|
|
key_satu_sehat: id,
|
|
resources_type: type,
|
|
response: response,
|
|
},
|
|
});
|
|
});
|
|
exports.updateInsertIdPractitionerRepo = updateInsertIdPractitionerRepo;
|
|
const getDataPatient = (limit) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const getDataPasien = yield db_1.prismaDb1.$queryRaw `
|
|
SELECT
|
|
pasien.pasien_id,
|
|
TRIM(pasien.ktp) ktp
|
|
FROM
|
|
pasien
|
|
LEFT JOIN resources ON
|
|
resources.key_simrs = pasien.pasien_id
|
|
WHERE
|
|
pasien.status_batal is null
|
|
AND pasien.ktp IS NOT NULL
|
|
AND LENGTH(TRIM(pasien.ktp)) = 16
|
|
AND resources.resources_id IS NULL
|
|
ORDER BY
|
|
pasien.pasien_id DESC
|
|
LIMIT ${parseInt(limit, 10)};
|
|
`;
|
|
return getDataPasien;
|
|
});
|
|
exports.getDataPatient = getDataPatient;
|
|
const updateInsertIdPatientRepo = (pasien_id, response, id, type, gagal = null) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const resourcesId = yield (0, database_handler_1.generateMaxDb1)("max_resources_idx", "resources_id");
|
|
let data = {
|
|
resources_id: resourcesId,
|
|
input_time: (0, time_1.dateNow)(),
|
|
input_user_id: 1,
|
|
key_simrs: pasien_id,
|
|
key_satu_sehat: id,
|
|
resources_type: type,
|
|
response: response,
|
|
};
|
|
if (gagal === 1) {
|
|
data.status = 1;
|
|
}
|
|
const insertRujukan = yield db_1.prismaDb1.resources.create({
|
|
data,
|
|
});
|
|
});
|
|
exports.updateInsertIdPatientRepo = updateInsertIdPatientRepo;
|