Consent

Penggunaan ReST API SATUSEHAT pada bagian ini adalah untuk menginformasikan atau meminta persetujuan/izin dari pemilik data yang bersangkutan (pasien) agar diperbolehkan untuk diakses oleh pihak lain (organisasi) yang juga terdaftar secara sah dan memiliki akses pada ekosistem SATUSEHAT.

Setiap teks yang berwarna biru muda, dapat diklik untuk melompat ke bagian yang direferensikan.

Akses alamat URL untuk ReST API SATUSEHAT Terkait Persetujuan mempunyai tiga endpoint berdasarkan jenis lingkungan pengembangannya (development environment) yaitu:

Semua penerapan, penjelasan, dan contoh yang akan dibahas akan menggunakan environment sandbox.

Untuk melakukan beberapa request ke ReST API SATUSEHAT yang akan dijelaskan atau dicontohkan di bagian ini, WAJIB melakukan proses autentikasi terlebih dahulu.

Setiap request diperlukan sebuah nilai token bertipe Bearer yang akan dimasukkan pada header Authorization: Bearer <access_token>.

Nilai <access_token> didapatkan dari properti access_token dari hasil response yang secara detail dijelaskan di artikel terkait Akses Token.

Mendapatkan Data

Fungsi dari ReST API ini adalah untuk mendapatkan data terkait resource Consent yang tersedia di ekosistem SATUSEHAT. Untuk mendapatkan data yang dimaksud, nilai ID dari resource Consent tersebut PERLU diketahui dan disediakan sebagai parameternya.

Setiap terdapat simbol asterik * sebelum nama variabel atau parameter yang disebutkan, maka variabel atau parameter tersebut bersifat WAJIB , harus ada, atau pasti selalu ada, contoh: *variabel.

Request

URL

https://api-satusehat-stg.dto.kemkes.go.id/consent/v1/Consent

HTTP Verb/Method

GET

Header

Nama ParameterTipe DataKeterangan

*Authorization

string

Header ini WAJIB diisi dengan nilai sesuai format: Bearer <access_token>. Nilai dari variabel <access_token> didapatkan dari properti access_token pada object dari hasil response JSON setelah proses autentikasi.

Query String

Nama ParameterTipe DataKeterangan

*patient_id

string

Parameter ini WAJIB ada jika ingin mendapatkan data persetujuan akses. Berisi ID dari pasien yang akan diketahui status persetujuannnya.

Contoh: 100000000001.

Response

Hasil response, dengan HTTP Status Code berpola 2xx atau 4xx, yang dikembalikan dari server mempunyai parameter Content-Type dengan nilai application/json di salah satu parameter header-nya.

2xx Success

Bila resource Consent dengan ID terkait berhasil ditemukan atau tersedia, maka akan mengembalikan data dari resource Consent yang tersimpan di ekosistem SATUSEHAT.

Contoh Data

{
  "resourceType": "Consent",
  "id": "8b5c0433-a135-4152-941a-beae583de771",
  //data.terkait.resource.Consent
}

4xx Client Error

Sistem akan mengembalikan pesan error bila client belum melakukan autentikasi, tidak memiliki akses, menggunakan HTTP method yang tidak tepat, atau meminta data dengan format, parameter, atau ketentuan lainnya yang tidak sesuai atau tidak dimengerti oleh sistem.

Contoh Data

{
  "resourceType": "OperationOutcome",
  //data.terkait.resource.OperationOutcome
}

5xx Server Error (Content-Type: text/plain)

Sistem akan mengembalikan pesan error bila terjadi kesalahan pada sisi server saat memproses data yang telah dikirimkan.

Contoh Data

Gateway Timeout

Contoh Penggunaan/Kode

Setiap nilai yang dicontohkan atau ditampilkan di dokumentasi ini adalah nilai yang tidak sebenarnya dan tidak dapat dipakai. Nilai-nilai tersebut hanya untuk keperluan contoh saja, tidak untuk dipakai.

cURL (Windows)

curl --insecure --location ^
  --header "Authorization: Bearer <access-token>" ^
  --request GET ^
  'https://api-satusehat-stg.dto.kemkes.go.id/consent/v1/Consent?patient_id=100000000001'

cURL (Linux)

curl --insecure --location \
  --header 'Authorization: Bearer <access-token>' \
  --request GET \
  'https://api-satusehat-stg.dto.kemkes.go.id/consent/v1/Consent?patient_id=100000000001'

Postman

  1. Buat request baru menggunakan New  HTTP Request, atau klik tombol + untuk buat tab request baru.

  2. Masukkan request URL

    https://api-satusehat-stg.dto.kemkes.go.id/consent/v1/Consent
  3. Lalu pilih request method GET.

  4. Pada tab Auth:

    1. pada pilihan Type, pilih Bearer Token,

    2. lalu masukkan nilai akses token yang sudah didapatkan pada saat autentikasi pada kotak inputan Token.

  5. Pada tab Params, di bagian Query Params:

    1. masukkan nama parameter patient_id pada kotak masukkan pada kolom KEY,

    2. sedangkan untuk nilainya, masukkan pada kotak masukkan pada kolom VALUE.

  6. Klik tombol Send.

  7. Hasil response akan ditampilkan di bagian Response.

Memperbarui Data

Fungsi dari ReST API ini adalah untuk melakukan perubahan data terkait resource Consent ke dalam ekosistem SATUSEHAT, yang sebelumnya sudah ditambahkan dan tersedia di dalam ekosistem SATUSEHAT. Untuk melakukan perubahan (update) data, PERLU ID dari resource Consent yang akan diubah.

Setiap terdapat simbol asterik * sebelum nama variabel atau parameter yang disebutkan, maka variabel atau parameter tersebut bersifat WAJIB , harus ada, atau pasti selalu ada, contoh: *variabel.

Request

URL

https://api-satusehat-stg.dto.kemkes.go.id/consent/v1/Consent

HTTP Verb/Method

POST

Header

Nama ParameterTipe DataKeterangan

*Authorization

string

Header ini WAJIB diisi dengan nilai sesuai format: Bearer <access_token>. Nilai dari variabel <access_token> didapatkan dari properti access_token pada object dari hasil response JSON setelah proses autentikasi.

*Content-Type

string

Mime type dari payload data yang akan dikirimkan di dalam body dalam format JSON, WAJIB diisi dengan application/json.

Body (application/json)

Terkait cara pengisian Body (application/json) dari format FHIR tersebut, silakan melihat contoh di Postman Collection dan dokumentasi pada menu Panduan Interoperabilitas sesuai dengan modul pelayanan dan/atau penerapan (use case) masing-masing.

Bentuk umum dari payload untuk penambahan data sebagai berikut:

{ (1)
  patient_id: string (2)
  action: string (3)
  agent: string (4)
}
1Data yang dikirim berupa object.
2Nilai dari ID pasien yang akan dilakukan proses persetujuan.
3Aksi persetujuan yang akan dilakukan. Isi dengan OPTIN bila akses disetujui, sedangkan bila ditolak isi dengan OPTOUT.
4Nama agen yang ingin meminta persetujuan.

Contoh data dari payload untuk kasus OPTIN dan OPTOUT sebagai berikut:

Akses Disetujui

{
  "patient_id": "100000000001",
  "action": "OPTIN",
  "agent" : "Nama Petugas RSUD Jati Asih"
}

Akses Ditolak

{
  "patient_id": "100000000001",
  "action": "OPTOUT",
  "agent" : "Nama Petugas RSUD Jati Asih"
}

Response

Hasil response, dengan HTTP Status Code berpola 2xx atau 4xx, yang dikembalikan dari server mempunyai parameter Content-Type dengan nilai application/json di salah satu parameter header-nya.

2xx Success

Bila proses pembaruan data berhasil maka akan mengembalikan payload dari resource Consent yang sebelumnya telah dikirim.

Contoh Data

{
  "resourceType": "Consent",
  "id": "8b5c0433-a135-4152-941a-beae583de771",
  //data.terkait.resource.Consent
}

4xx Client Error

Sistem akan mengembalikan pesan error bila client belum melakukan autentikasi, tidak memiliki akses, menggunakan HTTP method yang tidak tepat, atau mengirimkan data dengan format, parameter, atau ketentuan lainnya yang tidak sesuai atau tidak dimengerti oleh sistem.

Contoh Data

{
  "resourceType": "OperationOutcome",
  //data.terkait.resource.OperationOutcome
}

5xx Server Error (Content-Type: text/plain)

Sistem akan mengembalikan pesan error bila terjadi kesalahan pada sisi server saat memproses data yang telah dikirimkan.

Contoh Data

Gateway Timeout

Contoh Penggunaan/Kode

Setiap nilai yang dicontohkan atau ditampilkan di dokumentasi ini adalah nilai yang tidak sebenarnya dan tidak dapat dipakai. Nilai-nilai tersebut hanya untuk keperluan contoh saja, tidak untuk dipakai.

cURL (Windows)

curl --insecure --location ^
  --header "Authorization: Bearer <access-token>" ^
  --header "Content-Type: application/json" ^
  --data-raw "{
    \"patient_id\": \"100000000001\",
    \"action\": \"OPTIN\",
    \"agent\" : \"Nama Petugas RSUD Jati Asih\"
  }" ^
  --request POST ^
  "https://api-satusehat-stg.dto.kemkes.go.id/consent/v1/Consent/8b5c0433-a135-4152-941a-beae583de771"

cURL (Linux)

curl --insecure --location \
  --header 'Authorization: Bearer <access-token>' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "patient_id": "100000000001",
    "action": "OPTIN",
    "agent" : "Nama Petugas RSUD Jati Asih"
  }' \
  --request POST \
  'https://api-satusehat-stg.dto.kemkes.go.id/consent/v1/Consent/8b5c0433-a135-4152-941a-beae583de771'

Postman

  1. Buat request baru menggunakan New  HTTP Request, atau klik tombol + untuk buat tab request baru.

  2. Masukkan request URL

    https://api-satusehat-stg.dto.kemkes.go.id/consent/v1/Consent
  3. Lalu pilih request method POST.

  4. Pada tab Auth:

    1. pada pilihan Type, pilih Bearer Token,

    2. lalu masukkan nilai akses token yang sudah didapatkan pada saat autentikasi pada kotak inputan Token.

  5. Pada tab Params, di bagian Path Variables:

    1. Isi nilai parameter id dengan ID dari resource Consent yang akan diperbarui (update).

  6. Pada tab Body:

    1. pilih raw,

    2. kemudian di samping nilai tadi pilih JSON,

    3. terakhir masukkan resource JSON dari Consent yang akan diproses ke kotak masukkan di bawah pilihan tadi. Contoh:

      {
        "patient_id": "100000000001",
        "action": "OPTIN",
        "agent" : "Nama Petugas RSUD Jati Asih"
      }
  7. Klik tombol Send.

  8. Hasil response akan ditampilkan di bagian Response.