· 4 years ago · Dec 30, 2020, 06:58 AM
1<?php
2 //koneksi DB
3 $serverName = "xxxx"; //serverName\instanceName
4 $connectionInfo = array( "Database"=>"xxxxx", "UID"=>"xxx", "PWD"=>"xxx");
5 $conn = sqlsrv_connect( $serverName, $connectionInfo);
6
7 $sqlKamarLokal1 = "select ap.kd_aplicares,ap.kd_ruang,t.desk_tarif_klasifikasi, sum(case when b.desk_kamar_bed is null then 0 else 1 end) as kapasitas,
8 sum(case when b.terisi='Y' then 0 else 1 end) as tersedia
9 from m_kamar a
10 left join m_kamar_bed b on b.kd_kamar=a.kd_kamar
11 left join m_tarif_klasifikasi t on t.kd_tarif_klasifikasi = a.kd_tarif_klasifikasi
12 left join m_aplicares ap on ap.kd_rs=a.kd_tarif_klasifikasi
13 where a.aktif='Y' and b.rusak='N' and a.kd_kamar<>'0092' and a.kd_kamar<>'0171' and
14 a.kd_kamar<>'0148' and a.kd_kamar<>'0081' and a.kd_kamar<>'0084' and a.kd_kamar<>'0085'
15 and a.kd_tarif_klasifikasi<>'0005' and a.kd_tarif_klasifikasi<>'0007'
16 group by t.desk_tarif_klasifikasi,ap.kd_aplicares ,ap.kd_ruang
17 union all
18 select 'HCU','KHCU','Kamar HCU',count(kd_kamar_bed) ,sum(case when terisi='Y' then 0 else 1 end) from m_kamar_bed
19 where rusak='N' and kd_kamar='0148'
20 union all
21 select 'ISO','ISOLASI','Kamar ISOLASI',count(kd_kamar_bed),sum(case when terisi='Y' then 0 else 1 end)from m_kamar_bed
22 where rusak='N' and kd_kamar_bed='0104'
23 union all
24 select 'VIP','KVIP','VIP',count(a.kd_kamar_bed),sum(case when a.terisi='Y' then 0 else 1 end) from m_kamar_bed a
25 inner join m_kamar b on a.kd_kamar=b.kd_kamar
26 where a.rusak='N' and b.kd_tarif_klasifikasi='0005' or b.kd_tarif_klasifikasi='0007'";
27 $hasilLokal1 = sqlsrv_query($conn,$sqlKamarLokal1);
28
29 //User dari BPJS
30 $data = "xxxx";
31 $secretKey = "xxxxx";
32
33 $url = "http://api.bpjs-kesehatan.go.id/aplicaresws/rest/bed/update/0179R012/";
34 date_default_timezone_set('UTC');
35 $tStamp = strval(time()-strtotime('1970-01-01 00:00:00'));
36 $signature = hash_hmac('sha256', $data."&".$tStamp, $secretKey, true);
37 $encodedSignature = base64_encode($signature);
38 $urlencodedSignature = urlencode($encodedSignature);
39
40 $jml=$i;
41 for ($j=1; $j<=$jml;$j++)
42 {
43 $row = sqlsrv_fetch_array($hasilLokal1);
44 $kodekelas = $row[0];
45 $koderuang = $row[1];
46 $namaruang = $row[2];
47 $kapasitas = $row[3];
48 $tersedia = $row[4];
49 $tersediapriawanita = $row[4];
50
51 $databpjs = array(
52 "kodekelas" => "$kodekelas",
53 "koderuang" => "$koderuang",
54 "namaruang" => "$namaruang",
55 "kapasitas" => "$kapasitas",
56 "tersedia" => "0",
57 "tersediapria" => "0",
58 "tersediawanita" => "0",
59 "tersediapriawanita" => "0"
60 );
61
62 $json = json_encode($databpjs);
63 $ch = curl_init();
64 curl_setopt($ch, CURLOPT_HTTPHEADER, array(
65 "X-cons-id: $data",
66 "X-timestamp: $tStamp",
67 "X-signature: $encodedSignature" ,
68 "Content-type: application/json"
69 ));
70 curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
71 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
72 curl_setopt($ch, CURLOPT_URL, $url);
73 $send = curl_exec($ch);
74 if ($send === false) {
75 die('Error fetching data: ' . curl_error($ch));
76 }
77 else
78 {
79 echo 'Isi Data Kamar = ';
80 echo '
81 ';
82 print_r($json);
83 echo '<br>';
84 echo 'Response = ';
85 print_r($send);
86 echo '<br>';
87 }
88 }
89?>