• Tidak ada hasil yang ditemukan

RANCANG BANGUN PERANGKAT LUNAK APLIKASI PELAYANAN KESEHATAN BERBASIS SERVICE-ORIENTED ARCHITECTURE. Oleh: Farah Naja ( )

N/A
N/A
Protected

Academic year: 2021

Membagikan "RANCANG BANGUN PERANGKAT LUNAK APLIKASI PELAYANAN KESEHATAN BERBASIS SERVICE-ORIENTED ARCHITECTURE. Oleh: Farah Naja ( )"

Copied!
34
0
0

Teks penuh

(1)

RANCANG BANGUN

PERANGKAT LUNAK APLIKASI

PELAYANAN KESEHATAN

BERBASIS SERVICE-ORIENTED

ARCHITECTURE

(2)
(3)

W

HAT

IS

?

Sebuah web pelayanan kesehatan berbasis

service-oriented

architecture

yang

bisa

mengumpulkan data-data dari semua rumah

sakit untuk memudahkan pengguna dalam:

melihat rekam medis, mencari dokter, mencari

rumah sakit, dan membuat appointment dengan

dokter tertentu

(4)

T

UJUAN

Memudahkan pasien untuk melihat rekam medisnya

dari semua rumah sakit yang pernah merawatnya.

Memudahkan pasien untuk mencari dokter di kota

tempat dia tinggal tanpa perlu mengecek satu per

satu ke rumah sakit tertentu.

Memudahkan dokter memeriksa rekam medis pasien

yang akan diperiksa olehnya karena catatan medis

pasien dari berbagai rumah sakit sudah dikumpulkan

menjadi satu oleh aplikasi.

Memudahkan pasien untuk membandingkan fasilitas

rumah sakit yang satu dengan fasilitas rumah sakit

yang lain.

Memudahkan pasien membuat

appointment

dengan

(5)

P

ERMASALAHAN

Permasalahan yang diangakat dalam Tugas

Akhir ini adalah:

Bagaimana mengambil hanya informasi yang

dibutuhkan saja dari

database

setiap rumah

sakit..

Bagaimana agar

service

pada aplikasi rumah

(6)

B

ATASAN

M

ASALAH

Aplikasi yang dibangun adalah aplikasi pelayanan kesehatan

yang memanfaatkan data dari rumah sakit-rumah sakit. Studi

kasus yang digunakan adalah Rumah Sakit Metropolitan

Medical Center Jakarta dan Rumah Sakit St. Elisabeth

Semarang.

Rumah Sakit Metropolitan Medical Center Jakarta dan Rumah

Sakit St. Elisabeth Semarang yang menyediakan

service

diasumsikan menggunakan aplikasi rumah sakit yang serupa.

Database

Rumah Sakit Metropolitan Medical Center Jakarta

dan Rumah Sakit St. Elisabeth Semarang diasumsikan

memiliki desain dan struktur yang sama, hanya datanya saja

yang berbeda.

Aplikasi ini dibangun dalam keadaan seolah-olah semua

penduduk Indonesia sudah menggunakan Nomor Induk

Kependudukan sehingga hanya mempunyai 1 nomor KTP.

Data yang digunakan dalam aplikasi ini bukan data asli dari

rumah sakit tertentu tapi hanya data yang dibuat mirip

dengan aslinya.

Tabel pada

database

rumah sakit hanya dibuat sebagian saja

(7)
(8)

A

RSITEKTUR

S

ISTEM

DB RS MMC DB RS SE

DB App Health Care

DB Kependudukan

Service RS

Metropolitan

Medical Center

Service RS

St.

Elisabeth

Service

Kependudukan

App RS

Metropolitan Medical Center

App Layanan Kesehatan

App Kependudukan

(9)
(10)

P

ROSES

-P

ROSES

U

TAMA

DI

A

PLIKASI

P

ELAYANAN

K

ESEHATAN

Pendaftaran pasien

Menampilkan rekam medis

Pembuatan appointment

Pembatalan appointment

Pencarian dokter

Pencarian rumah sakit

Pencarian penanganan penyakit

Manage Profil

Manage Penyakit

Manage Spesialisasi

Manage Obat

(11)

U

SE

C

ASE

D

IAGRAM

uc Use Cases

Aplikasi Pelayanan Kesehatan

melihat rekam medis

Pasien manage profil membuat appointment membatalkan appointment registrasi pasien mencari dokter

mencari rumah sakit

mencari penanganan penyakit Admin manage penyakit manage spesialisasi manage obat «include» «include»

(12)

P

ROSES

U

TAMA

DI

A

PLIKASI

R

UMAH

S

AKIT

Manage Appointment

uc Use Case Rumah Sakit

Aplikasi Rumah Sakit

Dokter

(13)
(14)

S

ERVICE

D

OKTER

Yang bisa dilakukan:

1.

Mengambil daftar nama dokter yang ada di

rumah sakit.

2.

Mengambil data diri dokter yang ada di rumah

sakit.

3.

Mengambil jadwal praktik seorang dokter yang

(15)

C

LASS

D

IAGRAM

class Dokter «properti» Dokter - alamat: string - id: string - idrs: string - nama: string - namars: string - spesialis: string - telp: string «property» + alamat() : string + id() : string + idrs() : string + nama() : string + namars() : string + spesialis() : string + spesialisasi() : string + telp() : string «properti» Jadw al - akhir: string - awal: string - dktr: string - hari: string - id: string «property» + akhir() : string + awal() : string + dktr() : string + hari() : string + id() : string «dataset» j adw alPraktik - akhir: string - awal: string - id_dokter: string - id_hari: string - id_praktik: string - nama_hari: string + GetData() : void[] + getJadwalDokter(string) : void[] «dataset» Dokter_Spesialisasi - alamat_dokter: string - id_dokter: string - id_rs: string - nama_dokter: string - nama_rs: string - nama_spesialis: string - telp_dokter: string + GetData() : void[] + getDataDokter(string) : void[] + getDetailDokter(string) : void[] getDokter - iddokter: string - spesalisasi: string + cekLogin(string) : int + getDetailDokter(string) : string + getJadwalDokter(string) : string[] + getNamaDokter(string) : string[] «WebService» DokterRS - iddokter: string - spesialisasi: string + dataDokter(string) : string + jadwalDokter(string) : string[] + namaDokter(string) : string[] dataDokter - iddokter: string - spesialisasi: string + detailDokter(string) : string + detailJadwal(string) : string[] + listNamaDokter(string) : string[]

(16)

S

ERVICE

R

EKAM

M

EDIS

Yang bisa dilakukan:

(17)

C

LASS

D

IAGRAM

class Rekam Medis

«properti» RekamMedis - diagnosa: string - dosis: string - ktp: string - nama: string - obat: string - pelayanan: string - rs: string - tgl: string «property» + diagnosa() : string + dosis() : string + ktp() : string + nama() : string + obat() : string + pelayanan() : string + rs() : string + tgl() : string «dataset» rekamMedis - diagnosa: string - dosis: string - ktp_pasien: string - nama_dokter: string - nama_obat: string - nama_pelayanan: string - nama_rs: string - tgl_pemeriksaanl: date + getCatMed(string) : void[] + GetData() : void[] dataRekamMedis - ktp: string + rekamMedisPasien(string) : string[] getRekMedis - ktp: string + getRekamMedis(string) : string[] «WebService» RekamMedisPasien - ktp: string + dataRekamMedisPasien(string) : string[]

(18)

P

ERANCANGAN

A

NTAR

M

UKA

Web Pelayanan Kesehatan

Form Login

Cari Dokter

Cari Rumah

Sakit

Penanganan

Penyakit

Detail Dokter

Detail Rumah

Sakit

Halaman

Pasien

Profil Pasien

Rekam

Medis

Appointment

Halaman

Admin

Manage

Penyakit

Manage

Obat

Manage

Spesialisasi

(19)

A

NTAR

M

UKA

P

ENANGANAN

P

ENYAKIT

ui Form Penanganan Penyakit

Penanganan Penyakit Penyakit Kota Pilih Penyakit Pilih kota Detail Penyakit Pilih Cancel Pilih Cancel Daftar Obat Daftar dokter

(20)

A

NTAR

M

UKA

R

EKAM

M

EDIS

ui Form Pasien

Rekam Medis

(21)

IMPLEMENTASI

(22)

D

ATA

L

AYER

using System; using System.Collections.Generic; using System.Text; using System.Data; using Core; using dataLayerRS; using dataLayerRS.rekamMedisTableAdapters; namespace dataLayerRS {

public class dataRekamMedis

{ DataTable dt; RekamMedis rm; public dataRekamMedis() { }

public List<RekamMedis> rekamMedisPasien(String

ktp) {

List<RekamMedis> rekammedis = new

List<RekamMedis>();

REKAM_MEDISTableAdapter rta = new

REKAM_MEDISTableAdapter();

dt = rta.getCatMed(ktp); int i = 0;

for (i = 0; i < dt.Rows.Count; i++) { rm = new RekamMedis(); rm.IDPemeriksaan = dt.Rows[i]["ID_PEMERIKSAAN"].ToString(); rm.Tanggal = dt.Rows[i]["TGL_PEMERIKSAAN"].ToString(); rm.KTP = dt.Rows[i]["KTP_PASIEN"].ToString(); rm.NamaPasien = dt.Rows[i]["NAMA_PASIEN"].ToString(); rm.TanggalLahir = dt.Rows[i]["TGL_LHR_PASIEN"].ToString(); rm.KTP = dt.Rows[i]["KTP_PASIEN"].ToString(); rm.Nama = dt.Rows[i]["NAMA_DOKTER"].ToString(); rm.RS = dt.Rows[i]["NAMA_RS"].ToString(); rm.Diagnosa = dt.Rows[i]["DIAGNOSA"].ToString(); rm.Fasilitas = dt.Rows[i]["NAMA_PELAYANAN"].ToString(); rm.Detail = dt.Rows[i]["DETAIL"].ToString(); rm.Obat = dt.Rows[i]["NAMA_OBAT"].ToString(); rm.Dosis = dt.Rows[i]["DOSIS"].ToString(); rekammedis.Add(rm); } return rekammedis; } } }

(23)

B

USINESS

L

AYER

using System; using System.Collections.Generic; using System.Text; using Core; using dataLayerRS; namespace businessLayerRS {

public class getRekMedis

{

public static getRekMedis instance; public static getRekMedis GetInstance() {

if (instance == null)

instance = new getRekMedis(); return instance;

}

public List<RekamMedis> getRekamMedis(String ktp) {

dataRekamMedis dm = new dataRekamMedis(); return dm.rekamMedisPasien(ktp);

} } }

(24)

S

ERVICE

L

AYER

using System; using System.Web; using System.Collections; using System.Collections.Generic; using System.Web.Services; using System.Web.Services.Protocols; using businessLayerRS; using Core;

[WebService(Namespace = "http://tempuri.org/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

public class RekamMedisPasien : System.Web.Services.WebService

{ getRekMedis gm; public RekamMedisPasien() { gm = getRekMedis.GetInstance(); } [WebMethod]

public List<RekamMedis> dataRekamMedisPasien(String ktp) {

List<RekamMedis> r = gm.getRekamMedis(ktp); return r;

} }

(25)

P

RESENTATION

L

AYER

using System; using Properti; using System.Data; using System.Configuration; using System.Collections; using System.Collections.Generic; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using CrystalDecisions.CrystalReports.Engine;

public partial class rekam_medis : System.Web.UI.Page

{

RekamMedisRSA.RekamMedisPasien rekRSA = new

RekamMedisRSA.RekamMedisPasien();

RekamMedisRSB.RekamMedisPasien rekRSB = new

RekamMedisRSB.RekamMedisPasien();

protected void Page_Load(object sender, EventArgs e) {

displayData(); }

public void displayData() {

string ktp = Session["ktp"].ToString(); RekamMedisRSA.RekamMedis[] listrekRSA = rekRSA.dataRekamMedisPasien(ktp);

RekamMedisRSB.RekamMedis[] listrekRSB = rekRSB.dataRekamMedisPasien(ktp);

List<RekamMedis> listrekammedis = new

List<RekamMedis>(); RekamMedis r;

string nomor, namapas, tgllhr, tgl, nama, rs, diagnosa, pelayanan, detil, obat, dosis, idpem = "";

int panjang1 = listrekRSA.Length; int panjang2 = listrekRSB.Length; for (int i = 0; i < panjang1; i++) { nomor = listrekRSA[i].KTP; namapas = listrekRSA[i].NamaPasien; tgllhr = listrekRSA[i].TanggalLahir; idpem = listrekRSA[i].IDPemeriksaan; tgl = listrekRSA[i].Tanggal; nama = listrekRSA[i].Nama; rs = listrekRSA[i].RS; diagnosa = listrekRSA[i].Diagnosa; pelayanan = listrekRSA[i].Fasilitas; detil = listrekRSA[i].Detail; obat = listrekRSA[i].Obat; dosis = listrekRSA[i].Dosis;

r = new RekamMedis(nomor, namapas, tgllhr, idpem, tgl, nama, rs, diagnosa, pelayanan, detil, obat, dosis);

listrekammedis.Add(r); }

for (int j = 0; j < panjang2; j++) { nomor = listrekRSB[j].KTP; namapas = listrekRSB[j].NamaPasien; tgllhr = listrekRSB[j].TanggalLahir; idpem = listrekRSB[j].IDPemeriksaan; tgl = listrekRSB[j].Tanggal; nama = listrekRSB[j].Nama; rs = listrekRSB[j].RS; diagnosa = listrekRSB[j].Diagnosa; pelayanan = listrekRSB[j].Fasilitas; detil = listrekRSB[j].Detail; obat = listrekRSB[j].Obat; dosis = listrekRSB[j].Dosis;

r = new RekamMedis(nomor, namapas, tgllhr, idpem, tgl, nama, rs, diagnosa, pelayanan, detil, obat, dosis);

listrekammedis.Add(r); }

CatatanMedis dt = new CatatanMedis(); dt.Clear();

for (int x = 0; x < listrekammedis.Count; x++) { DataRow dr = dt.Tables[0].NewRow(); dr["KTPPasien"] = listrekammedis[x].KTP; dr["NamaPasien"] = listrekammedis[x].NamaPasien; dr["TanggalLahir"] = listrekammedis[x].TanggalLahir; dr["IDPemeriksaan"] = listrekammedis[x].IDPemeriksaan; dr["Tanggal"] = listrekammedis[x].Tanggal; dr["NamaDokter"] = listrekammedis[x].Nama; dr["NamaRS"] = listrekammedis[x].RS; dr["Diagnosa"] = listrekammedis[x].Diagnosa; dr["Fasilitas"] = listrekammedis[x].Fasilitas; dr["Detail"] = listrekammedis[x].Detail; dr["Obat"] = listrekammedis[x].Obat; dr["DosisObat"] = listrekammedis[x].Dosis; dt.Tables[0].Rows.Add(dr); }

(26)

ReportDocument rd = new ReportDocument(); rd.Load(Server.MapPath("rekammedis.rpt")); rd.SetDataSource(dt); Viewer.ReportSource = rd; Viewer.DataBind(); } }

(27)
(28)

R

EKAM

M

EDIS

Test ID

TC-UC02-02

Tujuan Test

Melakukan uji coba terhadap proses melihat rekam medis.

Kondisi Awal

Login sukses. Sistem menampilkan halaman pasien.

Data Input

Prosedur pengujian

Hasil yang

diharapkan

Hasil yang diperoleh

Kesimpulan

Tidak ada

Pada halaman pasien,

pengguna memilih

halaman rekam

medis.

Sistem menampilkan

laporan rekam medis

pasien.

Sistem menampilkan

laporan rekam medis

pasien.

Proses melihat rekam

medis berhasil

dilakukan.

(29)
(30)

P

ENANGANAN

P

ENYAKIT

Test ID

TC-UC07-07

Tujuan Test

Melakukan uji coba proses mencari penanganan penyakit

Kondisi Awal

Sistem menampilkan halaman home.

Data Input

Prosedur pengujian

Hasil yang

diharapkan

Hasil yang diperoleh

Kesimpulan

penyakit: radang

tenggorokan,

kota: jakarta

Pengguna memilih

menu penanganan

penyakit lalu memilih

penyakit dan kota

yang diinginkan.

Menampilkan detail

penyakit, obat yang

bisa dipakai, rumah

sakit serta dokter

yang bisa menangani

Menampilkan detail

penyakit, obat yang

bisa dipakai, rumah

sakit serta dokter

yang bisa menangani

Proses pencarian

penanganan penyakit

berhasil dilakukan

(31)
(32)

H

ASIL

U

JI

C

OBA

Proses yang diuji

Hasil

Registrasi pasien

Berhasil

Melihat rekam medis

Berhasil

Membuat appointment

Berhasil

Membatalkan appointment

Berhasil

Mencari dokter

Berhasil

Mencari rumah sakit

Berhasil

Mencari penanganan penyakit

Berhasil

Manage profil

Berhasil

Manage penyakit

Berhasil

Manage Spesialisasi

Berhasil

Manage Obat

Berhasil

(33)

S

IMPULAN

Aplikasi Pelayanan Kesehatan telah berhasil

diimplementasikan dengan menggunakan

service-oriented architecture.

Aplikasi Pelayanan Kesehatan telah berhasil

menggabungkan data-data dari berbagai rumah

sakit, seperti:

1.

Data rekam medis pasien

2.

Data dokter dengan spesialisasi tertentu

(34)

S

ARAN

Laporan rekam medis bisa dibuat lebih bagus

lagi, lengkap dengan dokumen pendukung dari

rumah sakit.

Keamanan

service

rumah sakit perlu

ditambahkan karena data yang diambil sangat

sensitif sehingga nanti hanya aplikasi ini saja

Referensi

Dokumen terkait

Dihadapan Anda terdapat 4 buah sampel rosela kering, Anda diminta untuk memberikan penilaian terhadap warna. Anda boleh mengulang sesering yang

Parameter sampel per detik merupakan kecepatan eksekusi pemrosesan sampel dalam satu detik. Data menunjukkan bahwa kecepatan maksimum parallel computing lebih cepat 68.02%

Hasil kajian menunjukkan bahawa penggunaan kaedah model didapati berjaya untuk meningkatkan minat dan pencapaian murid dalam tajuk tersebut, di samping amalan

Universitas Sumatera Utara Medan adalah lulusan yang mempunyai kualitas. Kinerja

dalam penelitian ini adalah cluster random sampling, dengan desain penelitian Regresi Sederhana. Alat pengumpulan data menggunakan kuesioner dan tes uraian

Apabila hasil penelitian ini dibanding dengan penelitian sebelumnya yang dilakukan oleh Annisa (2012) ternyata hasil penelitian tersebut tidak sesuai dengan hasil

service yang ditawarkan, dimana adanya tuntutan pelanggan terhadap kecepatan dan ketepatan pelayanan, kepercayaan terhadap perusahaan kurang, kurangnya pengetahuan akan

Analisis awal-akhir dimaksudkan untuk menentukan masalah dasar yang diperlukn dalam pengembangan LKS. Dalam melakukan analisis awal akhir perlu mempertimbangkan