Source Code Bridging SIMRS GOS Dan SEP BPJS Untuk Insert SEP Versi Terbaru Dengan PHP
Muh. Ashhar Bustan

Source Code Bridging SIMRS GOS Dan SEP BPJS Untuk Insert SEP Versi Terbaru Dengan PHP

BPJS Kesehatan telah menggunakan webservice versi 2.1 untuk proses bridging dengan aplikasi lain. Jika pada webservice versi sebelumnya yaitu versi 1.4 pertukaran data menggunakan format XML maka pada versi 2.1 pertukaran data menggunakan format JSON. Pada artikel bridging SIMRS GOS dan SEP BPJS kita akan membahas proses untuk melakukan insert SEP. Berdasarkan katalog yang diberikan oleh BPJS Kesehatan, insert SEP dilakukan dengan metode POST dengan mengirimkan request yaitu:

{
	"request":
	 {
	"t_sep":
		{
			"noKartu":"{No.Kartu BPJS}",
			"tglSep":"{Tgl.SEP format yyyy-MM-dd hh:mm:ss}",
			"tglRujukan":"{Tgl.Rujukan format yyyy-MM-dd hh:mm:ss}",
			"noRujukan":"{No.Rujukan}",
			"ppkRujukan":"{PPK Asal Rujukan}",
			"ppkPelayanan":"{PPK Pelayanan SEP}",
			"jnsPelayanan":"{Jenis Pelayanan = (1)Inap, (2)Jalan}",
			"catatan":"{Catatan SEP jika terdapat catatan}",
			"diagAwal":"{Diagnosa ICD10}",
			"poliTujuan":"{Kode Poli hasil mapping Poli}",
			"klsRawat":"{Kelas Rawat = (1)kelas 1, (2)kelas 2, (3)kelas 3}",
			"lakaLantas":"{Flaging Kecelakaan = (1)Kasus Kecelakaan, (2)Bukan Kasus Kecelakaan}",
			"lokasiLaka":"{Lokasi Kecelakaan = Diisi jika flaging lakaLantas=1 }",
			"user":"{user entri SEP}",
			"noMr":"{No. Medical Record}"
		}
	 }
}     

 

Baca Juga: Mengenal Bahasa Pemrograman Java


Berikut contoh request yang dikirim:

{
	"request":
	 {
	"t_sep":
		{
			"noKartu":"0000015223116",
			"tglSep":"2016-06-12 09:00:00",
			"tglRujukan":"2016-06-12 09:00:00",
			"noRujukan":"00001",
			"ppkRujukan":"00010002",
			"ppkPelayanan":"0301R001",
			"jnsPelayanan":"2",
			"catatan":"test",
			"diagAwal":"A00.1",
			"poliTujuan":"INT",
			"klsRawat":"3",
			"lakaLantas":"2",
			"lokasiLaka":"Jakarta",
			"user":"RS",
			"noMr":"001"
		}
	 }
}

 

Sekarang bagaimana cara menerapkannya dalam PHP (SIMRS GOS)? berikut source code untuk mengirimkan request dan mendapatkan response insert SEP BPJS

$tglSep = date("Y-m-d H:i:s");
$noKartu = $_POST["noKartu"];
$tglRujukan = $_POST["tglRujukan"];
$noRujukan = $_POST["noRujukan"];
$ppkRujukan = $_POST["ppkRujukan"];
$diagAwal = $_POST["diagAwal"];
$poliTujuan = ($_POST["poliTujuan"] === "29") ? "MAT" : "UGD";
$klsRawat = $_POST["klsRawat"];
$noMR = $_POST["noMR"];

$arrheader =  array(
	'X-cons-id: '.$cons_id,
	'X-timestamp: '.$tStamp,
	'X-signature: '.$encodedSignature,
	'Content-type: Application/x-www-form-urlencoded',
);


$scml  = "{";
$scml .= "\"request\":";
$scml .= "{";
$scml .= "\"t_sep\":";
$scml .= "{";
$scml .= "\"noKartu\":\"$noKartu\",";
$scml .= "\"tglSep\":\"$tglSep\",";
$scml .= "\"tglRujukan\":\"$tglRujukan\",";
$scml .= "\"noRujukan\":\"$noRujukan\",";
$scml .= "\"ppkRujukan\":\"$ppkRujukan\",";
$scml .= "\"ppkPelayanan\":\"1801B001\",";
$scml .= "\"jnsPelayanan\":\"2\",";
$scml .= "\"catatan\":\"Dari WS\",";
$scml .= "\"diagAwal\":\"$diagAwal\",";
$scml .= "\"poliTujuan\":\"$poliTujuan\",";
$scml .= "\"klsRawat\":\"$klsRawat\",";
$scml .= "\"lakaLantas\":\"2\",";
$scml .= "\"lokasiLaka\":\"\",";
$scml .= "\"user\":\"RS\",";
$scml .= "\"noMr\":\"$noMR\"";
$scml .= "}";
$scml .= "}";
$scml .= "}";


$url= "http://dvlp.bpjs-kesehatan.go.id:8081/devWsLokalRest/SEP/insert";

$process = curl_init($url); 

curl_setopt($process, CURLOPT_URL, $url);
curl_setopt($process, CURLOPT_VERBOSE, true);
curl_setopt($process, CURLOPT_TIMEOUT, 30); 
curl_setopt($process, CURLOPT_RETURNTRANSFER, true);
curl_setopt($process, CURLOPT_HTTPHEADER,$arrheader);
curl_setopt($process, CURLOPT_POST, true); 
curl_setopt($process, CURLOPT_POSTFIELDS, $scml); 

$return = curl_exec($process); 
curl_close($process);

$response = json_decode($return, true);
if($response[metadata]['message']!="OK"){
	echo $response[metadata]['message'];
}else{
	echo $response[response];
}

 

Baca Juga: Cara Membuat Rowspan Dinamis Pada Tabel Dengan PHP


Lantas apa yang membedakan antara request ketika masih menggunakan webservice versi 1.4 dengan versi 2.1? Perbedaannya terletak pada format requestnya yang menggunakan format XML seperti berikut:

<request>
<data>
	<t_sep>
		<noKartu>'.$noKartu.'</noKartu>
		<tglSep>'.$tglSep.'</tglSep>
		<tglRujukan>'.$tglRujukan.'</tglRujukan>
		<noRujukan>'.$noRujukan.'</noRujukan>
		<ppkRujukan>'.$ppkRujukan.'</ppkRujukan>
		<ppkPelayanan>1801B001</ppkPelayanan>
		<jnsPelayanan>2</jnsPelayanan>
		<catatan>Dari WS</catatan>
		<diagAwal>'.$diagAwal.'</diagAwal>
		<poliTujuan>'.$poliTujuan.'</poliTujuan>
		<klsRawat>'.$klsRawat.'</klsRawat>
		<lakaLantas>2</lakaLantas>
		<lokasiLaka></lokasiLaka>
		<user>RS</user>
		<noMr>'.$noMR.'</noMr>
	</t_sep>
</data>
</request>


Selanjutnya kita akan membahas Bridging SIMRS GOS dan SEP BPJS untuk Pencarian Data dan Ketersediaan Tempat Tidur.

Baca Juga: Cara Mengirim Variabel Javascript Dari View Ke Controller Codeigniter


YANG LAIN:

Komentar

Cari Artikel Lainnya Disini