Mari kita bahas secara lebih detail mengenai aspek teknis dari standar HL7, terutama fokus pada struktur pesan HL7 dan cara komunikasi melalui sistem HL7 menggunakan MLLP.
Struktur Pesan HL7
- MSH (Message Header)
- Setiap pesan HL7 diawali dengan segmen MSH, yang berfungsi sebagai header untuk pesan tersebut. Segmen ini mengandung informasi penting seperti jenis pesan, waktu pengiriman, dan pengidentifikasi pesan.
- Contoh:
MSH|^~\&|SenderApp|SenderFac|ReceiverApp|ReceiverFac|202304271050||ADT^A01|123456|P|2.3
- PID (Patient Identification)
- Segmen PID mengandung informasi identitas pasien, termasuk nama, alamat, tanggal lahir, dan informasi demografis lainnya.
- Contoh:
PID|1||123456^^^Hospital^MR||Doe^John^||20010101|M||Caucasian|123 Elm St.^^Anytown^ST^12345^USA|||||||123-45-6789
- OBR (Observation Request)
- Segmen OBR digunakan untuk memulai permintaan observasi atau tes, termasuk detail tes yang diminta dan informasi dokter yang meminta.
- Contoh:
OBR|1|1234^Hospital^Lab|5678^Clinic^Lab|^^^CBC^Complete Blood Count|||202304271000
- OBX (Observation Result)
- Segmen OBX menyertakan hasil dari observasi atau tes, seperti nilai hasil, status, dan unit pengukuran.
- Contoh:
OBX|1|NM|^White Blood Cell Count||4.5|10^9/L|3.5-10.5|N|||F

MSH|^~\&|ADT1|MCM|LABADT|MCM|198808181126|SECURITY|ADT^A01|MSG00001-|P|2.6 EVN|A01|198808181123
PID|||PATID1234^5^M11^^AN||JONES^WILLIAM^A^III||19610615|M||2106-3|677 DELAWARE AVENUE^^EVERETT^MA^02149|GL|(919)379-1212|(919)271-3434~(919)277-3114||S||PATID12345001^2^M10^^ACSN|123456789|9-87654^NC
NK1|1|JONES^BARBARA^K|SPO|||||20011105
NK1|1|JONES^MICHAEL^A|FTH
PV1|1|I|2000^2012^01||||004777^LEBAUER^SIDNEY^J.|||SUR||-||ADM|A0
AL1|1||^PENICILLIN||CODE16~CODE17~CODE18
AL1|2||^CAT DANDER||CODE257
DG1|001|I9|1550|MAL NEO LIVER, PRIMARY|19880501103005|F
PR1|2234|M11|111^CODE151|COMMON PROCEDURES|198809081123
ROL|45^RECORDER^ROLE MASTER LIST|AD|RO|KATE^SMITH^ELLEN|199505011201
GT1|1122|1519|BILL^GATES^A
IN1|001|A357|1234|BCMD|||||132987
IN2|ID1551001|123456789
ROL|45^RECORDER^ROLE MASTER LIST|AD|RO|KATE^ELLEN|199505011201
Pesan terdiri dari segmen, bidang, komponen, dan subkomponen. Segmen dapat dianggap sebagai wadah yang mengelompokkan jenis data. Data ini terkandung dalam bidang segmen. Kode tiga karakter berwarna biru adalah label segmen untuk pesan ini.
Setiap segmen berisi bidang yang dipisahkan dengan karakter ‘|’ berwarna biru muda. Bidang dan segmen bisa berulang. Bidang berulang dipisahkan dengan karakter merah ‘~’. Komponen adalah titik data di dalam bidang, dan dipisahkan dengan karakter hijau ‘^’. Sub-komponen dibatasi dengan pemisah ‘&’ berwarna ungu muda. Karakter khusus ini disebut karakter kontrol. Tabel berisi karakter kontrol standar yang digunakan di HL7.


Cara Komunikasi HL7 Menggunakan MLLP
MLLP (Minimal Lower Layer Protocol) adalah protokol yang sering digunakan untuk transmisi pesan HL7 melalui jaringan TCP/IP. Ini adalah cara standar untuk mengamankan dan mengandalkan pengiriman pesan HL7 antar aplikasi kesehatan.
- Pembungkus Pesan MLLP
- Setiap pesan HL7 yang dikirim melalui MLLP dibungkus dengan karakter kontrol khusus untuk menandakan awal dan akhir pesan.
- Pesan dimulai dengan karakter
VT(vertical tab, ASCII 0x0B) dan diakhiri dengan kombinasiFS(file separator, ASCII 0x1C) diikuti olehCR(carriage return, ASCII 0x0D).
- Proses Komunikasi
- Aplikasi pengirim membuka koneksi TCP ke aplikasi penerima pada port yang ditentukan.
- Pesan HL7, setelah dibungkus dengan karakter MLLP, dikirim melalui koneksi TCP.
- Penerima memverifikasi integritas pesan dengan memeriksa karakter pembungkus dan melakukan parsing isi pesan berdasarkan delimiter yang ditentukan dalam segmen MSH.
- Penerima kemudian mengirimkan acknowledgment (ACK) jika pesan diterima dan diproses dengan sukses, atau negative acknowledgment (NACK) jika ada kesalahan.
- Manajemen Kesalahan
- Jika terjadi kesalahan dalam pengiriman atau pengolahan pesan (misalnya, kesalahan parsing atau data tidak valid), sistem penerima akan mengirim NACK kembali ke pengirim.
- Pengirim harus memiliki logika untuk menangani NACK, seperti mencoba mengirim ulang pesan atau mencatat kesalahan untuk investigasi lebih lanjut.
Mengimplementasikan dan mengelola sistem yang menggunakan HL7 dan MLLP membutuhkan pemahaman teknis yang baik tentang standar dan protokol tersebut, serta infrastruktur jaringan yang aman dan andal. Banyak organisasi kesehatan memilih untuk menggunakan perangkat lunak penghubung atau ‘interface engines’ yang dapat menangani aspek teknis dari pengiriman, penerimaan, dan pengelolaan pesan HL7, memudahkan integrasi antar sistem informasi kesehatan.

