public static void updateIndikator(int id, int tahun, Indikator indikator, string ruangan) { using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) { cnn.Execute("UPDATE Indikator SET Data = @Data, Januari = @Januari, Februari = @Februari," + "Maret = @Maret, April = @April, Mei = @Mei, Juni = @Juni, Juli = @Juli," + "Agustus = @Agustus, September = @September, Oktober = @Oktober, November = @November," + "Desember = @Desember, Total = @Total WHERE Ruangan = '" + ruangan + "' AND Id = " + id + " AND Tahun = " + tahun + "", indikator); } }
public static void insertNewIndikator(Indikator dataIndikator) { using (IDbConnection cnn = new SQLiteConnection(LoadConnectionString())) { if (dataIndikator.Data != null) { cnn.Execute("INSERT INTO Indikator (Id, Ruangan, Tahun, Data, Januari, Februari, Maret, April, Mei, Juni, Juli" + ", Agustus, September, Oktober, November, Desember, Total) VALUES (@Id, @Ruangan, @Tahun, @Data, @Januari, @Februari," + " @Maret, @April, @Mei, @Juni, @Juli, @Agustus, @September, @Oktober, @November, @Desember, @Total)", dataIndikator);; } } }
private void cbPeriode_SelectedIndexChanged(object sender, EventArgs e) { if (tahunSelected == null || tahunSelected <= 0) { return; } AppForm.listIndikator = SqliteDataAccess.getAllIndikatorDataOfRuanganTahun(namaRuangan, tahunSelected); AppForm.listRekapitulasi = SqliteDataAccess.getAllRekapitulasiDataOfRuanganTahun(namaRuangan, tahunSelected); int listALOS = AppForm.listIndikator.FindIndex(x => x.Data == "ALOS" && x.Tahun == tahunSelected); int listBOR = AppForm.listIndikator.FindIndex(x => x.Data == "BOR" && x.Tahun == tahunSelected); int listBTO = AppForm.listIndikator.FindIndex(x => x.Data == "BTO" && x.Tahun == tahunSelected); int listTOI = AppForm.listIndikator.FindIndex(x => x.Data == "TOI" && x.Tahun == tahunSelected); Indikator indikatorBOR = AppForm.listIndikator[listBOR]; /*BORY*/ Indikator indikatorALOS = AppForm.listIndikator[listALOS]; /*BORX*/ Indikator indikatorBTO = AppForm.listIndikator[listBTO]; Indikator indikatorTOI = AppForm.listIndikator[listTOI]; int hariPerawatan = 0; int pasienKeluar = 0; int jumlahPeriode = 0; int tempatTidur = 0; float ALOS = 0; float BOR = 0; float BTO = 0; float TOI = 0; clearChart(); if (tbBOR.Text != "" && tbTOI.Text != "" && tbALOS.Text != "" && tbBTO.Text != "") { tbBOR.Text = ""; tbTOI.Text = ""; tbALOS.Text = ""; tbBTO.Text = ""; } int index = cbPeriode.SelectedIndex; switch (index) { case 0: ALOS = round(indikatorALOS.Januari); BOR = round(indikatorBOR.Januari); BTO = round(indikatorBTO.Januari); TOI = round(indikatorTOI.Januari); if (indikatorALOS.Januari == 0 || indikatorBOR.Januari == 0 || indikatorBTO.Januari == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Januari; } } createChart("Januari", ALOS, BOR, BTO, jumlahPeriode); break; case 1: ALOS = round(indikatorALOS.Februari); BOR = round(indikatorBOR.Februari); BTO = round(indikatorBTO.Februari); TOI = round(indikatorTOI.Februari); if (indikatorALOS.Februari == 0 || indikatorBOR.Februari == 0 || indikatorBTO.Februari == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Februari; } } createChart("Februari", ALOS, BOR, BTO, jumlahPeriode); break; case 2: ALOS = round(indikatorALOS.Maret); BOR = round(indikatorBOR.Maret); BTO = round(indikatorBTO.Maret); TOI = round(indikatorTOI.Maret); if (indikatorALOS.Maret == 0 || indikatorBOR.Maret == 0 || indikatorBTO.Maret == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Maret; } } createChart("Maret", ALOS, BOR, BTO, jumlahPeriode); break; case 3: ALOS = round(indikatorALOS.April); BOR = round(indikatorBOR.April); BTO = round(indikatorBTO.April); TOI = round(indikatorTOI.April); if (indikatorALOS.April == 0 || indikatorBOR.April == 0 || indikatorBTO.April == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.April; } } createChart("April", ALOS, BOR, BTO, jumlahPeriode); break; case 4: ALOS = round(indikatorALOS.Mei); BOR = round(indikatorBOR.Mei); BTO = round(indikatorBTO.Mei); TOI = round(indikatorTOI.Mei); if (indikatorALOS.Mei == 0 || indikatorBOR.Mei == 0 || indikatorBTO.Mei == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Mei; } } createChart("Mei", ALOS, BOR, BTO, jumlahPeriode); break; case 5: ALOS = round(indikatorALOS.Juni); BOR = round(indikatorBOR.Juni); BTO = round(indikatorBTO.Juni); TOI = round(indikatorTOI.Juni); if (indikatorALOS.Juni == 0 || indikatorBOR.Juni == 0 || indikatorBTO.Juni == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Juni; } } createChart("Juni", ALOS, BOR, BTO, jumlahPeriode); break; case 6: ALOS = round(indikatorALOS.Juli); BOR = round(indikatorBOR.Juli); BTO = round(indikatorBTO.Juli); TOI = round(indikatorTOI.Juli); if (indikatorALOS.Juli == 0 || indikatorBOR.Juli == 0 || indikatorBTO.Juli == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); createChart("Juli", ALOS, BOR, BTO, jumlahPeriode); break; case 7: ALOS = round(indikatorALOS.Agustus); BOR = round(indikatorBOR.Agustus); BTO = round(indikatorBTO.Agustus); TOI = round(indikatorTOI.Agustus); if (indikatorALOS.Agustus == 0 || indikatorBOR.Agustus == 0 || indikatorBTO.Agustus == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Agustus; } } createChart("Agustus", ALOS, BOR, BTO, jumlahPeriode); break; case 8: ALOS = round(indikatorALOS.September); BOR = round(indikatorBOR.September); BTO = round(indikatorBTO.September); TOI = round(indikatorTOI.September); if (indikatorALOS.September == 0 || indikatorBOR.September == 0 || indikatorBTO.September == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.September; } } createChart("September", ALOS, BOR, BTO, jumlahPeriode); break; case 9: ALOS = round(indikatorALOS.Oktober); BOR = round(indikatorBOR.Oktober); BTO = round(indikatorBTO.Oktober); TOI = round(indikatorTOI.Oktober); if (indikatorALOS.Oktober == 0 || indikatorBOR.Oktober == 0 || indikatorBTO.Oktober == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Oktober; } } createChart("Oktober", ALOS, BOR, BTO, jumlahPeriode); break; case 10: ALOS = round(indikatorALOS.November); BOR = round(indikatorBOR.November); BTO = round(indikatorBTO.November); TOI = round(indikatorTOI.November); if (indikatorALOS.November == 0 || indikatorBOR.November == 0 || indikatorBTO.November == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.November; } } createChart("November", ALOS, BOR, BTO, jumlahPeriode); break; case 11: ALOS = round(indikatorALOS.Desember); BOR = round(indikatorBOR.Desember); BTO = round(indikatorBTO.Desember); TOI = round(indikatorTOI.Desember); if (indikatorALOS.Desember == 0 || indikatorBOR.Desember == 0 || indikatorBTO.Desember == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Desember; } } createChart("Desember", ALOS, BOR, BTO, jumlahPeriode); break; case 12: foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Hari Perawatan") { hariPerawatan = rekap.Januari + rekap.Februari + rekap.Maret; } if (rekap.Data == "Pasien Keluar (H&M)") { pasienKeluar = rekap.Januari + rekap.Februari + rekap.Maret; } if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Januari + rekap.Februari + rekap.Maret; } if (rekap.Data == "Jumlah Tempat Tidur") { tempatTidur = rekap.Maret; } } ALOS = Formula.calculateALOS(hariPerawatan, pasienKeluar); BOR = Formula.calculateBOR(hariPerawatan, tempatTidur, jumlahPeriode); TOI = Formula.calculateTOI(tempatTidur, jumlahPeriode, hariPerawatan, pasienKeluar); BTO = Formula.calculateBTO(pasienKeluar, tempatTidur); if (ALOS == 0 || BOR == 0 || BTO == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); createChart("Triwulan 1 (JANUARI-FEBRUARI-MARET)", ALOS, BOR, BTO, jumlahPeriode); break; case 13: foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Hari Perawatan") { hariPerawatan = rekap.April + rekap.Mei + rekap.Juni; } if (rekap.Data == "Pasien Keluar (H&M)") { pasienKeluar = rekap.April + rekap.Mei + rekap.Juni; } if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.April + rekap.Mei + rekap.Juni; } if (rekap.Data == "Jumlah Tempat Tidur") { tempatTidur = rekap.Juni; } } ALOS = Formula.calculateALOS(hariPerawatan, pasienKeluar); BOR = Formula.calculateBOR(hariPerawatan, tempatTidur, jumlahPeriode); TOI = Formula.calculateTOI(tempatTidur, jumlahPeriode, hariPerawatan, pasienKeluar); BTO = Formula.calculateBTO(pasienKeluar, tempatTidur); if (ALOS == 0 || BOR == 0 || BTO == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); createChart("Triwulan 2 (APRIL-MEI-JUNI)", ALOS, BOR, BTO, jumlahPeriode); break; case 14: foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Hari Perawatan") { hariPerawatan = rekap.Juli + rekap.Agustus + rekap.September; } if (rekap.Data == "Pasien Keluar (H&M)") { pasienKeluar = rekap.Juli + rekap.Agustus + rekap.September; } if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Juli + rekap.Agustus + rekap.September; } if (rekap.Data == "Jumlah Tempat Tidur") { tempatTidur = rekap.September; } } ALOS = Formula.calculateALOS(hariPerawatan, pasienKeluar); BOR = Formula.calculateBOR(hariPerawatan, tempatTidur, jumlahPeriode); TOI = Formula.calculateTOI(tempatTidur, jumlahPeriode, hariPerawatan, pasienKeluar); BTO = Formula.calculateBTO(pasienKeluar, tempatTidur); if (ALOS == 0 || BOR == 0 || BTO == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); createChart("Triwulan 3 (JULI-AGUSTUS-SEPTEMBER)", ALOS, BOR, BTO, jumlahPeriode); break; case 15: foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Hari Perawatan") { hariPerawatan = rekap.Oktober + rekap.November + rekap.Desember; } if (rekap.Data == "Pasien Keluar (H&M)") { pasienKeluar = rekap.Oktober + rekap.November + rekap.Desember; } if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Oktober + rekap.November + rekap.Desember; } if (rekap.Data == "Jumlah Tempat Tidur") { tempatTidur = rekap.Desember; } } ALOS = Formula.calculateALOS(hariPerawatan, pasienKeluar); BOR = Formula.calculateBOR(hariPerawatan, tempatTidur, jumlahPeriode); TOI = Formula.calculateTOI(tempatTidur, jumlahPeriode, hariPerawatan, pasienKeluar); BTO = Formula.calculateBTO(pasienKeluar, tempatTidur); if (ALOS == 0 || BOR == 0 || BTO == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); createChart("Triwulan 4 (OKTOBER-NOVEMBER-DESEMBER)", ALOS, BOR, BTO, jumlahPeriode); break; case 16: foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Hari Perawatan") { hariPerawatan = rekap.Januari + rekap.Februari + rekap.Maret + rekap.April + rekap.Mei + rekap.Juni; } if (rekap.Data == "Pasien Keluar (H&M)") { pasienKeluar = rekap.Januari + rekap.Februari + rekap.Maret + rekap.April + rekap.Mei + rekap.Juni; } if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Januari + rekap.Februari + rekap.Maret + rekap.April + rekap.Mei + rekap.Juni; } if (rekap.Data == "Jumlah Tempat Tidur") { tempatTidur = rekap.Juni; } } Console.WriteLine(hariPerawatan); Console.WriteLine(pasienKeluar); Console.WriteLine(jumlahPeriode); Console.WriteLine(tempatTidur); ALOS = Formula.calculateALOS(hariPerawatan, pasienKeluar); BOR = Formula.calculateBOR(hariPerawatan, tempatTidur, jumlahPeriode); TOI = Formula.calculateTOI(tempatTidur, jumlahPeriode, hariPerawatan, pasienKeluar); BTO = Formula.calculateBTO(pasienKeluar, tempatTidur); if (ALOS == 0 || BOR == 0 || BTO == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); createChart("Semester 1", ALOS, BOR, BTO, jumlahPeriode); break; case 17: foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Hari Perawatan") { hariPerawatan = rekap.Juli + rekap.Agustus + rekap.September + rekap.Oktober + rekap.November + rekap.Desember; } if (rekap.Data == "Pasien Keluar (H&M)") { pasienKeluar = rekap.Juli + rekap.Agustus + rekap.September + rekap.Oktober + rekap.November + rekap.Desember; } if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Juli + rekap.Agustus + rekap.September + rekap.Oktober + rekap.November + rekap.Desember; } if (rekap.Data == "Jumlah Tempat Tidur") { tempatTidur = rekap.Desember; } } ALOS = Formula.calculateALOS(hariPerawatan, pasienKeluar); BOR = Formula.calculateBOR(hariPerawatan, tempatTidur, jumlahPeriode); TOI = Formula.calculateTOI(tempatTidur, jumlahPeriode, hariPerawatan, pasienKeluar); BTO = Formula.calculateBTO(pasienKeluar, tempatTidur); if (ALOS == 0 || BOR == 0 || BTO == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); createChart("Semester 2", ALOS, BOR, BTO, jumlahPeriode); break; case 18: foreach (Rekapitulasi rekap in AppForm.listRekapitulasi) { if (rekap.Data == "Hari Perawatan") { hariPerawatan = rekap.Januari + rekap.Februari + rekap.Maret + rekap.April + rekap.Mei + rekap.Juni + rekap.Juli + rekap.Agustus + rekap.September + rekap.Oktober + rekap.November + rekap.Desember; } if (rekap.Data == "Pasien Keluar (H&M)") { pasienKeluar = rekap.Januari + rekap.Februari + rekap.Maret + rekap.April + rekap.Mei + rekap.Juni + rekap.Juli + rekap.Agustus + rekap.September + rekap.Oktober + rekap.November + rekap.Desember; } if (rekap.Data == "Jumlah Periode") { jumlahPeriode = rekap.Januari + rekap.Februari + rekap.Maret + rekap.April + rekap.Mei + rekap.Juni + rekap.Juli + rekap.Agustus + rekap.September + rekap.Oktober + rekap.November + rekap.Desember; } if (rekap.Data == "Jumlah Tempat Tidur") { tempatTidur = rekap.Desember; } } ALOS = Formula.calculateALOS(hariPerawatan, pasienKeluar); BOR = Formula.calculateBOR(hariPerawatan, tempatTidur, jumlahPeriode); TOI = Formula.calculateTOI(tempatTidur, jumlahPeriode, hariPerawatan, pasienKeluar); BTO = Formula.calculateBTO(pasienKeluar, tempatTidur); if (ALOS == 0 || BOR == 0 || BTO == 0) { break; } changeTextInTextBox(BOR, TOI, ALOS, BTO); initChart(); createChart("1 Tahun", ALOS, BOR, BTO, jumlahPeriode); break; default: break; } }
//-------------------------------------------- Public Method ---------------------------------------// public void CalculateIndikator(int tahun, string ruangan) { AppForm.listIndikator = new List <Indikator>(); for (int i = 0; i < 6; i++) { string data = null; float[] value = new float[13]; switch (i) { case 0: data = "BOR"; for (int j = 0; j < 13; j++) { value[j] = Formula.calculateBOR(showData("Hari Perawatan", j), showData("Jumlah Tempat Tidur", j), showData("Jumlah Periode", j)); } break; case 1: data = "ALOS"; for (int j = 0; j < 13; j++) { value[j] = Formula.calculateALOS(showData("Hari Perawatan", j), showData("Pasien Keluar (H&M)", j)); } break; case 2: data = "TOI"; for (int j = 0; j < 13; j++) { value[j] = Formula.calculateTOI(showData("Jumlah Tempat Tidur", j), showData("Jumlah Periode", j), showData("Hari Perawatan", j), showData("Pasien Keluar (H&M)", j)); } break; case 3: data = "BTO"; for (int j = 0; j < 13; j++) { value[j] = Formula.calculateBTO(showData("Pasien Keluar (H&M)", j), showData("Jumlah Tempat Tidur", j)); } break; case 4: data = "NDR"; for (int j = 0; j < 13; j++) { value[j] = Formula.calculateNDR(showData("Pasien Mati >= 48 jam", j), showData("Pasien Keluar (H&M)", j)); } break; case 5: data = "GDR"; for (int j = 0; j < 13; j++) { value[j] = Formula.calculateGDR(showData("Pasien Mati Keseluruhan", j), showData("Pasien Keluar (H&M)", j)); } break; } Indikator indikator = new Indikator { Id = i + 1, Ruangan = ruangan, Tahun = tahun, Data = data, Januari = value[0], Februari = value[1], Maret = value[2], April = value[3], Mei = value[4], Juni = value[5], Juli = value[6], Agustus = value[7], September = value[8], Oktober = value[9], November = value[10], Desember = value[11], Total = value[12] }; AppForm.listIndikator.Add(indikator); } }
private void addNewIndikator(int tahun, string ruangan) { int count = 0; string data = null; float[] value = new float[12]; for (int i = 0; i < 6; i++) { switch (i) { case 0: data = "BOR"; for (int j = 0; j < 12; j++) { value[j] = 0; } break; case 1: data = "ALOS"; for (int j = 0; j < 12; j++) { value[j] = 0; } break; case 2: data = "TOI"; for (int j = 0; j < 12; j++) { value[j] = 0; } break; case 3: data = "BTO"; for (int j = 0; j < 12; j++) { value[j] = 0; } break; case 4: data = "NDR"; for (int j = 0; j < 12; j++) { value[j] = 0; } break; case 5: data = "GDR"; for (int j = 0; j < 12; j++) { value[j] = 0; } break; default: break; } count++; float rerata = 0; Indikator indikator = new Indikator { Id = count, Ruangan = ruangan, Tahun = tahun, Data = data, Januari = value[0], Februari = value[1], Maret = value[2], April = value[3], Mei = value[4], Juni = value[5], Juli = value[6], Agustus = value[7], September = value[8], Oktober = value[9], November = value[10], Desember = value[11], Total = rerata }; SqliteDataAccess.insertNewIndikator(indikator); } }