API Documentation

v2.0

Panduan 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

POST 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

HTTP Status: 406 Not Acceptable

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

PUT 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

HTTP Status: 200 OK
{
    "message": "Data berhasil disimpan !",
    "status": "200",
    "payload": {
        "nolab": "2604140142",
        "specType": "00"
    }
}

Error Response — Mapping Belum Tersedia

HTTP Status: 406 Not Acceptable

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

DELETE 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

GET 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

HTTP Status: 200 OK

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

POST 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"
}