98 lines
4.6 KiB
JavaScript
98 lines
4.6 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.updateInsertIdEncounterRepo = exports.getDataEncounter = void 0;
|
|
const db_1 = require("./../../../../db");
|
|
const database_handler_1 = require("./../../../../db/database.handler");
|
|
const time_1 = require("./../../../../middlewares/time");
|
|
const getDataEncounter = (limit, registrasi_id = "") => __awaiter(void 0, void 0, void 0, function* () {
|
|
let queryRegistrasi;
|
|
let queryDate;
|
|
if (registrasi_id) {
|
|
queryDate = "";
|
|
queryRegistrasi = `AND registrasi.registrasi_id = ${parseInt(registrasi_id, 10)}`;
|
|
}
|
|
else {
|
|
queryDate = `AND registrasi.tgl_masuk::date = now()::date`;
|
|
queryRegistrasi = "";
|
|
}
|
|
const getDataPasien = `select
|
|
distinct
|
|
registrasi.registrasi_id Registration_ID,
|
|
registrasi_urut.tgl_urut,
|
|
pasien.nama_pasien Patient_Name,
|
|
resources_patient.key_satu_sehat Patient_ID,
|
|
resources_practitioner.key_satu_sehat Practitioner_ID,
|
|
pegawai.nama_pegawai Practitioner_Name,
|
|
resources_location.key_satu_sehat Location_Poli_id,
|
|
bagian.nama_bagian Location_Poli_Name
|
|
from
|
|
registrasi
|
|
inner join registrasi_detail on
|
|
registrasi.registrasi_id = registrasi_detail.registrasi_id
|
|
and registrasi_detail.status_batal is null
|
|
inner join registrasi_urut on
|
|
registrasi_detail.registrasi_detail_id = registrasi_urut.registrasi_detail_id
|
|
and registrasi_urut.status_batal is null
|
|
inner join bagian on
|
|
registrasi_detail.bagian_id = bagian.bagian_id
|
|
and bagian.referensi_bagian in (1, 313)
|
|
inner join pegawai on
|
|
registrasi_urut.pegawai_id = pegawai.pegawai_id
|
|
inner join pasien on
|
|
registrasi.pasien_id = pasien.pasien_id
|
|
inner join resources resources_patient on
|
|
pasien.pasien_id = resources_patient.key_simrs
|
|
and resources_patient.resources_type = 'Patient'
|
|
and resources_patient.key_satu_sehat <> '0'
|
|
inner join resources resources_practitioner on
|
|
pegawai.pegawai_id = resources_practitioner.key_simrs
|
|
and resources_practitioner.resources_type = 'Practitioner'
|
|
inner join resources resources_location on
|
|
bagian.bagian_id = resources_location.key_simrs
|
|
and resources_location.resources_type = 'Location'
|
|
inner join emr on
|
|
registrasi.registrasi_id = emr.registrasi_id
|
|
and emr.status_batal is null
|
|
and emr.form_id = 3
|
|
left outer join transaction_satu_sehat on
|
|
registrasi.registrasi_id = transaction_satu_sehat.key_simrs
|
|
where
|
|
registrasi.status_batal is null
|
|
and transaction_satu_sehat.transaction_satu_sehat_id is null
|
|
${queryDate}
|
|
${queryRegistrasi}
|
|
limit ${parseInt(limit, 10)};`;
|
|
const getDataPasienNew = yield db_1.prismaDb1.$queryRawUnsafe(getDataPasien);
|
|
return getDataPasienNew;
|
|
});
|
|
exports.getDataEncounter = getDataEncounter;
|
|
const updateInsertIdEncounterRepo = (registrasi_id, payload, response, id, type, gagal = null) => __awaiter(void 0, void 0, void 0, function* () {
|
|
const transaction_satu_sehatId = yield (0, database_handler_1.generateMaxDb1)("max_transaction_satu_sehat_idx", "transaction_satu_sehat_id");
|
|
let data = {
|
|
transaction_satu_sehat_id: transaction_satu_sehatId,
|
|
input_time: (0, time_1.dateNow)(),
|
|
input_user_id: 1,
|
|
payload: payload,
|
|
key_simrs: registrasi_id,
|
|
key_satu_sehat: id,
|
|
transaction_type: type,
|
|
response: response,
|
|
};
|
|
if (gagal === 1) {
|
|
data.status = 1;
|
|
}
|
|
const insertRujukan = yield db_1.prismaDb1.transaction_satu_sehat.create({
|
|
data,
|
|
});
|
|
});
|
|
exports.updateInsertIdEncounterRepo = updateInsertIdEncounterRepo;
|