Untuk dapat membangun interoperabilitas dengan SATUSEHAT, partner perlu melakukan registrasi dan mengikuti langkah-langkah yang diperlukan.
Dalam menunggu proses verifikasi, kita dapat menggunakan environment sandbox. Contoh ini mengasumsikan kita memiliki akses ke API key sandbox, sebagai berikut:
Dengan client key dan secret key tersebut, kita akan mendapatkan access token yang perlu dilewatkan pada setiap request. Kita siapkan fungsi get_token untuk mendapatkan token yang dimaksud:
load_module("json") var client_key = "CLIENT_KEY" var secret_key = "SECRET_KEY" var oauth_base_url = "https://api-satusehat-stg.dto.kemkes.go.id/oauth2/v1" var base_url = "https://api-satusehat-stg.dto.kemkes.go.id/fhir-r4/v1" var get_token = fn() { var c = "/accesstoken?grant_type=client_credentials" var u = oauth_base_url + c var d = "client_id=" + client_key + "&client_secret=" + secret_key var h = { "Content-Type": "application/x-www-form-urlencoded" } var t = 60000 var r = http_post(u, d, t, h) if (r == null) { return null } var j = json_parse(r[2]) if (is(j, "HASH")) { return j["access_token"] } return null }
Catatan:
Contoh pemanggilan fungsi adalah sebagai berikut:
var token = get_token() println(token)
Contoh berikutnya adalah pencarian encounter berdasarkan subjek. Encounter didefinisikan sebagai interaksi pasien dengan fasilitas pelayanan kesehatan (fasyankes). Dalam rawat jalan misalnya, sebagaimana dibahas dalam dokumentasi SATUSEHAT, rangkaian kegiatan mulai dari awal berkunjung sampai selesai, beserta informasi lainnya.
Berikut adalah contoh fungsi get_encounter, yang membutuhkan argumen berupa STRING access token dan subjek. Variabel base_url merujuk pada definisi variabel sebelumnya. Modul json diasumsikan telah diload seperti contoh access token sebelumnya.
var get_encounter = fn(t, p) { var c = "/Encounter?subject=" + p var u = base_url + c var h = { "Authorization": "Bearer " + t } var t = 60000 var r = http_get(u, t, h) if (r == null) { return {} } var j = json_parse(r[2]) if (is(j, "HASH")) { return j } return {} }
Contoh pemanggilan fungsi adalah sebagai berikut (pastikanlah variabel token telah berisi token yang didapatkan dengan fungsi get_token):
var encounter = get_encounter(token, "SUBJEK") println(encounter)
Sampai di sini, mari kita berlatih untuk bekerja dengan Consent, yang akan disajikan dalam tutorial berikutnya. Bacalah dokumentasi SATUSEHAT untuk informasi selengkapnya.
Terima kasih telah membaca tutorial ini.