Panduan Lengkap: Integrasi Tanda Tangan Elektronik Tersertifikasi BSrE untuk SIMRS
N
Back to Blog

Panduan Lengkap: Integrasi Tanda Tangan Elektronik Tersertifikasi BSrE untuk SIMRS

Regulasi & Compliance
Nugroho Setiawan 27 Jul 2026 9 min baca 1,861 kata 3 views
Artikel ini memandu manajer IT rumah sakit dan pemilik klinik dalam mengimplementasikan tanda tangan elektronik tersertifikasi BSrE untuk efisiensi operasional dan kepatuhan regulasi. Pelajari konsep, persiapan teknis, hingga contoh kode integrasi praktis.

Di era digital yang serba cepat ini, efisiensi operasional menjadi kunci utama bagi lembaga kesehatan seperti rumah sakit dan klinik. Proses manual yang mengandalkan tanda tangan basah seringkali menjadi hambatan signifikan, memperlambat alur kerja, meningkatkan risiko kesalahan, dan memicu penumpukan dokumen fisik. Bayangkan waktu yang terbuang untuk mencetak, menandatangani, memindai, dan menyimpan ribuan dokumen rekam medis, resep, atau surat persetujuan setiap bulannya. Belum lagi tantangan dalam memastikan keaslian dan integritas dokumen di tengah tuntutan regulasi yang semakin ketat, seperti implementasi Rekam Medis Elektronik (RME) yang terintegrasi SatuSehat. Permasalahan ini bukan hanya tentang kecepatan, tetapi juga tentang legalitas, keamanan, dan kepatuhan terhadap Undang-Undang Informasi dan Transaksi Elektronik (UU ITE) serta Peraturan Pemerintah Nomor 71 Tahun 2019 tentang Penyelenggaraan Sistem dan Transaksi Elektronik. Solusi yang dibutuhkan adalah tanda tangan elektronik tersertifikasi, dan di Indonesia, Badan Siber dan Sandi Negara (BSSN) melalui layanan Balai Sertifikasi Elektronik (BSrE) hadir sebagai penyedia sertifikat elektronik yang kredibel. Artikel ini akan memandu Anda, para manajer IT rumah sakit, pemilik klinik, serta pengambil keputusan lainnya, melalui langkah-langkah konkret dalam memahami, mempersiapkan, dan mengintegrasikan tanda tangan elektronik tersertifikasi BSrE ke dalam sistem Anda, khususnya SIMRS atau sistem E-Office. Kami akan membahas mulai dari konsep dasar, persiapan teknis, contoh kode implementasi, hingga praktik terbaik untuk memastikan adopsi yang sukses dan aman.

Konsep Dasar Tanda Tangan Elektronik Tersertifikasi BSrE dan Manfaatnya

Tanda tangan elektronik (TTE) tersertifikasi oleh BSrE adalah bentuk tanda tangan digital yang memiliki kekuatan hukum setara dengan tanda tangan basah, sesuai dengan UU ITE dan PP 71/2019. Perbedaan mendasar antara TTE biasa dengan yang tersertifikasi terletak pada keberadaan sertifikat elektronik yang dikeluarkan oleh Penyelenggara Sertifikasi Elektronik (PSE) yang diakui, dalam hal ini BSrE sebagai PSE pemerintah. Sertifikat elektronik ini berfungsi sebagai identitas digital unik yang mengikat penanda tangan dengan tanda tangannya, menjamin keaslian, integritas, dan non-repudiasi. Artinya, penanda tangan tidak dapat menyangkal telah menandatangani dokumen tersebut, dan dokumen tidak dapat diubah setelah ditandatangani tanpa terdeteksi.

Manfaat adopsi TTE tersertifikasi BSrE di lingkungan kesehatan sangat signifikan. Pertama, peningkatan efisiensi operasional. Dokumen dapat ditandatangani secara digital kapan saja dan di mana saja, tanpa perlu mencetak, memindai, atau mengirim fisik. Ini mengurangi waktu proses administrasi secara drastis, memungkinkan staf medis untuk fokus pada pelayanan pasien. Kedua, kepatuhan regulasi. Dengan RME yang diwajibkan oleh PMK Nomor 24 Tahun 2022, TTE tersertifikasi menjadi krusial untuk memastikan legalitas dan keabsahan rekam medis elektronik, resep elektronik, hingga surat rujukan. Ketiga, peningkatan keamanan dan integritas data. Setiap TTE tersertifikasi menggunakan teknik kriptografi canggih seperti hashing dan enkripsi, yang memastikan bahwa dokumen tidak dapat dimanipulasi setelah ditandatangani dan bahwa identitas penanda tangan terverifikasi.

Secara teknis, TTE tersertifikasi melibatkan beberapa komponen kunci: sertifikat digital yang berisi kunci publik penanda tangan, kunci privat yang hanya dimiliki penanda tangan, dan fungsi hashing untuk membuat 'sidik jari' unik dari dokumen. Ketika sebuah dokumen ditandatangani, sistem akan membuat hash dari dokumen tersebut, kemudian mengenkripsi hash ini menggunakan kunci privat penanda tangan. Hasil enkripsi inilah yang menjadi tanda tangan elektronik. Siapa pun dapat memverifikasi tanda tangan ini menggunakan kunci publik penanda tangan yang terdapat dalam sertifikat elektronik. BSrE berperan sebagai pihak ketiga yang terpercaya (Trusted Third Party) yang mengeluarkan dan mengelola sertifikat-sertifikat ini, memastikan validitas dan kepercayaan publik terhadap TTE yang dihasilkan.

Contoh konkret penerapannya di SIMRS meliputi penandatanganan rekam medis elektronik oleh dokter, persetujuan tindakan medis oleh pasien (atau walinya), resep elektronik yang dikirim ke farmasi, surat keterangan sakit, hingga dokumen kontrak internal rumah sakit. Dengan TTE tersertifikasi, proses-proses ini menjadi lebih cepat, aman, dan sepenuhnya paperless, mendukung inisiatif keberlanjutan dan modernisasi layanan kesehatan di Indonesia. Adopsi TTE juga mengurangi biaya operasional terkait cetak, penyimpanan fisik, dan distribusi dokumen. Ini adalah investasi strategis untuk masa depan digitalisasi kesehatan.

Persiapan Teknis dan Integrasi Awal dengan Layanan BSrE

Sebelum memulai integrasi teknis, ada beberapa persiapan esensial yang harus dipenuhi. Pertama, institusi atau individu harus terdaftar dan memiliki sertifikat elektronik yang dikeluarkan oleh BSrE. Proses pendaftaran biasanya melibatkan verifikasi identitas yang ketat. Setelah terdaftar, Anda akan mendapatkan akses ke portal BSrE dan mungkin API key atau kredensial lain yang diperlukan untuk interaksi programatik. Sangat penting untuk membaca dan memahami dokumentasi API BSrE secara menyeluruh, yang seringkali tersedia dalam format Swagger UI atau OpenAPI Specification, untuk memahami struktur request, response, dan endpoint yang tersedia.

Dari sisi infrastruktur, pastikan server aplikasi Anda memiliki konektivitas yang stabil ke endpoint API BSrE. Ini mungkin melibatkan konfigurasi firewall untuk whitelisting alamat IP BSrE atau memastikan port yang relevan terbuka. Keamanan jaringan adalah prioritas utama. Untuk teknologi stack, integrasi dengan BSrE bersifat agnostik terhadap bahasa pemrograman, namun umum dilakukan pada backend aplikasi. Misalnya, jika Anda menggunakan PHP dengan framework Laravel 11.x, Anda akan memanfaatkan library HTTP client seperti Guzzle. Jika menggunakan Node.js (direkomendasikan versi 20 LTS), library seperti Axios sangat umum digunakan. Untuk Java, Spring Boot 3.x dengan RestTemplate atau WebClient adalah pilihan yang solid. Database seperti PostgreSQL 16.x akan digunakan untuk menyimpan metadata dokumen, status penandatanganan, dan log transaksi.

Alur integrasi tipikal dimulai ketika pengguna di SIMRS, misalnya seorang dokter, ingin menandatangani sebuah dokumen rekam medis elektronik. Sistem backend SIMRS akan mengambil dokumen tersebut (misalnya dalam format PDF), membuat hash kriptografisnya (umumnya SHA256), dan kemudian mengirimkan hash ini beserta informasi penanda tangan (ID sertifikat) ke API BSrE. BSrE akan memproses permintaan ini, seringkali melibatkan otentikasi pengguna melalui aplikasi mobile BSrE atau PIN yang dimasukkan melalui antarmuka web. Setelah penandatanganan berhasil di sisi BSrE, BSrE akan mengembalikan bukti tanda tangan (misalnya, detached signature atau PAdES LTV-A yang disematkan ke PDF). Backend SIMRS kemudian akan menyimpan bukti tanda tangan ini bersama dokumen yang ditandatangani dan memperbarui status dokumen di PostgreSQL 16.x.

Penting untuk memperhatikan detail teknis seperti format data. API BSrE umumnya menggunakan JSON untuk request dan response. Dokumen yang akan ditandatangani biasanya dalam format biner (misalnya PDF), yang kemudian di-hash. Beberapa API mungkin memerlukan dokumen dalam bentuk Base64 encoded. Pastikan penanganan kesalahan (error handling) yang robust di setiap tahap integrasi. Endpoint API yang sering digunakan meliputi /sign untuk proses penandatanganan, /verify untuk memverifikasi tanda tangan, dan /certificate_info untuk mengambil detail sertifikat. Pemahaman mendalam tentang setiap endpoint dan parameter yang dibutuhkan akan sangat mempercepat proses pengembangan.

Implementasi Teknis: Contoh Kode Integrasi Backend

Bagian ini akan menyajikan contoh kode konkret untuk mengintegrasikan layanan tanda tangan elektronik BSrE pada sisi backend. Kami akan menggunakan PHP dengan Laravel 11.x dan Node.js dengan Express 4.x (Node 20 LTS) sebagai ilustrasi. Asumsikan Anda telah mendapatkan API Key dan endpoint layanan BSrE.

Contoh Kode PHP (Laravel 11.x)

Berikut adalah contoh implementasi sederhana menggunakan Guzzle HTTP client di Laravel untuk mengirim hash dokumen ke API BSrE. Pastikan Guzzle terinstal: composer require guzzlehttp/guzzle.

<?php namespace App{Http}{Controllers}; use Illuminate{Http}{Request}; use GuzzleHttp{Client}; use f{Hash}; class DigitalSignatureController extends Controller { public function signDocument(Request $request) { $request->validate([ 'document_id' => 'required|integer', 'document_path' => 'required|string', 'signer_id' => 'required|string', // ID sertifikat BSrE 'pin' => 'required|string' ]); $documentPath = storage_path('app/' . $request->document_path); if (!f{file_exists}($documentPath)) { return response()->json(['message' => 'Dokumen tidak ditemukan'], 404); } $documentContent = f{file_get_contents}($documentPath); $documentHash = f{hash}('sha256', $documentContent); $client = new Client(); $bsreApiUrl = env('BSRE_API_URL') . '/sign'; $bsreApiKey = env('BSRE_API_KEY'); try { $response = $client->post($bsreApiUrl, [ 'headers' => [ 'Content-Type' => 'application/json', 'X-Api-Key' => $bsreApiKey ], 'json' => [ 'hash' => $documentHash, 'signer_id' => $request->signer_id, 'pin' => $request->pin // Biasanya PIN tidak dikirim langsung ke API, melainkan melalui aplikasi BSrE ] ]); $responseData = f{json_decode}($response->getBody()->getContents(), true); if ($response->getStatusCode() === 200 && $responseData['status'] === 'success') { // Simpan bukti tanda tangan ($responseData['signature_proof']) ke database atau file // Update status dokumen return response()->json([ 'message' => 'Dokumen berhasil ditandatangani', 'signature_id' => $responseData['signature_id'] ]); } else { return response()->json(['message' => 'Gagal menandatangani dokumen: ' . ($responseData['message'] ?? 'Unknown error')], $response->getStatusCode()); } } catch ({Exception} $e) { return response()->json(['message' => 'Terjadi kesalahan pada integrasi BSrE: ' . $e->getMessage()], 500); } } }

Penjelasan kode PHP: Fungsi signDocument menerima ID dokumen, path dokumen, ID penanda tangan (sertifikat BSrE), dan PIN (catatan: PIN biasanya tidak dikirim langsung ke API melainkan melalui mekanisme otentikasi terpisah seperti aplikasi BSrE). Dokumen dibaca, di-hash menggunakan SHA256. Kemudian, Guzzle HTTP client digunakan untuk mengirim POST request ke endpoint /sign BSrE dengan hash dokumen dan ID penanda tangan. API Key disertakan dalam header. Jika respons berhasil, bukti tanda tangan (misalnya signature_proof dan signature_id) dapat disimpan. Pastikan BSRE_API_URL dan BSRE_API_KEY telah didefinisikan di file .env Anda.

Contoh Kode Node.js (Node 20 LTS, Express 4.x)

Berikut adalah contoh serupa menggunakan Express dan Axios di Node.js. Pastikan Axios terinstal: npm install axios express crypto.

const express = require('express'); const axios = require('axios'); const crypto = require('crypto'); const fs = require('fs').promises; const app = express(); app.use(express.json()); const BSRE_API_URL = process.env.BSRE_API_URL || 'https://api.bsre.go.id/v1'; const BSRE_API_KEY = process.env.BSRE_API_KEY; app.post('/api/sign-document', async (req, res) => { const { documentId, documentPath, signerId, pin } = req.body; if (!documentId || !documentPath || !signerId || !pin) { return res.status(400).json({ message: 'Input tidak lengkap.' }); } try { const documentContent = await fs.readFile(documentPath); const documentHash = crypto.createHash('sha256').update(documentContent).digest('hex'); const response = await axios.post(`${BSRE_API_URL}/sign`, { hash: documentHash, signer_id: signerId, pin: pin // Sekali lagi, PIN biasanya melalui mekanisme terpisah }, { headers: { 'Content-Type': 'application/json', 'X-Api-Key': BSRE_API_KEY } }); if (response.status === 200 && response.data.status === 'success') { // Simpan bukti tanda tangan (response.data.signature_proof) // Update status dokumen return res.status(200).json({ message: 'Dokumen berhasil ditandatangani', signatureId: response.data.signature_id }); } else { return res.status(response.status).json({ message: `Gagal menandatangani dokumen: ${response.data.message || 'Unknown error'}` }); } } catch (error) { console.error('Error during BSrE integration:', error.message); return res.status(500).json({ message: `Terjadi kesalahan pada integrasi BSrE: ${error.message}` }); } }); const PORT = process.env.PORT || 3000; app.listen(PORT, () => { console.log(`Server berjalan di port ${PORT}`); });

Penjelasan kode Node.js: Mirip dengan PHP, kode ini membaca file dokumen, menghitung hash SHA256, lalu menggunakan Axios untuk mengirim POST request ke API BSrE. Variabel lingkungan BSRE_API_URL dan BSRE_API_KEY digunakan untuk konfigurasi. Penanganan kesalahan dasar juga disertakan. Kedua contoh ini menunjukkan pola dasar interaksi: siapkan data, hitung hash, panggil API, proses respons. Dalam implementasi nyata, Anda perlu menambahkan lapisan keamanan yang lebih kuat, validasi input yang lebih ketat, dan mekanisme penanganan PIN/otentikasi yang sesuai dengan standar BSrE.

Manajemen Dokumen, Verifikasi, dan Penanganan Error

Setelah dokumen berhasil ditandatangani secara elektronik, langkah selanjutnya adalah manajemen dokumen yang efektif dan proses verifikasi yang andal. Dokumen yang akan ditandatangani harus dipersiapkan dengan cermat. Untuk PDF, seringkali disarankan untuk 'meratakan' (flatten) formulir atau elemen interaktif lainnya agar konten tidak berubah setelah hashing. Integritas konten adalah kunci; perubahan sekecil apa pun pada dokumen setelah hashing akan menghasilkan hash yang berbeda, membuat tanda tangan tidak valid.

Verifikasi dokumen yang telah ditandatangani adalah proses krusial untuk memastikan keaslian dan integritas di kemudian hari. BSrE menyediakan API verifikasi yang memungkinkan sistem Anda memeriksa validitas tanda tangan. Selain itu, untuk dokumen berformat PAdES (PDF Advanced Electronic Signatures), verifikasi dapat dilakukan menggunakan perangkat lunak standar seperti Adobe Acrobat Reader, yang akan menampilkan status validitas tanda tangan dan informasi sertifikat. Proses verifikasi ini harus menjadi bagian dari alur kerja rutin di SIMRS, misalnya setiap kali dokumen penting diakses atau diajukan untuk audit.

Berikut adalah contoh payload JSON dari respons sukses API BSrE untuk operasi penandatanganan, diikuti dengan contoh pesan error dan cara penanganannya:

{ 
Terakhir diperbarui 27 Jul 2026

Komentar

Komentar ditinjau sebelum tampil.

Belum ada komentar. Jadilah yang pertama!