"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;