Anda di halaman 1dari 19

IHS untuk Developer

Agenda
● Tahapan Integrasi
○ Mempelajari seluk beluk IHS Platform dan API-nya
○ Registrasi Developer Account
○ Registrasi Aplikasi Faskes
○ Proses pengembangan aplikasi dan ujicoba
○ Onboarding
● FHIR
○ FHIR Resources
○ FHIR API
● Authentication Workflow
● Use Case
● Post Test
Pendahuluan
Persiapan Integrasi
Mempelajari seluk beluk IHS Platform
Untuk dapat berpartisipasi dengan IHS Platform, setiap individu diharapkan
meningkatkan pengetahuannya dalam beberapa hal. Berikut ini beberapa sumber
informasi yang perlu digali:
● Overview: https://dto.kemkes.go.id/ihs-overview
● FHIR: https://www.hl7.org/fhir
● Indonesia FHIR Implementation Guide:
https://simplifier.net/guide/ihs-fhir-r4-ig/home?version=current
● Digital Transformation Office: https://dto.kemkes.go.id/
Registrasi Developer Account
Untuk dapat berpartisipasi dengan IHS Platform, setiap faskes harus memiliki developer account,
dengan cara mendaftar di IHS Developer Portal:
● Silakan membuka website IHS Developer Portal di:
https://ihs-1-339301-ihsdeveloperportal.apigee.io/login
● Klik tombol Sign Up
● Ikuti petunjuk registrasi

Catatan:
Bagi faskes yang membangun aplikasinya dengan bantuan vendor (pihak ketiga) bisa tetap
melakukan registrasi sendiri atau melalui vendornya.
Registrasi Aplikasi
Registrasi aplikasi dibutuhkan untuk mengidentifikasi aplikasi Anda secara unik. Saat mendaftarkan aplikasi, Anda
menerima client_id dan client_secret. Aplikasi memerlukan kedua hal tersebut untuk mendapatkan token akses dari
server otorisasi yang dibutuhkan untuk melakukan komunikasi dengan IHS Platform. Tata cara registrasi aplikasi
sebagai berikut:
● Silakan login ke IHS Developer Portal
● Klik tombol [+ App]
● Isi formulirnya
○ Masukkan nama aplikasi
○ Pilih Kode Faskes
○ Pilih API Product
○ Klik tombol [Create]
● Cari aplikasi yang baru terbentuk dan klik untuk membuka
● Temukan client_id (Consumer ID) dan client_secret (Consumer Secret)
● Tunggu approval
Onboarding
Ketika aplikasi telah terbangun dan faskes siap untuk integrasi dengan IHS
Platform, maka ada satu tahap akhir yang dilalui yaitu “onboarding”, sebagai
berikut:
● Memastikan bahwa semua fitur yang dikembangkan dapat berfungsi dengan
baik tanpa kesalahan pada lingkungan yang hampir sama persis (replica)
dengan lingkungan live production.
● Melakukan simulasi kasus sesuai use case masing-masing.
FHIR
Latar Belakang
FHIR adalah standar yang ditetapkan untuk interoperabilitas dengan IHS Platform
dengan alasan:
● Cepat untuk diimplementasikan oleh faskes
● Mudah bagi developer
● Sudah mencakup 80% kebutuhan
● Flexible
● Standar internasional
● Digunakan berdampingan dengan banyak standar/terminology
● Gratis
FHIR Resources
Berikut ini beberapa resource FHIR yang akan banyak digunakan di rumah sakit:

● Patient ● Procedure
● Practitioner ● ServiceRequest
● PractitionerRole ● Encounter
● Organization ● AllergyIntolerance
● HealthcareService ● Medication
● Condition ● MedicationRequest
● DiagnosticReport ● MedicationDispense
● Observation ● Location
FHIR Resources
Lihat contoh json
FHIR API
Operasi standar yang ditetapkan dalam FHIR adalah sebagai berikut:
● read: untuk membaca satu resource pada kondisi terkini
● vread: untuk membaca satu resource yang tercatat pada waktu versi tertentu
● update: untuk memperbaharui satu resource secara utuh (replace or create)
● patch: untuk mengubah satu resource dengan perubahan parsial
● delete: untuk menghapus satu resource
● history: untuk mengambil seluruh history perubahan dari satu resource
● create: untuk membuat satu resources yang nanti akan diberikan ID dari server
● search: untuk melakukan pencarian resources dengan kriteria tertentu
● Batch transaction (post dengan bundle)
FHIR API
Format

FHIR menetapkan standar antarmuka pemrograman aplikasi (API) menggunakan RESTful yang
detailnya dapat dilihat di link berikut: https://hl7.org/fhir/http.html

Format umum yang digunakan sebagai berikut:

VERB [base]/[type]/[id] {?_format=[mime-type]}


Keterangan:
● VERB: HTTP verb atau method yang digunakan. Antara lain GET, POST, PUT, DELETE, PATCH, dll
● [base]: alamat service HTTP, dapat memuat path atau subdirektori (Service Base URL)
● [type]: nama resource (resources type)
● [id]: ID dari suatu resource (logical ID)
FHIR API (lanjutan) #2

Service Base URL adalah alamat dimana semua resources dapat ditemukan.

Format: http{s}://nama_server{/path}

Catatan: {/path} sifatnya opsional

Contoh resources Patient: https://nama_server/path/Patient

Jika server menggunakan PORT, maka nomor PORT harus sama dan konsisten,
dengan prevalensi terkait mapping PORT atau adanya kemungkinan beberapa
server FHIR yang berjalan di masing-masing PORT tersebut.
FHIR API (lanjutan) #3

Keamanan (security): penggunaan HTTPS adalah opsional, namun perlu


diketahui bahwa pada sistem yang live production, pertukaran informasi medis
diharuskan menggunakan SSL, bahkan dengan ekstra pengamanan jika
dibutuhkan.

Hampir semua transaksi dan operasi membutuhkan otentikasi (authentication)


user, dan akses pada resources tertentu membutuhkan consent jika diperlukan.

Server FHIR diperbolehkan membuka akses cross-origin resources sharing


(CORS) jika dibutuhkan.
FHIR API (lanjutan) #4

HTTP Status Code

Kode response status dari request HTTP telah ditentukan untuk masing-masing
operasi.

Namun FHIR juga menyiapkan resource OperationOutcome, yang salah satu


fungsinya untuk memberikan informasi lebih detail mengenai error atau kegagalan
operasi. Untuk kode response status yang menyertai OperationOutcome
diperbolehkan menggunakan kode 4xx atau 5xx.
Authentication Workflow
Authentication Workflow

Client melakukan otentikasi dengan mengirimkan client_id dan client_secret pada


data form (x-www-form-urlencoded) kepada Authentication Server, dengan
parameter grant_type=client_credentials:

curl --location --request POST 'https://ihs-api.kemkes.go.id/oauth2/generate?


grant_type=client_credentials' \

-h 'Content-Type: application/x-www-form-urlencoded' \

-d 'client_id={client_id}' -d 'client_secret={client_secret}'

Anda mungkin juga menyukai