18
9/26/2015 Service Catalog Bridging BPJS RS https://docs.google.com/document/d/1vydifb2Kde3fPAMZn7yyrduF7WA0eZZlhkpExQzgw_c/pub#h.8mn0l9tcp7oq 1/18 Service Catalog Bridging BPJS RS Last Modified : 29092014 WS Version : 1.4.1 Daftar isi Overview TOOLS TESTING WEB SERVICE SIGNATURE Java PHP C# VB.Net Ruby Phyton Cocoa (iOS and Mac) Daftar Service 1. Cari peserta berdasarkan no.kartu BPJS 2. Cari peserta berdasarkan NIK Format_Peserta 3. Cari data rujukan berdasarkan no.rujukan 4. Cari data rujukan berdasarkan no.kartu BPJS Format_Rujukan 5. Cari daftar pasien yang dirujuk berdasarkan tanggal rujukan Format_Rujukan_list 6. Pembuatan SEP 7. Update tanggal pulang pada SEP >> hanya ada pada Web Service lokal 8. Menyimpan mapping data transaksi >> hanya ada pada Web Service lokal 9. Menghapus data transaksi SEP >> hanya ada pada Web Service lokal 10. Mencari 5 (lima) riwayat kunjungan terakhir peserta >> hanya ada pada Web Service lokal Format_Riwayat_Kunjungan_Peserta 11. Mencari detail SEP >> hanya ada pada Web Service lokal Format_Detail_SEP 12. Mencari PPK Rujukan >> hanya ada pada Web Service lokal Format_Nama_PPK Overview Secara umum, hampir setiap pemanggilan webservice, harus dicantumkan beberapa variabel yang dibutuhkan untuk menambahkan informasi ataupun untuk proses validasi yang dikirim pada HTTP Header, antara lain: Nama Header Contoh Nilai Keterangan Accept application/xml, application/json format data yang diinginkan Xconsid 743627386 consumer ID dari ASKES Xtimestamp 234234234 generated unixbased timestamp Xsignature DogC5UiQurNcigrBdQ3QN5oYvXeUF5E82I/LHUcI9v0= generated signature dengan pola HMAC256 1. Accept, diisi sesuai permintaan dari client. Jika menginginkan hasil balik dari webservice dalam format XML, maka diisi dengan application/xml. Ataupun jika menginginkan hasil balik dari webservice dalam berupa JSON, maka dapat diisi dengan application/json. Secara default (jika tidak ditulis) maka hasil balik berupa JSON. 2. Xconsid, merupakan kode consumer (pengakses webservice). Kode ini akan diberikan oleh ASKES. 3. Xtimestamp, merupakan waktu yang akan digenerate oleh client saat ingin memanggil setiap service. Format waktu ini ditulis dengan format unixbasedtime (berisi angka, tidak dalam format tanggal sebagaimana mestinya). Format waktu menggunakan Coordinated Universal Time ( UTC), dalam penggunaannya untuk mendapatkan timestamp, rumus yang digunakan adalah (local time in UTC timezone in seconds) (19700101 in seconds). contoh penggunaan dalam php yaitu :

Service Catalog Bridging BPJS - RS

Embed Size (px)

DESCRIPTION

Bridging BPJS

Citation preview

Page 1: Service Catalog Bridging BPJS - RS

9/26/2015 Service Catalog Bridging BPJS ­ RS

https://docs.google.com/document/d/1vydifb2Kde3fPAMZn7yyrduF7WA0eZZlhkpExQzgw_c/pub#h.8mn0l9tcp7oq 1/18

Service Catalog Bridging BPJS ­ RS

Last Modified : 29­09­2014WS Version : 1.4.1

Daftar isiOverviewTOOLS TESTING WEB SERVICESIGNATURE

JavaPHPC#VB.NetRubyPhytonCocoa (iOS and Mac)

Daftar Service1. Cari peserta berdasarkan no.kartu BPJS2. Cari peserta berdasarkan NIK

Format_Peserta3. Cari data rujukan berdasarkan no.rujukan4. Cari data rujukan berdasarkan no.kartu BPJS

Format_Rujukan5. Cari daftar pasien yang di­rujuk berdasarkan tanggal rujukan

Format_Rujukan_list6. Pembuatan SEP7. Update tanggal pulang pada SEP >> hanya ada pada Web Service lokal8. Menyimpan mapping data transaksi >> hanya ada pada Web Service lokal9. Menghapus data transaksi SEP >> hanya ada pada Web Service lokal10. Mencari 5 (lima) riwayat kunjungan terakhir peserta >> hanya ada pada Web Service lokal

Format_Riwayat_Kunjungan_Peserta11. Mencari detail SEP >> hanya ada pada Web Service lokal

Format_Detail_SEP12. Mencari PPK Rujukan >> hanya ada pada Web Service lokal

Format_Nama_PPK

Overview

Secara umum, hampir setiap pemanggilan web­service, harus dicantumkan beberapa variabel yang dibutuhkan untuk menambahkaninformasi ataupun untuk proses validasi yang dikirim pada HTTP Header, antara lain:

Nama Header Contoh Nilai Keterangan

Accept application/xml, application/json format data yang diinginkan

X­cons­id 743627386 consumer ID dari ASKES

X­timestamp 234234234 generated unix­based timestamp

X­signature DogC5UiQurNcigrBdQ3QN5oYvXeUF5E82I/LHUcI9v0= generated signature dengan pola HMAC­256

1. Accept, diisi sesuai permintaan dari client. Jika menginginkan hasil balik dari web­service dalam format XML, maka diisidengan application/xml. Ataupun jika menginginkan hasil balik dari web­service dalam berupa JSON, maka dapat diisidengan application/json. Secara default (jika tidak ditulis) maka hasil balik berupa JSON.2. X­cons­id, merupakan kode consumer (pengakses web­service). Kode ini akan diberikan oleh ASKES.3. X­timestamp, merupakan waktu yang akan di­generate oleh client saat ingin memanggil setiap service. Format waktu iniditulis dengan format unix­based­time (berisi angka, tidak dalam format tanggal sebagaimana mestinya). Format waktumenggunakan Coordinated Universal Time ( UTC), dalam penggunaannya untuk mendapatkan timestamp, rumus yangdigunakan adalah (local time in UTC timezone in seconds) ­ (1970­01­01 in seconds).

contoh penggunaan dalam php yaitu :

Page 2: Service Catalog Bridging BPJS - RS

9/26/2015 Service Catalog Bridging BPJS ­ RS

https://docs.google.com/document/d/1vydifb2Kde3fPAMZn7yyrduF7WA0eZZlhkpExQzgw_c/pub#h.8mn0l9tcp7oq 2/18

date_default_timezone_set('UTC');$tStamp = strval(time()­strtotime('1970­01­01 00:00:00'));

4. X­signature, merupakan hasil dari pembuatan signature yang dibuat oleh client. Signature yang digunakan menggunakanpola HMAC­SHA256.

Untuk dapat mengakses web­service dari BPJS Kesehatan (service provider), pemanggil web service (service consumer) akanmendapatkan:

Consumer ID Consumer Secret

Informasi Consumer Secret, hanya disimpan oleh service consumer. Tidak dikirim ke server web­service, hal ini untuk menjagapengamanan yang lebih baik. Sedangkan kebutuhan Consumer Secret ini adalah untuk men­generate Signature (X­signature).

Contoh:consumerID : 1234consumerSecret : pwdtimestamp : 433223232variabel1 : consumerID&timestampvariabel1 : 1234&433223232

Signature : HMAC­256(value : key)value : variabel1key : consumerSecret

Signature : HMAC­256(variabel1 : consumerSecret)

TOOLS TESTING WEB SERVICE Sebelum mengakses web service melalui aplikasi, bisa digunakan tools tambahan (add­ons). Add­ons ini bisa di dapat dari softwaretambahan atau extension dari masing­masing browser favorit anda. Berikut link aplikasi Advanced Rest Client yang bisa digunakandan di­download dari Chrome Web Store.

Page 3: Service Catalog Bridging BPJS - RS

9/26/2015 Service Catalog Bridging BPJS ­ RS

https://docs.google.com/document/d/1vydifb2Kde3fPAMZn7yyrduF7WA0eZZlhkpExQzgw_c/pub#h.8mn0l9tcp7oq 3/18

SIGNATURE

Metode signature yang digunakan adalah menggunakan HMAC­SHA256, dimana paramater saat generate signature dibutuhkanparameter message dan key.

Berikut contoh hasil generate HMAC­SHA256message : aaakey : bbbhasil generate HMAC­SHA256 : 20BKS3PWnD3XU4JbSSZvVlGi2WWnDa8Sv9uHJ+wsELA=

Diatas adalah hasil generate dari server BPJS Kesehatan

Berikut contoh pembuatan signature dari berbagai platform:

1. Java

import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.net.URLEncoder;import java.security.GeneralSecurityException; import javax.crypto.Mac;import javax.crypto.spec.SecretKeySpec; import org.springframework.security.crypto.codec.Base64; public class BpjsApi public static void main(String[] args) throws GeneralSecurityException, IOException String secretKey = "secretKey"; String salt = "0123456789"; String generateHmacSHA256Signature = generateHmacSHA256Signature(salt, secretKey); System.out.println("Signature: " + generateHmacSHA256Signature); String urlEncodedSign = URLEncoder.encode(generateHmacSHA256Signature, "UTF‐8"); System.out.println("Url encoded value: " + urlEncodedSign); public static String generateHmacSHA256Signature(String data, String key) throws GeneralSecurityException byte[] hmacData = null; try SecretKeySpec secretKey = new SecretKeySpec(key.getBytes("UTF‐8"), "HmacSHA256"); Mac mac = Mac.getInstance("HmacSHA256"); mac.init(secretKey); hmacData = mac.doFinal(data.getBytes("UTF‐8")); return new Base64Encoder().encode(hmacData); catch (UnsupportedEncodingException e) throw new GeneralSecurityException(e);

2. PHP

<?php

$data = "testtesttest"; $secretKey = "secretkey";

// Computes the timestamp date_default_timezone_set('UTC'); $tStamp = strval(time()‐strtotime('1970‐01‐01 00:00:00'));

// Computes the signature by hashing the salt with the secret key as the key $signature = hash_hmac('sha256', $data."&".$tStamp, $secretKey, true);

Page 4: Service Catalog Bridging BPJS - RS

9/26/2015 Service Catalog Bridging BPJS ­ RS

https://docs.google.com/document/d/1vydifb2Kde3fPAMZn7yyrduF7WA0eZZlhkpExQzgw_c/pub#h.8mn0l9tcp7oq 4/18

$signature = hash_hmac('sha256', $data."&".$tStamp, $secretKey, true);

// base64 encode… $encodedSignature = base64_encode($signature);

// urlencode… // $encodedSignature = urlencode($encodedSignature);

echo "X‐cons‐id: " .$data ."<br>"; echo "X‐timestamp:" .$tStamp ."<br>"; echo "X‐signature: " .$encodedSignature;

?>

3. C#

namespace BpjsIntegration class Program static void Main() var data = "testtesttest"; var secretKey = "secretkey"; // Initialize the keyed hash object using the secret key as the key HMACSHA256 hashObject = new HMACSHA256(Encoding.UTF8.GetBytes(secretKey)); // Computes the signature by hashing the salt with the secret key as the key var signature = hashObject.ComputeHash(Encoding.UTF8.GetBytes(data)); // Base 64 Encode var encodedSignature = Convert.ToBase64String(signature); // URLEncode // encodedSignature = System.Web.HttpUtility.UrlEncode(encodedSignature); Console.WriteLine("Voila! A signature: " + encodedSignature); Console.ReadKey();

4. VB.Net

Imports System.Security.CryptographyImports System.Text Namespace BpjsIntegration Class Program Private Shared Sub Main() Dim data = "testtesttest" Dim secretKey = "secretkey" ' Initialize the keyed hash object using the secret key as the key Dim hashObject As New HMACSHA256(Encoding.UTF8.GetBytes(secretKey)) ' Computes the signature by hashing the salt with the secret key as the key Dim signature = hashObject.ComputeHash(Encoding.UTF8.GetBytes(data)) ' Base 64 Encode Dim encodedSignature = Convert.ToBase64String(signature) ' URLEncode ' encodedSignature = System.Web.HttpUtility.UrlEncode(encodedSignature)

Page 5: Service Catalog Bridging BPJS - RS

9/26/2015 Service Catalog Bridging BPJS ­ RS

https://docs.google.com/document/d/1vydifb2Kde3fPAMZn7yyrduF7WA0eZZlhkpExQzgw_c/pub#h.8mn0l9tcp7oq 5/18

Console.WriteLine("Voila! A signature: " & encodedSignature) Console.ReadKey() End Sub End ClassEnd Namespace

5. Ruby

# Required Librariesrequire 'openssl'require 'base64'require 'URI' data = "testtesttest"secret_key = "secretkey" # URL encodedef urlncode(string)URI.escape(string, Regexp.new("[Generating an API Signature^#URI::PATTERN::UNRESERVED]"))end # Computes the signature by hashing the salt with the secret key as the keyhash = OpenSSL::HMAC.digest('sha256', secret_key, data) # base64 encode...# signature = urlncode(Base64.encode64(hash));

6. Phyton

import hashlibimport randomimport base64import urllibimport hmac data = "testtesttest"secretkey = "secretkey" # Computes the signature by hashing the data with the secret key as the keysignature = hmac.new(secretkey, msg=data, digestmod=hashlib.sha256).digest() # base64 encode...encodedSignature = base64.encodestring(signature).replace('\n', '') # urlencode...# encodedSignature = urllib.quote(encodedSignature) print "Voila! A signature: " + encodedSignature

7. Cocoa (iOS and Mac)

‐(NSUInteger)GenerateSalt // random number (change the modulus to the length you'd like) NSUInteger r = arc4random() % 100000; return r; ‐(NSString *)GenerateSignatureUsingSalt:(NSUInteger)salt /* Make sure you import: #import <CommonCrypto/CommonHMAC.h> */

NSString *key = SECRET_KEY; // define your Secret Key string

Page 6: Service Catalog Bridging BPJS - RS

9/26/2015 Service Catalog Bridging BPJS ­ RS

https://docs.google.com/document/d/1vydifb2Kde3fPAMZn7yyrduF7WA0eZZlhkpExQzgw_c/pub#h.8mn0l9tcp7oq 6/18

NSString *key = SECRET_KEY; // define your Secret Key string NSString *data = [NSString stringWithFormat:@"%u", salt]; // convert your random number const char *cKey = [key cStringUsingEncoding:NSUTF8StringEncoding]; const char *cData = [data cStringUsingEncoding:NSUTF8StringEncoding]; unsigned char cHMAC[CC_SHA256_DIGEST_LENGTH]; // Hash the salt with the secret key CCHmac(kCCHmacAlgSHA256, cKey, strlen(cKey), cData, strlen(cData), cHMAC); // Create a data structure NSData *HMAC = [[NSData alloc] initWithBytes:cHMAC length:sizeof(cHMAC)]; // Base64‐encode the signature NSString *hash = [HMAC base64Encoding]; // URL‐encode the signature // NSString * signatureURL = (NSString *)CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)hash, NULL, (CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ", kCFStringEncodingUTF8 ); return signatureURL;

Daftar ServiceService yang tersedia adalah sebagai berikut:

1. Cari peserta berdasarkan no.kartu BPJS

URL Tester : http://api.asterix.co.id/SepWebRest/peserta/noKartu

URL Production : http://IP_ADDRESS:PORT/SepLokalRest/peserta/noKartu

Parameter:noKartu : no kartu BPJS

Output:Format_Peserta

Contoh:URL : http://api.asterix.co.id/SepWebRest/peserta/0000142495694

2. Cari peserta berdasarkan NIK

URL Tester : http://api.asterix.co.id/SepWebRest/peserta/nik/nik

URL Production : http://IP_ADDRESS:PORT/SepLokalRest/peserta/nik/nik

Parameter: Nik : nomor induk kependudukan / no e­KTP

Output:Format_Peserta

Page 7: Service Catalog Bridging BPJS - RS

9/26/2015 Service Catalog Bridging BPJS ­ RS

https://docs.google.com/document/d/1vydifb2Kde3fPAMZn7yyrduF7WA0eZZlhkpExQzgw_c/pub#h.8mn0l9tcp7oq 7/18

Contoh:URL : http://api.asterix.co.id/SepWebRest/peserta/nik/3201152704890003

Format_Peserta

"response": "peserta": "noKartu":"0000142495694", "nik":" ", "nama":"MUJADID ANWAR HASAN", "pisa":"2", "sex":"P", "tglLahir":"1979­05­13 00:00:00", "tglCetakKartu":"1979­05­13 00:00:00", "provUmum": "kdProvider":"1301U007", "nmProvider":"MAULIDA JUNIAR, dr", "kdCabang":null, "nmCabang":null , "jenisPeserta": "kdJenisPeserta":"1", "nmJenisPeserta":"PNS PUSAT" , "kelasTanggungan": "kdKelas":null, "nmKelas":null ,"metaData": "message":"200", "code":200

3. Cari data rujukan berdasarkan no.rujukan

URL Tester : http://api.asterix.co.id/SepWebRest/rujukan/noRujukan

URL Production : http://IP_ADDRESS:PORT/SepLokalRest/rujukan/noRujukan

Parameter :noRujukan : no rujukan pasien BPJS melalui aplikasi PCare (Puskesmas/dokkel)

Output:Format_Rujukan

Contoh:URL : http://api.asterix.co.id/SepWebRest/rujukan/000108011213Y000004

4. Cari data rujukan berdasarkan no.kartu BPJS

URL Tester : http://api.asterix.co.id/SepWebRest/rujukan/peserta/noKartu

Page 8: Service Catalog Bridging BPJS - RS

9/26/2015 Service Catalog Bridging BPJS ­ RS

https://docs.google.com/document/d/1vydifb2Kde3fPAMZn7yyrduF7WA0eZZlhkpExQzgw_c/pub#h.8mn0l9tcp7oq 8/18

URL Production : http://IP_ADDRESS:PORT/SepLokalRest/rujukan/peserta/noKartu

Parameter:noKartu : no kartu BPJS

Output: Format_Rujukan Contoh:URL : http://api.asterix.co.id/SepWebRest/rujukan/peserta/0001089159052

Format_Rujukan

"response": "item": "noKunjungan":"000108011213Y000004", "tglKunjungan":"2013­12­14 00:00:00", "provKunjungan": "kdProvider":"00010801", "nmProvider":"PUSK LANGSA BARO", "kdCabang":null, "nmCabang":null , "peserta": "noKartu":"0001089159052", "nik":"", "nama":"mr ganteng kaya sholeh", "pisa":"2", "sex":"L", "tglLahir":"1984­06­16 00:00:00", "tglCetakKartu":null, "provUmum": "kdProvider":"00010801", "nmProvider":"PUSK LANGSA BARO", "kdCabang":null, "nmCabang":null , "jenisPeserta":null, "kelasTanggungan":null , "keluhan":"sakit gigi", "diagnosa": "kdDiag":"K05", "nmDiag":"GINGTIVIS AND PERIODONTAL DISEA." , "catatan":"rujuk", "pemFisikLain":"", "provRujukan": "kdProvider":"0105R001", "nmProvider":"RSU LANGSA", "kdCabang":null, "nmCabang":null , "poliRujukan": "kdPoli":"GIG", "nmPoli":"Poli Gigi" ,"metaData": "message":"200", "code":200

Page 9: Service Catalog Bridging BPJS - RS

9/26/2015 Service Catalog Bridging BPJS ­ RS

https://docs.google.com/document/d/1vydifb2Kde3fPAMZn7yyrduF7WA0eZZlhkpExQzgw_c/pub#h.8mn0l9tcp7oq 9/18

5. Cari daftar pasien yang di‐rujuk berdasarkan tanggal rujukan

URL Tester : http://api.asterix.co.id/SepWebRest/rujukan/tglrujuk/tglRujukan/query?start=start&limit=limit

URL Production : http://IP_ADDRESS:PORT/SepLokalRest/rujukan/tglrujuk/tglRujukan/query?start=start&limit=limit

Paramter : tglRujukan = tanggal dengan format yyyy­MM­dd start = start/mulai urutan data limit = jumlah data

Output: Format_Rujukan_list Contoh:URL: http://api.asterix.co.id/SepWebRest/rujukan/tglrujuk/2013­12­14/query?start=1&limit=10Mengambil data dari urutan no.1 sebanyak 10 data URL: http://api.asterix.co.id/SepWebRest/rujukan/tglrujuk/2013­12­14/query?start=11&limit=10Mengambil data dari urutan no.11 sebanyak 10 data Fungsi start dan limit berguna untuk paging pada layout tampilan aplikasi, dengan parameter start selalu berubah sesuaiparameter, sedangkan parameter limit selalu sama.­ menampilkan start – limit dari count records­ menampilkan 1 – 10 dari 73 records

Format_Rujukan_list

"response": "start":1, "limit":10, "count":7, "list":[ "noKunjungan":"000108031213Y000005", "tglKunjungan":"2013­12­14 00:00:00", "provKunjungan": "kdProvider":"00010803", "nmProvider":"PUSK LANGSA KOTA", "kdCabang":null, "nmCabang":null , "peserta": "noKartu":"0000149156998", "nik":" ", "nama":"ITA ELLYZA", "pisa":"3", "sex":"P", "tglLahir":"1979­04­17 00:00:00", "tglCetakKartu":null, "provUmum": "kdProvider":"00010803", "nmProvider":"PUSK LANGSA KOTA", "kdCabang":null, "nmCabang":null , "jenisPeserta":null, "kelasTanggungan":null ,

Page 10: Service Catalog Bridging BPJS - RS

9/26/2015 Service Catalog Bridging BPJS ­ RS

https://docs.google.com/document/d/1vydifb2Kde3fPAMZn7yyrduF7WA0eZZlhkpExQzgw_c/pub#h.8mn0l9tcp7oq 10/18

"keluhan":"dispepsia", "diagnosa": "kdDiag":"M23", "nmDiag":"INTERNAL DERANGEMENT OF KNEE" , "catatan":",,,,,,,,,,", "pemFisikLain":"", "provRujukan": "kdProvider":"0105R001", "nmProvider":"RSU LANGSA", "kdCabang":null, "nmCabang":null , "poliRujukan": "kdPoli":"INT", "nmPoli":"Poli Penyakit Dalam" ,

. . . . . . . . . . . . . . . . "noKunjungan":"000108031213Y000009",

"tglKunjungan":"2013­12­14 00:00:00", "provKunjungan": "kdProvider":"00010803", "nmProvider":"PUSK LANGSA KOTA", "kdCabang":null, "nmCabang":null , "peserta": "noKartu":"0001089159276", "nik":"1174023107830003", "nama":"DEDE KURNIAWAN", "pisa":"1", "sex":"L", "tglLahir":"1985­07­07 00:00:00", "tglCetakKartu":null, "provUmum": "kdProvider":"00010803", "nmProvider":"PUSK LANGSA KOTA", "kdCabang":null, "nmCabang":null , "jenisPeserta":null, "kelasTanggungan":null , "keluhan":"gigi berlubang", "diagnosa": "kdDiag":"K02", "nmDiag":"DENTAL CARIES" , "catatan":"cabut", "pemFisikLain":"", "provRujukan": "kdProvider":"0105R001", "nmProvider":"RSU LANGSA", "kdCabang":null, "nmCabang":null , "poliRujukan": "kdPoli":"GIG", "nmPoli":"Poli Gigi" ] ,"metaData":

Page 11: Service Catalog Bridging BPJS - RS

9/26/2015 Service Catalog Bridging BPJS ­ RS

https://docs.google.com/document/d/1vydifb2Kde3fPAMZn7yyrduF7WA0eZZlhkpExQzgw_c/pub#h.8mn0l9tcp7oq 11/18

"message":"200", "code":200

6. Pembuatan SEP

(hanya untuk testing data. Untuk production, akan di­deploy WebService pada server lokal di RS)

URL Tester : http://api.asterix.co.id/SepWebRest/sep/create/

Mulai Versi WS 1.4, URL Create SEP untuk Production menjadiURL Production : http://IP_ADDRESS:PORT/SepLokalRest/sep/

Request Method : POSTHeader :

Content­type: application/xml x­cons­id: …. x­timestamp: …. x­signature: ...

Data:

<request> <data> <t_sep> <noKartu>1234567890123</noKartu> <tglSep>2013­07­26 13:05:03</tglSep> <tglRujukan>2013­07­26 13:05:03</tglRujukan> <noRujukan>1234590000300003</noRujukan> <ppkRujukan>09010100</ppkRujukan> <ppkPelayanan>0901R001</ppkPelayanan> <jnsPelayanan>1</jnsPelayanan> <catatan>dari WS</catatan> <diagAwal>B010</diagAwal> <poliTujuan>SAR</poliTujuan> <klsRawat>2</klsRawat> <user>JD</user> <noMr>1234</noMr> </t_sep> </data></request>

Keterangan: noKartu : no kartu BPJS tglSep : tanggal kedatangan/tanggal transaksi tglRujukan : tanggal kunjungan ke puskesmas/dokter keluarga noRujukan : no rujukan dari puskesmas/dokter keluarga ppkRujukan : kode puskesmas/dokter keluarga (versi BPJS) ppkPelayanan: kode RS anda (versi BPJS), akan di­validasi oleh service, pastikan gunakan userID service yang sesuai jnsPelayanan : 1: Rawat Inap, 2: Rawat Jalan catatan : catatan tambahan diagAwal : diagnosa dari puskesmas/dokter keluarga (ICD X, sama seperti INA­CBG) poliTujuan : poli tujuan di RS klsRawat : kelas rawat tanggungan peserta user : username pengguna aplikasi noMr : no medical records RS dari pasien

7. Update tanggal pulang pada SEP >> hanya ada pada Web Service lokal

Terjadi penolakan saat pembuatan SEP jika sistem mengidentifikasi bahwa pasien masih dalam status menginap. Untuk mengisi

Page 12: Service Catalog Bridging BPJS - RS

9/26/2015 Service Catalog Bridging BPJS ­ RS

https://docs.google.com/document/d/1vydifb2Kde3fPAMZn7yyrduF7WA0eZZlhkpExQzgw_c/pub#h.8mn0l9tcp7oq 12/18

tanggal pulang pada sistem BPJS/SEP, hanya dapat dilakukan dengan menerima file hasil entrian dari sistem INA­CBGs (kemenkes).Namun hal ini biasa dilakukan/diberikan oleh pihak RS kepada pihak BPJS pada beberapa hari kemudian.Untuk mengantisipasi kasus penolakan terhadap pasien, dibutuhkan suatu sistem yang dapat meng­update data pasien pada BPJSmelalui sistem RS. Disinilah fungsi ini berguna untuk meng­update tanggal pulang pasien pada data BPJS yang mana saat sistem RSmelakukan update tanggal pulang pada sistem RS, sekaligus mengakses WebService ini agar data pasien terupdate pada serverBPJS.

URL Production : http://IP_ADDRESS:PORT/SepLokalRest/sep/updtglplg/

Request Method : PUTHeader :

Content­type: application/xml x­cons­id: …. x­timestamp: …. x­signature: ...

Data:

<request> <data> <t_sep> <noSep>1234567890123456789</noSep> <tglPlg>2013­07­26 13:05:03</tglPlg> <ppkPelayanan>0901R001</ppkPelayanan> </t_sep> </data></request>

Keterangan: noSep : no transaksi SEP tglPlg : tanggal pulang pasien ppkPelayanan: kode RS anda (versi BPJS), akan di­validasi oleh service, pastikan gunakan userID service yang sesuai

8. Menyimpan mapping data transaksi >> hanya ada pada Web Service lokal

Setelah sistem RS men­generate SEP dan menyimpan transaksi pendaftaran pada sistem RS, maka data masing­masing no transaksiunik disimpan pada 2 sistem (BPJS dan RS). Fungsi ini berguna untuk menyimpan no transaksi tersebut, agar nantinya dapatmelakukan audit trail yang lebih efisien

URL Production : http://IP_ADDRESS:PORT/SepLokalRest/sep/map/trans/

Request Method : POSTHeader :

Content­type: application/xml x­cons­id: …. x­timestamp: …. x­signature: ...

Data:

<request> <data> <t_map_sep> <noSep>1234567890123456789</noSep> <noTrans>98765432109876543210</noTrans> <ppkPelayanan>0901R001</ppkPelayanan> </t_map_sep> </data></request>

Keterangan: noSep : no transaksi SEP noTrans : no transaksi pada aplikasi RS ppkPelayanan: kode RS anda (versi BPJS), akan di­validasi oleh service, pastikan gunakan userID service yang sesuai

Page 13: Service Catalog Bridging BPJS - RS

9/26/2015 Service Catalog Bridging BPJS ­ RS

https://docs.google.com/document/d/1vydifb2Kde3fPAMZn7yyrduF7WA0eZZlhkpExQzgw_c/pub#h.8mn0l9tcp7oq 13/18

9. Menghapus data transaksi SEP >> hanya ada pada Web Service lokal

Data SEP yang dapat dihapus hanya jika data tersebut belum dibuatkan FPK/tagihan ke Kantor Cabang BPJS setempat.

URL Production : http://IP_ADDRESS:PORT/SepLokalRest/sep/

Request Method : DELETEHeader :

Content­type: application/xml x­cons­id: …. x­timestamp: …. x­signature: ...

Data:

<request> <data> <t_sep> <noSep>1234567890123456789</noSep> <ppkPelayanan>0901R001</ppkPelayanan> </t_sep> </data></request>

Keterangan: noSep : no transaksi SEP ppkPelayanan: kode RS anda (versi BPJS), akan di­validasi oleh service, pastikan gunakan userID service yang sesuai

10. Mencari 5 (lima) riwayat kunjungan terakhir peserta >> hanya ada pada Web Service lokal

Melihat data 5 (lima) riwayat kunjungan terakhir peserta yang dimaksud. Dapat digunakan untuk menjadi acuan dalam meng­update tanggal pulang peserta, jika telah pulang.

URL: http://IP_ADDRESS:PORT/SepLokalRest/sep/peserta/noKartu

Request Method : GET

Parameter:noKartu : no kartu BPJS

Output:Format_Riwayat_Kunjungan_Peserta

Contoh:URL : http://IP_ADDRESS:PORT/SepLokalRest//sep/peserta/0000142495694

Format_Riwayat_Kunjungan_Peserta

response :

start : 1limit : 5count: 5list: [5]

0: noSep: "0902R00106140001988"tglSep: "2014­06­03 00:00:00"tglPulang: "1900­01­01 12:00:00"jnsPelayanan: "Rawat Jalan"

­poliTujuan:

Page 14: Service Catalog Bridging BPJS - RS

9/26/2015 Service Catalog Bridging BPJS ­ RS

https://docs.google.com/document/d/1vydifb2Kde3fPAMZn7yyrduF7WA0eZZlhkpExQzgw_c/pub#h.8mn0l9tcp7oq 14/18

kdPoli: "JIW"nmPoli: "Poli Penyakit Jiwa"

­1:

noSep: "0902R00105140001855"tglSep: "2014­05­05 00:00:00"tglPulang: "2014­05­05 00:00:00"jnsPelayanan: "Rawat Jalan"

­poliTujuan: kdPoli: "JIW"nmPoli: "Poli Penyakit Jiwa"

­2:

noSep: "0902R00104140003884"tglSep: "2014­04­04 00:00:00"tglPulang: "2014­04­04 00:00:00"jnsPelayanan: "Rawat Jalan"

­poliTujuan: kdPoli: "JIW"nmPoli: "Poli Penyakit Jiwa"

­3:

noSep: "0902R00103140022235"tglSep: "2014­03­24 00:00:00"tglPulang: "2014­03­24 00:00:00"jnsPelayanan: "Rawat Jalan"

­poliTujuan: kdPoli: "JIW"nmPoli: "Poli Penyakit Jiwa"

­4:

noSep: "0902R00103140014204"tglSep: "2014­03­13 00:00:00"tglPulang: "2014­03­13 00:00:00"jnsPelayanan: "Rawat Jalan"

­poliTujuan: kdPoli: "JIW"nmPoli: "Poli Penyakit Jiwa"

­metaData:

Page 15: Service Catalog Bridging BPJS - RS

9/26/2015 Service Catalog Bridging BPJS ­ RS

https://docs.google.com/document/d/1vydifb2Kde3fPAMZn7yyrduF7WA0eZZlhkpExQzgw_c/pub#h.8mn0l9tcp7oq 15/18

message: "OK"code: 200

11. Mencari detail SEP >> hanya ada pada Web Service lokal

Melihat detail keterangan dari SEP .

URL Production : http://IP_ADDRESS:PORT/SepLokalRest/sep/noSEP

Request Method : GET

Parameter:noSEP : no Transaksi SEP

Output:Format_Detail_SEP

Contoh:URL : http://IP_ADDRESS:PORT/SepLokalRest/sep/0902R00101140000004

Format_Detail_SEP

­response:

sep:

noSep: "0902R00101140000004"­peserta:

noKartu: "0000047622846"nik: nullnama: "HJ.UMRAH­HERRIYANRI"pisa: "3"sex: "P"tglLahir: "1951­10­16 00:00:00"tglCetakKartu: "2009­10­30 00:00:00"provUmum:

kdProvider: "10050201"nmProvider: "CIPUTAT"kdCabang: nullnmCabang: null

jenisPeserta:

kdJenisPeserta: "15"nmJenisPeserta: "BUKAN PEKERJA LAIN­LAIN"

kelasTanggungan:

kdKelas: "1"nmKelas: "Kelas I"

tglSep: "2014­01­02 00:00:00"tglRujukan: "2014­01­02 00:00:00"tglPulang: "2014­01­02 00:00:00"noRujukan: ""provRujukan:

Page 16: Service Catalog Bridging BPJS - RS

9/26/2015 Service Catalog Bridging BPJS ­ RS

https://docs.google.com/document/d/1vydifb2Kde3fPAMZn7yyrduF7WA0eZZlhkpExQzgw_c/pub#h.8mn0l9tcp7oq 16/18

kdProvider: "09020100"nmProvider: "KEC TEBET"kdCabang: nullnmCabang: null

provPelayanan: kdProvider: "0902R001"nmProvider: "RSUP FATMAWATI"kdCabang: nullnmCabang: null

jnsPelayanan: "Rawat Jalan"catatan: ""diagAwal:

kdDiag: "T843"nmDiag: "Mechanical comp other bone devices implants & grafts"

poliTujuan: kdPoli: "BED"nmPoli: "Poli Bedah"

klsRawat: kdKelas: "3"nmKelas: "Kelas III"

statSep: kdStatSep: "40"nmStatSep: "40_Proses_Cabang"

byTagihan: 378878

­metaData:

message: "OK"code: 200

12. Mencari PPK Rujukan >> hanya ada pada Web Service lokal

Mencari PPK berdasarkan kode atau nama untuk mengisi PPK rujukan.

URL Production : http://IP_ADDRESS:PORT/SepLokalRest/ref/provider/query?nama=xxx&start=1&limit=10

Request Method : GET

Parameter:xxx : Kode PPK atau Nama PPK

Output:Format_Nama_PPK

Contoh:URL : http://IP_ADDRESS:PORT/SepLokalRest/ref/provider/query?nama=kebayoran&start=1&limit=10

Format_Nama_PPK

Page 17: Service Catalog Bridging BPJS - RS

9/26/2015 Service Catalog Bridging BPJS ­ RS

https://docs.google.com/document/d/1vydifb2Kde3fPAMZn7yyrduF7WA0eZZlhkpExQzgw_c/pub#h.8mn0l9tcp7oq 17/18

response: start: 1limit: 10count: 76list: [4]

0: kdProvider: "09020500"nmProvider: "KEC KEBAYORAN BARU (Puskesmas)"kdCabang: "0902"nmCabang: "JAKARTA SELATAN"

­1:

kdProvider: "09020600"nmProvider: "KEC KEBAYORAN LAMA (Puskesmas)"kdCabang: "0902"nmCabang: "JAKARTA SELATAN"

­2:

kdProvider: "09020601"nmProvider: "KEL KEBAYORAN LAMA UTARA (Puskesmas)"kdCabang: "0902"nmCabang: "JAKARTA SELATAN"

­3:

kdProvider: "09020608"nmProvider: "KEL KEBAYORAN LAMA SELATAN (Puskesmas)"kdCabang: "0902"nmCabang: "JAKARTA SELATAN"

­metaData:

message: "200"code: 200

Page 18: Service Catalog Bridging BPJS - RS

9/26/2015 Service Catalog Bridging BPJS ­ RS

https://docs.google.com/document/d/1vydifb2Kde3fPAMZn7yyrduF7WA0eZZlhkpExQzgw_c/pub#h.8mn0l9tcp7oq 18/18

Published by Google Drive – Report Abuse – Updated automatically every 5 minutes