ReST API
1. Autentikasi
Untuk melakukan transaksi data dari Kamus Farmasi dan Alat Kesehatan (KFA), perlu dilakukan proses autentikasi terlebih dahulu agar mendapatkan akses yang tersedia. Autentikasi yang digunakan oleh KFA mengikuti standar protokol OAuth 2 dengan tipe pemberian akses (grant type) adalah client_credentials
.
Autentikasi menggunakan grant type client_credentials
adalah proses autentikasi yang dilakukan antara server to server, sehingga tidak ada proses registrasi atau log in di sini. Autentikasi dengan tipe tersebut hanya memerlukan data berupa client_id
dan client_server
, di mana nilai tersebut didapatkan ketika pihak yang ingin menggunakan atau mengakses KFA ini telah melakukan pengajuan, terdaftar, serta mendapatkan persetujuan dari Pusat Data dan Teknologi Informasi - Digital Transformation Office (DTO) Kementerian Kesehatan Republik Indonesia.
Berikut ini ketentuan Kode Akses API:
|
Setiap teks yang berwarna biru muda, dapat diklik untuk melompat ke bagian yang direferensikan. |
Pada bagian ini akan dijelaskan spesifikasi untuk ReST API Kamus Farmasi dan Alat Kesehatan (KFA), yang mempunyai endpoint berdasarkan jenis lingkungan pengembangannya (development environment) yaitu:
Autentikasi
API KFA Versi 1
Production: https://api-satusehat.kemkes.go.id/kfa
API KFA Versi 2
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 Nilai |
2. Postman Collection
Silakan mengunduh Postman Collection untuk melihat contoh/melakukan workshop secara mandiri pada website Postman Collection KFA melalui web browser Anda.
3. Akses Token
Mendapatkan Token
Melakukan proses autentikasi untuk mendapatkan akses token yang akan dipakai pada setiap request ReST API SATUSEHAT selanjutnya.
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
Header
Nama Parameter | Tipe Data | Keterangan |
---|---|---|
|
| Mime type dari payload data yang akan dikirimkan di dalam body dalam bentuk URL Encoded, WAJIB diisi dengan |
Query String
Nama Parameter | Tipe Data | Keterangan |
---|---|---|
|
| Tipe permintaan akses (grant) Oauth2, WAJIB diisi dengan |
Body (application/x-www-form-urlencoded
)
Nama Parameter | Tipe Data | Keterangan |
---|---|---|
|
| Nilai client ID yang telah didapatkan dari Pusat Data dan Teknologi Informasi - Digital Transformation Office (DTO) Kementerian Kesehatan Republik Indonesia setelah melakukan pengajuan via email, WAJIB diisi. Nilai ini bisa disamakan seperti username yang akan digunakan untuk akses aplikasi. |
|
| Nilai client secret yang telah didapatkan dari Pusat Data dan Teknologi Informasi - Digital Transformation Office (DTO) Kementerian Kesehatan Republik Indonesia setelah melakukan pengajuan via email, WAJIB diisi. Nilai ini bisa disamakan seperti kata sandi (password) yang akan digunakan untuk akses aplikasi. |
Contoh Data
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. |
client_id: <client-id>
client_secret: <client-secret>
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
Dari hasil response ini, PERLU disimpan nilai akses token yang didapat dari properti access_token
, di mana tipe token (lihat properti token_type
) tersebut adalah BearerToken
. Nilai akses token tersebut WAJIB selalu digunakan sebagai nilai dari header Authorization: Bearer <access_token>
saat melakukan request lainnya dari ReST API SATUSEHAT.
Contoh Data
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. |
{
"refresh_token_expires_in": "0",
"api_product_list": "[api-sandbox]",
"api_product_list_json": [
"api-sandbox"
],
"organization_name": "ihs-prod-1",
"developer.email": "<email-dev>",
"token_type": "BearerToken",
"issued_at": "1671109805593",
"client_id": "<client-id>",
"access_token": "<access-token>",
"application_name": "992291b8-a613-40aa-b27c-41e480c7585f",
"scope": "",
"expires_in": "3599",
"refresh_count": "0",
"status": "approved"
}
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 atau ketentuan yang tidak sesuai.
Contoh Data
{
"resourceType": "OperationOutcome",
"issue": [{
"severity": "invalid",
"code": "value",
"details": {
"text": "The user or system was not able to be authenticated (either client_id or client_secret combination is unacceptable)"
}
}
]
}
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 "Content-Type: application/x-www-form-urlencoded" ^
--data-urlencode "client_id=<client-id>" ^
--data-urlencode "client_secret=<client-secret>" ^
--request POST ^
"https://api-satusehat-stg.dto.kemkes.go.id/oauth2/v1/accesstoken?grant_type=client_credentials"
cURL (Linux)
curl --insecure --location \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=<client-id>' \
--data-urlencode 'client_secret=<client-secret>' \
--request POST \
'https://api-satusehat-stg.dto.kemkes.go.id/oauth2/v1/accesstoken?grant_type=client_credentials'
Postman
Buat request baru menggunakan
, atau klik tombol + untuk buat tab request baru.Masukkan request URL
https://api-satusehat-stg.dto.kemkes.go.id/oauth2/v1/accesstoken
Lalu pilih request method
POST
.Pada tab Params, di bagian Query Params:
masukkan nilai
grant_type
pada kotak masukkan pada kolom KEY,lalu masukkan nilai
client_credentials`
pada kotak masukkan pada kolom VALUE.
Pada tab Body:
pilih x-www-form-urlencoded,
masukkan nilai
client_id
pada kotak masukkan pada kolom KEY,lalu masukkan nilai client ID yang sudah didapatkan dari Pusat Data dan Teknologi Informasi - Digital Transformation Office (DTO) Kementerian Kesehatan Republik Indonesia pada kotak masukkan pada kolom VALUE,
selanjutnya masukkan nilai
client_secret
pada kotak masukkan pada kolom KEY,terakhir masukkan nilai client secret yang sudah didapatkan dari Pusat Data dan Teknologi Informasi - Digital Transformation Office (DTO) Kementerian Kesehatan Republik Indonesia pada kotak masukkan pada kolom VALUE.
Klik tombol Send.
Hasil response akan ditampilkan di bagian Response.
4.1. Price - Mendapatkan Harga Produk JKN
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
Header
Nama Parameter | Tipe Data | Keterangan |
---|---|---|
|
| Header ini WAJIB diisi dengan nilai sesuai format: |
Query String
Nama Parameter | Tipe Data | Keterangan | ||
---|---|---|---|---|
|
| Isi dengan nomor halaman (page) yang diinginkan. Contoh: | ||
|
| Isi dengan banyaknya data yang ingin ditampilkan dalam satu halaman (page). Contoh: | ||
|
| Isi dengan kode produk KFA yang diinginkan. Contoh: | ||
|
| Isi dengan kode regional JKN yang diinginkan.
Contoh: | ||
|
| Isi dengan dokumen referensi atau dasar hukum yang berlaku. |
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
Contoh Data
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. |
{
"total": 6,
"page": 1,
"limit": 10,
"items": {
"data": [
{
"product_template_name": "Acarbose 100 mg Tablet",
"kfa_code": "92000372",
"document_ref": "HK.01.07/MENKES/1905/2023",
"active": true,
"region_name": "Regional 1",
"region_code": "regional1",
"start_date": "2023-08-23",
"end_date": null,
"price_unit": 848.0,
"uom_name": "Tablet",
"updated_at": "2023-08-29 04:11:02",
"uom_pack": [
"Blister",
"Strip"
],
"province": [
{
"province_code": "51",
"province_name": "Bali"
},
{
"province_code": "36",
"province_name": "Banten"
},
{
"province_code": "32",
"province_name": "Jawa Barat"
},
{
"province_code": "35",
"province_name": "Jawa Timur"
},
{
"province_code": "31",
"province_name": "DKI Jakarta"
},
{
"province_code": "33",
"province_name": "Jawa Tengah"
},
{
"province_code": "18",
"province_name": "Lampung"
},
{
"province_code": "34",
"province_name": "Yogyakarta"
}
]
},
/* lompat beberapa data */
{
"product_template_name": "Acarbose 100 mg Tablet",
"kfa_code": "92000372",
"document_ref": "HK.01.07/MENKES/1905/2023",
"active": true,
"region_name": "Regional 6",
"region_code": "regional6",
"start_date": "2023-08-23",
"end_date": null,
"price_unit": 1060.0,
"uom_name": "Tablet",
"updated_at": "2023-08-29 04:11:02",
"uom_pack": [
"Blister",
"Strip"
],
"province": [
{
"province_code": "95",
"province_name": "Papua Pegunungan"
},
{
"province_code": "93",
"province_name": "Papua Selatan"
},
{
"province_code": "94",
"province_name": "Papua Tengah"
}
]
}
]
}
}
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 atau ketentuan yang tidak sesuai.
Contoh Data
{
"detail": [{
"loc": [
"query",
"code"
],
"msg": "field required",
"type": "value_error.missing"
}
]
}
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 "Accept: application/json" ^
--request GET ^
"https://api-satusehat-stg.dto.kemkes.go.id/kfa/products/farmalkes-price-jkn?{path-code}"
cURL (Linux)
curl --insecure --location \
--header 'Authorization: Bearer <access-token>' \
--header 'Accept: application/json' \
--request GET \
'https://api-satusehat-stg.dto.kemkes.go.id/kfa/products/farmalkes-price-jkn?{path-code}'
Postman
Buat request baru menggunakan
, atau klik tombol + untuk buat tab request baru.Masukkan request URL
https://api-satusehat-stg.dto.kemkes.go.id/kfa/products/farmalkes-price-jkn
Lalu pilih request method
GET
.Pada tab Auth:
Pada tab Headers:
Pada tab Params, di bagian Query Params:
Klik tombol Send.
Hasil response akan ditampilkan di bagian Response.
4.2. Products - Pencarian Produk Sesuai ATC dengan Paginasi
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
Header
Nama Parameter | Tipe Data | Keterangan |
---|---|---|
|
| Header ini WAJIB diisi dengan nilai sesuai format: |
Query String
Nama Parameter | Tipe Data | Keterangan | ||
---|---|---|---|---|
|
| Isi dengan nomor halaman (page) yang diinginkan. Contoh: | ||
|
| Isi dengan banyaknya data yang ingin ditampilkan dalam satu halaman (page). Contoh: | ||
|
| Isi dengan kode Anatomical Therapeutic Chemical (ATC). Kode unik yang ditetapkan untuk obat menurut organ atau sistem tempat obat bekerja dan cara kerjanya. Sistem klasifikasi dikelola oleh Organisasi Kesehatan Dunia (WHO).
Contoh: | ||
|
| Dalam sistem klasifikasi Anatomical Therapeutic Chemical (ATC), zat aktif dibagi ke dalam kelompok yang berbeda sesuai dengan organ atau sistem tempat mereka bekerja dan sifat terapeutik, farmakologis, dan kimianya. Obat diklasifikasikan dalam kelompok pada lima tingkat yang berbeda.
Contoh: |
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
Contoh Data
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. |
{
"atc_code": "L",
"total": 978,
"page": 1,
"size": 50,
"items": {
"data": [
{
"name": "Leuprorelin Acetate 1,88 mg Serbuk Injeksi (TAPROS, VIAL + AMPUL PELARUT)",
"kfa_code": "/",
"active": true,
"state": "draft",
"image": null,
"updated_at": "2022-12-16 07:13:01",
"farmalkes_type": {
"code": "medicine",
"name": "Obat",
"group": "farmasi"
},
"produksi_buatan": "import",
"nie": "DKI0870700244C1",
"nama_dagang": "TAPROS",
"manufacturer": "TAKEDA PHARMACEUTICAL COMPANY",
"registrar": "TAKEDA INDONESIA",
"generik": null,
"rxterm": "leuprolide",
"dose_per_unit": 1,
"fix_price": 578067.0,
"het_price": null,
"farmalkes_hscode": null,
"tayang_lkpp": true,
"kode_lkpp": "48347184",
"net_weight": null,
"net_weight_uom_name": "g",
"volume": null,
"volume_uom_name": "mL",
"uom": {
"name": "Prefilled Syringe"
},
"product_template": {
"kfa_code": "92000732",
"name": "Leuprorelin Acetate 1,88 mg Serbuk Injeksi",
"state": "valid",
"active": true,
"display_name": "Leuprorelin Acetate 1,88 mg Serbuk Injeksi",
"updated_at": "2023-08-29 04:33:05"
},
"replacement": {
"product": null,
"template": null
}
},
/*lompat beberapa data*/
{
"name": "Epirubicin Hydrochloride 2 mg/mL Larutan Injeksi (SANBE FARMA, 25 mL)",
"kfa_code": "93000220",
"active": true,
"state": "valid",
"image": null,
"updated_at": "2023-09-01 03:56:41",
"farmalkes_type": {
"code": "medicine",
"name": "Obat",
"group": "farmasi"
},
"produksi_buatan": "lokal",
"nie": "GKL1222251043A1",
"nama_dagang": "EPIRUBICIN HCL",
"manufacturer": "SANBE FARMA (UNIT IV)",
"registrar": "SANBE FARMA",
"generik": true,
"rxterm": "epirubicin",
"dose_per_unit": 1,
"fix_price": null,
"het_price": 1096360.0,
"farmalkes_hscode": "30049089",
"tayang_lkpp": null,
"kode_lkpp": null,
"net_weight": null,
"net_weight_uom_name": "g",
"volume": 25.0,
"volume_uom_name": "mL",
"uom": {
"name": "Vial"
},
"product_template": {
"kfa_code": "92000231",
"name": "Epirubicin Hydrochloride 2 mg/mL Larutan Injeksi",
"state": "valid",
"active": true,
"display_name": "Epirubicin Hydrochloride 2 mg/mL Larutan Injeksi",
"updated_at": "2023-08-29 00:49:25"
},
"replacement": {
"product": null,
"template": null
}
}
]
}
}
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 atau ketentuan yang tidak sesuai.
Contoh Data
{
"detail": [{
"loc": [
"query",
"atc_code"
],
"msg": "field required",
"type": "value_error.missing"
}
]
}
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 "Accept: application/json" ^
--request GET ^
"https://api-satusehat-stg.dto.kemkes.go.id/kfa/products/atc?page=1&size=50&atc_code=L&level=1"
cURL (Linux)
curl --insecure --location \
--header 'Authorization: Bearer <access-token>' \
--header 'Accept: application/json' \
--request GET \
'https://api-satusehat-stg.dto.kemkes.go.id/kfa/products/atc?page=1&size=50&atc_code=L&level=1'
Postman
Buat request baru menggunakan
, atau klik tombol + untuk buat tab request baru.Masukkan request URL
https://api-satusehat-stg.dto.kemkes.go.id/kfa/products/atc
Lalu pilih request method
GET
.Pada tab Auth:
Pada tab Headers:
Pada tab Params, di bagian Query Params:
Klik tombol Send.
Hasil response akan ditampilkan di bagian Response.
4.3. Products - Mendapatkan ATC Metadata
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
Header
Nama Parameter | Tipe Data | Keterangan |
---|---|---|
|
| Header ini WAJIB diisi dengan nilai sesuai format: |
Query String
Nama Parameter | Tipe Data | Keterangan | ||
---|---|---|---|---|
|
| Isi dengan nomor halaman (page) yang diinginkan. Contoh: | ||
|
| Isi dengan banyaknya data yang ingin ditampilkan dalam satu halaman (page). Contoh: | ||
|
| Isi dengan kode tag produk yang diinginkan.
Contoh: | ||
|
| Dalam sistem klasifikasi Anatomical Therapeutic Chemical (ATC), zat aktif dibagi ke dalam kelompok yang berbeda sesuai dengan organ atau sistem tempat mereka bekerja dan sifat terapeutik, farmakologis, dan kimianya. Obat diklasifikasikan dalam kelompok pada lima tingkat yang berbeda.
Contoh: | ||
|
| Isi dengan kode parent produk yang diinginkan.
Contoh: |
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
Contoh Data
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. |
{
"result": [
{
"code": "A",
"name": "ALIMENTARY TRACT AND METABOLISM",
"level": "1",
"schedule_code": "3013",
"parent": null
},
/*lompat beberapa data*/
{
"code": false,
"name": false,
"level": false,
"schedule_code": null,
"parent": null
}
]
}
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 atau ketentuan yang tidak sesuai.
Contoh Data
{
"detail": [
{
"loc": [
"Ut nisi amet",
"velit nulla quis minim"
],
"msg": "cupidatat Excepteur enim in",
"type": "voluptate laborum reprehenderit velit"
},
{
"loc": [
"id ad",
"ad"
],
"msg": "cillum",
"type": "esse sit"
}
]
}
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 "Accept: application/json" ^
--request GET ^
"https://api-satusehat-stg.dto.kemkes.go.id/kfa/atc?{path-code}"
cURL (Linux)
curl --insecure --location \
--header 'Authorization: Bearer <access-token>' \
--header 'Accept: application/json' \
--request GET \
'https://api-satusehat-stg.dto.kemkes.go.id/kfa/atc?{path-code}'
Postman
Buat request baru menggunakan
, atau klik tombol + untuk buat tab request baru.Masukkan request URL
https://api-satusehat-stg.dto.kemkes.go.id/kfa/atc
Lalu pilih request method
GET
.Pada tab Auth:
Pada tab Headers:
Pada tab Params, di bagian Query Params:
Klik tombol Send.
Hasil response akan ditampilkan di bagian Response.
4.4. Products - Pencarian Produk Sesuai Tag dengan Paginasi
Unresolved directive in products-tag.adoc - include::{dir-directive}/section-reset.adoc[]
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
Header
Nama Parameter | Tipe Data | Keterangan |
---|---|---|
|
| Header ini WAJIB diisi dengan nilai sesuai format: |
Query String
Nama Parameter | Tipe Data | Keterangan | ||
---|---|---|---|---|
|
| Isi dengan nomor halaman (page) yang diinginkan. Contoh: | ||
|
| Isi dengan banyaknya data yang ingin ditampilkan dalam satu halaman (page). Contoh: | ||
|
| Isi dengan kode tag produk yang diinginkan.
Contoh: | ||
|
| Dalam sistem klasifikasi Anatomical Therapeutic Chemical (ATC), zat aktif dibagi ke dalam kelompok yang berbeda sesuai dengan organ atau sistem tempat mereka bekerja dan sifat terapeutik, farmakologis, dan kimianya. Obat diklasifikasikan dalam kelompok pada lima tingkat yang berbeda.
Contoh: |
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
Contoh Data
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. |
{
"tag_code": "kanker",
"total": 1324,
"page": 1,
"size": 50,
"items": {
"data": [
{
"name": "Foscarnet 24 mg/mL Injeksi (Umum)",
"kfa_code": "/",
"active": true,
"state": "draft",
"image": null,
"updated_at": "2023-03-14 13:30:02",
"farmalkes_type": {
"code": "medicine",
"name": "Obat",
"group": "farmasi"
},
"produksi_buatan": null,
"nie": null,
"nama_dagang": null,
"manufacturer": null,
"registrar": null,
"generik": null,
"rxterm": "foscarnet",
"dose_per_unit": 1,
"fix_price": 1.0,
"het_price": null,
"farmalkes_hscode": null,
"tayang_lkpp": null,
"kode_lkpp": null,
"net_weight": null,
"net_weight_uom_name": "g",
"volume": null,
"volume_uom_name": "mL",
"uom": {
"name": "Botol"
},
"product_template": {
"kfa_code": "92004216",
"name": "Foscarnet 24 mg/mL Injeksi",
"state": "valid",
"active": true,
"display_name": "Foscarnet 24 mg/mL Injeksi",
"updated_at": "2023-03-14 13:30:17"
},
"replacement": {
"product": null,
"template": null
}
},
/*lompat beberapa data*/
{
"name": "ECG 12 Channel (BTL, Wireless, Trolley + Spiro upgrade)",
"kfa_code": "83004842",
"active": true,
"state": "valid",
"image": null,
"updated_at": "2022-11-28 03:14:41",
"farmalkes_type": {
"code": "device",
"name": "Alat Kesehatan",
"group": "alkes"
},
"produksi_buatan": "lokal",
"nie": "AKD 20502220148",
"nama_dagang": "BTL-08 MT Plus",
"manufacturer": "PT. BOLD TECHNOLOGIES LEADING INDONESIA",
"registrar": "PT. BOLD TECHNOLOGIES LEADING INDONESIA",
"generik": null,
"rxterm": null,
"dose_per_unit": 1,
"fix_price": 101500000.0,
"het_price": null,
"farmalkes_hscode": null,
"tayang_lkpp": true,
"kode_lkpp": "1437299",
"net_weight": null,
"net_weight_uom_name": "g",
"volume": null,
"volume_uom_name": "mL",
"uom": {
"name": "Units"
},
"product_template": {
"kfa_code": "82000160",
"name": "ECG 12 Channel",
"state": "valid",
"active": true,
"display_name": "ECG 12 Channel",
"updated_at": "2023-08-29 00:49:25"
},
"replacement": {
"product": null,
"template": null
}
}
]
}
}
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 atau ketentuan yang tidak sesuai.
Contoh Data
{
"detail": [
{
"loc": [
"Ut nisi amet",
"velit nulla quis minim"
],
"msg": "cupidatat Excepteur enim in",
"type": "voluptate laborum reprehenderit velit"
},
{
"loc": [
"id ad",
"ad"
],
"msg": "cillum",
"type": "esse sit"
}
]
}
Contoh Pengunaan/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 "Accept: application/json" ^
--request GET ^
"https://api-satusehat-stg.dto.kemkes.go.id/kfa/products/tag?{path-code}"
cURL (Linux)
curl --insecure --location \
--header 'Authorization: Bearer <access-token>' \
--header 'Accept: application/json' \
--request GET \
'https://api-satusehat-stg.dto.kemkes.go.id/kfa/products/tag?{path-code}'
Postman
Buat request baru menggunakan
, atau klik tombol + untuk buat tab request baru.Masukkan request URL
https://api-satusehat-stg.dto.kemkes.go.id/kfa/products/tag
Lalu pilih request method
GET
.Pada tab Auth:
Pada tab Headers:
Pada tab Params, di bagian Query Params:
Klik tombol Send.
Hasil response akan ditampilkan di bagian Response.
4.5. Products - Mendapatkan TAG Metadata
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
Header
Nama Parameter | Tipe Data | Keterangan |
---|---|---|
|
| Header ini WAJIB diisi dengan nilai sesuai format: |
Query String
Nama Parameter | Tipe Data | Keterangan | ||
---|---|---|---|---|
|
| Isi dengan nomor halaman (page) yang diinginkan. Contoh: | ||
|
| Isi dengan banyaknya data yang ingin ditampilkan dalam satu halaman (page). Contoh: | ||
|
| Isi dengan kode tag produk yang diinginkan.
Contoh: | ||
|
| Dalam sistem klasifikasi Anatomical Therapeutic Chemical (ATC), zat aktif dibagi ke dalam kelompok yang berbeda sesuai dengan organ atau sistem tempat mereka bekerja dan sifat terapeutik, farmakologis, dan kimianya. Obat diklasifikasikan dalam kelompok pada lima tingkat yang berbeda.
Contoh: | ||
|
| Isi dengan kode parent dari produk yang diinginkan. Contoh: |
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
Contoh Data
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. |
{
"result": [
{
"code": "ginjal",
"name": "Ginjal",
"level": "1",
"description": false,
"parent": null
},
/*lompat beberapa data*/
{
"code": "leukemia",
"name": "Leukemia",
"level": "2",
"description": false,
"parent": {
"code": "kanker",
"name": "Kanker",
"level": "1"
}
}
]
}
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 atau ketentuan yang tidak sesuai.
Contoh Data
{
"detail": [
{
"loc": [
"Ut nisi amet",
"velit nulla quis minim"
],
"msg": "cupidatat Excepteur enim in",
"type": "voluptate laborum reprehenderit velit"
},
{
"loc": [
"id ad",
"ad"
],
"msg": "cillum",
"type": "esse sit"
}
]
}
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 "Accept: application/json" ^
--request GET ^
"https://api-satusehat-stg.dto.kemkes.go.id/kfa/tag?{path-code}"
cURL (Linux)
curl --insecure --location \
--header 'Authorization: Bearer <access-token>' \
--header 'Accept: application/json' \
--request GET \
'https://api-satusehat-stg.dto.kemkes.go.id/kfa/tag?{path-code}'
Postman
Buat request baru menggunakan
, atau klik tombol + untuk buat tab request baru.Masukkan request URL
https://api-satusehat-stg.dto.kemkes.go.id/kfa/tag
Lalu pilih request method
GET
.Pada tab Auth:
Pada tab Headers:
Pada tab Params, di bagian Query Params:
Klik tombol Send.
Hasil response akan ditampilkan di bagian Response.
5.1. Products - Mendapatkan Detail Produk
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
Header
Nama Parameter | Tipe Data | Keterangan |
---|---|---|
|
| Header ini WAJIB diisi dengan nilai sesuai format: |
Query String
Nama Parameter | Tipe Data | Keterangan | ||
---|---|---|---|---|
|
| Isi sumber data yang ingin digunakan, seperti:
Contoh: | ||
|
| Isi kode dari produk yang akan dicari. Contoh: |
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
Contoh Data
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. |
{
"search_code": "93015993",
"search_identifier": "kfa",
"result": {
"name": "Abacavir Sulfate 300 mg Tablet Salut Selaput (KIMIA FARMA)",
"kfa_code": "93015993",
"active": true,
"state": "valid",
"image": null,
"updated_at": "2023-09-21 07:17:24",
"farmalkes_type": {
"code": "medicine",
"name": "Obat",
"group": "farmasi"
},
"ucum": {
"cs_code": "mg",
"name": "milligram"
},
"dosage_form": {
"code": "BS077",
"name": "Tablet Salut Selaput"
},
"controlled_drug": {
"code": "3",
"name": "Obat Keras"
},
"rute_pemberian": {
"code": "O",
"name": "Oral"
},
"uom": {
"name": "Tablet"
},
"produksi_buatan": "lokal",
"nie": "GKL2012431917A1",
"nama_dagang": "ABACAVIR SULFATE",
"manufacturer": "KIMIA FARMA TBK",
"registrar": "KIMIA FARMA Tbk.",
"generik": true,
"rxterm": "abacavir",
"dose_per_unit": 1,
"fix_price": 7215.0,
"het_price": 13297.0,
"farmalkes_hscode": null,
"tayang_lkpp": true,
"kode_lkpp": "45463910",
"score_tkdn": null,
"score_bmp": null,
"score_tkdn_bmp": null,
"med_dev_jenis": null,
"med_dev_subkategori": null,
"med_dev_kategori": null,
"med_dev_kelas_risiko": null,
"klasifikasi_izin": null,
"net_weight": null,
"net_weight_uom_name": "g",
"volume": null,
"volume_uom_name": "mL",
"atc_ddd": {
"name": "0.6 g - O"
},
"atc_l1": {
"name": "ANTIINFECTIVES FOR SYSTEMIC USE",
"code": "J",
"level": "1",
"parent_code": false,
"comment": null
},
"atc_l2": {
"name": "ANTIVIRALS FOR SYSTEMIC USE",
"code": "J05",
"level": "2",
"parent_code": "J",
"comment": null
},
"atc_l3": {
"name": "DIRECT ACTING ANTIVIRALS",
"code": "J05A",
"level": "3",
"parent_code": "J05",
"comment": null
},
"atc_l4": {
"name": "Nucleoside and nucleotide reverse transcriptase inhibitors",
"code": "J05AF",
"level": "4",
"parent_code": "J05A",
"comment": null
},
"atc_l5": {
"name": "Abacavir",
"code": "J05AF06",
"level": "5",
"parent_code": "J05AF",
"comment": null
},
"description": "<p>Abacavir secara kompetitif menghambat reverse transcriptase retrovirus, mengganggu DNA polimerase yang bergantung pada RNA virus HIV yang mengakibatkan penghambatan replikasi virus.<br></p>",
"indication": "<p>Infeksi HIV</p><p>Dewasa: Dikombinasikan dengan antiretroviral lain: 300 mg dua kali sehari atau 600 mg sekali sehari.</p><p><br></p><p>Anak: 3 bln, berat badan 14 kg sampai <20 kg: 150 mg dua kali sehari atau 300 mg sekali sehari; 20 kg sampai <25 kg: 150 mg di pagi hari dan 300 mg di malam hari atau 450 mg sekali sehari; >25 kg: Sama seperti dosis dewasa.</p>",
"warning": "<p>Pasien dengan faktor risiko penyakit hati (misalnya obesitas) dan mereka yang memiliki faktor risiko penyakit jantung koroner (misalnya hipertensi, DM, merokok). Gangguan ginjal atau hati ringan. Kehamilan.<br></p>",
"side_effect": "<p>Demam, ruam, batuk, sesak, lesu, malaise, sakit kepala, mialgia, gangguan GI, terutama mual, muntah, diare dan sakit perut; pankreatitis dan peningkatan nilai enzim hati, osteonekrosis, sindrom pemulihan kekebalan, MI, sindrom lipodistrofi. Jarang, eritema multiforme, sindrom Stevens-Johnson, nekrolisis epidermal toksik.</p><p>Berpotensi Fatal: Reaksi hipersensitivitas yang serius dan fatal dengan keterlibatan beberapa organ, asidosis laktat, dan hepatomegali berat dengan steatosis.</p>",
"identifier_ids": [
{
"name": "ABACAVIR SULFATE",
"code": "GKL2012431917A1",
"source_name": "NIE BPOM",
"url": null
},
{
"name": "Abacavir Sulfate 300 mg Tablet Salut Selaput",
"code": "93015993",
"source_name": "Kamus Farmalkes (KFA – IHS)",
"url": null
}
],
"packaging_ids": [
{
"name": "Dus isi 60",
"kfa_code": "94021264",
"pack_price": 0.0,
"uom_id": "Tablet",
"qty": 60.0
}
],
"product_template": {
"kfa_code": "92000888",
"name": "Abacavir Sulfate 300 mg Tablet Salut Selaput",
"state": "valid",
"active": true,
"display_name": "Abacavir Sulfate 300 mg Tablet Salut Selaput",
"updated_at": "2023-08-29 00:49:25"
},
"active_ingredients": [
{
"kfa_code": "91000651",
"active": true,
"state": "valid",
"zat_aktif": "Abacavir",
"kekuatan_zat_aktif": "300 mg",
"updated_at": "2022-11-17 10:56:16"
}
],
"dosage_usage": [],
"cvx_info": {},
"replacement": {
"product": null,
"template": null
},
"tags": []
}
}
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 atau ketentuan yang tidak sesuai.
Contoh Data
{
"detail": [{
"loc": [
"query",
"identifier"
],
"msg": "field required",
"type": "value_error.missing"
}, {
"loc": [
"query",
"code"
],
"msg": "field required",
"type": "value_error.missing"
}
]
}
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 "Accept: application/json" ^
--request GET ^
"https://api-satusehat-stg.dto.kemkes.go.id/kfa-v2/products?identifier=kfa&code=93004418"
cURL (Linux)
curl --insecure --location \
--header 'Authorization: Bearer <access-token>' \
--header 'Accept: application/json' \
--request GET \
'https://api-satusehat-stg.dto.kemkes.go.id/kfa-v2/products?identifier=kfa&code=93004418'
Postman
Buat request baru menggunakan
, atau klik tombol + untuk buat tab request baru.Masukkan request URL
https://api-satusehat-stg.dto.kemkes.go.id/kfa-v2/products
Lalu pilih request method
GET
.Pada tab Auth:
Pada tab Headers:
Pada tab Params, di bagian Query Params:
Klik tombol Send.
Hasil response akan ditampilkan di bagian Response.
5.2. Products - Pencarian Produk dengan Paginasi
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
Header
Nama Parameter | Tipe Data | Keterangan |
---|---|---|
|
| Header ini WAJIB diisi dengan nilai sesuai format: |
Query String
Nama Parameter | Tipe Data | Keterangan |
---|---|---|
|
| Isi dengan nomor halaman (page) yang diinginkan. Contoh: |
|
| Isi dengan banyaknya data yang ingin ditampilkan dalam satu halaman (page). Contoh: |
|
| Isi dengan kategori/jenis produk yang diinginkan. Contoh: |
|
| Isi dengan waktu mulai dengan format Contoh: |
|
| Isi dengan waktu selesai dengan format Contoh: |
|
| Isi dengan kategori/jenis farmalkes yang diinginkan. Contoh: |
|
| Isi dengan kategori/jenis produk yang diinginkan. Contoh: |
|
| Isi dengan kode produk virtual/template (PAV) KFA yang diinginkan. Contoh: |
|
| Isi dengan kode kemasan (PAK) KFA yang diinginkan. Contoh: |
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
Contoh Data
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. |
{
"total": 66227,
"page": 1,
"size": 10,
"items": {
"data": [
{
"name": "IV Catheter With Vialon Material (VIECARE, Non Injection Port Non Wing / 18 G, 20 G, 22 G, 24 G, 18 G, 20 G, 22 G, 24 G)",
"kfa_code": "/",
"active": true,
"state": "valid",
"image": null,
"updated_at": "2023-07-11 08:46:13",
"farmalkes_type": {
"code": "device",
"name": "Alat Kesehatan",
"group": "alkes"
},
"produksi_buatan": "lokal",
"nie": null,
"nama_dagang": "VieCare IV Catheter",
"manufacturer": null,
"registrar": null,
"generik": null,
"rxterm": null,
"dose_per_unit": 1,
"fix_price": 8000.0,
"het_price": null,
"farmalkes_hscode": null,
"tayang_lkpp": true,
"kode_lkpp": null,
"net_weight": null,
"net_weight_uom_name": "g",
"volume": null,
"volume_uom_name": "mL",
"uom": {
"name": "Units"
},
"dosage_form": {
"code": false,
"name": false
},
"product_template": {
"kfa_code": "82002082",
"name": "IV Catheter With Vialon Material",
"state": "valid",
"active": true,
"display_name": "IV Catheter With Vialon Material",
"updated_at": "2023-07-11 08:39:06"
},
"active_ingredients": [],
"replacement": {
"product": null,
"template": null
},
"tags": []
},
/*lompat beberapa data*/
{
"name": "ECG Monitor (Umum)",
"kfa_code": "/",
"active": true,
"state": "valid",
"image": null,
"updated_at": "2023-05-11 05:00:56",
"farmalkes_type": {
"code": "device",
"name": "Alat Kesehatan",
"group": "alkes"
},
"produksi_buatan": "lokal",
"nie": null,
"nama_dagang": "MIKI Electrocardiograph CSN-1212A",
"manufacturer": null,
"registrar": null,
"generik": true,
"rxterm": null,
"dose_per_unit": 1,
"fix_price": 40499000.0,
"het_price": null,
"farmalkes_hscode": null,
"tayang_lkpp": true,
"kode_lkpp": null,
"net_weight": null,
"net_weight_uom_name": "g",
"volume": null,
"volume_uom_name": "mL",
"uom": {
"name": "Units"
},
"dosage_form": {
"code": false,
"name": false
},
"product_template": {
"kfa_code": "82000161",
"name": "ECG Monitor",
"state": "valid",
"active": true,
"display_name": "ECG Monitor",
"updated_at": "2023-08-29 00:49:25"
},
"active_ingredients": [],
"replacement": {
"product": null,
"template": null
},
"tags": []
}
]
}
}
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 atau ketentuan yang tidak sesuai.
Contoh Data
{
"detail": [
{
"loc": [
"Ut nisi amet",
"velit nulla quis minim"
],
"msg": "cupidatat Excepteur enim in",
"type": "voluptate laborum reprehenderit velit"
},
{
"loc": [
"id ad",
"ad"
],
"msg": "cillum",
"type": "esse sit"
}
]
}
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 "Accept: application/json" ^
--request GET ^
"https://api-satusehat-stg.dto.kemkes.go.id/kfa-v2/products/all?page=1&size=100&product_type=farmasi"
cURL (Linux)
curl --insecure --location \
--header 'Authorization: Bearer <access-token>' \
--header 'Accept: application/json' \
--request GET \
'https://api-satusehat-stg.dto.kemkes.go.id/kfa-v2/products/all?page=1&size=100&product_type=farmasi'
Postman
Buat request baru menggunakan
, atau klik tombol + untuk buat tab request baru.Masukkan request URL
https://api-satusehat-stg.dto.kemkes.go.id/kfa-v2/products/all
Lalu pilih request method
GET
.Pada tab Auth:
Pada tab Headers:
Pada tab Params, di bagian Query Params:
Klik tombol Send.
Hasil response akan ditampilkan di bagian Response.
6. Unduh Dokumen
Dokumentasi ReST API Kamus Farmasi dan Alat Kesehatan (KFA) dibuat untuk kebutuhan ReST API yang tersedia dari Kamus Farmasi dan Alat Kesehatan (KFA) yang telah dikembangkan oleh tim developer SATUSEHAT. Penjelasan ReST API Kamus Farmasi dan Alat Kesehatan (KFA) di dokumentasi ini hanya terbatas dari spesifikasi dari ReST API itu sendiri. Penjelasan lengkap terkait Kamus Farmasi dan Alat Kesehatan (KFA), akan dijelaskan pada dokumentasi tersendiri.