API Documentation
v2.0Panduan integrasi teknis antara Hospital Information System (SIMRS) dan Laboratory Information System (LIS) BIOSYS.
Global Authentication
Semua request API memerlukan Header berikut:
X-API-KEY: LIS_SIMRS_123456
Konfigurasi Koneksi
Gunakan konfigurasi berikut pada sistem SIMRS Anda:
| API Key / Username |
X-API-KEY
|
| Secret Key / Password |
LIS_SIMRS_123456
|
* Masukkan API Key sebagai nama Header, dan Secret Key sebagai nilai Header pada setiap request.
Post Laboratory Order
Mengirim pemesanan transaksi / tagihan tes laboratorium baru dari SIMRS ke LIS BIOSYS.
Endpoint
IP SERVER Atau URL SERVER/bridging/lab_order.php
Base URL
https://biosys.softwarelaboratorium.com
Contoh full URL:
https://biosys.softwarelaboratorium.com/bridging/lab_order.php
Request
Method
POST
Request Body (application/json)
| Parameter | Type | Required | Description |
|---|---|---|---|
| PatientCode | string | Yes | Nomor Rekam Medis (RM) / Kode Pasien |
| OrderNumber | string | Yes | Nomor order transaksi unik dari SIMRS |
| PatientName | string | Yes | Nama Pasien sesuai identitas |
| IdentityNumber | string | Yes | NIK / Nomor KTP Pasien |
| PatientDob | date | Yes | Tanggal lahir (YYYY-MM-DD) |
| PatientSexCode | string | Yes | Kode Jenis Kelamin: 1 (Laki-laki), 2 (Perempuan) |
| PatientAddress | string | Yes | Alamat lengkap pasien |
| DiagnosisName | string | Yes | Diagnosa sementara / klinis |
| OrderDateTime | datetime | Yes | Waktu order dikirim (YYYY-MM-DD HH:MM:SS) |
| DoctorOrderCode | string | Yes | Kode Dokter Pengirim |
| DoctorOrderName | string | Yes | Nama Dokter Pengirim |
| DoctorInChargeCode | string | Yes | Kode Dokter Penanggung Jawab (DPJP) |
| DoctorInChargeName | string | Yes | Nama Dokter Penanggung Jawab (DPJP) |
| ServiceClassCode | string | Yes | Kode Kelas Layanan |
| ServiceClassName | string | Yes | Nama Kelas Layanan (cth: Kelas 1) |
| WardRoomCode | string | Yes | Kode Ruangan / Poliklinik |
| WardRoomName | string | Yes | Nama Ruangan / Poliklinik |
| GuarantorId | string | Yes | ID Penjamin / Asuransi |
| GuarantorName | string | Yes | Nama Penjamin (cth: BPJS KESEHATAN) |
| PatientType | string | Yes | Tipe Pasien (cth: 1 untuk Rawat Inap) |
| IsCito | int | Yes | 1 (Cito/Segera), 0 (Rutin) |
| IsBpjs | int | Yes | 1 (BPJS), 0 (Non-BPJS) |
| InternalNote | string | Yes | Catatan internal untuk petugas lab |
| PatientNote | string | Yes | Catatan instruksi untuk pasien |
| OrderedItems | array | Yes | Daftar test yang diorder (Array of Object) |
Example Request Body
{
"PatientCode": "377587",
"OrderNumber": "848230",
"PatientName": "ALIKA NAILA PUTRI",
"IdentityNumber": "3305134305170001",
"PatientDob": "2017-05-13",
"PatientSexCode": "2",
"PatientAddress": "PEJAGOAN 01/07 KEBUMEN JATENG",
"DiagnosisName": "Pre Operasi Appendicitis",
"OrderDateTime": "2026-04-14 08:30:00",
"DoctorOrderCode": "DR001",
"DoctorOrderName": "dr. Ahmad Spesialis",
"DoctorInChargeCode": "DR005",
"DoctorInChargeName": "dr. Siti Sarah, Sp.PK",
"ServiceClassCode": "CL3",
"ServiceClassName": "Kelas 3",
"WardRoomCode": "UGD",
"WardRoomName": "Unit Gawat Darurat",
"GuarantorId": "0012",
"GuarantorName": "BPJS KESEHATAN",
"PatientType": "1",
"IsCito": 0,
"IsBpjs": 1,
"InternalNote": "Pasien anak, perlu pendampingan orang tua saat pengambilan darah.",
"PatientNote": "Puasa minimal 10 jam. Hanya boleh minum air putih.",
"OrderedItems": [
{
"ItemCode": "191029",
"ItemName": "Hema Automatic"
},
{
"ItemCode": "101032",
"ItemName": "APTT"
},
{
"ItemCode": "101033",
"ItemName": "PT"
},
{
"ItemCode": "050050",
"ItemName": "HBsAg"
}
]
}
Success Response
{
"message": "Data berhasil disimpan !",
"status": "200",
"payload": {
"nolab": "2604140142",
"specType": "00"
}
}
Error Response — Mapping Belum Tersedia
Error ini terjadi ketika kode test dari SIMRS (ItemCode) belum dipetakan (mapping) ke kode test di LIS BIOSYS. Pastikan semua kode test sudah terdaftar di halaman Mapping LIS sebelum mengirim order.
{
"message": "Process Staging Error: Mapping LIS belum tersedia: HIS=920110 | Test=HIV",
"status": "406",
"payload": []
}
Update Order
Memperbarui (Tambah/Kurang) rincian tes pada transaksi order laboratorium yang sebelumnya telah dibuat. Metode ini mengirimkan ulang seluruh data order beserta daftar tes terbaru.
Endpoint
IP SERVER Atau URL SERVER/bridging/order_update.php
Base URL
https://biosys.softwarelaboratorium.com
Contoh full URL:
https://biosys.softwarelaboratorium.com/bridging/order_update.php
Request
Method
PUT
Request Body (application/json)
| Parameter | Type | Required | Description |
|---|---|---|---|
| PatientCode | string | Yes | Nomor Rekam Medis (RM) / Kode Pasien |
| OrderNumber | string | Yes | Nomor order transaksi unik dari SIMRS |
| PatientName | string | Yes | Nama Pasien sesuai identitas |
| IdentityNumber | string | Yes | NIK / Nomor KTP Pasien |
| PatientDob | date | Yes | Tanggal lahir (YYYY-MM-DD) |
| PatientSexCode | string | Yes | Kode Jenis Kelamin: 1 (Laki-laki), 2 (Perempuan) |
| PatientAddress | string | Yes | Alamat lengkap pasien |
| DiagnosisName | string | Yes | Diagnosa sementara / klinis |
| OrderDateTime | datetime | Yes | Waktu order dikirim (YYYY-MM-DD HH:MM:SS) |
| DoctorOrderCode | string | Yes | Kode Dokter Pengirim |
| DoctorOrderName | string | Yes | Nama Dokter Pengirim |
| DoctorInChargeCode | string | Yes | Kode Dokter Penanggung Jawab (DPJP) |
| DoctorInChargeName | string | Yes | Nama Dokter Penanggung Jawab (DPJP) |
| ServiceClassCode | string | Yes | Kode Kelas Layanan |
| ServiceClassName | string | Yes | Nama Kelas Layanan (cth: Kelas 1) |
| WardRoomCode | string | Yes | Kode Ruangan / Poliklinik |
| WardRoomName | string | Yes | Nama Ruangan / Poliklinik |
| GuarantorId | string | Yes | ID Penjamin / Asuransi |
| GuarantorName | string | Yes | Nama Penjamin (cth: BPJS KESEHATAN) |
| PatientType | string | Yes | Tipe Pasien (cth: 1 untuk Rawat Inap) |
| IsCito | int | Yes | 1 (Cito/Segera), 0 (Rutin) |
| IsBpjs | int | Yes | 1 (BPJS), 0 (Non-BPJS) |
| InternalNote | string | Yes | Catatan internal untuk petugas lab |
| PatientNote | string | Yes | Catatan instruksi untuk pasien |
| OrderedItems | array | Yes | Daftar test yang diorder (Array of Object) |
Example Request Body
{
"PatientCode": "377587",
"OrderNumber": "848230",
"PatientName": "ALIKA NAILA PUTRI",
"IdentityNumber": "3305134305170001",
"PatientDob": "2017-05-13",
"PatientSexCode": "2",
"PatientAddress": "PEJAGOAN 01/07 KEBUMEN JATENG",
"DiagnosisName": "Pre Operasi Appendicitis",
"OrderDateTime": "2026-04-14 08:30:00",
"DoctorOrderCode": "DR001",
"DoctorOrderName": "dr. Ahmad Spesialis",
"DoctorInChargeCode": "DR005",
"DoctorInChargeName": "dr. Siti Sarah, Sp.PK",
"ServiceClassCode": "CL3",
"ServiceClassName": "Kelas 3",
"WardRoomCode": "UGD",
"WardRoomName": "Unit Gawat Darurat",
"GuarantorId": "0012",
"GuarantorName": "BPJS KESEHATAN",
"PatientType": "1",
"IsCito": 0,
"IsBpjs": 1,
"InternalNote": "Pasien anak, perlu pendampingan orang tua saat pengambilan darah.",
"PatientNote": "Puasa minimal 10 jam. Hanya boleh minum air putih.",
"OrderedItems": [
{
"ItemCode": "191029",
"ItemName": "Hema Automatic"
},
{
"ItemCode": "101032",
"ItemName": "APTT"
},
{
"ItemCode": "101033",
"ItemName": "PT"
},
{
"ItemCode": "050050",
"ItemName": "HBsAg"
},
{
"ItemCode": "920110",
"ItemName": "HIV"
}
]
}
Response
Success Response
{
"message": "Data berhasil disimpan !",
"status": "200",
"payload": {
"nolab": "2604140142",
"specType": "00"
}
}
Error Response — Mapping Belum Tersedia
Error ini terjadi ketika kode test dari SIMRS (ItemCode) belum dipetakan (mapping) ke kode test di LIS BIOSYS. Pastikan semua kode test sudah terdaftar di halaman Mapping LIS sebelum mengirim order.
{
"message": "Process Staging Error: Mapping LIS belum tersedia: HIS=920110 | Test=HIV",
"status": "406",
"payload": []
}
Delete Order
Membatalkan/Menghapus seluruh transaksi order laboratorium berdasarkan Nomor Order.
Endpoint
IP SERVER Atau URL SERVER/bridging/order_delete.php
Base URL
https://biosys.softwarelaboratorium.com
Contoh full URL:
https://biosys.softwarelaboratorium.com/bridging/order_delete.php
Request
Method
DELETE
Request Body (application/json)
{
"OrderNumber": "848230"
}
Get Laboratory Result
Mengambil hasil pemeriksaan laboratorium berdasarkan Order Number.
Endpoint
IP SERVER Atau URL SERVER/bridging/lab_result.php
Base URL
https://biosys.softwarelaboratorium.com
Contoh full URL:
https://biosys.softwarelaboratorium.com/bridging/lab_result.php?OrderNumber=848230
Request
Method
GET
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| OrderNumber | string | Yes | Nomor order pemeriksaan laboratorium |
Example Request
GET /bridging/lab_result.php?OrderNumber=848230
Host: biosys.softwarelaboratorium.com
X-API-KEY: LIS_SIMRS_123456
Response
Success Response
Response Body (singkat — 3 item dari 15+ ditampilkan)
{
"message": "OK",
"status": 200,
"payload": {
"OrderNumber": "848230",
"nolab": "2604140142",
"PatientCode": "377587",
"PatientName": "ALIKA NAILA PUTRI",
"OrderDateTime": "2026-04-14",
"OrderNote": "",
"Results": [
{
"TestCodeHeader": "191029",
"TestNameHeader": "Hema Automatic",
"TestCodeSub": "191002",
"TestNameSub": "Hemoglobin",
"TestHis": "191029-1,191029",
"ResultValue": "12.6",
"ResultNote": "",
"ReferenceRange": "",
"ResultUnit": "g/dL",
"NormalRange": "13.2 - 17.3",
"Flag": "L",
"ResultStatus": "Final",
"ResultDateTime": "2026-04-14 09:15:00",
"validasi": "admin",
"tgl_validasi": "2026-04-14 09:30:00",
"selesai": "admin",
"tgl_selesai": "2026-04-14 09:15:00",
"LoincNum": "718-7",
"LoincComponent": "Hemoglobin",
"UnitCode": "g/dL",
"SnomedCode": "",
"UrutHasil": "000001",
"CriticalDoctor": "",
"CriticalReportTime": "",
"CriticalResponseTime": "",
"CriticalAction": ""
},
{
"TestCodeHeader": "191029",
"TestNameHeader": "Hema Automatic",
"TestCodeSub": "191005",
"TestNameSub": "Trombosit",
"TestHis": "191029-4,191029",
"ResultValue": "352",
"ResultNote": "",
"ReferenceRange": "",
"ResultUnit": "10^3/uL",
"NormalRange": "150 - 450",
"Flag": "",
"ResultStatus": "Final",
"ResultDateTime": "2026-04-14 09:15:00",
"validasi": "admin",
"tgl_validasi": "2026-04-14 09:30:00",
"selesai": "admin",
"tgl_selesai": "2026-04-14 09:15:00",
"LoincNum": "777-3",
"LoincComponent": "Platelets",
"UnitCode": "10^3/uL",
"SnomedCode": "",
"UrutHasil": "000004",
"CriticalDoctor": "",
"CriticalReportTime": "",
"CriticalResponseTime": "",
"CriticalAction": ""
},
{
"TestCodeHeader": "101032",
"TestNameHeader": "APTT",
"TestCodeSub": "101032",
"TestNameSub": "APTT",
"TestHis": "101032,101032",
"ResultValue": "24.4",
"ResultNote": "",
"ReferenceRange": "",
"ResultUnit": "detik",
"NormalRange": "25 - 35",
"Flag": "L",
"ResultStatus": "Final",
"ResultDateTime": "2026-04-14 09:15:00",
"validasi": "admin",
"tgl_validasi": "2026-04-14 09:30:00",
"selesai": "admin",
"tgl_selesai": "2026-04-14 09:15:00",
"LoincNum": "3173-2",
"LoincComponent": "APTT",
"UnitCode": "s",
"SnomedCode": "",
"UrutHasil": "101032",
"CriticalDoctor": "",
"CriticalReportTime": "",
"CriticalResponseTime": "",
"CriticalAction": ""
}
]
}
}
Response Structure
Root Object
| Field | Type | Description |
|---|---|---|
| message | string | Status message |
| status | integer | HTTP status code |
| payload | object | Data hasil laboratorium |
Payload Object
| Field | Type | Description |
|---|---|---|
| OrderNumber | string | Nomor order |
| nolab | string | Nomor laboratorium internal BIOSYS |
| PatientCode | string | Kode pasien / No. RM |
| PatientName | string | Nama pasien |
| OrderDateTime | date | Tanggal order |
| OrderNote | string | Catatan order |
| Results | array | Daftar hasil pemeriksaan (Array of Objects) |
Results Object (Array item)
| Field | Type | Description |
|---|---|---|
| TestCodeHeader | string | Kode grup pemeriksaan (Parent) |
| TestNameHeader | string | Nama grup pemeriksaan |
| TestCodeSub | string | Kode test (Anak/Parameter) |
| TestNameSub | string | Nama test |
| TestHis | string | Kode Mapping SIMRS |
| ResultValue | string | Nilai hasil pemeriksaan |
| ResultNote | string | Catatan hasil pemeriksaan |
| ReferenceRange | string | Nilai rujukan (format teks) |
| ResultUnit | string | Satuan hasil (cth: mg/dL) |
| NormalRange | string | Nilai rujukan normal |
| Flag | string | Penanda abnormal (H / L / CH / CL) |
| ResultStatus | string | Status hasil (Final / Pending) |
| ResultDateTime | datetime | Waktu hasil final keluar |
| validasi | string | User yang validasi |
| tgl_validasi | datetime | Tanggal & waktu validasi |
| selesai | string | User yang menyelesaikan |
| tgl_selesai | datetime | Tanggal & waktu selesai |
| LoincNum | string | Kode LOINC |
| LoincComponent | string | Nama Komponen LOINC |
| UnitCode | string | Kode satuan standar |
| SnomedCode | string | Kode SNOMED CT |
| UrutHasil | string | Urutan tampil hasil |
| CriticalDoctor | string | Nama dokter pelaporan nilai kritis |
| CriticalReportTime | datetime | Waktu pelaporan nilai kritis |
| CriticalResponseTime | string | Waktu respon nilai kritis |
| CriticalAction | string | Tindakan yang dilakukan untuk nilai kritis |
Contoh Hasil Penampilan Data
| Test | Result | Unit | Range | Flag |
|---|---|---|---|---|
| Hemoglobin | 1 | g/dL | 14.0 - 16.0 | CL |
| Hematokrit | 30 | % | 37 - 47 | L |
| Trombosit | 450 | 10^3/uL | 150 - 400 | H |
| SGOT/AST | 30 | U/L | < 31 | — |
Error Response Example
Kasus: Order Number Tidak Ditemukan
{
"message": "Order Number not found",
"status": 404,
"payload": null
}
Acknowledge Result (Flag)
Menandai bahwasanya SIMRS/HIS telah berhasil menarik dan merima hasil lab secara utuh, menutup transaksi.
Endpoint
IP SERVER Atau URL SERVER/bridging/post_flag.php
Base URL
https://biosys.softwarelaboratorium.com
Contoh full URL:
https://biosys.softwarelaboratorium.com/bridging/post_flag.php
Request
Method
POST
Request Body (application/json)
| Parameter | Type | Required |
|---|---|---|
| OrderNumber | string | Yes |
| PatientCode | string | Yes |
| Flag | integer | Yes (1) |
| ReceivedDate | datetime | Yes |
{
"OrderNumber": "848230",
"PatientCode": "377587",
"Flag": 1,
"ReceivedDate": "2026-04-14 10:00:00"
}