clqms-be/docs/prj_clinical laboratory quality management system_3c.md
mahdahar 8806b007ab Add PatVisit controller and use case documentation
- Add PatVisitController with CRUD operations
- Add use case documentation (docx and md files)
- Update API documentation in api-docs.yaml
- Remove USER_STORIES.md (migrated to docs/)
- Update TODO.md with current tasks
- Update Routes.php for new endpoints
- Update DummySeeder with additional test data
2026-02-15 21:05:25 +07:00

515 KiB
Raw Blame History

Abstract

Aplikasi berbasis web untuk mengelola kualitas laboratorium klinik

Internal Software Development Project

Clinical Laboratory Quality Management System

Perjanjian kerahasiaan:

Dokumen ini adalah karya yang tidak dipublikasikan yang berisi informasi hak milik yang merupakan rahasia dagang berharga dari PT Sumbermitra Agungjaya, dilindungi oleh undang-undang hak cipta dan sangat rahasia. Dokumen ini, informasi dalam dokumen ini, dan semua haknya adalah milik tunggal dan eksklusif PT Sumbermitra Agungjaya dan dimaksudkan semata-mata untuk digunakan oleh karyawan PT Sumbermitra Agungjaya, dan tidak boleh disalin, digunakan atau diungkapkan kepada siapa pun, secara keseluruhan atau sebagian, tanpa izin tertulis dari PT Sumbermitra Agungjaya.

Software Identity
Number
Name
Domain of use Choose an item.
Domain of execution Choose an item.
Programmer
Analyst <>
Front end (UI/UX) <>
Back end <>
Testing & validation <>
Documentation <Adhitya Pranata Putra>

Contents

1. Contents 2

2. Pendahuluan 6

3. Konsensus dan Konsep 6

4. Requirements 7

4.1. Deskripsi Umum 7

4.1.1. Organization 7

4.1.2. Personnel 7

4.1.3. Equipment 7

4.1.4. Purchasing & Inventory 8

4.1.5. Process Control 8

4.1.6. Information Management 8

4.1.7. Documents & Records 9

4.1.8. Customer Service 9

4.2. Features 10

4.2.1. Functional Requirement 10

4.2.2. Non-Functional Requirements 25

4.3. Model Use Case 26

4.3.1. CLQMS SMCRM Integration 26

4.3.2. Definisi Actor 26

5. Detail Teknis dan Implementasi 27

5.1. Hardware 27

5.1.1. Virtual Private Server (VPS) 27

5.1.2. Local/Site Server 27

5.1.3. Client PC 27

5.2. Software 27

5.3. Language 27

5.4. Framework 27

5.4.1. Back End 27

5.4.2. Front End 27

5.4.3. UI/UX 27

5.5. Network Architecture 28

5.6. Database 29

5.6.1. Vendor 29

5.6.2. Product 29

5.6.3. Organization Structure 33

5.6.4. Host Systems 35

5.6.5. Coding System 35

5.6.6. Doctor 36

5.6.7. Location 38

5.6.8. Patient Registration 40

5.6.9. Patient Admission 45

5.6.10. Test Ordering 48

5.6.11. Specimen 52

5.6.12. Equipment Management 60

5.6.13. Test Management 63

5.6.14. ReferenceRangeNumeric 69

5.6.15. ReferenceRangeThreshold 69

5.6.16. Value Set 70

5.6.17. Reagent 70

5.6.18. Calibration 71

5.6.19. Quality Control (QC) 75

5.6.20. Results 78

5.6.21. Result Distribution 80

5.6.22. Visualization 81

5.6.23. Audit 82

5.6.24. Relational Diagram 83

5.7. Antarmuka 83

5.7.1. Access Page 83

6. Versioning 83

7. Definisi definisi 84

8. Referensi 84

9. Lampiran 85

9.1. Lampiran 1: Database Connection Requirement 85

9.1.1. Architecture 85

9.1.2. Data scope 85

9.2. Lampiran 2: TMS-30i 87

9.2.1. Calibration Results SQL Scripts and Data Mapping 87

9.2.2. QC Results SQL Scripts and Data Mapping 89

9.2.3. Patient Results SQL Scripts and Data Mapping 90

9.2.4. Calibration Factor 92

9.2.5. Flags 93

9.3. Lampiran 3: TMS-24i 95

9.3.1. Calibration Results SQL Scripts and Data Mapping 95

9.3.2. QC Results SQL Scripts and Data Mapping 96

9.3.3. Patient Results SQL Scripts and Data Mapping 97

9.4. Lampiran 4: File-based Integration 98

9.5. Lampiran 5: File-based Integration SES 99

9.6. Lampiran 6: SES Screens 103

9.7. Lampiran 7: Clinical Laboratory Activity 0

9.8. Lampiran 8: Versions 0

9.9. Lampiran 9: Patient 2

9.9.1. Race, Ethnic, Religion 2

9.9.2. Country 1

9.9.3. Patient Visit Class 2

9.9.4. Patient Service Class 2

9.9.5. Admission Discharge Transfer Code 2

9.10. Lampiran 10: Cumulative View 0

9.11. Lampiran 11: Test Ordering 0

9.11.1. Test Order Urgency 0

9.11.2. Test Order Status 0

9.11.3. Result Status 0

9.11.4. Diagnostic Report Status 0

9.12. Lampiran 12: Specimen 2

9.12.1. Container Type 2

9.12.2. Additive 4

9.12.3. Specimen Type 5

9.12.4. Specimen Type (Environmental) 7

9.12.5. Specimen Component 7

9.12.6. Collection Method 7

9.12.7. Body Site 7

9.12.8. Source 8

9.12.9. Specimen Role 8

9.12.10. Specimen Condition 8

9.13. Lampiran 13: Location 10

9.13.1. Location Type 10

9.14. Lampiran 14: Value set 11

9.14.1. Value Set 11

9.14.2. Value set Field (Table 67. codedtxtfld) 15

9.15. Lampiran 3: Struktur Menu 16

10. Referensi 17

11. Riwayat Perubahan 0

12. Distribusi 0

Pendahuluan

Market segment Perusahaan adalah middle-high. Hal ini tercermin dari product yang dipasarkan dan customer yang hingga kini dikelola oleh Perusahaan. Customer di kelas ini memperhatikan kualitas dan memerlukan nilai tambah, berupa berbagai layanan dan salah satunya dalam bentuk piranti lunak (software). Oleh sebab itu diperlukan pengembangan software yang sesuai dengan market segment tersebut, yaitu yang terkait dengan pengelolaan kualitas (quality management) laboratorium. Menurut WHO[1], Quality Management suatu laboratorium klinik meliputi elemen-elemen sbb.:

  1. Documents and records
  2. Occurrence (non-conformity) management
  3. Assessment
  4. Process improvement
  5. Customer service
  6. Facility and safety
  • Masih terkait erat dengan elemen kualitas,

untuk mengelola quality management, diperlukan software yang:

  1. robust, tidak mudah mengalami kerusakan.
  2. secure, aman terhadap ancaman cybersecurity.
  3. memperhatikan dan mampu mewujudkan patient safety,
  4. scalable, bisa mengelola beban operasional ringan hingga berat.
  5. future proof, mengantisipasi kebutuhan di masa depan.
  6. compliance dengan regulasi yang berlaku dan/atau standard yang digunakan.
  7. interoperability, bisa diintegrasikan dengan berbagai aplikasi.

Konsensus dan Konsep

Konsensus dalam dokumen ini adalah sebagai berikut:

  1. Data/informasi sensitive terkait privacy ditulis dengan font bold berwarna merah dan berarti encrypted.
  2. Istilah Site(s) digunakan untuk lokasi geografis yang bersifat fixed dan bisa ditandai dengan geolocation. Site adalah container dari Location.
  3. Istilah Location diigunakan untuk ruang di dalam site (facility, building, floor, point of care, room, bed) atau, mobile, remote, dll
  4. Istilah Counter digunakan untuk tempat penyimpanan barang.
  5. Semua data date time disimpan dalam UTC+0, untuk menghindari masalah zona waktu dan memudahkan sortir. Kecuali pada Date of Birth dan Time of Death, keduanya disimpan apa adanya.
  6. CreateDate. nilai waktu yang diisikan ke field database, menandai waktu record tersebut dibuat
  7. EndDate: nilai waktu yang diisikan ke field database, menandai record tersebut tidak digunakan.
    1. pada master data tables, berarti record tersebut sudah tidak berlaku lagi saat ini tetapi mungkin masih relevan dengan past data. Misalnya pada perubahan nilai rujukan, dimana nilai rujukan lama closed tetapi dipertahankan di dalam database karena berelasi dengan hasil test yang sudah dikerjakan.
    2. pada transaction tables, berarti record tersebut sudah closed statusnya, tidak bisa/boleh diubah lagi dan menunggu waktu archival.
  8. CloseDate. nilai waktu yang diisikan ke field database, menandai record tersebut sudah tidak bisa diubah lagi. Diterapkan pada transaction tables
  9. ArchiveDate: nilai waktu yang diisikan ke field database, menandai record tersebut sudah masuk ke data warehouse sehingga tidak boleh diubah lagi untuk mempertahankan konsistensi. Diterapkan pada transaction tables.
  10. DelDate. nilai waktu yang diisikan ke field database, menandai record tersebut sudah dihapus. Diterapkan pada transaction tables, khususnya yang memuat data Pribadi pasien.

Gambar 1 Siklus data transaksi

Requirements

Deskripsi Umum

Aplikasi terintegrasi dengan CRM melalui database.

Aplikasi berfungsi mengelola kualitas laboratorium klinik yang terdiri dari:

Organization

Fungsi organisasi meliputi:

  1. Pengelolaan single/multi organization, single/multiple laboratory sites, single/multiple laboratories. Pengelolaan diturunkan dari CRM yaitu Account (parent/child) dan Sites.
  2. Pengelolaan struktur organisasi

Personnel

Pengelolaan personnel, meliputi:

  1. Daftar personnel berikut jabatannya dalam laboratorium
  2. Mutasi personnel
  3. Hak akses personnel
  4. Pengelolaan akun.
  5. Dokumen terkait, terutama sertifikat pelatihan

Equipment

Equipment secara umum adalah:

  • semua alat IVD yang berada di dalam laboratorium atau di luar, misalnya point of care testing (POCT) instruments.
  • termasuk UPS, AVR, printer, PC, water treatment plant dan semua piranti pendukung equipment
  • termasuk PC, UPS, AVR, printer, network switch, server, mobile device yang digunakan untuk operasional laboratorium (LIS, HIS, dll)
  • wearables yang mengumpulkan data pasien (non-disposable, disposable, semi-disposable)
  • modalities (imaging instruments)

Equipment bisa merupakan asset laboratorium atau pihak lain, yang dipinjamkan/disewakan/KSO dengan laboratorium.

Pengelolaan equipment, meliputi:

  1. Pencatatan activities dari mulai instalasi hingga decommissioning (akhir penggunaan)
  2. Pencatatan maintenance activity dan maintenance scheduling.
  3. Usia pakai dan perawatan. Salah satu indikator untuk IVD equipment adalah total jumlah tes yang dihasilkannya total produksi tes, yang terdiri dari tes untuk:
    1. kalibrasi test/alat berikut perulangannya
    2. Quality Control (QC) berikut perulangannya
    3. pasien berikut perulangannya
    4. tes yang diproduksi untuk tujuan lainnya (external quality assurance, dll)
  4. komunikasi CLQMS dengan IVD equipment:
    1. serial communication via RS-232
    2. TCP/IP
    3. HL7 atau ASTM based protocol
    4. uni-directional atau bi-directional (query, non-query)
  5. identifikasi jenis dan jumlah tes yang dilakukan setiap IVD equipment.

Prinsip komunikasi CLQMS - IVD equipment:

  • setiap IVD equipment di-assign dan connected ke workstation, baik secara langsung (RS-232, TCP/IP melalui network card pada workstation) ataupun tidak langsung (IVD instrument tersambung ke network switch)
  • workstation yang mendapat assignment tersebut memiliki local database untuk mengantisipasi terputusnya network connection dengan server.
  • local database adalah replikasi sebagian atau keseluruhan data dari server.
  • 1 workstation bisa mengelola lebih dari 1 IVD equipment.
  • workstation bertanggung jawab penuh atas komunikasi dengan IVD equipment (interfacing)
  • workstation mengelola distribusi pekerjaan ke berbagai IVD equipment dengan memanfaatkan data yang ada.
  • suatu workstation bisa diakses dari PC lain dengan menggunakan aplikasi yang sama.

Purchasing & Inventory

Fungsi purchasing dan inventory meliputi pengelolaan:

  1. Product catalogue dan product yang digunakan di laboratorium
  2. Penyusunan daftar item yang perlu diadakan
  3. Penerimaan barang
  4. Pencatatan penggunaan barang. Terutama adalah penggunaan barang habis pakai hingga menjadi test.

Process Control

Sistem mampu mengakomodasi berbagai proses, oleh karenanya perlu user-defined case type dan business function. Case type dan business function bisa cascade (parent - child).

Secara umum, proses di dalam laboratorium klinik terdiri dari pre-analitik, analitik dan pasca-analitik. Tetapi tidak semua perlu dilakukan, misalnya:

  • Pasien check-up tidak memerlukan admission.
  • External QC tidak memerlukan patient registration, admission karena pada dasarnya bukan manusia.

Information Management

Berikut adalah elemen pengelolaan informasi:

Secara umum, system harus mampu menjaga data integrity[2].

Unique identifiers for patients, visits, test order and specimen

Label untuk identifikasi setidaknya adalah sebagai berikut:

  • Patient Label. Berisi identitas pasien (PID, nama, birthdate, PVID, dll)
  • Order Label. Berisi informasi test order (OID, tanggal, Attending Doctor, Location, dll)
  • Specimen Label. Berisi informasi specimen (barcode SID, SID, jenis specimen, dll)
  • Packing Label. Yaitu label untuk kemasan sekunder/tertier. Berfungsi sebagai identitas kemasan specimen dalam proses trasport (rujukan dll).

Standardized Test Order Form

<to be completed>

Logs and Worksheets

<to be completed>

Checking Processes to Assure Accuracy of Data Recording & Transmission

<to be completed>

Protection Against Lost of Data

<to be completed>

Documents & Records

Dokumen bisa berupa SOP, forms dll. Records adalah semua data yang berada dalam database management system. Keduanya harus diamankan (secure) dengan menggunakan setidaknya Two Factor Authenthication (2FA). Implikasinya:

  • setiap pengguna (User, Contact, patient) yang diberi akses harus memiliki something that you have yang bersifat pribadi - email dan/atau mobile phone number untuk menerima One-Time Password (OTP)
  • pengguna yang tidak memiliki persyaratan tersebut, tidak bisa menggunakan fungsi-fungsi yang bersifat meng-akses system.

Customer Service

Pelanggan laboratorium adalah:

  1. Pasien

  2. Dokter

  3. Fasilitas pelayanan Kesehatan (klinik, laboratorium, rumah sakit, dll)

  4. Perusahaan

  5. Perusahaan asuransi

  6. Inventory

NO Menu
1 Homepage
Deskripsi :
Gambar :
2 Menu 1
Deskripsi :
Gambar
3 Menu 2
Deskripsi :
Gambar
4 Menu 3
Deskripsi :
Gambar

Features

Fitur fungsional mengacu pada penggunaan praktis, tujuan, atau kemampuan sistem, dengan fokus pada bagaimana sistem tersebut melakukan tugasnya secara efektif.

Fitur non-fungsional, menggambarkan bagaimana suatu sistem harus bekerja, bukan apa yang dilakukannya.

Functional Requirement

Sistem mampu mengelola proses-proses di dalam laboratorium yang meliputi proses utama dan pendukungnya. Proses utama, misalnya dari Patient Registration to Reporting yang terdiri dari activities seperti pada table di bawah ini

Table 1 Activities di Laboratorium Klinik

Figure 1 Activities pada Proses Pendukung

Figure 2 Activities pada Proses Utama

Figure 3 Activities pada Proses Pendukung

Sistem terintegrasi dengan SMCRM untuk memudahkan data update dan efisiensi operasional terutama support.

SMCRM Integration

Aplikasi terintegrasi dengan SMCRM untuk tujuan:

  • seamless data update. Misalnya identitas site, equipment, contact dll.
  • seamless support. Misalnya service request dari laboratorium ke SUMMIT, catatan maintenance dan service equipment, dll.

Integrasi memperhatikan hal-hal sebagai berikut:

  • bi-directional communication. Artinya data bisa berasal dari kedua belah pihak (CLQMS, SMCRM) dan dicerminkan ke counterpart system.
  • secure communication. Komunikasi antara kedua sistem harus secured.
  • interdependence. Untuk memastikan kelancaran operasional masing-masing sistem dan terputusnya hubungan keduanya maka masing-masing harus bisa beroperasi stand-alone.

Integrasi dilakukan dengan:

  1. mereplikasikan beberapa tables dari satu aplikasi ke aplikasi lainnya:
    1. Account. Merepresentasikan organisasi Perusahaan swasta, BUMN, single lab, chain labs, dll. Data account diambil dari aplikasi CRM
    2. Sites
    3. Contact & ContactDetail
    4. ProductCatalog & Product
  2. tidak semua record dari SMCRM direplikasikan ke CLQMS, hanya yang terkait dengan Account dan Site CLQMS tersebut.
  3. mekanisme replikasi:
    1. Account dan Site harus terdaftar terlebih dahulu di SMCRM.
    2. Instalasi CLQMS dilakukan di site, salah satu bagian penting adalah setting Account dan Site dan establish secure connection dengan SMCRM.
    3. Contact dan ContactDetail bisa dipilih, mana saja yang akan direplikasikan ke CLQMS.
  4. mengantisipasi perbedaan database management system dan data type yang digunakan di kedua aplikasi.

Multi Organization Management

Aplikasi mampu mengelola multiple accounts, sites, disciplines, departments, workstations, instruments

  • Account. Merepresentasikan organisasi Perusahaan swasta, BUMN, single lab, chain labs, dll. Data account diambil dari aplikasi CRM
  • Sites. Berisi definisi lokasi geografis yang bersifat fixed (yaitu laboratory site) dan diambil dari aplikasi CRM.
  • Discipline. Bidang keahlian khusus dan bidang ilmiah dalam kedokteran laboratorium, yang meliputi bidang-bidang seperti mikrobiologi, hematologi, imunologi, kimia klinik, biologi molekuler, histologi, sitologi, dll. Discipline secara konket bisa berupa pembagian ruangan untuk Biologi Molekuler, Histologi & Sitologi, dll.
  • Department. Adalah bagian / unit dalam suatu laboratorium klinik, disusun/dibentuk sedemikian rupa untuk meng-optimalkan sumber daya dan workflow. Kemungkinannya:
    • satu department khusus untuk satu discipline (misal: Hematology department).
    • atau suatu laboratorium yang besar bisa menyatukan beberapa discipline menjadi satu department untuk efisiensi (missal: "Blood Sciences" department meliputi Kimia Klinik, Hematologi dan Transfusi).
    • relasi discipline department adalah many to many.
    • departments juga digunakan untuk mengelompokkan fungsi-fungsi tertentu, seperti pengujian diagnostik atau proses laboratorium tertentu.
  • Workstation. Tempat bekerja di dalam laboratorium klinik. Biasanya spesifik untuk satu hal tertentu. Misalnya routine hematology, coagulation, dll.
    • Satu workstation adalah satu unit PC client (termasuk area[3] di sekitarnya). Satu department bisa memiliki lebih dari satu workstation.
    • workstation digunakan untuk:
      • interaksi user dengan aplikasi (input data, query results, generate reports, dll).
      • instrument interfacing / instrument interface server. Satu workstation bisa terhubung dengan beberapa instrument dengan fungsi interfacing sbb:
        • menerima query message dari IVD equipment
        • mengirim order message ke IVD equipment
        • menerima result message dari IVD equipment
        • mengirim update & rerun message ke IVD equipment
        • test mapping termasuk many to one (glukosa sewaktu, 2h pp, puasa, dll)
      • real-time overview/dashboard
      • bagian dari mekanisme instruments load balancing dan fail-over
      • bagian dari mekanisme distribusi test (otomatis dan manual) dan pengaturan beban kerja.
    • berfungsi proteksi, mencegah:
      • salah run specimen
      • salah run test (melalui test mapping)
    • workstation memiliki local database yang bisa menampung data hasil dari instruments. Jika workstation terputus/diputus dari jaringan, maka locally masih bisa berfungsi terbatas untuk:
      • menerima specimen
      • merespon query dari instrument
      • menampung hasil pasien/QC
      • melakukan rerun/ rerun dengan dilusi
      • validasi hasil pasien dan/atau QC
    • suatu workstation yang merepresentasikan lokasi fisik, bisa diakses dan digunakan dari tempat lain (virtual)
    • rerun bisa dilakukan di instrument manapun yang mengerjakan test yang sama, terlepas dari di mana instrument tersebut di-assign.
  • Instrument. Adalah IVD instrument yang digunakan untuk menghasilkan berbagai pengukuran diagnostic.

Gambar . Generic organization structure

Multiple Coding System

Aplikasi mampu menggunakan berbagai coding system, misalnya:

  • LOINC
  • ICD10
  • CPT4
  • SNOMED

Location Management

Gambar 3. Hirarki Site - Location

Location management[4] terhubung dan merupakan kelanjutan dari site management pada crm, meliputi:

  • Location type. Yaitu definisi jenis Lokasi. Misalnya: floor, point of care, room, bed, mobile, remote, dll
  • Location.
    • Yaitu definisi lokasi dalam setiap site. Misalnya, ruangan di Instalasi Rawat Inap, dll. Rawat Inap adalah Facility unit
    • Cascade[5] dimungkinkan, misalnya Bed1, Bed2 berada dalam ruang “VIP-A”. Keduanya terdefinisi dalam table Location.
    • Termasuk pengelolaan remote location, misalnya sampling station, sampling site Medical Checkup, Home Service, dll.
  • Location address. Yaitu data alamat dari lokasi, terutama remote location. Data ini penting untuk pengambilan sample di luar fasyankes. Misalnya pada Home Service.

Equipment & Device Management

Fungsi-fungsi Equipment Management yaitu:

Patient Registration

Patient Registration bertujuan untuk mengumpulkan informasi demografis, medis, dan asuransi yang digunakan. Data ini digunakan untuk membuat catatan pasien dan menghubungkannya dengan layanan fasyankes. Identitas unik pasien dinyatakan dalam bentuk Patient ID (PID). PID bersifat unik dan permanen untuk setiap pasien.

Common process: pengisian formulir, memberikan identifikasi, dan mendapatkan persetujuan untuk pengobatan dan informed consent[6].

Elemen kunci: detail pribadi, informasi asuransi, informasi kontak, riwayat kesehatan, dan formulir persetujuan.

Aplikasi mampu:

  • mengelola data pasien per site
  • menghubungkan (link)/mengurai(unlink) data pasien yang sama dari site yang sama maupun berbeda
  • mengidentifikasi kunjungan pasien per site
  • mengidentifikasi/mengelola perpindahan pasien dari satu lokasi ke lokasi lain baik di site yang sama maupun berbeda.
  • mengelola non-patient entity. Misalnya external quality control, blood bag, dll.

Patient Admission

Admission adalah proses pendaftaran visit pasien secara formal.

  • Setiap kali visit, pasien mendapat nomor visit/admisi yang disebut Patient Visit ID (PVID)
  • Merupakan proses awal Revenue Cycle Management (RCM)
  • Data yang terlibat dalam proses registrasi:
    • Pihak yang mengirimkan pasien (pasien, asuransi, perusahaan, dll)
    • Pihak yang menanggung biaya pemeriksaan (pasien, asuransi, Perusahaan, dll) billing account.
    • Tarif yang dikenakan
    • Pihak yang akan menerima hasil pasien
    • Data-data pendukung: detak jantung, tekanan darah, berat dan tinggi badan, pemeriksaan awal lainnya.

Test Ordering Management

Pengelolaan test ordering:

  • Test Ordering, yaitu activity membuat order test pertama kali.
    • dapat dilakukan di:
      • dalam site yang sama
      • site yang berbeda
      • mobile location (misalnya on-site MCU)
      • remote location - lokasi di luar site (misalnya praktek dokter, klinik, dll)
    • dalam lingkungan multi-sites, test ordering bisa dibuat di suatu site (source) dan dikerjakan di site lain (production)
    • Ragam test ordering bersarkan subyeknya (pihak/entitas yang diperiksa):
      • pasien fasyankes itu sendiri
      • pasien dari fasyankes lain (rujukan fasyankes lain)
      • non-patient origin (non-patient related, patient related), misalnya: external quality control (EQC), blood bag, dll
    • Activity ini memicu specimen records generation.
    • jika Calculated Test (formula) dipilih, maka input parameternya otomatis terpilih.
  • Order status, yaitu perjalanan order dari mulai dibuat hingga selesai (table status dan kondisinya)
  • Manual, yaitu melalui ekstraksi database, csv file atau text file.

Setiap test order memiliki identitas unik berupa Order ID sepanjang 13 karakter, dengan ketentuan sebagai berikut:

LLYYMMDDXXXXX

dimana:

Komponen

Tipe data & range

Arti & ketentuan

LL

Alphanumeric (00 Z9)

  • kode site asal (source),
  • System assigned, tidak bisa diubah user

YY

Numeric (00 99)

  • Tahun (25 dari 2025).
  • Otomatis, mengikuti current date, disesuaikan untuk future order.

MM

Numeric (01 12)

  • Bulan.
  • Otomatis, mengikuti current date, disesuaikan untuk future order

DD

Numeric (01 31)

  • Tanggal dalam satu bulan.
  • Otomatis mengikuti current date, disesuaikan untuk future order.

XXXXX

Numeric (00001 99999)

  • nomor urut per site
  • bisa di-reset setiap hari atau setiap bulan.
  • Otomatis, mengikuti counter.

Rules dalam test ordering:

  1. default test ordering adalah untuk current date (saat ini)
  2. dimungkinkan untuk melakukan future order. Komponen YY, MM dan DD (serta XXXXX) disesuiakan dengan tanggal dimana test order tersebut akan (menjadi beban [7]kerja yang) dikerjakan.
  3. tidak bisa back date.

Specimen Management

Specimen management meliputi activities:

Activities

Tasks

Notes

Collection

  • phlebotomy/pengumpulan specimen.
  • print specimen labels dan labeling.
  • scan setiap collection labels untuk mencatat penerima, tube/container yang diterima dan waktu penerimaan.
  • scan collection labels juga berarti pencatatan consumables (tube, needle, wing needle, urine container, dll)
  • catat data tambahan[8]: detak jantung, tekanan darah, berat dan tinggi badan, pemeriksaan awal lainnya.
  • Catatan specimen collection date-time menandai dimulai-nya clotting-time[9], bisa digunakan untuk menentukan waktu yang tepat untuk sentrifugasi
  • specimen rujukan tidak melalui collection activity.
  • diijinkan untuk ganti SpecDefID, yang berarti mengganti SID dan pencetakan label baru

Transport

  • packing specimen ke dalam kemasan sekunder/tertier
  • cetak packing labels dan labeling kemasan specimen.
  • kirim specimen dari collection point ke reception point.

Reception

  • scan setiap collection labels untuk mencatat penerima, tube/container yang diterima dan waktu penerimaan.
  • diijinkan untuk ganti SpecDefID, yang berarti mengganti SID dan pencetakan label baru

Preparation

  • centrifuge
  • aliquot
  • cetak additional collection labels untuk aliquot
  • pre-treatment (tambahan additive dll)

Primary Specimen & Secondary Specimen

Primary specimen adalah specimen yang diambil langsung dari pasien, dalam pencatatannya tidak memiliki parent. Wadah primary specimen disebut primary container (termasuk di dalamnya primary tube)

Secondary specimen adalah specimen turunan dari primary specimen, sehingga memiliki parent dalam record-nya. Secondary specimen ditempatkan dalam secondary container (termasuk di dalamnya, secondary tube)

Hal-hal yang termasuk specimen management:

  • multiple identical specimen, yaitu pengelolaan beberapa specimen (container) identik. Glukosa puasa, 2Hr PP, dll
  • Specimen type. Yaitu definisi material yang akan diperiksa (specimen), sesuai coding system-nya masing-masing dan berkaitan dengan specimen role.
  • Specimen additives. Yaitu definisi bahan additive specimen.
  • Specimen collection method. Yaitu prosedur atau proses untuk mendapatkan specimen.
  • Specimen source site. Menentukan sumber specimen. Misalnya, jika biopsi hati diperoleh melalui jarum perkutan, sumbernya adalah hati.
  • Specimen collection site
  • Specimen role. Tidak semua specimen berasal dari pasien. Bisa saja berupa _E_QC materials, blood bag sample, internal QC materials, dll.
  • Specimen identification. Meliputi:
    • definisi specimen (nama, kode), data container yang digunakan tiap specimen
    • relasi specimen dengan tes dan test order.
    • setiap specimen termasuk aliquot memiliki identitasnya sendiri yang disebut Sample ID (SID). SID sama dengan tube number atau container number. Selanjutnya dalam dokumen ini menggunakan SID.
    • interfacing dengan piranti-piranti pencetak label.
  • Specimen Status. Yaitu activities specimen di tahapan pra-analitik, analitik dan pasca analitik. (tabel specimen status dan kondisinya)..

Table 2 Specimen status

SiteID LocationID EquipmentID Activity ActivityName ActRes Specimen Status Keterangan
HospA IRNA_A AS001 Collection To be collected
HospA IRNA_A AS001 Collection Failed Collection failed diambil
HospA IRNA_A AS001 Collection Success Collected diambil kedua kalinya.
HospA AS002 Transport In-transport
HospA AS002 Transport Failed Transport failed
HospA AS002 Transport Success Arrived Tiba di lab
Lab AS003 Reception Failed Rejected diterima di Lab
Lab AS003 Reception Success Received
Lab AS004 Preparation Pre-analytical Sentrifugasi
Lab AS004 Preparation Failed Pre-analytical failed
Lab AS004 Preparation Success Pre-analytical Serum/plasma ready
Lab AS004 Preparation Pre-analytical Aliquoting
Lab AS004 Preparation Failed Pre-analytical failed
Lab AS004 Preparation Success Pre-analytical Secondary tube ready
AS005 Dispatching In-transport dikirim ke lab rujukan
AS005 Dispatching Failed Transport failed dikirim ke lab rujukan
AS005 Dispatching Success In-transport dikirim ke lab rujukan
LabRujukan AS003 Reception In-transport
LabRujukan AS003 Reception Failed Rejected
LabRujukan AS003 Reception Success Received diterima di lab rujukan
LabRujukan Instrument[10] AS003 Reception To be analyze
LabRujukan Instrument5 AS003 Reception Failed Analytical failed
LabRujukan Instrument5 AS003 Reception Success Analytical diterima di Instrument[11]
Lab Ref_1[12] AS003 Reception To be stored
Lab Ref_1 AS003 Reception Failed Store failed
Lab Ref_1 AS003 Reception Success Stored disimpan di refrigerator
Tungku_1 AS003 Reception To be destroyed Akan dimusnahkan
Tungku_1 AS003 Reception Failed Failed to destroy Gagal dimusnahkan
Tungku_1 AS003 Reception Success Destroyed Sudah dimusnahkan
  • Specimen transport. Merupakan fungsi memindahkan/mengirimkan specimen dari satu tempat ke tempat lain, baik di dalam fasyankes maupun keluar (site to site lain rujukan). Termasuk di dalamnya, fungsi-fungsi:
    • pakcage identification
    • identitas pengirim dan penerima
    • pencatatan waktu dan lokasi serah terima
    • pencatatan kondisi specimen selama transport (suhu, dll)
  • Specimen Preparation. Yaitu persiapan specimen (pra-analitik) untuk dianalisis. Termasuk diantaranya sentrifugasi, penambahan aditive, pretreatment untuk memisahkan supernatant, dll
  • Specimen storage. Yaitu penyimpanan specimen pra-analitik (untuk kepentingan pooling, scheduling) dan pasca analitik (sample retention). termasuk:
    • suhu penyimpanan 🡪 mempengaruhi long/short term storage
    • jumlah thawing/fresh-thaw cycles.

SID sepanjang 17 karakter dengan ketetuan sebagai berikut:

<Order ID>SSSC atau LLYYMMDDXXXXXSSSC

dimana:

Komponen Tipe data & range Arti & ketentuan
LLYYMMDDXXXXX Order ID
SSS Numeric, (001 999) container code
C Numeric, (0-9) count, menandakan container ke-C

SID berlaku di semua sites dalam lingkungan muti-sites. SID dari source site digunakan untuk memproses specimen di production site.

Test Result Management

System mampu mengelola hasil-hasil test, meliputi:

  • hasil kalibrasi, QC, pasien
  • data-data penunjang lainnya.

Table 3 Test Life Cycle

Life Cycle Activity

ISO 15189 Clause

Task Includes

  1. Test Ordering

5.4.3

Order Form

  • Initiated by a clinician or system. Result of Test Ordering activity.
  • Includes patient ID, specimen type, test type, urgency, and clinical notes
  • May be electronic (HL7 ServiceRequest) or paper-based

Specimen Reception

in the lab

  1. Test Scheduling

5.4.4

Specimen Collection

  • Assigns time slot, lab section, and priority. Tests are assigned to workstation.
  • May batch similar tests for efficiency
  • Links to specimen availability and equipment readiness;
  1. Test Preparation

5.4.5

Pre-analytical Process

  • Includes reagent setup, calibration, and control checks
  • Verifies specimen integrity and compatibility
  • Logs technician identity and pre-analytical conditions
  1. Test Execution (analytical)

5.5

Analytical Phase

  • Actual analytical procedure (e.g., PCR, ELISA, hematology)
  • Performed manually or via automated analyzers
  • Captures instrument logs

UniDirectional

2Directional Push

2Directional Query

Specimen in

User input data

Analyse

Data tx to inst.

Specimen in

Analyse

Specimen in

Query

Data tx to inst

Analyse

  1. Quality Control

5.6

Quality Assurance

  • Runs internal and external controls
  • Validates test performance (e.g., sensitivity, specificity)
  • May trigger repeat testing if control fails
  1. Result entered

  • Captures raw data, flags from instrument.
  • Results entered by user manually
  1. Preliminary result

  • Nilai-nilai mendesak, kritis yang dikomunikasikan segera, ditandai sebagai sementara.
  1. Result Interpretation

5.7

Result Review

  • Converts raw data into clinical meaning
  • May involve reference ranges, algorithms, or scoring systems
  • Reviewed by lab personnel or auto-validated
  1. Result Reporting

5.8

Reporting of Results

  • Transmitted to HIS, LIS, or EHR
  • Includes test name, result, units, reference range, and interpretation
  • May be mapped to HL7 FHIR Observation or DiagnosticReport
  • pelaporan nilai kritis
  1. Result Verification (& Clinical Validation)

5.9

Verification

  • Reviewed and signed off by authorized personnel
  • May include second-level review for critical values
  • Logged for audit and compliance
  1. Clinical Correlation (Clinical Review)

5.10

Clinical Advice

  • Clinician reviews results in context of patient history
  • May trigger follow-up tests, treatment, or consultation
  1. Correction

  • Correction to previous reported result
  1. Archiving

5.11

Record Retention

  • Test data stored for legal, research, or quality purposes
  • Duration depends on jurisdiction and test type
  1. Audit & Traceability

4.14

Traceability

  • Every step logged: who did what, when, and how
  • Supports ISO 13485, ISO 15189, and CAP standards

Table 4 Test activity & status

TestActivity

ActRes

TestStatus

Description

HL7

ORD (Test Ordering)

<null>

Future test order

Order untuk beberapa hari kedepan. Masuk ke jadwal di EffDate (ordertest.effdate)

ORD (Test Ordering)

Success

Test ordered

Order untuk hari ini. Otomatis dijadwalkan hari yang sama.

O

ORD (Test Ordering)

Failed

Test ordering failed/cancelled

Order dibatalkan. Keluar dari jadwal.

X

SCH (Scheduling)

<null>

Waiting to be scheduled

< >

SCH (Scheduling)

Success

Test is scheduled

Order sudah masuk jadwal pengerjaan.

S

SCH (Scheduling)

Failed

Schedule failed

Order dikeluarkan dari jadwal.

ANA (Analyse)

<null>

Waiting to be analyse

  • instrument sudah query dan sudah direspon.

ANA (Analyse)

Success

Analysed

Hasil sudah selesai dan available

R

ANA (Analyse)

Failed

Analysis failed

  • kerusakan instrument.
  • specimen tidak bisa di-analisis
  • dll

REP_P (Reporting Preliminary)

<null>

Unacknowledged transmission of preliminary to Host

Preliminary result dikirim ke Host tetapi belum mendapat aknowledge.

REP_P (Reporting Preliminary)

Success

Acknowledged transmission of preliminary to Host

Preliminary result dikirim ke Host, sudah mendapat aknowledge.

P

REP_P (Reporting Preliminary)

Failed

Failed transmission

Preliminary result gagal dikirim ke Host.

VER (Result Verification /Technical Validation)

<null>

Waiting to be verified

< >

VER (Result Verification /Technical Validation)

Success

Verified

VER (Result Verification /Technical Validation)

Failed

Verification failed

VAL (Clinical Validation / Clinical Review)

<null>

Waiting to be reviewed

VAL (Clinical Validation / Clinical Review)

Success

Reviewed

F

VAL (Clinical Validation / Clinical Review)

Failed

Review failed

REP (Reporting)

<null>

Waiting to be reported

Result dikirim ke Host tetapi belum mendapat acknowledge.

REP (Reporting)

Success

Reported

Result dikirim ke Host, sudah mendapat acknowledge.

REP (Reporting)

Failed

Reporting failed

Result gagal dikirim ke Host.

COR

<null>

Correction

Koreksi hasil dikirim ke Host tetapi belum mendapat acknowledge.

COR

Success

Correction

Koreksi hasil dikirim ke Host dan mendapat acknowledge.

COR

Failed

Correction

Koreksi hasil gagal dikirim ke Host

Table 5 Definisi jenis test

Definisi Jenis Test Description Inventory[13] Specimen Display[14]
Test Atomic test, yaitu tes yang dikerjakan oleh fasyankes. Ya Ya Ya
Parameter Tambahan data yang bisa saja menjadi faktor dalam Calculated Test. Bisa diisi di luar Result Entry session. Tidak Tidak Ya
Calculated Test Hasil perhitungan satu atau lebih Test atau Parameter. Tidak Tidak Ya
Profile Grouping. Terdiri dari beberapa test yang dikerjakan menggunakan specimen yang sama. Misalnya: Lipid Profile, Electrolyte, dll. 🡪 Department Tidak[15] Tidak[16] Tidak
Functional Procedure Grouping. Terdiri dari beberapa pengukuran yang terkait satu sama lain. Biasanya dilakukan di waktu /menggunakan specimen yang berbeda Misalnya: Glucose Tolerance Test, Creatinine Clearance, dll. 🡪 Department. Tidak13 Tidak14 Tidak
Superset Grouping. Terdiri dari beberapa test/parameter terlepas dari ikatan specimen. Misalnya paket MCU, Panel Rutin (CBC, UA, electrolytes), dll. 🡪 Non-Department. Tidak13 Tidak14 Tidak
Title Judul. Misalnya: Fungsi Hati, Fungsi Ginjal, dll. 🡪 Non-Department. Tidak Tidak Ya

Profile, Functional Procedure dan Superset dijadikan satu jenis yaitu Group Test

Table 6 Definisi jenis hasil test

Definisi Jenis Hasil Test Description
Numeric Hasil berupa angka (numeric) tunggal.
Range Hasil berupa rentang angka (numeric range). Misalnya hasil Eritrosit Sedimen Urin adalah 0 1 /LPB
Text Hasil berupa teks bebas.
Value set Hasil teks tertentu yang telah didefinisikan dalam Value Set.

Table 7 Definisi jenis nilai rujukan

Definisi Jenis Nilai Rujukan Description
Range Nilai rujukan berupa range
Threshold Nilai rujukan berupa cut-off dan grayzone.
Value Set Nilai rujukan berupa text. Flag bisa ditampilkan jika tidak sama,
Text Nilai rujukan berupa text, lebih untuk deskripsi.

Test Result Management meliputi fungsi-fungsi sebagai berikut:

  • Test Library. Yaitu definisi test berikut nilai rujukannya sesuai usia, gender dan jenis sample pasien. Termasuk:
    • relasi test dengan jenis specimen dan specimen container.
    • Sinkronisasi test baru dengan host, termasuk user notification jika menerima test code baru dari host.
    • relasi dengan discipline untuk pengelompokan secara keilmuan
    • relasi dengan workstation untuk ditribusi pekerjaan
  • Test Production, termasuk di dalamnya:
    • distribusi produksi test baik intra site (dalam site yang sama), inter sites (antar site yang berbeda) maupun merujuk ke laboratorium di luar.
    • distribusi produksi intra site termasuk distribusi produksi test ke:
      • department
      • workstation
      • instrument/equipment
    • Test Referring. Yaitu pengelolaan test rujukan baik di dalam system yang sama (multi sites) maupun berbeda (dengan mengirim hasil antar laboratorium).
  • Result acquisition. Termasuk:
    • penerimaan hasil dari instrument
    • penerimaan hasil memicu rerun
    • rerun manual
  • Test Production Analysis. Monitoring jumlah tes yang diproduksi setiap instrument/site atau keseluruhan. Analisis produksi test dengan bahan yang digunakan (kesesuaian jumlah tes dengan reagen).
  • Reagent identification & inventory. Identifikasi unik reagen untuk traceability dan memudahkan analisis. Pencatatan dan pelaporan penggunaan barang habis pakai yang digunakan dalam produksi test
  • Test Results Archive. Adalah akumulasi dari semua tes yang dikerjakan di sites, meliputi kalibrasi, kontrol, hasil pasien (anonym). Bertujuan untuk analisis statistik dan system monitoring.

Konsep pengelolaan hasil tes adalah sbb:

Gambar Mapping & transmission

Gambar Multiple sites connection to server

Server (on premise/cloud) Replikasi Workstation (on premise)
patient

patcom

patdiag
🡪

🡪

🡪
order

ordercom
🡪

🡪
specimens

specimencollection
🡪

🡨 🡪

🡪
testdefsite

testdeftech
🡪

🡪
patres

patresflag

patrestech
🡨 🡪

🡨

🡨 🡪
  • Kode test dari instrument dipetakan ke LQMS. Relasi instrument LQMS bisa one to many, misalnya pada tes glukosa.
  • Kode test dari LQMS dipetakan ke database di server SUMMIT
  • Hasil tes yang meliputi kalibrasi, QC dan hasil pasien, dikirimkan instrument ke LQMS melalui koneksi LAN/RS232 menggunakan protocol HL7/ASTM/db connection, secara real-time.
  • Hasil tes di LQMS di-replikasi ke server SUMMIT melalui secured VPN. Replikasi dilakukan secara batch.

Result Reporting

Pelaporan hasil pasien yang utama adalah result report, menggunakan struktur yang terdiri dari:

  • Header / Administrative Data, terdiri dari:
    • Patient identifiers (nama, PID, DOB, sex, dll)
    • Encounter details (Visit ID, admission/discharge dates)
    • Ordering provider (referring/attending doctor, dll)
    • Report identifiers (Order ID, dll)
    • Date/time of specimen collection, receipt, and result release
  • Specimen Information
    • Specimen type (blood, urine, stool, tissue, etc.)
    • Collection method (venipuncture, biopsy, swab)
    • Specimen ID/barcode
    • Condition/quality notes (hemolyzed, insufficient volume)
  • Test / Observation Results. Each test result is structured with:
    • Test code (LOINC or local code)
    • Test name (e.g., Glucose, HbA1c, LDL)
    • Result value (numeric, qualitative, or textual)
    • Units (UCUM standard, e.g., mg/dL, mmol/L)
    • Reference range (normal values by age/sex)
    • Interpretive flags (H = high, L = low, A = abnormal)
    • Methodology (e.g., ELISA, PCR, ISE)
    • Performing lab (location, CLIA/ISO accreditation)
  • Interpretation / Narrative
    • Pathologist or clinician comments
    • Clinical correlation (e.g., “Suggestive of iron deficiency anemia”)
    • Recommendations (follow-up tests, repeat sampling)
  • Authentication
    • Authorized signoff (lab director, pathologist, or attending physician)
    • Digital signature or electronic validation
    • Date/time of report finalization

Tampilan test diatur menggunakan struktur discipline panel[17]. Panel bisa bersifat nested, dengan relasi parent/child.

Fixed Panels & Flexible Panels

Fixed Panels, adalah panel baku yang berlaku di kebanyakan laboratorium. Misalnya: Darah Lengkap, Fungsi Ginjal, Fungsi Hati, Urin Rutin, Hemostasis, dll.

Flexible Panels, adalah panel yang dibuat laboratorium atau klinisi untuk tujuan tertentu. Misalnya: Preop Panel, terdiri dari Darah Lengkap + Koagulasi + Elektrolit. Flexible Panels dikelola dengan GRP.

Pengaturan:

  • Fixed Panels dan Flexible Panels berupa definisi di table fixpanel dan namanya tercetak di report, di atas semua tes yang menjadi bagian dari keduanya.
  • pada nested panels, parent panel ditampilkan/dicetak di atas child panel.

Calibration Management

Pengelolaan kalibrasi meliputi:

  1. Calibrator identification. Identifikasi unik bahan calibrator untuk traceability dan memudahkan analisis.
  2. Calibration Process. Aplikasi mengelola tahapan proses kalibrasi sebagai salah satu Tindakan quality management:
    • Pencatatan penerimaan bahan kalibrator di site (lihat Inventory Management).
    • Persiapan bahan: pengenceran, aliquoting, pencatatan tanggal buka vial.
    • Tindakan kalibrasi: jenis test yang dikalibrasi, pencatatan hasil
  3. Multi-Calibrator, Multi-Level. Aplikasi mampu mengelola hasil-hasil kalibrasi (factor, absorbance) lebih dari satu bahan/merek/nama dan berbagai level. Termasuk perubahan no lot dan nilai target masing-masing kalibrator untuk tiap test.
  4. Calibration parameter check. Fungsi ini membandingkan parameter kalibrasi yang di-set di instrument (Table 61 calparinst) dengan yang tercantum di kit inserts (Table 59 caldef). Jika ditemukan discrepancy, maka otomatis akan ada flag “Require manual validation”.
caldef fields calparinst fields
Calibrator Calibrator
LotNumber LotNo
ExpiryDate ExpiryDate
Reagent TestInstID1 🡪 Reagent (Table 52. testdef)
SpcTypeID SampleType
Level Level
Value Concentration
Unit CalUnit
InstrumentAlias EquipmentID 🡪 InstrumentAlias
  1. Calibration result check. Fungsi ini membandingkan hasil kalibrasi dengan nilai target yang tercantum di kit inserts dengan nilai target yang di-setting di setiap instrument. Jika ditemukan discrepancy, maka otomatis akan ada flag
  2. Cumulative View. Adalah fungsi untuk:
    • Menampilkan factor kalibrasi setiap test berdasarkan urutan waktu.
    • Membandingkan factor kalibrasi setiap test berdasarkan urutan waktu, dari beberapa instrument sejenis.
  3. Statistical Analysis. Yaitu menghitung dan menampilkan ukuran-ukuran statistik (mean, SD, CV dan Standard Deviation Interval (SDI)) dari variable factor kalibrasi:
    • Menghitung dan menampilkan ukuran-ukuran statistic per test dari suatu instrument
    • Flagging untuk factor yang melewati x% dari mean.
    • Menghitung dan menampilkan ukuran-ukuran statistic per test dari beberapa instrument sejenis dan menggunakan kalibrator yang sama.
  4. Kit inserts repository. Kit inserts bisa diupload ke server pusat sebagai lampiran dan berfungsi sebagai underlying data bagi fungsi Calibrator check.

Quality Control Management

Pengelolaan Quality Control (QC) meliputi:

  1. QC identification. Identifikasi unik bahan QC untuk traceability dan memudahkan analisis.
  2. Quality Control Process. Aplikasi mengelola tahapan proses QC sebagai salah satu tindakan quality management:
    • Pencatatan penerimaan bahan QC di site (lihat Inventory Management).
    • Persiapan bahan: pengenceran, aliquoting, pencatatan tanggal buka vial.
    • Tindakan QC: jenis test, level, pencatatan hasil
    • Validasi
  3. Multi-Control, Multi-Level. Aplikasi mampu mengelola hasil-hasil QC lebih dari satu bahan/merek/nama dan berbagai level control. Termasuk mengelola nilai target masing-masing control untuk tiap test.
  4. Pengelolaan Perubahan nomor Lot. QC. Aplikasi mampu mengelola perubahan nomor lot control termasuk menyesuaikan tampilan layar dan cetakannya.
  5. Levey-Jennings Chart. Aplikasi mampu menampilkan hasil-hasil control dalam grafik Levey-Jennings dengan parameter statistic masing-masing (Mean, 1SD, 2SD):
  • 1 level control dari satu laboratorium
  • multi-level control dari satu laboratorium
  • 1 level control dari user selected laboratoium (beberapa instrument)
  • Multi-level control dari user selected labratorium (beberapa instrument)
  • Flagging jika suatu nilai berada di luar batas statistik
  1. Six-Sigma. Aplikasi mampu menghitung Sigma score masing-masing test dan tersedia pilihan True Value:
    • User-defined (misalnya menggunakan external QC)
    • Rerata QC harian
  2. Z-Score berdasarkan method, instrument, peer.
  3. QC check. Fungsi QC check membandingkan nilai target yang tercantum di kit inserts dengan nilai target yang di-setting di setiap instrument. Jika ditemukan discrepancy, maka otomatis akan ada flag.
  4. QC validation. Jika hasil QC di dalam batas 2SD maka otomatis tervalidasi, sebaliknya akan memicu alert dan memerlukan validasi manual.
  5. Kit inserts repository. Kit inserts bisa diupload ke server pusat sebagai lampiran dan berfungsi sebagai underlying data bagi fungsi Calibrator check.

Analisis Statistik per Site/Instrument

Automatic Data Retrieval

Aplikasi terhubung online (real time/batch processing) dengan instrument-instrument laboratorium atau entitas lain melalui mekanisme:

  • instrument interfacing berbasis ASTM/HL7
  • database connection (Lampiran 1)
  • file-based integration (Lampiran 2)

Aplikasi mampu menerima data-data berikut dari:

  • absorban kalibrasi termasuk perulangannya
  • hasil control termasuk perulangannya
  • data sample (nomor sample, jenis sample)
  • hasil pasien termasuk perulangannya
  • waktu pengerjaan semua aktivitas di atas

Medical Coding

Aplikasi mampu menggunakan berbagai macam coding system (LOINC, SNOMED, dll).

Billing/Collection

Aplikasi mampu mengelola billing atas layanan yang dilakukan, antara lain:

  1. multiple tariff, yaitu kemampuan untuk membedakan harga untuk setiap kelas layanan.
  2. multiple component, yaitu kemampuan untuk mendefinisikan komponen penyusun harga.
  3. effective date time, yaitu setting waktu dimana harga mulai berlaku.

Data Acquisition

Aplikasi mampu melakukan akuisisi data secara:

  • On-line, yaitu melalui instrument connection. Agar fungsi ini berjalan, dibutuhkan:
    • Instrument library. Aplikasi menyimpan data instrument yang digunakan site.
    • Multi-protocol. Aplikasi mampu berkomunikasi dengan instrument menggunakan berbagai macam protocol (ASTM, HL7).
    • Secure connection. Koneksi dengan instrument dilakukan melalui sambungan yang aman.
  • Manual, yaitu melalui ekstraksi database, csv file atau text file.

Inventory Management

Aplikasi mempunyai fungsi-fungsi sebagai berikut:

  • Catalog. Aplikasi menyimpan data barang dan jasa yang dipasarkan Perusahaan dan berbagai perusahaan diagnostic lainnya. Termasuk fungsi:
    • Sorting barang/jasa berdasarkan vendor, jenis barang/jasa
    • Pencarian barang/jasa tertentu.
    • Meyimpan dan menampilkan gambar barang
  • In-instrument consumables identification. Aplikasi mampu mengidentifikasi identitas kalibrator, control, reagen dan consumables yang terpasang di instrument
  • Procurement. Site bisa menggunakan aplikasi untuk menyusun rencana pembelian barang dan jasa yang dibutuhkan.
  • Penerimaan dan penyimpanan barang. Aplikasi mengelola proses penerimaan barang di site melalui mekanisme transaksi inventory. Pada saat penerimaan, user mencatat:
    • Identitas barang, jumlah, no. lot, expiry date
    • Identitas penerima
    • Waktu penerimaan barang
    • Tempat penyimpanan barang
  • Pencatatan. Pencatatan penggunaan barang habis pakai di-trigger oleh activity yang dilakukan pada object. Misalnya:
Activity Obyek Representasi Obyek
Collection Specimen SID
Execution Test_QC TestCode
Execution Test_patient TestCode
  • Monitoring. Aplikasi bisa digunakan untuk:
    • menampilkan barang di tempat penyimpanan (counter[18]) dalam berbagai tingkat satuan (pack- pcs, kit-vial-test, dll). Aplikasi hanya menampilkan counter dari site dimana user melakukan log in.
    • memantau jumlah dan expiry date barang di inventory tiap site
    • menampilkan/memberi peringatan jika ada barang yang telah berada di bawah minimum stok, dll.
  • Karantina dan pemusnahan barang.
  • Analysis. Aplikasi bisa digunakan untuk melakukan analisis efisiensi.

Error Management

Aplikasi mempunyai fungsi-fungsi pencatatan (log) dan tindakan otomatis jika terjadi error. Pencatatan dilakukan dengan menerapkan prinsip audit, yaitu mencatat (to log):

  • data yang diubah (what), sehingga perlu pencatatan detail:
    • operasi/activity yang dilakukan
    • nama table
    • nama field
    • previous value
  • kapan terjadinya operasi/activity (when)
  • siapa yang melakukan operasi/activity (who)
  • bagaimana operasi/activity dilakukan (how) yaitu dengan mencatat applicationID, halaman web, session, event, mekanisme (manual atau perulangan dari instrument duplo) 🡪 system identification.
  • dari lokasi mana operasi/activity dilakukan (where), yaitu site, workstation, pc dimana operasi/activity dilakukan (termasuk informasi lokasi) 🡪 access location.
  • alasan operasi/activity (why), diinput oleh user yang melakukan operasi/activity

Jenis-jenis log yang digunakan dalam audit trail adalah:

  1. data log, yaitu log of events (catatan kejadian) terkait data. Antara lain:
    1. operasi data demografi pasien, visit, test ordering, samples, hasil dan semua yang terkait dengan pasien
    2. operasi data user
    3. operasi data master (tests, location, doctors, dll)
    4. data archiving activity
    5. kegagalan (transaction errors), misalnya kegagalan posting database, dll
  2. service log, yaitu catatan kejadian terkait services [19]. Antara lain:
    1. komunikasi: host communication, instrument communication, dll
    2. resource access: database access/backup/restore, network access, internet access, (IP address & port), dll.
    3. manual/automatic printing (service class)
    4. manual/automatic messaging
    5. kegagalan (system error)
  3. security log, yaitu catatan kejadian terkait pengaturan akses, hal-hal terkait lintas boundary:
    1. user logins and logouts (security class)
    2. accessing sensitive files/folders
    3. network share access attempts
    4. perubahan system security settings
    5. percobaan input password yang gagal
    6. install/uninstall aplikasi
    7. system shutdown/restart events
    8. perubahan user access (disabled, perubahan access rights, dll)
    9. kegagalan (security error)
  4. error log, yaitu catatan kejadian error. Error log ada untuk setiap entity, misalnya:
    1. instrument error log
    2. integration error log
    3. dll

Archiving

Operational system[20] adalah sistem yang beroperasi rutin, digunakan memproses pekerjaan sehari-hari.

Datawarehouse [21]adalah sistem yang digunakan untuk reporting dan data analysis.

Konsep fungsi archiving

  • Archiving berarti memindahkan data dari operational system ke data warehouse.
  • Obyek archive adalah hospitalization record berikut detail record-nya (test order) dan merupakan data yang valid/benar. Bukan test order yang tidak ada hasilnya atau tidak selesai/lengkap. 🡪 perlu kriteria data yang layak untuk archive.
  • Archive bisa dilakukan secara otomatis atau manual.
  • Struktur table pada datawarehouse berbeda dari operational system dan menitikberatkan pada efisiensi, efektifitas dan kemudahan reporting dan analysis.
  • Data yang sudah di-archive:
    • tidak bisa/boleh di-edit lagi atau dihapus
    • bisa ditampilkan bersama data yang belum di-archive dalam bentuk cummulative/ historical untuk kepentingan membandingkan hasil.

Non-Functional Requirements[22]

Realisasi non-functional requirement tidak terbatas pada satu bagian sistem saja.

  • Flexible:

    • Multi-platform: bisa dijalankan di MS Windows maupun Linux
    • bisa di-install on-premise maupun on-cloud.
  • Cost effective and efficient:

    • bisa dijalankan di hardware dengan harga ekonomis.
    • quick implementation.
  • Scalable:

  • Interoperability

    • support international standard protocols (HL7, FHIR, ASTM)
    • bisa di-integrasikan dengan SUMMIT CRM
  • memiliki user interface yang menarik dan mudah dipahami (menampilkan grafik Levey-Jennings dll).

  • Secure:

    • user login
      • anonymous patient data, etc.)
      • encrypted sensitive data (password, patient identification, dll).

Model Use Case

Model use case Utama terdiri dari 2, yaitu:

  1. CLQMS
  2. CLQMS SMCRM Integration
  3. CLQMS Datawarehouse Integration

CLQMS

Aktor adalah berbagai orang (atau perangkat) yang menggunakan sistem atau produk dalam konteks fungsi dan perilaku yang akan dijelaskan. Aktor mewakili peran yang dimainkan orang (atau perangkat) saat sistem beroperasi. Jenis-jenis aktor:

  • Aktor utama (U): memulai interaksi untuk mencapai suatu tujuan (misalnya, analis laboratorium memasukkan hasil).
  • Aktor sekunder (S): mendukung atau menyediakan layanan kepada CLQMS (misalnya, Instrumen mengirimkan data hasil pemeriksaan).
  • Aktor sistem eksternal (E): sistem perangkat lunak atau perangkat keras lain yang berinteraksi dengan CLQMS.

Aktor

Jenis

Tanggung Jawab/Wewenang

Admin Lab / Clerk

U

  • order entry, cetak hasil.

Analis Lab

U

  • order entry, kalibrasi, pecimen collection, specimen reception, persiapan sample (sentrifugasi, aliquot, merujuk, dll)
  • pemeriksaan otomatis/manual
  • result entry, validasi teknis hasil pasien, mengubah hasil, cetak hasil.
  • mengulang pemeriksaan
  • pengelolaan QC (order, run/rerun, validasi, comment, review, reporting)

Analis Lab Senior

U

  • memiliki semua wewenang Analis Lab, ditambah validasi klinis

Super User

U

  • Analis lab dengan pelatihan khusus, memiliki penguasaan sistem melebihi Analis Lab.
  • membuat test baru, mapping ke instrument
  • membuat definisi QC.
  • bisa bertindak sebagai system administrator bergantung role.

Phlebotomist Lab

U

  • mengambil darah dari pasien, memastikan kebenaran identitas sample
  • specimen collection

Perawat

U

  • order entry
  • mengambil darah dari pasien, memastikan kebenaran identitas sample

DSPK/Konsulen

U

  • Dokter Spesialis Patologi Klinik
  • bertanggung jawab atas hasil pasien
  • validasi klinis
  • memantau hasil kalibrasi dan QC
  • procurement instrument, consumables, lab equipment.

Supervisor Lab

U

  • mengelola penjadwalan, inventory
  • mengeloala keamanan (security) dan keselamatan (safety), termasuk keamanan data, menentukan hak akses setiap pengguna, dll.
  • pengawasan lab harian efisiensi, efektivitas, produktivitas
  • pelaporan statistik lab
  • pelaporan inventory
  • pelaksanaan standarisasi (akreditasi, ISO 15189, dll)

Manajer Lab

U

  • bertanggung jawab atas pengelolaan lab efisiensi, efektivitas, produktivitas, keamanan (security), keselamatan (safety).
  • perencanaan mutu
  • procurement instrument, consumables, lab equipment.
  • analisis data statistik
  • analisis data inventory

Pasien

  • memberikan data demografi yang benar dan lengkap.

DPJP

U

  • Dokter Penanggung Jawab Pasien/Klinisi. Attending Doctor.
  • diagnosis, order entry
  • menerima hasil pasien

Database Administrator

U

  • mengelola database (backup, restore dll)
  • bertanggung jawab terhadap keamanan data

System Administrator

U

  • mengelola aplikasi, jaringan (instalasi, maintenance, dll)
  • bertanggung jawab terhadap keamanan system

IVD Instrument

S

  • menerima test order
  • mengirimkan hasil pasien

POCT Instrument

S

  • menerima test order
  • mengirimkan hasil pasien

Wearables

S

  • mengirimkan hasil pasien

Auditor

S

  • Internal/External auditor.

HIS

E

  • kirim data pasien dan test order
  • menerima data hasil pasien

Billing System

E

  • feed data pasien dan test order
  • menerima data hasil pasien, menggunakannya untuk kepentingan billing.

Government System

E

  • Misalnya Satu Sehat
  • menerima data hasil pasien.

Queuing System

E

Data Warehouse

E

  • Menerima data pasien, test order, hasil

Main Function

Sub-Function

Deskripsi

Patient Data Management

Patient Registration

Patient Search & Update

Patient Link

Patient Unlink

Patient Visit Management

Patient Admission

Admission Search & Update

Patient Transfer

Patient Discharge

Cancel Patient Discharge

Test Ordering

New Test Order

Test Order Search & Update

Delete Test Order

Specimen Management

Specimen Labeling

Specimen Collection

Specimen Transport

Specimen Reception

Specimen Preparation

Specimen Storage

Result Acquisition

Manual Result Entry

Instrument Result

Result Validation

Technical Validation

Clinical Validation

Patient Reports

Result Report

Cumulative Report

Organization

Account.

Sites.

Discipline.

Workstation.

Instrument.

Location type.

Location.

  • Cascade [23]dimungkinkan, misalnya Bed1, Bed2 berada dalam ruang “VIP-A”. Keduanya terdefinisi dalam table Location.
  • Termasuk pengelolaan remote location, misalnya sampling station, sampling site Medical Checkup, Home Service, dll
  • Location address. Yaitu data alamat dari lokasi, terutama remote location. Data ini penting untuk pengambilan sample di luar fasyankes. Misalnya pada Home Service

Personnel

User Definition

User type: User

User type: Account

Role Definition

Access Control

Equipment

  • Master Equipment

Communication settings

  • comparameters

Test Management

Master Test Definition

  • testdef
  • testdefsite
  • testdeftech
  • testdefconsumables
  • testmap

  • Master Container
  • Master Specimen Type
  • Master Specimen Activity

Use Case Authentication

Use Case ID

UC-01

Use Case Name

Authentication

Aktor Utama

Admin Lab / Clerk, Analis Lab, Analis Lab Senior, Super User, Phlebotomist Lab, Perawat, DSPK/Konsulen, Supervisor Lab, Manajer Lab, Database Administrator, System Administrator,

Aktor Sekunder

Tujuan

Verifikasi identitas pengguna, yang mencoba mengakses sistem, memastikan bahwa mereka adalah orang yang mereka klaim. Bertindak sebagai mekanisme keamanan primer untuk mencegah akses tidak sah, melindungi data, dan mengurangi risiko seperti pencurian identitas dan pelanggaran keamanan.

Prasyarat

Data pengguna sudah terdefinisi dalam sistem sebagai User atau Contact.

Alur Utama

  1. Aktor klik tombol Login
  2. System menampilkan login dialog yang terdiri dari User ID dan Password.
  3. Aktor memasukkan email address sebagai User ID.
  4. System memeriksa email address di table User, SiteStatus, Contact dan ContactDetail:
    1. jika Aktor menggunakan email pribadi, maka System menampilkan pilihan sites dimana Aktor memiliki akses. Aktor, kemudian memilih salah satu site
    2. jika Aktor menggunakan email site, maka System langsung mengarahkan ke site yang bersangkutan.
  5. Aktor memasukkan password.
  6. System memeriksa kebenaran User ID dan password.
  7. System memeriksa role dan menu apa saja yang bisa diakses Aktor.
  8. System menampilkan halaman utama dengan menu sesuai role Aktor.

Alur Alternatif

Alur Pengecualian

  1. Aktor tidak terdaftar
    1. System menampilkan pesan: “Unregistered user, please contact system administrator
  2. Aktor ditemukan tetapi:
    1. disabled: System menampilkan pesan: “Disabled user, please contact system administrator
    2. password expired: System menampilkan pesan: “Your password is expired, please contact system administrator
    3. password salah: System menampilkan pesan: “Invalid login
  3. System menghitung jumlah percobaan login password yang gagal dan mencatat dalam Audit log (device dimana login attempt dilakukan, waktu)
  4. System menghentikan proses login untuk User ID tersebut selama x jam dan menampilkan pesan, ”Please try again in x hours or contact system administrator

Kondisi Akhir

  1. Aktor masuk ke halaman utama dan mendapat akses menu-menu system yang sesuai
  2. Audit mencatat User ID, waktu, device dimana Aktor melakukan login.

Use Case Patient Registration

Use Case ID

UC-02a

Use Case Name

Patient Registration

Aktor Utama

Admin Lab / Clerk, Analis Lab, Analis Lab Senior, Super User, Supervisor Lab, Manajer Lab

Aktor Sekunder

Pasien

Tujuan

Mencatatkan data demografi pasien baru ke oleh System

Prasyarat

  1. System beroperasi dan dapat diakses.
  2. Petugas pendaftaran telah terautentikasi dalam System.
  3. Pasien menunjukkan identitas yang sah (kartu identitas, atau rujukan).

Alur Utama

  1. Aktor membuka halaman Patient Management Patient Registration.
  2. Aktor memasukkan PID.
  3. System memeriksa apakah PID sudah ada.
  4. System meminta detail pasien (nama, tanggal lahir, jenis kelamin, informasi kontak, nomor identitas, dst).
  5. Aktor memasukkan informasi demografis pasien, dengan mandatory data:
    1. patient.NameFirst
    2. patient.Gender
    3. patient.Birthdate
  6. Jika Aktor memasukkan patidt.IdentifierType dan patidt.Identifier, maka System memeriksa apakah sudah ada record pasien yang menggunakan Identifier yang sama.
  7. System membuat record baru di patvisitadt dengan patvisitadt.Code: A04 (Register), mengkonfirmasi registrasi berhasil dan menampilkan ringkasan pasien.
  8. Aktor memberikan konfirmasi pendaftaran kepada Pasien (misalnya, slip cetak atau ID digital barcode, QRIS, dll).

Alur Alternatif

  1. Record pasien sudah ada:
    1. Aktor memasukkan PID.
    2. System mengambil record yang sudah ada dan menampilkan data di halaman Patient Management Patient Search & Update
    3. Aktor memperbarui data jika diperlukan
    4. Sistem menyimpan perubahan dan membuat record baru di patvisitadt dengan patvisitadt.Code: A08 (Update patient information).

Alur Pengecualian

  1. Mandatory data tidak ada:
    1. System menolak menyimpan record.
    2. Aktor diminta untuk melengkapi, setidaknya mandatory data.
  2. Record pasien tidak ada tetapi ditemukan record yang menggunakan patidt.IdentifierType dan patidt.Identifier yang sama.:
    1. System menampilkan pesan Multiple IDs found”.
    2. System menampilkan records dengan patidt.IdentifierType dan patidt.Identifier yang sama.
    3. Aktor melakukan review
    4. Aktor memilih salah satu dari kemungkinan berikut:
      1. melanjutkan membuat record pasien baru, mengabaikan record ganda.
      2. melanjutkan membuat record pasien baru, kemudian menggabungkan record pasien (lihat UC-02b)
      3. membatalkan pendaftaran.

Kondisi Akhir

  1. Record pasien dibuat atau diperbarui di System.
  2. PID pasien tersedia untuk test ordering & tracing.
  3. Audit mencatat bahwa record dibuat/diperbarui secara manual, User ID yang mendaftarkan/memperbarui data pasien, device dimana, kapan, dan data apa yang dimasukkan.

Use Case ID

UC-02b

Use Case Name

Patient Link

Aktor Utama

Supervisor Lab, Manajer Lab

Aktor Sekunder

Pasien

Tujuan

Link (menghubungkan) satu atau beberapa record (PID) pasien (source) dengan record pasien lainnya (destination). PatientID destination adalah surviving entity, yang akan digunakan dalam semua aktivitas laboratorium.

Prasyarat

  1. System beroperasi dan dapat diakses.
  2. Petugas pendaftaran telah terautentikasi dalam System.
  3. PID source dan destination telah tercatat dalam System.
  4. PID source dan destination memiliki:
    1. patidt.IdentifierType dan patidt.Identifier yang sama atau
    2. nama, alamat dan tanggal lahir yang sama

Alur Utama

  1. Aktor membuka halaman Patient Management - Patient Link.
  2. Aktor mencari PID menggunakan:
    1. patidt.IdentifierType dan patidt.Identifier
    2. nama, alamat dan tanggal lahir
  3. System menampilkan semua PID dengan patidt.IdentifierType dan patidt.Identifier dan/atau nama, alamat dan tanggal lahir yang sama.
  4. Aktor memilih dan menentukan satu PID untuk menjadi destination. (Lihat Alur Pengecualian).
  5. Aktor memilih dan menentukan satu atau lebih, PID yang menjadi source. destination record (Lihat Alur Pengecualian).
  6. Aktor menghubungkan PID-PID tersebut dengan menekan tombol Link.
  7. System meminta konfirmasi dari Aktor dengan menampilkan pesan,” Please confirm to link these patient records”. Disertai pilihan “Confirm” dan “Cancel”
  8. Aktor mengkonfirmasi Patient Link dengan menekan tombol Confirm.
  9. System melakukan:
    1. membuat record baru di patvisitadt dengan patvisitadt.Code: A24 (Link Patient Information)
    2. mengkonfirmasi Patient Link berhasil
    3. menampilkan ringkasan PID yang dihubungkan.

Alur Alternatif

Alur Pengecualian

  1. System menemukan bahwa suatu record pasien telah menjadi source, ditandai dengan field patient.LinkTo telah terisi dengan PID dari record lain (ditampilkan).
    1. Multiple link
      1. Aktor memilih dan menunjuk record tersebut sebagai source bagi PID yang berbeda.
      2. System menampilkan peringatan “Multiple link” di samping PID tersebut dan pilihan (check mark) tidak bisa dilakukan.
    2. Multi-level Link
  2. Aktor memilih dan menunjuk record tersebut sebagai destination bagi PID yang berbeda.
  3. System menampilkan peringatan “Multi-level link” di samping PID tersebut dan pilihan (check mark) tidak bisa dilakukan.
  4. Jika semua atau satu-satunya PID mendapat peringatan tersebut maka, proses Patient Link sama sekali tidak bisa dilanjutkan.
  5. Jika ada PID lain yang tidak mendapat peringatan, maka proses Patient Link dilanjutkan atas PID tanpa peringatan.

Kondisi Akhir

  1. PID source terhubung dengan PID destination.
  2. Relasi source dengan test order dan lain-lain tidak berubah sebelum dan sesudah proses Patient Link.
  3. Semua test order milik PID source dan destination bisa ditampilkan dalam satu cumulative view/report.
  4. PID destination tersedia untuk test ordering & tracing.
  5. PID source tetap bisa dicari tetapi tidak bisa di-edit maupun digunakan untuk test ordering.
  6. Audit mencatat Patient Link dilakukan secara manual, waktu, User ID yang melakukan Patient Link serta device dimana aktivitas tersebut dilakukan.

Use Case ID

UC-02c

Use Case Name

Patient Unlink

Aktor Utama

Supervisor Lab, Manajer Lab

Aktor Sekunder

Pasien

Tujuan

Melepaskan link antara source PID dan destination PID.

Prasyarat

  1. System beroperasi dan dapat diakses.
  2. Petugas pendaftaran telah terautentikasi dalam System.
  3. Pasien sudah pernah registrasi di System, ditandai dengan adanya PID dengan patidt.IdentifierType dan patidt.Identifier yang sama.

Alur Utama

  1. Aktor membuka halaman Patient Management Patient Unlink.
  2. Aktor mencari record pasien menggunakan PID.
  3. System menampilkan PID berikut data demografinya dan semua linked PID.
  4. Aktor uncheck source PID(s) yang hendak dilepaskan dari destination PID.
  5. Aktor melepas hubungan PID-PID tersebut dengan menekan tombol Unlink.
  6. System meminta konfirmasi dari Aktor dengan menampilkan pesan,” Please confirm to unlink these patient records”. Disertai pilihan “Confirm” dan “Cancel”
  7. Aktor mengkonfirmasi Patient Unink dengan menekan tombol Confirm.
  8. System melakukan:
    1. mengosongkan field patient.LinkTo dari source PID.
    2. membuat record baru di patvisitadt dengan patvisitadt.Code: A37 (Unlink Patient Information)
    3. mengkonfirmasi Patient Unlink berhasil
    4. menampilkan ringkasan destination dan source PID yang unlinked.

Alur Alternatif

Alur Pengecualian

Kondisi Akhir

  1. Source PID aktif kembali, bisa diedit dan tersedia untuk test ordering & tracing.
  2. unlink source terjadi bisa isi field LinkTo dikosongkan Kembali.
  3. Audit mencatat Patient Unlink dilakukan secara manual, waktu, User ID yang melakukan Patient Unlink dan device dimana aktivitas tersebut dilakukan.

Use Case Patient Admission

Use Case ID

UC-03a

Use Case Name

Patient Admission

Aktor Utama

Admin Lab / Clerk, Analis Lab, Analis Lab Senior, Super User, Supervisor Lab, Manajer Lab

Aktor Sekunder

Pasien

Tujuan

Menerima pasien di fasyankes untuk perawatan atau observasi.

Prasyarat

  1. System beroperasi dan dapat diakses.
  2. Petugas pendaftaran telah terautentikasi oleh System.
  3. Record pasien tersedia di System, ditandai dengan adanya PID.

Alur Utama

  1. Aktor membuka halaman Patient Visit Management Patient Admission.
  2. Aktor memasukkan PID.
  3. System memeriksa apakah PID ada.
  4. System menampilkan data demografi pasien dan meminta data-data:
    1. mandatory data: PVID, dokter, location.
    2. optional data: EpisodeID, diagnosis (bisa lebih dari satu), lampiran-lampiran.
  5. System membuat record baru di patvisitadt dengan patvisitadt.Code: A01 (Admit), mengkonfirmasi admission berhasil dan menampilkan ringkasan admission.
  6. Aktor memberikan konfirmasi admission kepada Pasien (misalnya, slip cetak atau ID digital barcode, QRIS, dll).

Alur Alternatif

  1. PID tidak ada:
    1. System menampilkan pesan, “PID does not exist. Proceed to Patient Registration?”
    2. Aktor memilik “Yes” dan System membuka halaman Patient Management Patient Registration.
    3. Aktor melakukan activity patient registration dilanjutkan patient admission.
  2. Pembaruan optional data:
    1. Aktor membuka halaman Patient Visit Management Admission Search & Update
    2. Aktor memasukkan PVID.
    3. System mengambil record yang sudah ada
    4. Aktor memperbarui data jika diperlukan
    5. Sistem menyimpan perubahan.

Alur Pengecualian

  1. Mandatory data tidak ada:
    1. System menolak menyimpan record.
    2. Aktor diminta untuk melengkapi, setidaknya mandatory data.

Kondisi Akhir

  1. Kunjungan pasien ke fasyankes tercatat (patvisit records) di System, ditandai dengan adanya PVID dan direlasikan dengan dokter dan ruangan di fasyankes.
  2. Audit mencatat admission/perubahannya dilakukan secara manual, User ID yang melakukan, device dimana, kapan, dan data apa saja yang dimasukkan.

Use Case Cancel Admission

Use Case ID

UC-03b

Use Case Name

Cancel Patient Admission

Aktor Utama

Supervisor Lab, Manajer Lab

Aktor Sekunder

Pasien

Tujuan

Membatalkan penerimaan pasien di fasyankes. Pembatalan bisa disebabkan:

  • Data registrasi salah atau tidak lengkap yang tidak dapat diselesaikan
  • Cakupan asuransi tidak valid atau kedaluwarsa.
  • Pasien menolak rawat inap setelah mengetahui biayanya.
  • Pasien dialihkan ke fasilitas lain.
  • Permintaan rawat inap dimasukkan secara salah
  • Kondisi pasien berubah
  • Permintaan pasien. dll

Prasyarat

  1. System beroperasi dan dapat diakses.
  2. Petugas pendaftaran telah terautentikasi oleh System.
  3. Patient Visit Record tersedia di System, ditandai dengan adanya PVID.

Alur Utama

  1. Aktor membuka halaman Patient Visit Management Admission Search & Update.
  2. Aktor memasukkan PVID.
  3. System menampilkan data admission pasien.
  4. Aktor mengkonfirmasi pembatalan admission ke pihak terkait dan melakukan pembatalan.
  5. System membuat record baru di patvisitadt dengan patvisitadt.Code: A11 (Cancel Admit), mengkonfirmasi cancel patient admission berhasil dan menampilkan ringkasan cancel patient admission.
  6. Aktor memberikan konfirmasi cancel patient admission kepada pihak terkait (misalnya, slip cetak atau ID digital barcode, QRIS, dll).

Alur Alternatif

Alur Pengecualian

Kondisi Akhir

  1. Cancel patient admission tercatat (patvisit records) di System, ditandai dengan record di patvisitadt dengan patvisitadt.Code: A11.
  2. Audit mencatat cancel patient admission dilakukan secara manual, User ID yang melakukan, device dimana, kapan, dan data apa yang dimasukkan.

Use Case Change Attending Doctor

Use Case ID

UC-03c

Use Case Name

Change Attending Doctor

Aktor Utama

Admin Lab / Clerk, Analis Lab, Analis Lab Senior, Super User, Supervisor Lab, Manajer Lab

Aktor Sekunder

Pasien

Tujuan

Mengganti dokter yang bertanggung jawab atas pengobatan pasien (DPJP).

Prasyarat

  1. System beroperasi dan dapat diakses.
  2. Petugas pendaftaran telah terautentikasi oleh System.
  3. Patient Visit Record tersedia di System, ditandai dengan adanya PVID dan telah memiliki data Attending Doctor (patvisitadt. AttDoc)

Alur Utama

  1. Aktor membuka halaman Patient Visit Management Admission Search & Update.
  2. Aktor memasukkan PVID.
  3. System menampilkan data admission pasien.
  4. Aktor mengganti Attending Doctor.
  5. System membuat record baru di patvisitadt dengan patvisitadt.Code: A54 (Change Attending Doctor), mengkonfirmasi penggantian dokter berhasil dan menampilkan data admission yang telah diperbarui.

Alur Alternatif

Alur Pengecualian

Kondisi Akhir

  1. Penggantian Attending Doctor di System sehingga bisa dilakukan pelacakan Attending Doctor sekarang dan sebelumnya.
  2. Audit mencatat User ID yang melakukan perubahan Attending Doctor, device dimana perubahan dilakukan, kapan.

Use Case Change Consulting Doctor

Use Case ID

UC-03d

Use Case Name

Change Consulting Doctor

Aktor Utama

Admin Lab / Clerk, Analis Lab, Analis Lab Senior, Super User, Supervisor Lab, Manajer Lab

Aktor Sekunder

Pasien

Tujuan

Mengganti dokter konsulen.

Prasyarat

  1. System beroperasi dan dapat diakses.
  2. Petugas pendaftaran telah terautentikasi oleh System.
  3. Patient Visit Record tersedia di System, ditandai dengan adanya PVID dan telah memiliki data Consulting Doctor (patvisitadt. CnsDoc)

Alur Utama

  1. Aktor membuka halaman Patient Visit Management Admission Search & Update.
  2. Aktor memasukkan PVID.
  3. System menampilkan data admission pasien.
  4. Aktor mengganti Consulting Doctor.
  5. System membuat record baru di patvisitadt dengan patvisitadt.Code: A61 (Change Consulting Doctor), mengkonfirmasi penggantian dokter berhasil dan menampilkan data admission yang telah diperbarui.

Alur Alternatif

Alur Pengecualian

Kondisi Akhir

  1. Penggantian Consulting Doctor di System sehingga bisa dilakukan pelacakan Consulting Doctor sekarang dan sebelumnya.
  2. Audit mencatat User ID yang melakukan perubahan Consulting Doctor, device dimana perubahan dilakukan, kapan.

Use Case Patient Transfer

Use Case ID

UC-04

Use Case Name

Patient Transfer

Aktor Utama

Admin Lab / Clerk, Analis Lab, Analis Lab Senior, Super User, Supervisor Lab, Manajer Lab

Aktor Sekunder

Pasien

Tujuan

Memindahkan pasien dari satu lokasi ke lokasi lainnya.

Prasyarat

  1. System beroperasi dan dapat diakses.
  2. Petugas pendaftaran telah terautentikasi oleh System.
  3. Patient Visit Record tersedia di System, ditandai dengan adanya PVID dan telah memiliki data Location ID (patvisitadt. LocationID)

Alur Utama

  1. Aktor membuka halaman Patient Visit Management Transfer.
  2. Aktor memasukkan PVID.
  3. System menampilkan data admission pasien.
  4. Aktor mengganti Location ID.
  5. System membuat record baru di patvisitadt dengan patvisitadt.Code: A02 (Patient Transfer), mengkonfirmasi perpindahan lokasi berhasil dan menampilkan data admission yang telah diperbarui.

Alur Alternatif

Alur Pengecualian

Kondisi Akhir

  1. Penggantian Location ID di System sehingga bisa dilakukan pelacakan Location ID sekarang dan sebelumnya.
  2. Audit mencatat User ID yang melakukan perubahan Location ID, device dimana perubahan dilakukan dan kapan.

Use Case Patient Discharge

Use Case ID

UC-04a

Use Case Name

Patient Discharge

Aktor Utama

Admin Lab / Clerk, Analis Lab, Analis Lab Senior, Super User, Supervisor Lab, Manajer Lab

Aktor Sekunder

Pasien

Tujuan

Mengakhiri kunjungan pasien. Close billing.

Prasyarat

  1. System beroperasi dan dapat diakses.
  2. Petugas pendaftaran telah terautentikasi oleh System.
  3. Patient Visit Record tersedia di System, ditandai dengan adanya PVID.

Alur Utama

  1. Aktor membuka halaman Patient Visit Management Discharge.
  2. Aktor memasukkan PVID.
  3. System memeriksa apakah PVID tersebut memiliki test order.
  4. System memeriksa apakah orderstatus.OrderStatus dari test order tsb..
  5. System menampilkan data admission pasien.
  6. Aktor mengisikan tanggal discharge.
  7. System membuat record baru di patvisitadt dengan patvisitadt.Code: A03 (Discharge), mengkonfirmasi discharge/end visit berhasil dan menampilkan data admission yang telah di-discharge.

Alur Alternatif

Alur Pengecualian

  1. Open test order:
    1. System menolak discharge, jika menemukan orderstatus.OrderStatus bernilai ”A” atau “IP” atau “SC” atau “HD”
    2. Aktor diminta untuk menyelesaikan test order terkait.

Kondisi Akhir

  1. Discharge visit di System.
  2. Audit mencatat User ID yang melakukan discharge, device dimana discharge dilakukan dan kapan.
  3. Semua record terkait visit[24] tersebut tidak bisa diedit/update lagi data-data pada patvisit, patdiag, patvisitbill. Hal-hal berikut tidak bisa dilakukan lagi:
    1. perpindahan lokasi dan/atau dokter.
    2. test order
    3. billing is closed.
  4. Cancel discharge
    1. bisa dilakukan:
      1. atas instruksi dari HIS, misalnya berupa ADT message
      2. oleh orang tertentu saja di lab
  5. tidak meng-update existing record tetapi men-trigger tambahan patvisitadt record dengan Code: A13 (cancel discharge)

Use Case Cancel Discharge

Use Case ID

UC-04b

Use Case Name

Cancel Patient Discharge

Aktor Utama

Supervisor Lab, Manajer Lab

Aktor Sekunder

Pasien

Tujuan

Membatalkan Patient Discharge. Open billing.

Prasyarat

  1. System beroperasi dan dapat diakses.
  2. Petugas pendaftaran telah terautentikasi oleh System.
  3. Patient Visit Record tersedia di System, ditandai dengan adanya PVID dan telah discharge.

Alur Utama

  1. Aktor membuka halaman Patient Visit Management Cancel Patient Discharge.
  2. Aktor memasukkan PVID.
  3. System menampilkan data admission pasien.
  4. Aktor membatalkan discharge dengan menekan tombol Cancel Discharge.
  5. System membuat record baru di patvisitadt dengan patvisitadt.Code: A13 (Cancel Discharge), mengkonfirmasi cancel discharge berhasil dan menampilkan data admission yang telah dibatalkan discharge-nya.

Alur Alternatif

Alur Pengecualian

Kondisi Akhir

  1. Pembatalan discharge di System.
  2. Audit mencatat cancel discharge dilakukan secara manual, User ID yang melakukan, device dimana activity dilakukan dan kapan.
  3. Semua record terkait visit[25] tersebut kembali bisa diedit/update lagi data-data pada patvisit, patdiag, patvisitbill. Hal-hal berikut bisa dilakukan lagi:
    1. perpindahan lokasi dan/atau dokter.
    2. test order
    3. billing is re-open.

Use Case Test Ordering

Use Case ID

UC-5a

Use Case Name

Test Ordering

Aktor Utama

Admin Lab / Clerk, Analis Lab, Analis Lab Senior, Super User, Supervisor Lab, Manajer Lab

Aktor Sekunder

Pasien

Tujuan

Membuat test order untuk pasien.

Prasyarat

  1. System beroperasi dan dapat diakses.
  2. Petugas pendaftaran telah terautentikasi oleh System.
  3. Patient Visit Record tersedia di System, ditandai dengan adanya PVID.

Alur Utama

  1. Aktor membuka halaman Test Ordering New Test Order.
  2. Aktor memasukkan PVID.
  3. System menampilkan data demografi, daftar PVID pasien berikut daftar OrderID (OID) yang telah dibuat sebelumnya (menghindari test order berlebihan).
  4. Aktor bisa menambahkan komentar dan/atau lampiran ke test order.
  5. Aktor memilih test yang diperlukan.
  6. Aktor bisa memilih mencetak labels segera setelah klik tombol Save, dengan mencentang Print Patient Label, Print Order Label, Print Specimen Label check boxes.
  7. Aktor menyimpan test order dengan menekan tombol Save.
  8. System secara otomatis memberi OID.
  9. System otomatis membuat records di table specimens.
  10. System, mengkonfirmasi test ordering berhasil dan menampilkan data test order berikut daftar SID.

Alur Alternatif

  1. PVID belum ada:
    1. System mengarahkan Aktor ke halaman Patient Visit Management Patient Admission.
    2. Aktor melakukan activity patient admission.
    3. Aktir kembali ke test ordering.
  2. Test ordering menggunakan PID:
    1. Aktor membuka halaman Test Ordering New Test Order
    2. Aktor memasukkan PID
    3. System menampilkan daftar PVID yang belum discharge.
    4. Aktor memilih salah satu PVID dan melanjutkan activity test ordering.
  3. Future Order:
    1. Aktor mengisi Effective Date (ordertest.EffDate) untuk menjadwalkan kapan test order mulai dikerjakan.
    2. Aktor menyimpan test order dengan menekan tombol Save.
    3. System memberikan OID yang sesuai dengan Effective Date.
  4. OID sudah ada:
    1. Aktor membuka halaman Test Ordering Test Order Search & Update
    2. Aktor memasukan OID
    3. System menampilkan data-data test order.
    4. Aktor melakukan update dan menyimpannya.
  5. Non patient option

Alur Pengecualian

Kondisi Akhir

  1. Test order terbentuk di System ditandai dengan adanya OID dengan status (orderstatus.OrderStatus) ”SC” (In process, scheduled)
  2. SID terbentuk dan specimen label bisa dicetak atau tercetak otomatis.
  3. Audit mencatat test order dilakukan secara manual, User ID yang melakukan, device dimana activity dilakukan dan kapan.

Use Case Update Test Order

Use Case ID

UC-5b

Use Case Name

Update Test Order

Aktor Utama

Admin Lab / Clerk, Analis Lab, Analis Lab Senior, Super User, Supervisor Lab, Manajer Lab

Aktor Sekunder

Pasien

Tujuan

Memperbarui test order untuk pasien.

Prasyarat

  1. System beroperasi dan dapat diakses.
  2. Petugas pendaftaran telah terautentikasi oleh System.
  3. Test order tersedia di System, ditandai dengan adanya OID.

Alur Utama

  1. Aktor membuka halaman Test Ordering Test Order Search & Update.
  2. Aktor memasukkan OID.
  3. System menampilkan data-data test order.
  4. Aktor melakukan update dan menyimpannya.
  5. System, mengkonfirmasi update test order berhasil dan menampilkan data test order berikut daftar SID.

Alur Alternatif

  1. PVID belum ada:
    1. System mengarahkan Aktor ke halaman Patient Visit Management Patient Admission.
    2. Aktor melakukan activity patient admission.
    3. Aktir kembali ke test ordering.
  2. Non patient option

Alur Pengecualian

  1. Test order tidak ada:
    1. System menolak melakukan update dan menampilkan pesan,” Test order does not exists”
  2. Test order berstatus closed ditandai dengan ordertest.EndDate memiliki value dan orderstatus.OrderStatus bernilai CL (Closed):
    1. System menolak melakukan update dan menampilkan pesan,” This test order is inaccessible”
  3. Test order berstatus archived, ditandai dengan ordertest.ArchiveDate memiliki value dan orderstatus.OrderStatus bernilai AC (Archived):
    1. System menolak melakukan update dan menampilkan pesan,” This test order is already archived”
  4. Test order berstatus deleted, ditandai dengan ordertest.DelDate memiliki value dan orderstatus.OrderStatus bernilai DL (Deleted):
    1. System menolak melakukan update dan menampilkan pesan,” This test order is already deleted”
  5. Update dilakukan dengan menghapus test yang telah ada hasilnya:
    1. System menampilkan data-data test order.
    2. Aktor mengganti test yang telah ada hasilnya.
    3. System menolak melakukan update dan menampilkan pesan,” This test order is inaccessible”

Kondisi Akhir

  1. Test order terbentuk di System ditandai dengan adanya OID dengan status (orderstatus.OrderStatus) ”SC” (In process, scheduled)
  2. SID terbentuk dan specimen label bisa dicetak atau tercetak otomatis.
  3. Audit mencatat test order dilakukan secara manual, User ID yang melakukan, device dimana activity dilakukan dan kapan.

Use Case Delete Test Order

Use Case Specimen Collection

Use Case Cancel Specimen Collection

Use Case Specimen Reception

Use Case Cancel Specimen Reception

Use Case Specimen Prepation

Use Case Specimen Store

Use Case Dispatching Test Order to Automatic Workstation

Use Case Dispatching Test Order to Manual Workstation

Use Case Result Acquisition from Instrument

Use Case Manual Result Entry

Use Case Preliminary Result

Use Case Result Verification / Technical Validation

Use Case Clinical Validation

Use Case Print Report

Use Case Result Correction

CLQMS SMCRM Integration

Berikut adalah penjabaran use case CLQMS SMCRM Integration:

Diagram Use Case Equipment Installation to Decommissioning

Activity

Description

Equipment Delivery

  • TSS memastikan Account, Site, Equipment tercatat di SMCRM, berikut perpindahannya dari gudang Perusahaan ke Site.
  • SMCRM mencari CLQMS dengan Account dan Site yang sama. Jika ada, maka equipment ditambahkan ke site, sesuai apa yang terjadi di SMCRM.

Installation

  • TSO melakukan instalasi dan mencatatkan activity di SMCRM.
  • SMCRM replikasi activity instalasi ke CLQMS terkait, sehingga data instalasi equipment tercatat di CLQMS. User laboratorium bisa melihat activity dan data instalasi equipment di CLQMS

Installation & Calibration Certificates

  • TSO membuat Installation Certificate dan Calibration Certificate di SMCRM pasca instalasi.
  • SMCRM replikasi kedua certificates ke CLQMS sehingga user laboratorium bisa melihat, download dan print keduanya.

User Training

  • TSO mengakhiri instalasi dengan activity user training dan pendampingan.
  • TSO membuat user training activity report di SMCRM
  • SMCRM replikasi activity report ke CLQMS terkait, sehingga data activity tersebut tercatat di CLQMS sesuai dengan equipment. User laboratorium bisa melihat user training activity di CLQMS

User Training Certificates

  • TSO memastikan user tercatat di CLQMS.
  • CLQMS replikasi data para user ke SMCRM (Contact & ContactDetail).
  • TSO membuat User Training Certificate di SMCRM.
  • TSO Bersama TSM approve certificate secara digital sehingga certificate available di SMCRM.
  • SMCRM replikasi approved User Training Certificate ke masing-masing user di CLQMS.
  • Masing-masing user bisa melihat User Training Certificates-nya di CLQMS.

Maintenance

  • TSO melakukan maintenance dan mencatatkan activity di SMCRM.
  • SMCRM replikasi maintenance activity ke CLQMS terkait, sehingga data equipment maintenance tercatat di CLQMS. User laboratorium bisa melihat activity yang dilakukan atas equipment di CLQMS

Services

  • user laboratorium melaporkan incident terkait equipment ke CLQMS
  • CLQMS push informasi tersebut ke SMCRM
  • TSO merespon incident tersebut dan melaporkan di SMCRM.
  • SMCRM replikasi TSO ke CLQMS terkait
  • user laboratorium bisa melihat progress/penyelesaian incident di CLQMS. Incident tercatat di equipment yang tepat.

Decomissioning

  • TSO melakukan penarikan equipment dan mencatatkan activity di SMCRM.
  • SMCRM replikasi activity penarikan equipment ke CLQMS terkait, sehingga data penarikan equipment tercatat di CLQMS. User laboratorium bisa melihat activity dan data penarikan equipment di CLQMS. Equipment secara otomatis disabled di CLQMS.

CLQMS Datawarehouse Integration

<to be completed>

Detail Teknis dan Implementasi

Hardware

Virtual Private Server (VPS)

Minimum specification 2 vCPU, 2 GB RAM, 1 GBps bandwidth
VPN Server WireGuard Server
Reverse Proxy NginX

Local/Site Server

Minimum specification
VPN Client WireGuard
Web Server (local) Apache
RDBMS MariaDB
Backend (CodeIgniter 4) PHP v8.2.20
Frontend (SvelteKit5) Node.js v22.17.0
Dependency Management Npm & Composer
Module bundler (SvelteKit) Vite
Command-line interface Git Bash/Terminal

Client PC

Minimum specification WLAN/Ethernet
BrowserWeb based server on premise/on cloud

Software

<to be completed>

Language

<to be completed>.

Framework

Back End

Back end menggunakan:

  • FW - CI4 PHP
  • Websocket (Swoole, Workerman, Microsocket)
  • Webserver NGINX

Front End

Front end menggunakan:

  • FW Svelte 5, JS
  • CSS - TailWind 4
  • UIKit shadcn / DaisyUI

UI/UX

User Interface/eXperience menggunakan:

  • Figma
  • HTML - CSS (Tailwind + DaisyUI)
  • JS - SvelteKit

Network Architecture

Gambar . Network Architecture - instrument connections

Database

Database management system menggunakan PostgreSQL + Design DB. Design tables adalah sebagai berikut:

Vendor

Tabel yang menyimpan data vendor, yaitu perusahaan/orang yang menyediakan barang/jasa bagi laboratorium klinik. Definisi table Vendor ada di project Customer Relationship Management (CRM) (prj_crm_origin.docx).

Product

Pengelolaan product yang digunakan di sites meliputi:

  • ProductCatalog. Tabel yang menyimpan data barang/jasa[26] yang dipasarkan oleh Perusahaan.
  • productcatalogext. Tabel yang menyimpan data barang/jasa yang digunakan tiap site yang berasal dari perusahaan lain. ProductCatalog dan productcatalogext bersifat complementor dan exclusive[27]. Keduanya saling melengkapi, item yang sudah ada di ProductCatalog, tidak ada di productcatalogext.
  • productext.
    • tabel yang menyimpan data product yang digunakan oleh masing-masing sites. Produk berasal dari table ProductCatalog dan productcatalogext.
    • mengantisipasi kemungkinan barang/jasa yang sama tetapi dipasarkan oleh perusahaan yang berbeda.
    • menyimpan identitas perusahaan yang mendistribusikannya ke laboratorium klinik (site).
  • productuse berisi data setting/tetapan penggunaan product di setiap instrument di site tertentu untuk memproduksi satu test.
    • Volume aspirasi R1, R2, R3, R4
    • Jumlah tes/kit, jumlah tes/botol

Table 8 productcatalogext

Field

Tipe data

Display

Keterangan

CatalogExtID

nvarchar

External Catalog ID

PK

SiteID

nvarchar

Site ID

FK dari table Site13

Tempat dimana produk berada/digunakan.

CatalogExtNumber

nvarchar

External Catalog Number

Berisi nomor katalog produk dari berbagai perusahaan.

ProductExtName

nvarchar

External Product Name

Nama produk

VendorID

nvarchar

Vendor ID

FK, dari table Vendor

Type

nvarchar

Type

  • analyzer
  • reagent
  • sparepart (Spare Part_Analyzer)
  • sparepart_o (Spare Part_Other)
  • calibrators
  • controls
  • washsol (washing solution)
  • othcons (other consumables)
  • accessories
  • license (TD, Microsoft, Symantec, dll)
  • server
  • pc
  • ups
  • avr
  • it (Isolation Transformer)
  • docprinter (Document Printer)
  • bcdprinter (Barcode Printer)
  • bcdscanner (Barcode Scanner)
  • wtrtreatment (Water Treatment)

Manufacturer

nvarchar

Manufacturer

Berisi Manufacturer ID. Pabrikan yang membuat produk. Misal:

Server HP ML150 dibeli di toko Columbia. Maka: Vendor: Columbia; Manufacturer: HP. VendorID dan Manufacturer berasal dari tabel Vendor

CreateDate

Date Time

Create Date

Menandai kapan record ini dibuat.

EndDate

Date Time

End Date

Jika EndDate terisi berarti product tersebut disabled di semua bagian aplikasi:

  • Menandai record ini sudah tidak berlaku lagi/discontinue.
  • Tidak bisa dipilih untuk berbagai setting.

Table 9 unitgroupext

Field

Tipe data

Display

Keterangan

UnitGroupExtID

nvarchar

External Unit Group ID

CatalogExtID

nvarchar

External Catalog ID

Unit

nvarchar

Unit

Satuan

Quantity

nvarchar

Quantity

Jumlah

BaseUnit

nvarchar

Base Unit

Satuan penyusun “Unit”

Category

number

Category

Untuk mengendalikan pemberlakuan group unit di aplikasi

  • 1: umum
  • 2: umum
  • 3: umum
  • 4: Technical Support Only
  • 5: Technical Support Only
  • 6: Special purpose

CreateDate

Date Time

Create Date

Menandai kapan record ini dibuat.

EndDate

Date Time

End Date

Jika EndDate terisi berarti unit group tersebut disabled di semua bagian aplikasi:

  • Menandai record ini sudah tidak berlaku lagi/discontinue.
  • Tidak bisa dipilih untuk berbagai setting.

Table 10 productext

Field

Tipe data

Display

Keterangan

ProductExtID

External Product ID

PK; Diawali dengan huruf E, untuk menandai product external/bukan dari Perusahaan

  • Berfungsi sebagai Universal Equipment Identification.
  • Mengantisipasi product yang tidak memiliki serial number

ProductExtNumber

nvarchar

External Product Number

Serial number equipment dari perusahaan lain. ProductExtNumber tidak pernah berubah

Catalog

nvarchar

Catalog

  • Foreign Key. Jika produk berasal dari:
    • Perusahaan, maka berisi CatalogID dari table ProductCatalog13
    • vendor lain, maka berisi CatalogExtID dari Table 3 productcatalogext.

Berisi nomor katalog. Nomor katalog yang sama bisa di-distribusikan oleh beberapa distributor.

SiteID

nvarchar

Site ID

Foreign Key dari table Site13

Tempat dimana produk berada/digunakan.

ServiceProvider

nvarchar

Service Provider

Foreign Key, dari table Vendor13, adalah Perusahaan/entitas yang meberikan layanan terhadap product ybs. Misalnya preventive maintenance.

LocationStartDate

Date

Location Start Date

  • Tanggal dimana produk ditempatkan
  • dalam Berita Acara

InstallationDate

Date

Installation Date

  • tanggal instalasi analyzer
  • digunakan dalam Berita Acara dan perhitungan masa garansi

WarrantyStartDate

Date

Warranty Start Date

  • tanggal mulai garansi, bisa sama dengan tanggal instalasi

WarrantyEndDate

Date

Warranty End Date

  • tanggal akhir garansi. Jika KSO maka sama dengan akhir masa kontrak.

LocationEndDate

Date

Location End Date

  • Tanggal dimana product ditarik/tidak ada lagi di site/dimusnahkan

Active

Yes/No

Active

Yes: digunakan

No: tidak digunakan.

Owner

Owner

Pemilik produk, salah satu dari:

  • FK: VendorID dari table Vendor CRM, jika milik vendor.
  • FK: AccountID dari table Account CRM, jika milik lab ybs.

OpenStability

Numeric

Open Stability

Stabilitas product setelah dibuka. Dalam satuan hari.

CreateDate

Date Time

Create Date

Menandai kapan record ini dibuat.

LogDate

Date Time

Log Date

Menandai kapan record ini mengalami perubahan status (Location, Asset, Active, Owner).

EndDate

Date Time

End Date

Jika EndDate terisi berarti product tersebut disabled di semua bagian aplikasi:

  • Menandai record ini sudah tidak berlaku lagi/discontinue.
  • Tidak bisa dipilih untuk berbagai setting.

Table 11. productuse

Field

Tipe data

Display

Keterangan

ProdUsageID

nvarchar

Product Usage ID

PK

ProductExtID

nvarchar

External Product ID

Foreign Key dari Table 5 productext.

AspVolume

numeric

Aspiration Volume

Aspirated volume: volume yang di-aspirasi instrument untuk memproduksi satu test

NbrOfTest

numeric

Number of Test

Jumlah tes per kemasan. Untuk test berbasis

  • volume:
  • test:

CreateDate

Date Time

Create Date

Menandai kapan record ini dibuat.

EndDate

Date Time

End Date

Jika EndDate terisi berarti product tersebut disabled di semua bagian aplikasi:

  • Menandai record ini sudah tidak berlaku lagi/discontinue.
  • Tidak bisa dipilih untuk berbagai setting.

Area & GeoLocation System

Tabel-tabel terkait pengelolaan area berikut disinkronisasi dengan CRM, meliputi:

  • AreaGeo, yang berisi definisi area geografis sesuai standard yang berlaku (Kemendagri)
  • AreaDef, berisi user defined area (pembagian area) untuk service, sales, dll.
  • AreaDet, berisi detail area geografis untuk masing-masing user defined area.
  • GeoLocationFix, berisi geolocation untuk berbagai lokasi geografis
  • GeoLocationDyn, berisi geolocation dinamis untuk orang, device

Table 12. AreaGeo

Field

Tipe data

Display

Keterangan

AreaGeoID

PK

AreaCode

nvarchar

Area Code

Kode Kemendagri

Class

nvarchar

Class

valuset.vvalue

  • PROP: Propinsi
  • KAB: Kabupaten
  • KOTA: Kota
  • Etc.

AreaName

nvarchar

Area Name

Nama area

Parent

Parent Area

FK, self referential.

Table 13. AreaDef

Field

Tipe data

Keterangan

AreaID

nvarchar

AreaType

nvarchar

  • Service
  • Sales
  • Etc.

AreaName

nvarchar

Description

nvarchar

Penjelasan singkat

Table 14. AreaDet

Field Tipe data Keterangan
AreaID nvarchar
AreaCode nvarchar

Table 15. GeoLocationFix

Field

Tipe data

Keterangan

GeoLocationID

nvarchar

Format: GEFXXXXXX

XXXXXX: nomor urut (000001, 000002, dst.)

OriginTable

nvarchar

Nama table asal data yang diberi geotagging.

Identity

Nvarchar

Berisi ID dari lokasi-lokasi yang diberi geotagging:

  • AccountID (Account table)
  • SiteID (Site table)
  • UserID (User table)
  • ContactID (Contact table)
  • dll

GeoLocationSystem

nvarchar

  • Sistem/standard geolocation yang digunakan
  • Encrypted

GeoLocationData

  • Encrypted
  • (perlu dipelajari lebih lanjut format data GeoLocation baku)

Creator

nvarchar

  • UserID (dari table User)
  • ContactID (dari table Contact)

CreateDate

Date Time

Menandai kapan record ini dibuat.

Table 16. GeoLocationDyn

Field

Tipe data

Keterangan

GeoLocationID

nvarchar

Format: GEDYYXXXXXX

YY: tahun

XXXXXX: nomor urut (000001, 000002, dst.)

OriginTable

nvarchar

Nama table asal data yang diberi geotagging.

Identity

Nvarchar

Berisi ID dari lokasi-lokasi yang diberi geotagging:

  • AccountID (Account table)
  • SiteID (Site table)
  • UserID (User table)
  • ContactID (Contact table)
  • DeviceID[28] (cellphone, tablet, laptop, GPS module, dll)
  • dll

Reference

nvarchar

  • terkait dengan record ID spt ActivityID, dll

GeoLocationSystem

nvarchar

  • Sistem/standard geolocation yang digunakan
  • Encrypted

GeoLocationData

  • Encrypted
  • (perlu dipelajari lebih lanjut format data GeoLocation baku)

Creator

nvarchar

  • UserID (dari table User)
  • ContactID (dari table Contact)

CreateDate

Date Time

Menandai kapan record ini dibuat.

Organization Structure

Struktur terdiri dari struktur universal dan sites.

Data struktur disimpan dalam table-tabel sebagai berikut:

  • Account. Berisi definisi organisasi. Biasanya berupa Perusahaan. Data account diambil dari aplikasi
  • Site. Berisi definisi laboratory site dan diambil dari aplikasi CRM. Termasuk dalam definisi site:
    • hospital/laboratory sites dalam lingkungan multi-sites
    • fasyankes yang merujuk pemeriksaan (fasyankes sumber/asal).
    • fasyankes tempat laboratorium merujuk test (fasyankes produksi)
  • discipline. Berisi definisi discipline dari clinical laboratory. Discipline digunakan untuk:
    • membentuk struktur organisasi untuk pembagian pengerjaan tes.
    • membentuk struktur result report dan result view.
  • department. Berisi definisi department masing-masing site
  • workstation. Berisi definisi workstation untuk setiap department.

Table 17. Account

Field

Tipe data

Display

Keterangan

AccountID

Nvarchar (4)

Account ID

0001 0050 reserved untuk SUMMIT dan cabang-cabangnya.

ExtAcountID

External Account ID

AccountID dari CRM

ParentAccount

Parent Account

  • Nama perusahaan induk. Misalnya PT Prodia Utama.
  • ParentAccount merujuk kepada account lain dalam table yang sama (self-referential)
  • Proteksi one way referral

AccountName

Account Name

Nama account, misalnya: Prodia Kelapa Gading.

Nama yang dikenal.

Initial

Initial

Street_1

Street 1

Street_2

Street 2

Street_3

Street 3

City

City

Province

Province

ZIP

ZIP

Country

Country

AreaCode

nvarchar

Area Code

AreaCode dari table AreaGeo

Email address 1

Email Address 1

Email address 2

Email Address 2

Phone

Phone

Fax

Fax

CreateDate

Date Time

Create Date

Menandai kapan record ini dibuat.

EndDate

Date Time

End Date

Jika EndDate terisi berarti user tersebut disabled di semua bagian aplikasi:

  • Menandai record ini sudah tidak berlaku lagi.
  • Tidak bisa dipilih lagi dalam transaksi

Notes:

Account diperlukan untuk mendefinisikan business entity secara jelas dan turut berperan dalam agregasi hasil, terutama hasil QC.

Account dibuat di CRM untuk memastikan constraint. Saat instalasi CLQMS on-site, engineer yang melakukan instalasi memasukkan AccountID dan semua data terkait account tersebut yang tersimpan di CRM ditarik untuk mempercepat instalasi.

Table 18. Site

Field

Tipe data

Display

Keterangan

SiteID

integer

Site ID

PK. Format: AccountIDXX

XX adalah nomor urut (01, 02, dst)

ExtSiteID

External Site ID

Site ID dari CRM

SiteCode

nvarchcar

Site Code

kode site, alphanumeric 2 characters (00 Z9); ada 1296 kemungkinan, termasuk 00. Constraint: unique. Hanya untuk SiteType = PHL, GL, PL.

SiteName

nvarchcar

Site Name

Misalnya:

  • Lab Utama
  • Lab Emergency

AccountID

Account ID

Dari table Account

SiteType

nvarchar

Site Type

Value Set

Parent

nvarchar

Parent Site

FK. Nulable. Parent SiteID.

SiteClass

nvarchar

Site Class

Value Set

CreateDate

Date Time

Create Date

Menandai kapan record ini dibuat.

EndDate

Date Time

End Date

Jika EndDate terisi berarti user tersebut disabled di semua bagian aplikasi:

  • Menandai record ini sudah tidak berlaku lagi.
  • Greyed di distribution list
  • Tidak lagi menerima kiriman email

Notes:

SiteCode diperlukan untuk:

  • penanda unik dalam lingkungan multi-sites laboratory.
  • agregasi hasil, terutama hasil QC. Tujuannya agar suatu site bisa melakukan perbandingan hasil QC dengan site lain, baik dalam Account yang sama maupun berbeda.

Oleh karena tujuan-tujuan ini, maka SiteCode hanya digunakan pada site yang memproduksi test, ditandai dengan SiteType = PHL, GL, PL.

SiteCode dibuat di CRM untuk memastikan constraint, dengan demikian SiteCode di CLQMS didapat dengan 2 cara:

  • manual: SiteCode dibuat di CRM kemudian diketikkan di CLQMS.
  • auto: SiteCode dibuat di CLQMS. Saat instalasi CLQMS on-site, ditampilkan pilihan site berdasarkan Account yang sudah diinput terlebih dahulu di CLQMS.

Table 19. discipline

Field Tipe data Display Keterangan
DisciplineID Discipline ID PK
SiteID Site ID FK; Dari table Site
DisciplineCode Nvarchar(7) Discipline Code Abbreviated text
DisciplineName Nvarchar Discipline Name Nama jelas
Parent Parent Discipline FK. Nullable. Parent DisciplineID
CreateDate Date Time Create Date Tanggal record ini dibuat
EndDate Date Time End Date Jika EndDate terisi berarti disiplin tersebut disabled di semua bagian aplikasi:

Table 20 department

Field Tipe data Display Keterangan
DepartmentID Department ID PK
DisciplineID FK; Dari Table 7. discipline
SiteID nvarchar Site ID FK; Dari table Site
DepartmentCode nvarchar Department Code Abbreviated text
DepartmentName nvarchar Department Name Nama department
CreateDate Date Time Create Date
EndDate Date Time End Date Jika EndDate terisi berarti department tersebut disabled di semua bagian aplikasi

Table 21 workstation

Field

Tipe data

Display

Keterangan

WorkstationID

Workstation ID

PK

DepartmentID

nvarchar

FK; dari Table 8 department

WorkstationCode

Nvarchar

Workstation Code

Abbreviated text

WorkstationName

Nvarchar

Workstation Name

Nama workstation

Type

TinyInt

Type

ValueSet

  • 0: primary, default penerima test order utama
  • 1: secondary, optional penerima test order kedua.

LinkTo

Link to

berisi WorkstationID tujuan.

Enable

TinyInt

Enable

ValueSet

  • 0: disabled
  • 1: enabled

CreateDate

Date Time

Create Date

Tanggal record ini dibuat

Contoh Struktur Organisasi

Gambar 7 Contoh Struktur Organisasi

Table 22 Contoh definisi Account

Account

ID
Parent

Account
AccountName Initial City Province
430 Sejahtera Anugrahjaya, Tbk. PT. SRAJ Kota Tangerang Banten

Table 23 Contoh definisi Site

Site

ID
Site

Code
SiteName Account

ID
SiteType Parent Site

Class
101 89 Mayapada Hospital Tangerang 430 PH B
165 A3 Lab Klinik MHTG 430 PHL 101
308 90 Mayapada Hospital Jakarta Selatan 430 PH B
377 A4 Lab Klinik MHJS 430 PHL 308

Table 24 Contoh definisi Department

Department

ID

Discipline

ID

Site

ID

Department

Code

DepartmentName

1

165

HRTN

Hematologi Rutin

1

165

HKHS

Hematologi Khusus

2

165

KK

Kimia Klinik

3

165

IMS

Imunologi

3

165

SRL

Serologi

4

165

UF

Urin

Table 25 Contoh definisi Workstation

Workstation

ID
Department

ID
Workstation

Code
Workstation Name Type LinkTo Enable EquipmentI

D
productnumber Note
1 1 HAUTO Hematologi Auto 0 1 627 TW-13001452 BC-6200
2 1 HBACK Hematologi Backup 1 1 1 715 DG5-27000012 BC760
3 3 CAUTO Kimia Auto 0 1 1128 6016850924 TMS-30i
4 3 CBACK Kimia Backup 1 3 1 64 2711771113 TMS-24i
5 3 CMAN Kimia Manual 0 1
6 4 IAUTO Imunologi Auto 0 1 185 BB1-03001085 CL-900i
7 4 IMAN Imunologi Manual 0 1

Host Systems

Host adalah system dimana data pasien dan test order berasal atau system yang menjadi superordinat. Host berupa software aplikasi, misalnya Hospital Information System (HIS), Medical Check Up System, Billing System, Clinical Management System (CMS), dll.

(perlu disinkronkan dengan test definition)

Data host disimpan dalam table-tabel sebagai berikut:

  • HostApp. Berisi definisi host systems.
  • HostComPara. Berisi data parameter komunikasi ke Host seperti IP address, ports, dll.

Table 26 HostApp

Field Tipe data Display Keterangan
HostAppID Nvarchar(5) Host Application ID PK
HostAppName nvarchar Host Application Name Nama host application
SiteID nvarchar Foreign Key; Dari table Site
CreateDate Date Time Create Date Tanggal record ini dibuat
EndDate Date Time End Date Jika EndDate terisi berarti HostApp tersebut sudah tidak digunakan, disabled di semua bagian aplikasi

Table 27 HostComPara

Field Tipe data Display Keterangan
HostAppID nvarchar(5) PK
HostIP nvarchar(15) Host IP IP Address dari Host
HostPort nvarchar(6) Host Port Port dari Host
HostPwd nvarchar Host Password
CreateDate Date Time Create Date Tanggal record ini dibuat
EndDate Date Time End Date Jika EndDate terisi berarti HostApp tersebut sudah tidak digunakan, disabled di semua bagian aplikasi

Coding System

Coding System dikelola menggunakan tabel-tabel sebagai berikut:

  • codingsys, coding system. Berisi definisi coding system.

Table 28 codingsys

Field Tipe data Display Keterangan
CodingSysID Coding System ID PK ;
CodingSysAbb nvarchar (6) Abbreviated Text Abbreviated text; Constraint: Tidak boleh ada yang sama
FullText nvarchar Full Text Nama coding system.
Description nvarchar Description Penjelasan singkat dari coding system
CreateDate Date Time Create Date Tanggal record ini dibuat
EndDate Date Time End Date Jika EndDate terisi berarti record tersebut disabled di semua bagian aplikasi

Doctor

Data doctor dikelola menggunakan tabel-tabel contact dari CRM:

  • Occupation
  • Contact
  • ContactDetail. Merelasikan Contact dengan Site dan merupakan syarat login.
  • ContactTraining
  • MedicalSpecialty

Table 29 Occupation

Field Tipe data Display Keterangan
OccupationID Occupation ID PK
OccCode Nvarchar(5) Occupation Code Abbreviated Text (Teks singkat)
OccText nvarchar Occupation Full Text Tampilan teks lengkap dari kelompok pekerjaan
Description nvarchar Description Penjelasan occupation, bisa berisi role & responsibilities.
CreateDate Date Time Create Date Menandai kapan record ini dibuat.

Table 30. Contact

Field

Tipe data

Display

Keterangan

ContactID

nvarchar

Contact ID

Primary Key

ExtContactID

External Contact ID

Contact ID dari CRM

NameFirst

nvarchar

First Name

NameLast

nvarchar

Last Name

Title

nvarchar

Title

Gelar. Misalnya: Dr. Prof, dll

Initial

nvarchar

Initial

Birthdate

Date

Birthdate

Email address 1

nvarchar

Email Address 1

Personal email address.

Email address 2

nvarchar

Email Address 2

Personal email address

Phone

nvarchar

Phone

MobilePhone_1

nvarchar

Mobile Phone 1

MobilePhone_2

nvarchar

Mobile Phone 2

Specialty

nvarchar

Specialty

Spesialisasi terkait pendidikan, misal: dokter. FK, SpecialtyID dari Table 31 MedicalSpecialty

SubSpecialty

nvarchar

Sub Specialty

Sub spesialis/konsultan terkait pendidikan. FK, SpecialtyID dari Table 31 MedicalSpecialty

Password

Password

Encrypted

CreateDate

Date Time

Create Date

Menandai kapan record ini dibuat.

EndDate

Date Time

End Date

Jika EndDate terisi berarti user tersebut disabled di semua bagian aplikasi:

  • Menandai record ini sudah tidak berlaku lagi.
  • Greyed di distribution list
  • Tidak lagi menerima kiriman email

Table 31. ContactDetail

Field

Tipe data

Display

Keterangan

ContactDetID

Contact Detail ID

Primary Key

ExtContactDetID

External Contact Detail ID

Contact Detail ID dari CRM

ContactID

Contact ID

FK; Dari table Contact

SiteID

Site ID

FK; Table 42. Site

Code

nvarchar

Code

Kode individu di site

ContactEmail

nvarchar

Email

Alamat email Contact di Site tersebut.

OccupationID

Occupation

FK dari Table 29 Occupation

JobTitle

Job Title

Jabatan Contact di Site tersebut, misalnya Penanggung Jawab Lab.

Department

Department

Department dimana Contact bekerja. Misalnya: Laboratorium, Penunjang Medis, dll

ContactStartDate

Date

Contact Start Date

Menandai Contact tersebut mulai bekerja di Site yang bersangkutan.

ContactEndDate

Date

Contact End Date

Menandai Contact tersebut tidak lagi bekerja di Site yang bersangkutan.

Jika EndDate terisi berarti user tersebut disabled di semua bagian aplikasi:

  • Menandai record ini sudah tidak berlaku lagi.
  • Greyed di distribution list

Tidak lagi menerima kiriman email

Table 32 ContactTraining

Field

Tipe data

Display

Keterangan

CTrainingID

Training ID

PK

ExtCTrainingID

External Training ID

External Training ID dari CRM

ContactID

Contact ID

FK dari table Contact.

TrainingType

nvarchar

Training Type

  • External training
  • Internal training
  • Seminar
  • Workshop

TrainingTitle

nvarchar

Training Title

StartDate

Date Time

Start Date

EndDate

Date Time

End Date

Facilitator

nvarchar

Facilitator

Penyelenggara training, seminar, workshop

CertificateLocation

nvarchar

Certificate Location

Lokasi penyimpanan file sertifikat

CreateDate

Date Time

Create Date

Menandai kapan record ini dibuat.

Table 33 MedicalSpecialty

Field Tipe data Display Keterangan
SpecialtyID Specialty ID Primary Key
SpecialtyText nvarchar Specialty Text Spesialisasi dokter
Parent nvarchar Parent Parent spesialis. Sub spesialis/konsultan memiliki parent spesialis.
Title nvarchar Title Gelar (Sp. PK, Sp.PD, Subsp.AI, dll)
CreateDate Date Time Create Date Menandai kapan record ini dibuat.
EndDate Date Time End Date Menandai kapan record ini berakhir.

Location

Data lokasi dikelola menggunakan tabel-tabel sebagai berikut:

  • location. Berisi definisi lokasi (sampling station, bed-xx, dll).
  • locationaddress. Berisi alamat lokasi.

Data-data berikut dikelola sebagai value set:

  • locationtype. Berisi definisi jenis lokasi (floor, point of care, room, bed), yaitu Lokasi yang berada di dalam site.

Table 34 location

Field Tipe data Display Keterangan
LocationID Location ID Primary Key
SiteID Nvarchar FK: SiteID dari table Site CRM. Site dimana lokasi ini berada.
LocCode Nvarchar(6) Location Code Abbreviated text; Constraint: Tidak boleh ada yang sama
Parent Parent Location PK: LocationID yang merupakan parent dari lokasi ini.
LocFull nvarchar Location Name Nama lengkap lokasi
Description nvarchar Description Deskripsi lokasi
LocType nvarchar (10) Location Type Lihat Value Set

Lihat Table 72. valueset untuk struktur lengkap. \* MERGEFORMAT
Extension nvarchar Extension Extension telepon
CreateDate Date Time Create Date Tanggal record ini dibuat
EndDate Date Time End Date Jika EndDate terisi berarti record tersebut disabled di semua bagian aplikasi

Table 35 locationaddress

Field

Tipe data

Keterangan

LocationID

PK, dari Table 34 location

Street1

nvarchar

Street 1

Informasi jalan

Street2

nvarchar

Street 2

Informasi jalan

City

nvarchar

City

Kota/Kabupaten15

Province

nvarchar

Province

Propinsi15

PostCode

nvarchar

Post Code

Kode pos

GeoLocationSystem

nvarchar

Geo Location System

  • Sistem/standard geolocation yang digunakan
  • Encrypted

GeoLocationData

Geo Location Data

  • Encrypted
  • (perlu dipelajari lebih lanjut format data GeoLocation baku)

Phone

nvarchar

Phone

Terestrial phone

Mobile

nvarchar

Mobile

Mobile phone

Email

nvarchar

Email

Email address.

CreateDate

Date Time

Create Date

Tanggal record ini dibuat

EndDate

Date Time

End Date

Jika EndDate terisi berarti type tersebut disabled di semua bagian aplikasi

Table locationaddress untuk menyimpan alamat remote location (lokasi temporer yang tidak berada dalam fasyankes).

Patient Registration

Data pasien dikelola menggunakan tabel-tabel sebagai berikut:

  • patient, patient. Berisi data pasien.
  • patcom, patient comment. Berisi data komentar/catatan/penjelasan tambahan atas data pasien.
  • patatt, patient attachment. Berisi data lampiran terkait pasien, bisa berupa file gambar, text, dll.
  • patidt, patient identifier list. Berisi identifikasi pasien (NIK, Social Security Number, Passport dll), berikut masa berlakunya.
  • patrelation, patient relationship. Berisi data hubungan antar pasien.
  • patreglog, patient audit log. Berisi perubahan-perubahan atas data pasien yang disimpan di table-table:
    • patient
    • patcom
    • patatt
    • patidt
    • patrelation

Data-data terkait pasien sebagai berikut, dikelola sebagai value set:

  • race. Berisi definisi ras
  • religion. Berisi definisi agama.
  • ethnic. Berisi definisi etnik.
  • country. Berisi definisi negara.

Data-data pada table terkait pasien tidak bisa di-archive jika masih memiliki test order yang aktif.

Data-data race, ethnic, religion, country bersifat umum dan dapat digunakan di semua sites dengan pengaturan:

  • records dengan field SiteID kosong (null) berlaku untuk semua sites default definition.
  • jika suatu site tidak bisa menggunakan definisi yang sama, maka perlu membuat record spesific site (field SiteID terisi). Jika hal ini dilakukan, maka site tersebut tidak bisa lagi menggunakan default definition.

Table 36 patient

Field

Tipe data

Display

Keterangan

InternalPID

PK ;

PatientID

nvarchar

Patient ID (PID)*

nomor unik identitas pasien. Constraint: Tidak boleh ada yang sama

AlternatePID

nvarchar

Alternate PID

Constraint: Tidak boleh ada yang sama

Prefix

nvarchar

Prefix

“Tn”, “Ny”, dll

NameFirst

nvarchar

First Name*

Nama depan

NameMiddle

nvarchar

Middle Name

Nama Tengah

NameMaiden

nvarchar

Maiden Name

Nama sebelum menikah (Perempuan)

NameLast

nvarchar

Last Name

Nama akhir/keluarga/marga

Suffix

nvarchar

Suffix

Biasanya untuk gelar

Gender

int

Gender*

valueset.vvalue:

F: female

M: male

U: unknown

PlaceOfBirth

nvarchar

Place Of Birth

Tempat lahir

Birthdate

Datetime

Birthdate

Constraint: <= waktu input data. Disimpan dalam UTC+0

Street_1

nvarchar

Street 1

Street_2

nvarchar

Street 2

Street_3

nvarchar

Street 3

City

nvarchar

City

Kabupaten/Kota [29]

Province

nvarchar

Province

Propinsi15

ZIP

nvarchar(7)

ZIP

Kode pos

Country

nvarchar

Country

valueset.vvalue. Menggunakan CntyID, lihat table Country

EmailAddress1

nvarchar

Email Address 1

Digunakan sebagai userid

EmailAddress2

nvarchar

Email Address 2

Phone

nvarchar

Phone

Nomor terrestrial

MobilePhone

nvarchar

Mobile Phone

Nomor seluler

Custodian

nvarchar

Custodian ID

Berisi PatientID dari orang tua (ibu) pasien

AccountNumber

nvarchar

Account Number

Nomor akun unit untuk accounting system.

Race

int

Race

valueset.vid. Ras pasien.

MaritalStatus

int

Marital Status

valueset.vvalue.

  • A: Separated
  • D: Divorced
  • M: Married
  • S: Single
  • W: Widowed
  • B: Unmarried
  • U: Unknown
  • O: Other

Religion

int

Religion

valueset.vid. Agama pasien.

Ethnic

int

Ethnic

valueset.vid Etnis pasien.

Citizenship

nvarchar

Citizenship

Kewarganegaraan

DeathIndicator

int

Deceased

valueset.vvalue. Y: death; N: life

DeathDateTime

Datetime

Time of Death

Waktu kematian, disimpan sebagai UTC+0.

LinkTo

nvarchar

Link To

FK. Berisi PatientID tujuan.

CreateDate

Date Time

Create Date

Tanggal record ini dibuat. UTC+0

DelDate

Date Time

Delete Date

Tanggal record ini dihapus. UTC+0

Penjelasan field:

  • LinkTo:
  • hanya boleh terisi dengan PatientID yang telah ada dalam table patient.
  • Jika terisi, berarti record pasien ini (source) dijadikan satu dengan PatientID tujuan (destination). PatientID tujuan adalan surviving entity.
  • beberapa pasien bisa link ke satu pasien.
  • unlink source terjadi bisa isi field LinkTo dikosongkan Kembali.
  • relasi source dengan test order dan lain-lain tidak berubah sebelum dan sesudah proses link.
  • link hanya satu tingkat. Pasien A dan B link ke pasien C. Bukan pasien A link ke pasien B, kemudian pasien B link ke pasien C. Oleh karena itu syarat destination bisa menerima link adalah field LinkTo masih kosong. Jika user melakukan multi-level link, aplikasi harus memberi peingatan multi-level link is not allowed” dan membatalkan operasi.
  • DelDate:
    • DelDate terisi jika record pasien dihapus.
    • Penghapusan dilakukan dengan cara pseudonymity atas fields berlatar belakang orange
    • Pseudonymity bersifat reversible.
    • Jika DelDate terisi maka semua records di table lain yang terkait record ini, terisi DelDate-nya

Table 37 patcom

Field

Tipe data

Display

Keterangan

PatComID

Patient Comment ID

PK

InternalPID

FK; Table 36 patient

Comment

nvarchar

Comment

Komentar/informasi tambahan

UserID

User ID

Identitas user yang menuliskan komentar. Berasal dari table:

  • CRM.User
  • CRM.Contact

CreateDate

Date Time

Create Date

Tanggal record ini dibuat. UTC+0.

DelDate

Date Time

Delete Date

Tanggal record ini dihapus. UTC+0.

Table 38 patatt

Field

Tipe data

Display

Keterangan

PatAttID

Patient Attachment ID

PK

InternalPID

FK; Table 36 patient

Address

nvarchar

Address

Lokasi file lampiran.

UserID

User ID

Identitas user yang menuliskan komentar. Berasal dari table:

  • CRM.User
  • CRM.Contact

CreateDate

Date Time

Create Date

Tanggal record ini dibuat. Dikonversi ke UTC+0.

DelDate

Date Time

Delete Date

Tanggal record ini dihapus. Dikonversi ke UTC+0.

Table 39 patidt

Field

Tipe data

Display

Keterangan

PatIdtID

Patient Identifier ID

PK

InternalPID

FK; Table 36 patient

IdentifierType

nvarchar(4)

Identifier Type

Encrypted. Jenis identifikasi. Misalnya

  • KTP: Kartu Tanda Penduduk
  • PASS: Passport
  • SSN: Social Security Number
  • SIM: Surat Izin Mengemudi
  • KTAS: Kartu Izin Tinggal Terbatas

Identifier

nvarchar

Identifier

Encrypted. Nomor identitas sesuai RefType

EffectiveDate

Date Time

Effective Date

Tanggal mulai berlakunya identifier

ExpirationDate

Date Time

Expiration Date

Tanggal kadaluwarsa identifier

CreateDate

Date Time

Create Date

Tanggal record ini dibuat. UTC+0.

DelDate

Date Time

Deletion Date

Tanggal record ini dihapus. UTC+0.

Table 40 patrelation

Field Tipe data Display Keterangan
PatRelID PK
InternalPID FK; Table 21 patient
CreateDate Date Time
EndDate Date Time Jika EndDate terisi berarti record tersebut disabled di semua bagian aplikasi

Table 41 patreglog

Field

Tipe data

Keterangan

PatRegLogID

Patient Registration Log ID

PK

TblName

nvarchar

Table Name

Nama table

RecID

int

Record ID

Record ID PK. Record dimana operasi/activity terjadi

FldName

nvarchar

Field Name

Nama field

FldValuePrev

nvarchar

Previous Value

Field Value Previous. Nilai sebelumnya

Operation

nvarchar

Operation

  • create create record
  • read read record/field
  • update update record/field
  • delete delete record/field

Lihat Lampiran 14:

SiteID

nvarchar

Site ID

FK dari table Site13

UserID

User ID

Identitas user yang melakukan operasi/activity data. Berasal dari table:

  • CRM.User
  • CRM.ContactDetail

Origin

nvarchar

Origin Table

Table dimana UserID disimpan:

  • CRM.User
  • CRM.ContactDetail

DIDType

nvarchar

DID Type

Device ID Type. Lihat Lampiran 14:

  • Windows: Device ID
  • Android: AAID
  • IOS: IDFA

DID

nvarchar

DID

Device ID

MachineID

nvarchar

Machine ID

Identitas mesin [30]dimana operasi/activity dilakukan MAC address

SessionID

nvarchar

Session ID

Application session ID

AppID

nvarchar

Application ID

Application ID

ProcessID

nvarchar

Process ID

Process ID

WebPageID

nvarchar

Web Page ID

EventID

nvarchar

Event ID

ActivityID

nvarchar

Activity ID

Activity ID

Reason

nvarchar

Reason

Alasan operasi/activity data

LogDate

Date Time

Log Date

Date & time log data. Dikonversi ke UTC+0

Table patreglog berdasarkan kaidah audit di bagian 5.4.21 dan menyimpan audit log terkait patient registration.

Patient Admission

Patient Admission adalah proses formal pasien diterima di rumah sakit untuk perawatan atau observasi.

Pengelolaan administrasi patient admission ke fasilitas pelayanan kesehatan (fasyankes) dilakukan melalui table sbb:

  • patvisit, patient visit. Berisi data kunjungan pasien ke fasyankes.
  • patdiag, patient diagnosis. Berisi data diagnosis. Dimungkinkan untuk multiple diagnosis per kunjungan.
  • patvisitadt, patient visit admission-discharge-transfer. Berisi data siklus pasien dari admission hingga discharge.
  • patvisitbill, patient visit billing. Berisi data detail item apa saja yang ditagihkan per kunjungan pasien.
  • patvisitlog, patient visit log. Berisi operasi/activity atas data pasien yang disimpan di table-table:
    • patvisit
    • patdiag
    • patvisitadt
    • patvisitbill

Table 42 patvisit

Field Tipe data Display Keterangan
InternalPVID Internal PVID PK.
SiteID SiteID FK dari table Site23
PVID Nvarchar(20) Patient Visit ID (PVID) Not null. Patient Visit ID. ID untuk setiap kunjungan pasien ke fasyankes; Constraint: Tidak boleh ada yang sama
InternalPID Internal PID Foreign Key; Table 36 patient
EpisodeID nvarchar Episode ID Episode number
LastVisitADT nvarchar Las Visit ADT Dari patvisitadt.Code
CreateDate Date Time Create Date Waktu record ini dibuat/posting di database. UTC+0
EndDate Date Time End Date Jika EndDate terisi berarti visit sudah closed. UTC+0
ArchivedDate Date Time Archived Date Jika ArchivedDate terisi berarti visit sudah diarsip dan dipindahkan ke data warehouse. UTC+0
DelDate Date Time Delete Date Jika DeleteDate terisi berarti record sudah dihapus dan tidak bisa di-akses oleh user biasa. UTC+0

Table 43 patdiag

Field Tipe data Display Keterangan
InternalPVID Internal PVID PK.
InternalPID Foreign Key; Table 21 patient
DiagCode nvarchar Diagnosis Code Diagnostic code.
Diagnosis Text Diagnosis Penjelasan lebih detail mengenai diagnosis.
CreateDate Date Time Create Date Waktu record ini dibuat/posting di database. UTC+0
EndDate Date Time End Date Jika EndDate terisi berarti visit sudah closed. UTC+0
ArchivedDate Date Time Archived Date Jika ArchivedDate terisi berarti visit sudah diarsip dan dipindahkan ke data warehouse. UTC+0
DelDate Date Time Delete Date Jika DeleteDate terisi berarti record sudah dihapus dan tidak bisa di-akses oleh user biasa. UTC+0

DiagCode untuk menerima diagnosis code dari host. Diagnosis tetap bisa di-key in di field diagnosis terlepas dari ada/tidaknya DiagCode.

Table 44 patvisitadt

Field Tipe data Display Keterangan
PVADTID PVADTID PK. Not null. Patient Visit ADT ID untuk setiap aktifitas ADT pasien per kunjungan
InternalPVID FK. Not null. Internal Patient Visit ID. Dari Table 27 patvisit
Code Nvarchar(5) Code Kode ADT[31]. Lampiran 14: Value set Dari Table 84 ADT Code
LocationID Location ID FK. Kode Lokasi dari Table 15 location. Assigned patient location.
AttDoc Attending Doctor[32] FK. Kode dokter yang menangani pengobatan pasien. Dari table ContactDetail, CRM.
RefDoc Referring Doctor FK. Kode dokter yang merujuk pasien. Dari table ContactDetail, CRM.
AdmDoc Admitting Doctor FK. Kode dokter yang menerima pasien di fasyankes. Dari table ContactDetail, CRM.
CnsDoc Consulting Doctor FK. Kode dokter konsulen. Dari table ContactDetail, CRM.
CreateDate Date Time Create Date Waktu record ini dibuat/posting di database. UTC+0
EndDate Date Time End Date Jika EndDate terisi berarti visit sudah closed. UTC+0
ArchiveDate Date Time Archive Date Jika ArchivedDate terisi berarti visit sudah diarsip dan dipindahkan ke data warehouse. UTC+0
DelDate Date Time Delete Date Tanggal record ini dihapus. UTC+0

Table 45 patvisitbill

Field Tipe data Display Keterangan
PatRelID PK
VisitClass nvarchar Visit Class Jenis visit. Dari Table 83 Patient Visit Class
BillAcc Nvarchar(20) Billing Account FK. Not null. Billing Account pihak yang membayar biaya layanan. Dari table Account. Untuk pengembangan selanjutnya
BillStatus Binary Billing Status Not null. Billing Status:

0: belum dibayar

1: sudah dibayar
CreateDate Date Time
EndDate Date Time Jika EndDate terisi berarti record tersebut disabled di semua bagian aplikasi. UTC+0

Table 46 patvisitlog

Field

Tipe data

Display

Keterangan

PatVisLogID

Patient Visit Log ID

PK

TblName

nvarchar

Table Name

Nama table

RecID

int

Record ID

Record ID PK. Record dimana operasi/activity terjadi

FldName

nvarchar

Field Name

Nama field

FldValuePrev

nvarchar

Previous Value

Field Value Previous. Nilai sebelumnya

Operation

nvarchar

Operation

Lihat Lampiran 14:

  • create create record
  • read read record/field
  • update update record/field
  • delete delete record/field

SiteID

nvarchar

Site ID

FK dari table Site13

UserID

User ID

Identitas user yang melakukan operasi/activity data. Berasal dari table:

  • CRM.User
  • CRM.ContactDetail

Origin

nvarchar

Origin Table

Table dimana UserID disimpan:

  • CRM.User
  • CRM.Contact

DIDType

nvarchar

DID Type

Device ID Type. Lihat Lampiran 14:

  • Windows: Device ID
  • Android: AAID
  • IOS: IDFA

DID

nvarchar

DID

Device ID

MachineID

nvarchar

Machine ID

Identitas mesin [33]dimana operasi/activity dilakukan MAC address

SessionID

nvarchar

Session ID

Application session ID

AppID

nvarchar

Application ID

Application ID

ProcessID

nvarchar

Process ID

Process ID

WebPageID

nvarchar

Web Page ID

EventID

nvarchar

Event ID

ActivityID

nvarchar

Activity ID

Activity ID

Reason

nvarchar

Reason

Alasan operasi/activity data

LogDate

Date Time

Log Date

Date & time log data. UTC+0

Patient admission mandatory dilakukan, jika:

  • pasien fasyankes yang memerlukan admit dan discharge
  • memerlukan billing
  • pilihan dari fasyankes

selain itu, tidak harus dilakukan (optional)

Test Ordering

Test ordering pasien dikelola menggunakan tabel-tabel sebagai berikut:

  • ordertest. Berisi data test ordering untuk clinical lab test.
  • ordercom, test ordering comment. Berisi data komentar/catatan/penjelasan tambahan atas data test ordering.
  • orderatt, test ordering attachment. Berisi lampiran-lampiran atas test order.
  • orderstatus. Berisi status test ordering. Open, closed, dll
  • ordercons. Berisi data barang habis pakai yang digunakan.
  • orderlog. Berisi data operasi/activity yang dilakukan atas test order, yaitu tables:
    • ordertest
    • ordercom
    • orderatt
    • orderstatus
    • ordercons

Table 47 ordertest

Field

Tipe data

Display

Keterangan

InternalOID

Internal Order ID

PK. Internal Order ID

OrderID

Nvarchar(22)

Order ID

Not null. Nomor test order, sama dengan HL7-Filler Order Number. Mengikuti kentetuan tersebut di 4.2.1.8

Constraint: Tidak boleh ada yang sama

PlacerID

Nvarchar(22)

Placer Order ID

Nomor identitas test order dari aplikasi lain/host, HL7 Placer Order Number.

Constraint: Tidak boleh ada yang sama

InternalPID

Foreign Key; Table 36 patient

SiteID

nvarchar

FK dari table Site23. Site dimana order dibuat

PVADTID

PVADTID

FK. Patient Visit ID. ID untuk setiap aktifitas ADT pasien per kunjungan. Optional.

ReqApp

Nvarchar

Requested Application

Requested application, identitas aplikasi yang mengirimkan test order.

ReqEntity

Nvarchar(3)

Requested Entity

Entitas yang meminta pemeriksaan. Misalnya:

  • pat: pasien itu sendiri yang meminta
  • isn: permintaan oleh Perusahaan asuransi.
  • acc: permintaan oleh Perusahaan
  • doc: permintaan oleh dokter

ReqEntityID

Nvarchar(20)

Requested Entity ID

Identitas entitas yang meminta pemeriksaan. Jika:

  • pat: field ini kosong
  • doc: berisi PK dari CRM.ContactDetail
  • acc: berisi PK dari CRM.Account

Priority

Priority

Kode urgensi, lihat Value set (

TrnDate

Date Time

Transaction Date

Transaction date, yaitu waktu test order dibuat. UTC+0

EffDate

Date Time

Effective Date

Order effective date time, yaitu waktu dimana test order seharusnya mulai diproses. UTC+0

CreateDate

Date Time

Create Date

Waktu record ini dibuat/posting di database. UTC+0

EndDate

Date Time

End Date

Jika EndDate terisi berarti test order sudah closed. UTC+0

ArchiveDate

Date Time

Archive Date

Jika ArchiveDate terisi berarti test order sudah diarsip dan dipindahkan ke data warehouse. UTC+0

DelDate

Date Time

Delete Date

Jika DeleteDate terisi berarti test order sudah dihapus dan tidak bisa di-akses oleh user biasa. UTC+0

Penjelasan field:

  • TrnDate, jika:
    • >= EffDate, maka order dianggap mulai diproses sejak order effective date/time.
    • < EffDate, maka order baru mulai diproses sejak order effective date/time
    • EffDate = null, maka order mulai diproses sejak transaction date/time
  • CreateDate berisi waktu dimana record ini di-posting ke dalam database. CreateDate bisa berbeda dengan TrnDate pada situasi dimana data dibuat di adalah lain atau aplikasi remote medical check-up yang bisa beroperasi stand alone.
  • PVADTID. Jika PVADTID tidak diisi, maka fields LocationID, AttDoc, RefDoc, AdmDoc, CnsDoc pada table order diisi saat test ordering. Sebaliknya maka order record tersebut berelasi dengan patvisitadt record sehingga:
  • fields LocationID, AttDoc, RefDoc, AdmDoc, CnsDoc pada table order terisi otomatis dengan data yang sama dari table patvisitadt.
  • update/perubahan yang terjadi pada fields LocationID, AttDoc, RefDoc, AdmDoc, CnsDoc pada table patvisitadt akan dicerminkan ke fields yang sama pada table order.

Table 48 ordercom

Field

Tipe data

Display

Keterangan

OrderComID

Order Comment ID

PK

InternalOID

FK. Internal Order ID. Dari Table 47 order

Comment

text

Comment

Komentar

UserID

User ID

Identitas user yang menuliskan komentar. Berasal dari table:

  • CRM.User
  • CRM.ContactDetail

Origin

nvarchar

Origin Table

Table dimana UserID disimpan:

  • CRM.User

CRM.ContactDetail

CreateDate

Date Time

Create Date

Tanggal record ini dibuat. UTC+0

EndDate

Date Time

End Date

Jika EndDate terisi berarti order comment sudah closed. UTC+0

ArchiveDate

Date Time

Archive Date

Jika ArchiveDate terisi berarti order comment sudah diarsip dan dipindahkan ke data warehouse. UTC+0

DelDate

Date Time

Delete Date

Jika DeleteDate terisi berarti order comment sudah dihapus dan tidak bisa di-akses oleh user biasa. UTC+0

Table 49 orderatt

Field

Tipe data

Display

Keterangan

OrderAttID

Order Attachment ID

PK

InternalOID

FK. Internal Order ID. Dari Table 31 order

Address

nvarchar

Address

Lokasi file lampiran.

UserID

User ID

Identitas user yang menuliskan komentar. Berasal dari table:

  • CRM.User
  • CRM.ContactDetail

Origin

nvarchar

Origin Table

Table dimana UserID disimpan:

  • CRM.User

CRM.ContactDetail

CreateDate

Date Time

Create Date

Tanggal record ini dibuat. UTC+0

EndDate

Date Time

End Date

Jika EndDate terisi berarti order comment sudah closed. UTC+0

ArchiveDate

Date Time

Archive Date

Jika ArchiveDate terisi berarti order attachment sudah diarsip dan dipindahkan ke data warehouse. UTC+0

DelDate

Date Time

Delete Date

Jika DeleteDate terisi berarti order attachment sudah dihapus dan tidak bisa di-akses oleh user biasa. UTC+0

Table 50 orderststatus

Field

Tipe data

Display

Keterangan

OrderStatID

Order Status ID

PK. Not null.

InternalOID

FK. Internal Order ID. Dari Table 47 order

OrderStatus

Nvarchar(2)

Order Status

Kode status test order, lihat Lampiran 14:
(dari Table 83 Test order status codes)

CreateDate

Date Time

Create Date

Waktu order dibuat/order date time. UTC+0

EndDate

Date Time

End Date

Jika EndDate terisi berarti order status sudah closed. UTC+0

ArchiveDate

Date Time

Archive Date

Jika ArchiveDate terisi, berarti record ini sudah masuk data warehouse dan tidak boleh diiubah lagi. UTC+0

DelDate

Date Time

Delete Date

Jika DeleteDate terisi berarti order status sudah dihapus dan tidak bisa di-akses oleh user biasa. UTC+0

Table 51 orderlog

Field

Tipe data

Display

Keterangan

OrderLogID

Order Log ID

PK

TblName

nvarchar

Table Name

Nama table

RecID

int

Record ID

Record ID PK. Record dimana operasi/activity terjadi

FldName

nvarchar

Field Name

Nama field

FldValuePrev

nvarchar

Previous Value

Field Value Previous. Nilai sebelumnya

Operation

nvarchar

Operation

Lihat Lampiran 14:

  • create create record
  • read read record/field
  • update update record/field
  • delete delete record/field

SiteID

nvarchar

Site ID

FK dari table Site13

UserID

User ID

Identitas user yang melakukan operasi/activity data. Berasal dari table:

  • CRM.User
  • CRM.Contact

Origin

nvarchar

Origin Table

Table dimana UserID disimpan:

  • CRM.User
  • CRM.ContactDetail

DIDType

nvarchar

DID Type

Device ID Type. Lihat Lampiran 14:

  • Windows: Device ID
  • Android: AAID
  • IOS: IDFA

DID

nvarchar

DID

Device ID

MachineID

nvarchar

Machine ID

Identitas mesin [34]dimana operasi/activity dilakukan MAC address

SessionID

nvarchar

Session ID

Application session ID

AppID

nvarchar

Application ID

Application ID

ProcessID

nvarchar

Process ID

Process ID

WebPageID

nvarchar

Web Page ID

EventID

nvarchar

Event ID

ActivityID

nvarchar

Activity ID

Activity ID

Reason

nvarchar

Reason

Alasan operasi/activity data

LogDate

Date Time

Log Date

Date & time log data. UTC+0

Patient Registration, Patient Visit, ADT & Test Ordering

Gambar 8 hirarki patient, patvisit, patvisitadt dan ordertest

Table 52 Contoh table patient

InternalPID PatientID NameFirst NameMiddle NameMaiden NameLast Suffix Gender
1 00-01-23 Agus Perikesit M
2 23-87-55 Rukmini Ambarsari F

Table 53 contoh table patvisit

Case # Internal

PVID
SiteID PVID Internal

PID
EpisodeID CreateDate
1 1 01 PV001 1 EP001 2025-01-07 06:15:00
2a 2 01 PV003 2 EP003 2025-01-07 16:15:00
2b 3 01 PV004 2 EP004 2025-01-07 18:46:00
3 4 01 PV005 2 EP007 2025-05-21 09:55:00

Table 54 contoh table patvisitadt

Case

#

PVADT

ID

Internal

PVID

Code

Location

ID

Att

Doc

Ref

Doc

Cns

Doc

CreateDate

ADT Event integrated

(standalone)

1

1

A04

2025-01-07 06:15:00

P. Registration

1

A01

IGD

D001

2025-01-07 06:25:00

P. Admission

1

A02

ICU

D001

2025-01-07 12:28:00

P. Transfer (location)

1

A02

IRNA 1

D001

2025-01-09 07:07:00

P. Transfer (location)

1

A03

IRNA 1

D001

2025-01-11 11:06:00

P. Discharge

2a

2

A04

2025-01-07 16:15:00

P. Registration

2

A01

P. Jantung

D003

2025-01-07 16:26:22

P. Admission

2

A03

P. Jantung

D003

2025-01-07 18:46:00

P. Discharge

2b

3

A01

IRNA 3

D005

D003

2025-01-07 18:50:38

P. Admission

3

A02

OK

D005

D003

2025-01-07 19:55:24

P. Transfer (location)

3

A02

Recovery 1

D005

D003

2025-01-07 21:30:47

P. Transfer (location)

3

A02

IRNA 3

D005

D003

2025-01-08 03:52:11

P. Transfer (location)

3

A03

IRNA 3

D005

D003

2025-01-08 10:54:31

P. Discharge

3

4

2025-05-21 09:55:00

P. Registration

4

P. Jantung

D003

2025-05-21 10:01:00

P. Admission

4

P. Internis

D009

2025-05-21 10:35:00

P. Transfer (loc & doc)

Table 55 contoh table ordertest

Case

#

Internal

OID

OrderID

PlacerID

Internal

PID

Site

ID

PVADT

ID

Req

App

Priority

Trn

Date

1

0125010700001

250107001

1

01

2

HIS

Stat

2025-01-07 07:02:00

0125010700112

250107112

1

01

3

HIS

Stat

2025-01-07 18:09:00

0125010800003

250108003

1

01

3

HIS

Routine

2025-01-08 05:33:00

0125010800107

250108107

1

01

3

HIS

Routine

2025-01-08 18:29:00

0125010900005

250109005

1

01

3

HIS

Routine

2025-01-09 06:27:00

0125011000002

250110002

1

01

4

HIS

Routine

2025-01-10 06:05:00

2b

0125010700133

250110133

2

01

9

HIS

Routine

2025-01-07 18:59:00

0125010700142

250110142

2

01

10

HIS

Routine

2025-01-07 21:07:24

3

0125052100056

2

01

15

Stat

2025-05-21 10:24:00

Case #1

Pasien Agus Parikesit (MR 00-01-23) tiba di IGD fasyankes pada tanggal 7 Januari 2025 karena mengalami demam tinggi dan di-registrasi jam 06:15:00. Proses admission dilakukan jam 06:25. Dokter jaga (attending doctor) mendiagnosa demam berdarah dan untuk memastikannya, pada 07.02 pasien diperiksa Panel Demam ke laboratorium.

Jam 12:28, pasien dipindah ke ICU karena kondisi memburuk. Pasien dirawat di ICU selama 2 hari dan dokter minta check Thrombosit 2 kali sehari di pagi dan sore hari..

Pada 9 Januari 2025, jam 7:07 pasien dipindahkan ke Instalasi Rawat Inap 1 (IRNA 1) karena sudah stabil dan dipantau selama 2 hari. Pemeriksaan Thrombosit dilakukan tiap pagi. Tanggal 11 Januari 2025, jam 11:06 pasien boleh pulang (discharge).

Case #2

Pasien Rukmini Ambarsari (MR 23-87-55) konsultasi ke kardiolog dr. D003 di Poli Jantung pada tanggal 7 Januari 2025. Registrasi dilakukan jam 16:15, dilanjutkan proses admission jam 16:26. Saat konsultasi, disarankan pemasangan stent. Pasien memutuskan untuk segera menjalani tindakan tersebut. Berdasarkan policy fasyankes tersebut, pihak administrasi Rawat Jalan melakukan discharge (18:46) untuk kemudian admit di fasilitas Rawat Inap.

Jam 18:50, pasien dirujuk ke IRNA 3 dan ditangani dokter bedah jantung (bedah toraks kardiovaskular) dr. D005. Atas permintaan dr. D005, pasien diperiksa panel Pre-Op (fungsi ginjal, elektrolit, dan tanda-tanda infeksi) pada jam 18:59 sebagai bagian dari persiapan operasi. Pasien siap menjalani operasi, berdasarkan hasil panel Pre-Op dari laboratorium yang diterima di IRNA 3 jam 19:44

Jam 19:55 pasien dipindahkan ke kamar operasi (OK) untuk menjalani tindakan pemasangan stent.

Jam 21:02, dr. D005 mengambil sample darah pasien dan order pemeriksaan lab (21:07). Test order ini selesai jam 21:52.

Pasca operasi, pasien dipindahkan ke ruang pemulihan Recovery 1 (21:30) untuk dipantau selama 6 jam kedepan. Hasil laboratorium (Order ID 0125010700142) yang selesai 21:52 otomatis dikirim ke Recovery 1.

Tanggal 8 Januari 2025, jam 03:52 pasien dipindah ke IRNA 3 dan pada jam 10:54 sudah boleh pulang (discharge).

Case #3

Pasien Rukmini Ambarsari (MR 23-87-55) konsultasi ke kardiolog dr. D003 di Poli Jantung pada tanggal 21 Mei 2025. Registrasi dilakukan jam 09:55, dilanjutkan proses admission jam 10:01. Kedatangan kali ini bertujuan kontrol pasca pemasangan stent. Saat konsultasi, diminta periksa lab (10:24) dan setelahnya dirujuk ke Poli Internis dengan dr. D009 (10:35).

Hari itu, CLQMS terputus dari HIS sehingga test ordering dilakukan langsung di CLQMS. OrderID 0125052100056 adalah atas permintaan dr D003 dan tercatat berasal dari Poli Jantung. Hasil baru selesai setelah pasien pindah ke Poli Internis, sehingga tidak dilakukan pencetakan hasil otomatis ke Poli Jantung.

Note:

  1. Table patvisitadt menyimpan status pasien, yaitu life cycle pasien dari registration hingga discharge sesuai kode ADT (Lampiran 14: Value set / Admission Discharge Transfer Code).
  2. Jika ada ADT events yang dilakukan pada saat yang bersamaan, misalnya ganti dokter dan pindah lokasi, maka dicatat di waktu yang sama (CreateDate ADT events tersebut sama) tetapi dalam record yang berbeda sesuai dengan ADT event yang diterima dari HIS.
  3. Admitting dan Referring doctor, seyogyanya tidak bisa diganti. Tetapi jika terjadi kesalahan administrasi maka menggunakan kode A08 (Update Patient Information).
  4. Pasca discharge, tidak boleh terjadi:
    1. perpindahan lokasi dan dokter.
    2. perubahan data visit. Hal ini terkait dengan billing discharge berarti billing sdh pasti/closed.
  5. Discharge dilakukan terhadap visit oleh karenanya semua record terkait visit tersebut tidak bisa diedit/update lagi, termasuk penambahan test order tidak bisa dilakukan lagi terhadap visit tersebut.
  6. Bisa/tidaknya suatu visit di-discharge bila ada hasil lab yang belum selesai tergantung pada policy fasyankes. Umumnya menunggu hasil lab selesai, baru discharge.
  7. Cancel discharge
    1. bisa dilakukan:
      1. atas instruksi dari HIS, misalnya berupa ADT message
      2. oleh orang tertentu saja di lab
    2. tidak meng-update existing record tetapi men-trigger tambahan patvisitadt record dengan Code: A13 (cancel discharge).

Specimen [35]

Data-data terkait specimen dikelola menggunakan tables dan Value Sets. Tables untuk mengelola specimen terdiri dari:

  • containerdef[36]. Berisi definisi jenis-jenis wadah specimen yang digunakan setiap site, termasuk wadah yang digunakan untuk transport (merujuk) ke site lain. Agar fleksibel, table ini hanya menyimpan atribut generik dari tiap jenis wadah, tidak sampai spesifik atribut produk.

  • spccounter. Adalah definisi Lokasi/tempat peyimpanan specimen. Misalnya refrigerator, dll.

  • specimens. Adalah table transaksi yang berisi data specimen yang harus dikumpulkan dari tiap-tiap test orders

    • (to be collected).
    • Terisi otomatis:
      • segera setelah test order dibuat, berdasarkan pilihan test
      • jika user melakukan aliquot dan mencetak label tambahan (additional label).
    • Bersama dengan containertype table, digunakan menghitung penggunaan container
  • specimenstatus. Berisi data status specimen, lokasi, waktu dan user yang bertanggung jawab, berikut perubahan-perubahannya. Table specimenstatus merekam proses actual specimen collection hingga disposal (dibuang, dimusnahkan). Termasuk fungsi dari table ini:

    • perpindahan specimen dari satu lokasi ke lokasi lain: rumah pasien (home service), lokasi sampling MCU, dll tracking.
    • distribusi specimen ke department di dalam laboratorium
  • specimencollection. Berisi data-data detail terkait specimen collection. Misalnya, waktu mulai dan akhir pengumpulan specimen untuk urine 24 jam. Tidak semua specimen memerlukan data ini.

  • specimenconsumables. Berisi data bahan habis pakai yang digunakan di setiap activity terkait specimen. Pencatatan bahan habis pakai dipicu oleh activity yang dilakukan atas specimen (direpresentasikan oleh SID). Pencatatan bahan habis pakai specific hingga no katalog product yang digunakan.

  • specimenprep. Berisi data-data terkait specimen preparation/processing. Satu spesimen bisa mengalami beberapa kali tahap persiapan.

  • specimentrans. Berisi data-data specimen transport/handling, termasuk packaging untuk dikirim ke site lain.

  • specimenlog. Berisi data perubahan-perubahan yang dilakukan atas specimens, yaitu tables:

    • specimens
    • specimenstatus
    • specimencollection
    • specimenprep
    • specimetrans

Value sets terkait specimens adalah:

  • spcact, yaitu definisi specimen status/aktivitas (activity). Misalnya, “Collection”, “Transport”, ”Reception”, dll.
  • actres, yaitu activity result.
  • spcstatus, yaitu status dari specimen.
  • spccon, specimen condition definition. Berisi definisi kondisi specimen.

Table 56 containerdef

Field

Tipe data

Display

Keterangan

ConDefID

Container Definition ID

PK. Container Definition ID

SiteID

nvarchar

FK. Site dimana container didefinisikan, dari table Site.

ConCode

nvarchar(3)

Container Code

Container code berupa abbreviated text; Bagian dari Specimen ID. Tercetak pada label/report. Constraint: unique.

ConName

nvarchar

Container Name

Nama jelas container; Tercetak pada label/report. Misal ”2H PP”

ConDesc

nvarchar

Description

Penjelasan container. Misalnya: “Container untuk specimen Glukosa 2HPP”

Additive

nvarchar

Additive

Value Set. Zat additive di dalam container.

ConClass

int

Container Class

Value Set.Container class:

  • 1: primary, kontak langsung dengan spesimen
  • 2: secondary, wadah primary container
  • 3: tertiary, wadah secondary container.

Color

int

Color

Value Set. Warna container cap.

CreateDate

Date Time

Create Date

Waktu record ini dibuat. UTC+0

EndDate

Date Time

End Date

Jika EndDate terisi berarti record tersebut tidak digunakan. UTC+0

Table 57 contoh container definition

ConCode ConName ConDesc Additive Con Class Pic Example[37]
001 SST Evacuated blood collection tube, gel separator Gel 1
011 Plain Evacuated blood collection tube, no additive/metal-free None 1
012 2Hr PP Evacuated blood collection tube, untuk Glukosa 2 Jam PP Sodium Fluoride 1
013 Glukosa Sewaktu Evacuated blood collection tube, untuk Glukosa Sewaktu Sodium Fluoride 1
014 GTT 30 menit Evacuated blood collection tube, untuk GTT 30 menit Sodium Fluoride 1
015 GTT 60 menit Evacuated blood collection tube, untuk GTT 60 menit Sodium Fluoride 1
016 GTT 120 menit Evacuated blood collection tube, untuk GTT 90 menit Sodium Fluoride 1
020 RST Evacuated blood collection tube, thrombin/clot activator/gel separator Clot activator 1
101 EDTA - Hematologi Evacuated blood collection tube, K2EDTA/aprotinin K2EDTA 1
150 Citrate Koagulasi Evacuated blood collection tube, untuk koagulasi Sodium citrate (substance) 1
200 Aliquot General specimen container, no additive, non-sterile. Untuk aliquot <null> 1
290 Pot Urin Non-sterile urine specimen container IVD <null> 1
295 Urine Container Urine specimen container <null> 1
900 Packing Pengiriman Specimen Transport Packaging <null> 2

Gambar 9 Specimen packaging

Catatan:

  • dalam suatu lingkungan multi-sites, semua sites harus menggunakan ConDefID yang sama.

Table 58 spccounter

Field Tipe data Display Keterangan
SpcCounterID Specimen Counter ID PK. Specimen counter ID
SiteID nvarchar Foreign Key, dari table Site
LocationID FK dari Table 34 location
SpcCounterName nvarchar Specimen Counter Name Nama specimen counter
Description nvarchar Description Penjelasan specimen counter
CreateDate Date Time Create Date Waktu record ini dibuat. UTC+0
EndDate Date Time End Date Jika EndDate terisi berarti record tersebut tidak digunakan. UTC+0

Table 59 specimens

Field

Tipe data

Display

Keterangan

InternalSID

Internal SID

PK. Internal Specimen ID

SID

Nvarchar(30)

Sample ID (SID)

Not null. Specimen ID. Dicetak sebagai specimen/sample number. Mengikuti rumusan pada Specimen Management

Constraint: Tidak boleh ada yang sama

SiteID

FK. Not null. Site asal specimen. Dari table Site

OrderID

FK. Not null. Test order ID, dari table ordertest

ConDefID

Container Definition ID

FK. Not null. Dari table containerdef

Parent

nvarchar(30)

Parent

SID dari parent specimen. Setiap secondary specimen harus memiliki parent specimen.

Qty

int

Quantity

Quantity, menunjukkan jumlah specimen yang sama yang harus dikumpulkan. Misalnya pada urine 24 jam.

Unit

nvarchar

Unit

Value Set. Satuan specimen. Misalnya mL, L, pcs, dll.

GenerateBy

nvarchar

Generate By

Value Set. Pemicu terbentuknya record ini:

  • order: dipicu oleh proses test order
  • user: permintaan tambahan label

SchDateTime

Date Time

Scheduled Date and Time

  • Jadwal specimen collection.

CreateDate

Date Time

Create Date

Tanggal record ini dibuat. UTC+0

EndDate

Date Time

End Date

Jika EndDate terisi berarti specimen ini sudah closed. UTC+0

ArchiveDate

Date Time

Archive Date

Jika ArchiveDate terisi berarti specimen sudah diarsip dan dipindahkan ke data warehouse. UTC+0

CreateDate

Date Time

Waktu record dibuat. UTC+0

ArchiveDateDate Time

Jika ArchiveDate terisi berarti specimen tersebut tidak bisa dioperasikan di semua bagian aplikasi:

_A,_atau pengambilan ulang, (secondary specimen) parent t

Tetapi tidak semua aliquot memiliki parent, misalnya saat lab menerima sample serum dari fasyankes lain.

Table 60 contoh transaksi specimen

Case# SID

LLYYMMDDXXXXXSSSC
OrderID

LLYYMMDDXXXXX
Parent Qty Unit Notes
1 00250919000010010 0025091900001 1 SST
00250919000010120 0025091900001 1 2Hr PP
00250919000011010 0025091900001 1 EDTA
2 00250919000020010 0025091900002 1 SST
00250919000020011 0025091900002 1 SST
3 00250919000030010 0025091900003 1 SST
00250919000032000 0025091900003 00250919000030010 1 Aliquot
4 00250919000040010 0025091900004 1 SST
00250919000040011 0025091900004 00250919000040010 1 SST
5 00250919000050010 0025091900005 1 SST
00250919000052951 0025091900005 2 L Urine Container

Keterangan Case:

  1. Order pemeriksaan Hematolongi, Kimia, termasuk 2 Jam PP.
  2. Order pemeriksaan Immunologi dan Kimia, keduanya menggunakan tabung (ber-gel) SST. Phlebotomist mengambil darah sebanyak 2 tabung (tambah) agar pemeriksaan Kimia dan Imunologi bisa dikerjakan simultan.
  3. Order pemeriksaan Immunologi, sebagian perlu merujuk sehingga dilakukan aliquoting (secondary specimen).
  4. Order pemeriksaan Kimia. Saat specimen reception di lab, specimen tidak memenuhi syarat sehingga harus diambil ulang menggunakan tabung yang sama. Tabung pertama dinyatakan tidak layak pakai, dikarantina dan dimusnahkan.
  5. Order pemeriksaan Kimia, termasuk Creatinine Clearence yang memerlukan 2 liter specimen urine.

Table 61 Variasi Perjalanan Specimen

Pre-analytic

Analytic

Post-analytic

Collection

Examination

Storing

  • ruang rawat inap/UGD
  • laboratorium
  • sampling station di dalam fasyankes
  • sampling station di luar fasyankes
  • rumah pasien
  • lokasi MCU
  • rujukan dari lab lain
  • instrument A
  • dipindah ke instrument B
  • workbench [38]A
  • dirujuk ke site lain (multi-site)
  • dirujuk ke fasyankes lain
  • disimpan di storage A (2-8oC) selama x hari
  • disimpan di storage B (-20oC) selama x hari

Transport

Rerun/Add

Rerun/Add

  • transport di dalam site
  • transport dari luar site
  • transport ke luar site
  • rerun
  • tambahan tes
  • di-sentrifugasi ulang
  • rerun setelah beberapa waktu.
  • tambahan tes

Handling

Results/Review

  • dikemas dg suhu tertentu
  • diberi label/penanda

Reception

  • terima specimen fasyankes
  • terima specimen rujukan

Preparation

  • sentrifugasi
  • aliquoting

Storing

Disposing

  • disimpan sementara utk pooling.
  • disimpan sementara utk dirujuk

dimusnahkan

Table 62 specimenstatus

Field

Tipe data

Display

Keterangan

SpcStaID

Specimen Status ID

PK. Not null.

SID

nvarchar

SID

Specimen ID; Dicetak sebagai bagian dari specimen/sample number.

OrderID

FK. Not null. Request ID dari Table 31 .

SpcAct

nvarchar

Specimen Activity

Value Set. Activity yang dilakukan atas specimen.

ActRes

int

Activity Result

  • null: belum ada status
  • Value Set. Activity Result.
    • 0: gagal
    • 1: berhasil dengan catatan
    • 2: berhasil

SpcStatus

nvarchar

Specimen Status

Value Set. Specimen Status.

Qty

int

Quantity

Quantity, menunjukkan jumlah specimen yang sama yang berhasil dikumpulkan.

Unit

nvarchar

Unit

Value Set. Satuan specimen. Misalnya mL, L, pcs, dll.

SpcCon

nvarchar

Condition

Value Set. Specimen condition. Specimen Condition

Comment

nvarchar

Comment

Informasi tambahan.

CurrSiteID

nvarchar

Current Site ID

FK, Current Site ID. Site dimana specimen berada. Dari table Site

CurrLocID

nvarchar

Current Location ID

Current Location, lokasi dimana specimen berada. Berisi FK, salah satu dari:

  • LocationID dari Table 15 location
  • SpcCounterID dari Table 38 spccounter
  • EquipmentID dari Table 47. equipmentlist

Origin

nvarchar

Origin

Nama table asal Foreign Key:

  • location
  • spccounter
  • equipmentlist

GeoLocationSystem

nvarchar

Geo Location System

  • Sistem/standard geolocation yang digunakan
  • Untuk pemantauan pengiriman[39] specimen.

GeoLocationData

Geo Location Data

  • Untuk pemantauan pengiriman21 specimen.

(perlu dipelajari lebih lanjut format data GeoLocation baku)

DIDType

nvarchar

DID Type

Value Set. Device ID Type:

  • Windows: Device ID
  • Android: AAID
  • IOS: IDFA

DID

nvarchar

DID

Device ID

UserID

nvarchar

User ID

Identitas user yang melakukan perubahan status. Berasal dari table:

  • CRM.User
  • CRM.ContactDetail

LogDate

Date Time

Log Date

Waktu record ini dibuat. UTC+0

EndDate

Date Time

End Date

Jika EndDate terisi berarti specimen status record ini sudah closed. UTC+0

ArchiveDate

Date Time

Archive Date

Jika ArchiveDate terisi berarti record ini sudah masuk data warehouse dan tidak boleh diiubah lagi. UTC+0

Setiap membuat record specimenstatus, aplikasi melakukan:

  • mengidentifikasi DID, MachineID, IP Address dan membandingkan data dari Table 47. devicelist, untuk menentukan CurrSiteID dan CurrLocID
  • mengidentifikasi GeoLocationData dan mencatatnya, terutama pada activity terkait spesimen yg bersifat mobile. Misalnya pengiriman dengan kurir.

Condition bisa berisi lebih dari satu dan dipisah dengan ^. Misalnya: HEM^LIP^FROZ

LogDate dimana:

  • collect success adalah collection date time.
  • receive di lokasi lab success adalah received date time.

Table 63 Contoh perjalanan specimen (specimen status)

SID Site

ID
Activity ActRes LocationID[40] UserID Qty Unit Logdate Keterangan
00250919000010010 00 Collection Failed IRNA_A Tono 1 pc 2024-06-30 08.30:12.002 diambil
00250919000010010 00 collection Success IRNA_A Surya 1 pc 2024-06-30 08.40:18.985 diambil kedua kalinya.
00250919000010010 00 Reception Success Lab Jono 1 pc 2024-06-30 09.01:02.028 diterima di Lab
00250919000010010 00 Aliquot Success Lab Tini 1 pc 2024-06-30 09.30:08.762 di-aliquot/dibagi
00250919000010010 00 Transport Success Lab Budi 1 pc 2024-06-30 09.45:19.537 dikirim ke lab rujukan
00250919000010010 02 Reception Success LabRujukan Santi 1 pc 2024-06-30 10.45:06.349 diterima di lab rujukan
00250919000010010 00 Reception Success TMS-30i[41] Bejo 1 pc 2024-06-30 10.51:11.743 diterima di TMS-30i[42]
00250919000010010 00 Reception Success Ref_1[43] Putri 1 pc 2024-06-30 12.03:22.835 disimpan di refrigerator
00250919000010010 00 destroy Success Tungku_1 Putra 1 pc 2024-07-06 17.03:45.637 dimusnahkan

Perubahan status dilakukan dengan scan label oleh user/informasi otomatis. Aplikasi dan user login dimanfaatkan untuk mengidentifikasi CurrSiteID, CurrLocID dan UserID.

Query message yang dikirim oleh instrument bisa dijadikan penanda bahwa specimen telah berada di dalam instrument tersebut.

Failed activity termasuk non-conformity dan dijelaskan di field Comment.

Pengambilan sample bisa juga di luar fasyankes (tempat tinggal/kerja pasien, MCU sampling site, dll)

Table 64 specimencollection

Field

Tipe data

Display

Keterangan

SpcColID

nvarchar

Specimen ColIection ID

PK. Not null.

SpcStaID

FK. Not null. Dari Table 42 specimenstatus

SpcRole

nvarchar

Specimen Role

Value Set. Peran spesimen; Lihat Table 88 Specimen Role. Default value: P Patient

ColMethod

nvarchar

Collection Method

Value Set yang menjelaskan teknik yang digunakan untuk melakukan specimen collection.

BodySite

nvarchar

Body Site

Value Set yang menjelaskan lokasi anatomi pengambilan spesimen (jika subjeknya adalah pasien). Lihat Value set (. Field ini tidak digunakan untuk spesimen lingkungan. Contoh pada liver biopsy, maka value dari field ini adalah liver.

CntSize

int

Container Size

Value Set. Ukuran container yang digunakan.

FastingVolumenvarchar (2)floatFastingVolume

Coded Value yang menjelaskan fasting status. Lihat Value set (.:Volume specimen. Urine 24 jam memerlukan data volume dan diperhitungkan dalam pemeriksaan

  • F (Fasting): Pasien puasa
  • NF (Not Fasting): Pasien tidak puasa

NG (Not Given): Pasien tidak ditanyakan status puasanya. ColStart

Date Time

Collection Start

Waktu mulai pengumpulan specimen. UTC+0

ColEnd

Date Time

Collection End

Waktu akhir pengumpulan specimen. UTC+0

CreateDateLogDateDate TimeCreateDateLog Date

Waktu record ini dibuat.LogDate

Date Time

Log Date

Waktu record ini dibuat. UTC+0

EndDate

Date Time

End Date

Jika EndDate terisi berarti specimen status record ini sudah closed. UTC+0

ArchiveDate

Date Time

Archive Date

Jika ArchiveDate terisi berarti record ini sudah masuk data warehouse dan tidak boleh diiubah lagi. UTC+0

Table 65 specimentrans

Field Tipe data Display Keterangan
SpcTrnID PK. Not null.
SpcStaID FK. Not null. Dari Table 42 specimenstatus
Description nvarchar Penjelasan specimen preparation.
Method nvarchar Coded value yang menjelaskan metode yang digunakan untuk memproses spesimen.
Additive int Bahan yang digunakan dalam persiapan spesimen..
PrepStart Datetime Waktu mulai persiapan specimen. UTC+0
PrepEnd Datetime Waktu akhir persiapan specimen. UTC+0
LogDate Date Time Waktu record ini dibuat. UTC+0
ArchiveDate Date Time Jika ArchiveDate terisi berarti record ini sudah masuk data warehouse dan tidak boleh diiubah lagi. UTC+0

Table 66 specimenprep

Field Tipe data Display Keterangan
SpcPrpID Specimen Preparation ID PK. Not null.
SpcStaID FK. Not null. Dari Table 42 specimenstatus
Description nvarchar Description Penjelasan specimen preparation.
Method nvarchar Method Value Set yang menjelaskan metode yang digunakan untuk memproses spesimen.
Additive nvarchar Additive Value set. Bahan yang digunakan dalam persiapan spesimen. Sama dengan Value set yang digunakan dalam Table 41 containerdef
AddQty Float Additive Quantity Jumlah additive yang digunakan
AddUnit nvarchar Unit Value Set. Satuan. Misalnya mL, L, dll.
PrepStart Datetime Preparation Start Waktu mulai persiapan specimen. UTC+0
PrepEnd Datetime Preparation End Waktu akhir persiapan specimen. UTC+0
LogDate Date Time Log Date Waktu record ini dibuat. UTC+0
ArchiveDate Date Time Archive Date Jika ArchiveDate terisi berarti record ini sudah masuk data warehouse dan tidak boleh diiubah lagi. UTC+0

Table 67 specimenlog

Field

Tipe data

Display

Keterangan

SpcLogID

Specimen Log ID

PK

TblName

nvarchar

Table Name

Nama table

RecID

int

Record ID

Record ID FK. Record dimana perubahan terjadi

FldName

nvarchar

Field Name

Nama field

FldValuePrev

nvarchar

Previous Value

Field Value Previous. Nilai sebelumnya

UserID

User ID

Identitas user yang melakukan perubahan data. Berasal dari table:

  • CRM.User
  • CRM.Contact

SiteID

nvarchar

Site ID

FK dari table Site13

DIDType

nvarchar

DID Type

Device ID Type:

  • Windows: Device ID
  • Android: AAID
  • IOS: IDFA

DID

nvarchar

DID

Device ID

MachineID

nvarchar

Machine ID

Identitas mesin [44]dimana perubahan dilakukan MAC address

SessionID

nvarchar

Session ID

Application session ID

AppID

nvarchar

Application ID

Application ID

ProcessID

nvarchar

Process ID

Process ID

WebPageID

nvarchar

Web Page ID

EventID

nvarchar

Event ID

ActivityID

nvarchar

Activity ID

Activity ID

Reason

nvarchar

Reason

Alasan perubahan data

LogDate

Date Time

Log Date

Date & time log data. UTC+0

Equipment & Device Management

Equipment secara umum terdaftar di tables CRM.Product dan productext. Secara khusus, yaitu equipment IVD yang digunakan di laboratorium atau fasyankes (laboratory based) dan memproduksi tes serta non-disposable, non-wearable.

Device adalah product teknologi informasi berupa PC, server, mobile device yang digunakan untuk operasional software laboratorium.

Pengelolaannya dilakukan melalui tables:

  • equipmentlist. Merelasikan equipment dengan department dalam laboratorium dan menentukan perannya (main/backup). Data equipmentlist berasal dari:
    • table CRM.Product, jika berasal dari Perusahaan.
    • table productext, jika berasal dari perusahaan lain.
  • comparameters. Berisi setting komunikasi tiap equipment.
  • devicelist. Berisi record PC, server yang merupakan bagian dari sistem informasi laboratorium. Merelasikan device dengan Site dan Location.

Table 68. equipmentlist

Field

Tipe data

Display

Keterangan

EquipmentID

Nvarchar(50)

Equipment ID

Berisi:

  • FK: ProductID (table Product, CRM) jika berasal dari Perusahaan.
  • FK: ProductExtID (Table 5 productext), jika berasal dari perusahaan lain.

DepartmentID

nvarchar

Department ID

  • FK; dari Table 8 department; DepartmentID sudah merepresentasikan SiteID

InstrumentID

nvarchar

Instrument ID

  • Berisi ProductNumber (table Product, CRM) jika berasal dari Perusahaan.
  • Berisi instrument serial number jika berasal dari perusahaan lain

InstrumentName

nvarchar

Instrument Name

  • Berisi ProductName (table ProductCatalog atau alias, CRM) Misalnya:
    • TMS-30i
    • BS-430
  • Instrument name perlu dijaga konsistensinya secara global karena akan menentukan QC grouping, flagging.

WorkstationID

FK. Dari table workstation.

Enable

bit

Enable

Value Set:

  • 1 (enabled): instrument enabled, aktif digunakan di Department ybs.
  • 0 (disabled): instrument disabled, tidak aktif digunakan di Department ybs.

EquipmentRole

nvarchar

Equipment Role

Peran equipment:

  • M: main
  • B: backup

CreateDate

Date Time

Create Date

Tanggal record dibuat. UTC+0

EndDate

Date Time

End Date

Jika EndDate terisi berarti record tersebut tidak digunakan. UTC+0

Field-field EquipmentID, InstrumentName dan CreateDate pada table equipmentlist secara otomatis terisi, jika:

  • ada data baru pada table Product (CRM) atau productext

Field DepartmentID diisi manual oleh user.

Field Enable dan EquipmentRole otomatis terisi dengan default value “Y” dan “M”

Gambar . Replikasi data dari table productext dan Product ke equipmentlist

Table 69. comparameters

Field

Tipe data

Display

Keterangan

SiteID

nvarchar

Site ID

Dari table Site

InstrumentID

nvarchar

Instrument ID

  • Berisi ProductNumber (table Product, CRM) jika berasal dari Perusahaan.
  • Berisi instrument serial number jika berasal dari perusahaan lain

InterfaceID

nvarchar

Interface ID

ID interface; Setiap alat bisa memerlukan lebih dari satu interface

InterfaceName

nvarchar

Interface Name

Nama interface

InterfaceDesc

nvarchar

Interface Description

Deskripsi interface

Protocol

Nvarchar

Protocol

  • ASTM
  • HL7
  • DbtoDB
  • Others

IPAddress

nvarchar

IP Address

IP address dari instrument

Port

nvarchar

Port

Port instrument; hrs memperhatikan penggunaan multiple port

COM

Numeric

COM

RS232 port number

Baud

Numeric

Baud

Baud rate

Data

Numeric

Data

Data bit

Parity

Numeric

Parity

Parity bit

Stop

Numeric

Stop

Stop bit

CreateDate

Date Time

Create Date

Tanggal record dibuat. UTC+0

EndDate

Date Time

End Date

Jika EndDate terisi berarti instrument tersebut disabled di semua bagian aplikasi: UTC+0

  • Tidak bisa dipilih untuk berbagai setting.

Table 70. devicelist

Field

Tipe data

Display

Keterangan

EquipmentID

Nvarchar(50)

Equipment ID

Berisi:

  • FK: ProductID (table Product, CRM) jika berasal dari Perusahaan.
  • FK: ProductExtID (Table 5 productext), jika berasal dari perusahaan lain.

DeviceName

nvarchar

Device Name

Nama device

Description

nvarchar

Description

Penjelasan mengenai device.

SiteID

nvarchar

Site ID

Site dimana device berada. FK dari table Site13

LocationID

nvarchar

Location ID

Lokasi dimana device berada. Berisi FK, dari

LocationID dari Table 15 location

DIDType

nvarchar

DID Type

Device ID Type:

  • Windows: Device ID
  • Android: AAID
  • IOS: IDFA

DID

nvarchar

DID

Device ID

MachineID

nvarchar

Machine ID

Device [45] MAC address

IPAddress

nvarchar

IP Address

IP address dari device

CreateDate

Date Time

Create Date

Tanggal record dibuat. UTC+0

EndDate

Date Time

End Date

Jika EndDate terisi berarti record tersebut tidak digunakan. UTC+0

DIDType dan DID bisa digunakan untuk:

  • licensing
  • security, misalnya device-based access
  • troubleshooting termasuk mendeteksi perubahan hardware, factory reset.

Test Management

Test management mengelola:

  1. Test Definition berikut pembagian pekerjaan, terdiri dari:

    1. testdef. Berisi definisi test universal, berlaku untuk semua site, dengan tujuan utama:
      1. agregasi berbagai tes dari tiap site untuk tujuan analisis statistik
      2. analisis QC
    2. testdefsite. Berisi definisi semua jenis test (test, group, calculation, parameter) tiap site, sehingga bisa customized:
      1. identitas site dimana test diproduksi.
  2. department dimana test diproduksi_._

  3. collection requirement, hal-hal yang harus dipenuhi/diperhatikan saat melakukan specimen collection.

  4. test method, untuk pengelompokan external QC.

  5. target TAT.

  6. test-test dalam testdefsite adalah yang dilihat oleh user di tiap site.

    1. testdeftech. test definition technical, berisi definisi teknis dan klinis semua test, kecuali TestType CALC, GROUP dan TITLE. Hal-hal yang dikelola yaitu:
    2. testdefcal. test calculation, berisi setting untuk TestType CALC:
      1. berisi definisi formula/rumus.
      2. formula disimpan dalam bentuk executable expression (Phyton[46]).
      3. nested, formula satu bisa memanfaatkan perhitungan formula lainnya.
    3. testdefgrp. test group, berisi setting untuk TestType GROUP:
      1. Profile, Functional Procedure, Superset.
    4. testmap. Berisi test mapping dari satu entitas ke entitas lain. Misalnya instrument ke site, site ke server pusat (GLOBAL) atau site ke HIS.
      1. producer atau tempat dimana test diproduksi (workstation dan instrument untuk test yang dikerjakan secara manual). Satu test yang sama bisa didistribusikan ke lebih dari satu workstation.  fungsi ditribusi pekerjaan
      2. mapping dengan kode tes tiap instrument/equipmet sesuai coding system yang digunakan.
      3. mengendalikan jenis test apa saja yang dikerjakan suatu workstation / mengatur di workstation mana saja suatu test dikerjakan.
      4. specimen/sample yang digunakan
      5. mengendalikan container apa saja yang boleh digunakan oleh suatu test.
      6. mapping test ke setiap IVD equipment. Beberapa test yang berbeda bisa dipetakan ke satu test yang sama di IVD equipment (glukosa sewaktu, glukosa puasa, glukosa 2 hour pp, dll). Termasuk dalam test mapping ini adalah jenis specimen
    5. testdeflog. Berisi data operasi/activity yang dilakukan atas test definition, yaitu tables:
      1. testdef
      2. testdefsite
      3. testdeftech
      4. testdefcal
      5. testdefgrp
      6. testmap
  7. Pemakaian bahan habis pakai (consumables).

    1. testdefconsumables. Berisi setting bahan habis pakai yang diperlukan untuk memproduksi test
      1. reagent[47] dan consumables lain yang digunakan
      2. jumlah dan satuan consumables
    2. <>
  8. <>

Table 71 testdef

Field

Tipe data

Display

Keterangan

TestID

nvarchar

Test ID

PK;

Parent

nvarchar

Parent Test

  • ID test induk. Misalnya Glukosa.
  • ParentTest merujuk kepada TestID lain dalam table yang sama (self-referential)
  • Proteksi one way referral

TestCode

char (6)

Test Code

Abbreviated text, panjangnya 6 character. Constraint: Tidak boleh ada yang sama

TestName

nvarchar

Test Name

Nama test lengkap

Description

nvarchar

Description

Penjelasan definisi tes

DisciplineID

nvarchar

Discipline ID

FK. Disiplin. Dari Table 9. discipline

Method

nvarchar

Method

Metoda test

Seq

int

Sequence

Urutan posisi test

CountStat

bit

Statistic

Value Set.

  • 1: tes dihitung dalam statistic
  • 0: test tidak dihitung dalam statistic; Misal: formula. parameters

CreateDate

Date Time

Create Date

Menandai kapan record ini dibuat. UTC+0

EndDate

Date Time

End Date

UTC+0. Jika EndDate terisi berarti test tersebut disabled di semua bagian aplikasi:

  • Menandai record ini sudah tidak berlaku lagi/discontinue.
  • Tidak bisa dipilih untuk berbagai setting.

72

Table 73 testdefsite

Field

Tipe data

Display

Keterangan

TestSiteID

Test Site ID

PK; Internal ID, tidak ditampilkan ke user;

SiteID

nvarchar

Site ID

Dari table Site.

TestSiteCode

char (6)

Test Site Code*

Abbreviated text, panjangnya 6 character

TestSiteName

nvarchar

Test Site Name*

Nama test lengkap yang tercetak di hasil pasien

TestType

nvarchar

Test Type*

Value Set, jenis test:

TEST, PARAM, CALC, GROUP, TITLE.

Description

nvarchar

Description

Penjelasan definisi tes

DisciplineID

int

Discipline ID*

  • Disiplin (Hematology, Clinical Chemistry, Immunology, etc.); FK 🡪 discipline. DisciplineID; Discipline
  • ND Non-Discipline untuk PARAM, GROUP.

Constraint: NOT NULL.

DepartmentID

int

Department ID*

  • FK 🡪 departent.DepartemenID; Department di site, dimana test diproduksi.
  • 0 untuk PARAM, GROUP

Constraint: NOT NULL.

ResultType

nvarchar

Result Type*

Value Set. Jenis hasil: NMRIC, RANGE, TEXT, VSET, NORES. Constraint: NOT NULL.

  • NMRIC/RANGE/TEXT/VSET untuk TestType: TEST, PARAM,
  • NMRIC untuk TestType: CALC.
  • NORES untuk Testtype: GROUP dan TITLE.

RefType

nvarchar

Reference Type*

Value Set. Jenis nilai rujukan: RANGE, THOLD, VSET, TEXT. NOREF. Constraint: NOT NULL.

  • RANGE/THOLD utk ResultType: NMRIC, RANGE.
  • VSET utk ResultType: VSET
  • TEXT utk ResultType: TEXT
  • NOREF utk ResultType: NORES.

Vset

int

Value Set

  • Berisi VsetID dari Table 72. valueset jika ResultType: VSET.
  • Berisi 0 untuk ResultType selain VSET.

Constraint: NOT NULL.

Unit1

nvarchar

Unit1

Result unit 1

Factor

numeric

Factor

Faktor konversi satuan 1 ke 2

Unit2

nvarchar

Unit2

Result unit 2

Decimal

int

Decimal Place

Jumlah angka decimal. Max 7.

ReqQty

Float

Required Quantity

Required quantity. Jumlah specimen yang dibutuhkan. Misalnya 500mL urine dll.

  • Default: NULL
  • bisa diisi nilai utk TestType: TESTS
  • NULL untuk TestType: PARAM, CALC, GROUP, TITLE.

ReqQtyUnit

nvarchar(10)

Quantity Unit

Satuan dari jumlah specimen yang dibutuhkan. Misalnya mL, L dll.

  • Default: NULL
  • bisa diisi nilai utk TestType: TESTS
  • NULL untuk TestType: PARAM, CALC, GROUP, TITLE.

CollReq

nvarchar

Collection Requirement

hal-hal yang harus dipenuhi/diperhatikan saat melakukan specimen collection

Method

nvarchar

Method

Test method untuk pengelompokan [48]QC.

ExpectedTAT

int

Expected TAT

TAT yang diharapkan, dalam satuan menit.

SeqScr

int

Sequence on Screen

Urutan test di layar.

SeqRpt

int

Sequence on Report

Urutan test di laporan.

IndentLeft

int

Left Indentation

Jarak huruf pertama dari margin sebelah kiri. Indent penting untuk antisipasi penggunaan non-monospace font.

FontSytle

int

Font Syle

Value Set. Bold, Italic, Underlined. Jika lebih dari satu, dipisahkan “^”.

VisibleScr

bit

Visible on Screen

Value Set. Ditampilkan di layar

VisibleRpt

bit

Visible on Report

Value Set. Ditampilkan di laporan

CountStat

bit

Statistic

Tidak semua tes terdefinisi merupakan real test[49]. Value Set.

  • 1: tes dihitung dalam statistic
  • 0: test tidak dihitung dalam statistic; Misal: CALC, PARAM

Level

int

Level

Diisi oleh system, tidak bisa diubah oleh user. Untuk CALC dan GROUP. Nested level. 1 4. Makin besar, makin banyak formula/group dalam formula/group.

CreateDate

Date Time

Create Date

Menandai kapan record ini dibuat. UTC+0

StartDate

Date Time

Start Date

UTC+0. Jika StartDate terisi berarti test tersebut mulai digunakan di semua bagian aplikasi. Default value = CreateDate.

EndDate

Date Time

End Date

UTC+0. Jika EndDate terisi berarti test tersebut disabled di semua bagian aplikasi:

  • Menandai record ini sudah tidak berlaku lagi/discontinue.
  • Tidak bisa dipilih untuk berbagai setting.

Business Rules testdefsite:

  1. Jika SiteID tidak terisi, maka:
    1. test tersebut bisa diproduksi di semua site dalam instance yang sama. Prioritas produksi adalah di site dimana test tersebut di-order.
    2. pilihan value untuk field SiteID pada table refnum dan reftxt adalah null atau tiap site memiliki definisi nilai rujukan masing-masing.
  2. Jika SiteID terisi, maka:
    1. test tersebut diproduksi di satu site saja
    2. field SiteID pada table refnum/reftxt otomatis terisi dengan SiteID yang bersangkutan dan tidak bisa menggunakan SiteID lain.
    3. test bisa dilihat dan diorder di site lain dengan penanda.
  3. Relasi TestType dan ResType:
TestType ResultType
TEST NMRIC / RANGE / TEXT / VSET
PARAM NMRIC / RANGE / TEXT / VSET
CALC NMRIC
GROUP, TITLE NORES
  1. Relasi ResulType, RefType dan reference range tables:
ResultType RefType Reference Range table
NMRIC RANGE / THOLD refnum
RANGE RANGE / THOLD refnum
VSET VSET reftxt
TEXT TEXT Reftxt
NORES NOREF -
  1. Field Vset berisi VsetID dari table valueset jika ResultType = VSET. Jika ResultType bukan VSET, maka field Vset adalah 0.
  2. Jika Factor terisi maka Unit2 harus terisi.
  3. Value untuk field Decimal adalah >= 0 dan <=7.
  4. Value untuk field Level:
    1. Diisi oleh system, tidak bisa diubah oleh user, NOT NULL.
    2. 0 untuk TEST, PARAM, TITLE.
    3. 1 4 untuk CALC dan GROUP. Makin besar, makin banyak formula/group dalam formula/group.
  5. CreateDate, StartDate dan EndDate >= Today
  6. test tidak bisa dihapus tetapi bisa di-disable dengan memberi nilai pada field EndDate. Pemberian nilai pada field EndDate di table testdefsite diikuti pemberian nilai pada field dengan nama yang sama di tables tesdeftech, testdefcal dan testdefgrp.
  7. test bisa di-disable jika bukan anggota dari test group atau Calculated Test. Test harus dikeluarkan dari test group dan/atau Calculated Test terlebih dahulu, baru bisa disable.
  8. Future enabled bisa dilakukan dengan memberi nilai di field StartDate.
  9. Future disabled bisa dilakukan dengan memberi nilai di field EndDate > hari ini. Maka test tersebut akan disabled di tanggal yang sudah ditentukan.
  10. Future disabled hanya bisa di-set untuk t_est_ yang bukan anggota dari test group dan/atau Calculated Test. Test harus dikeluarkan dari test group dan/atau Calculated Test terlebih dahulu, baru bisa future disable.
  11. Test type Parameter (PARAM):
    1. untuk mencatat data pasien yang diperhitungkan dengan test lain. Termasuk data tinggi dan berat badan, lingkar pinggang, tekanan darah, dll.
    2. test jenis ini ditampilkan sebagai parameter yang harus diisi pada saat specimen collection dan/atau specimen reception atau di activity lainnya.
  12. StartDate dan EndDate >= Today
  13. Jika EndDate terisi, maka nilai yang sama otomatis diisikan ke field EndDate di testdeftech, testdefcal dan testdefgrp untuk TestSiteID yang sama.

Table 74 Contoh Parameters

Parameter Value Unit Notes
Tinggi 155 Cm
Berat 70 Kg
Lingkar pinggang 80 Cm
Sistolik 120 mmHg
Diastolik 80 mmHg
testdefsite
Resource Model
{

“TestSiteId”: “string”, // PK, internal ID

“SiteId”: “string”, // FK to Site

“TestSiteCode”: “string”, // 6-char code

“TestSiteName”: “string”, // Full name printed in patient report

“TestType”: “Test | Parameter | Calculated | Group | Title”,

“Description”: “string”,

“SeqScr”: 1, // Sequence on screen

“SeqRpt”: 1, // Sequence on report

“IndentLeft”: 0, // Left indentation

“FontStyle”: [“Bold”,”Italic”],// Array of styles

“VisibleScr”: true, // Display on screen

“VisibleRpt”: true, // Display on report

“CountStat”: true, // Included in statistics

“CreateDate”: “2025-01-01T00:00:00Z”,

“StartDate”: “2025-01-01T00:00:00Z”,

“EndDate”: null

}
Endpoints
Create Site Test

POST/v1/tests/site
Request

{

“SiteId”: “01”,

“TestSiteCode”: “HB”,

“TestSiteName”: “Hemoglobin”,

“TestType”: “Test”,

“Description”: “Hemoglobin concentration”,

“SeqScr”: 3,

“SeqRpt”: 3,

“IndentLeft”: 0,

“FontStyle”: [“Bold”],

“VisibleScr”: true,

“VisibleRpt”: true,

“CountStat”: true,

“StartDate”: “2025-01-01T00:00:00Z”

}

Response (201)

{

“TestSiteId”: “TS-000123”,

“Status”: “created”

}
Get Site Test by ID

POST/v1/tests/site {TestSiteID}
Response

{

“TestSiteId”: “TS-000123”,

“SiteId”: “01”,

“TestSiteCode”: “HB”,

“TestSiteName”: “Hemoglobin”,

“TestType”: “Test”,

“VisibleScr”: true,

“VisibleRpt”: true,

“CountStat”: true,

“StartDate”: “2025-01-01T00:00:00Z”,

“EndDate”: null

}
Update Site Test

PUT/v1/tests/site {TestSiteID}
Request

{

“TestSiteName”: “Hemoglobin (Hb)”,

“Description”: “Updated description”,

“VisibleRpt”: false

}

Response (200)

{

“TestSiteId”: “TS-000123”,

“Status”: “updated”

}
Disable Site Test

DELETE/v1/tests/site {TestSiteID}

Soft delete 🡪 sets EndDate
Response (200)

{

“TestSiteId”: “TS-000123”,

“Status”: “disabled”,

“EndDate”: “2025-12-31T00:00:00Z”

}
Search Site Test

GET/v1/tests/site
Query Parameters

SiteId=

TestType=

VisibleScr=true

VisibleRpt=true
Error Model
Contoh Error Response {

“ErrorCode”: “SITE-INVALID-CODE”,

“message”: “TestSiteCode must be unique.”,

“details”: {

“SiteId”: “01”,

“TestSiteCode”: “HB”

}

}
Standard Error Codes | Code | Meaning |

|------|---------|

| SITE-INVALID-CODE | Duplicate TestSiteCode |

| SITE-INVALID-DATE | StartDate/EndDate invalid |

| SITE-INVALID-TYPE | TestType not recognized |

| SITE-VISIBILITY-CONFLICT | Visibility flags inconsistent |

| SITE-COUNTSTAT-CONFLICT | CountStat invalid for TestType |

Table testdefcal digunakan untuk definisi detail dari tes dengan Test Type: Calculated Test.

Table 76. testdefcal

Field Tipe data Display Keterangan
TestCalID Test Technical ID PK; Internal ID.
TestSiteID Test Site ID FK 🡪 testdefsite.TestSiteID
FormulaInput Text Input parameter Mengambil dari table testdefsite. Constraint: Hanya yang ResultType berjenis numeric. Bisa terdiri dari beberapa test, dipisahkan dengan “^”. Tujuannya adalah untuk dependency tracking dan memastikan, memudahkan semua adalah yang terlibat di dalam formula ikut dalam test order yang sama.
FormulaCode Text Formula Executable formula/rumus.
CreateDate Date Time Create Date Menandai kapan record ini dibuat. UTC+0
EndDate Date Time End Date Jika EndDate terisi berarti record disabled di semua bagian aplikasi. UTC+0

Business Rules:

  1. TestSiteID, referential integrity:
    • ON UPDATE: CASCADE. Jika testdefsite.EndDate diisi value, maka value yang sama disisikan ke testdefcal.EdDate
  2. Calculated Test menggunakan Test dan Calculated Test (nested) sebagai faktor-faktornya. Syarat Test dan/atau Calculated Test bisa digunakan (masuk sebagai FormulaInput) adalah:
    • terdaftar di tesdefsite dan testdefcal (self-referential)
    • belum memiliki EndDate. Jika EndDate faktor-faktor tersebut terisi, Calculated Test terkait otomatis suspended dan harus di-review oleh user secara manual.
    • bukan TestCalID itu sendiri (circular reference)
    • jika Calculated Test, maka Level maksimum yg diperbolehkan adalah 2.
  3. FormulaCode ditulis dalam Phyton.
  4. Semua faktor yang terlibat dalam calculation adalah test dengan ResultType: NMRC dan terdaftar di field FormulaInput, serta termasuk dalam test order (Order ID) yang sama.
  5. Level = Level tertinggi dari Calculated Test dalam FormulaInput + 1; Jika di dalam FormulaInput tidak terdapat Calculated Test, maka Level = 1.
  6. CreateDate dan EndDate >= Today
  7. Calculated Test bisa di-disable jika bukan anggota dari test group atau Calculated Test. Calculated Test harus dikeluarkan dari test group dan/atau Calculated Test terlebih dahulu, baru bisa disable.

Table 77 Contoh formula Creatinine Clearance

Formula

Keterangan

{

“TestCalID”: “1”,

“SiteID”: “01”,

“TestSiteID”:”546”,

“FormulaCode”: “(140 AGE) * WEIGHT / (72 * Crea)”,

“FormulaLang”: “Python”,

“FormulaInput”: “AGE^WEIGHT^Crea”,

“Unit1”: “mL/min”,

“Decimal”: “2”

}

  1. Usia diperhitungkan dari dob pasien dan di-copy ke AGE. AGE adalah test dengan TestType: PARAM.
  2. WEIGHT adalah test dengan TestType PARAM. Lihat Contoh Parameters.
  3. Crea adalah test dengan TestType TEST.

Table 78 CALC/GROUP Level

Code Level
A = Test1 + Test2 1: tidak melibatkan formula dalam factor-faktornya.
B = Test3 + A 2: melibatkan formula level 1 dalam salah satu faktornya.
C = Test4 B 3: melibatkan formula level 2 dalam salah satu faktornya.
D = (Test5 + B)*A 3: melibatkan formula level 2 (max) dan 1.
Group V: Test1, Test2 1: tidak melibatkan group.
Group W: Test3, Group V 2: melibatkan group level 1
Group X: Test4, Test5, Group W 3: melibatkan group level 2
Group Y: Test6, Group W, D 3: melibatkan group level 2 dan formula level 3; yang diperhitungkan hanya group level.
Testdefcal
Resource Model
{

“TestCalId”: “CALC12345”,

“TestSiteId”: “SITE001”,

“DisciplineId”: “CHEM”,

“DepartmentId”: “DEPT01”,

“FormulaInput”: [“Na”, “K”, “Cl”, “CO2”],

“FormulaCode”: “Na + K (Cl + CO2)”,

“RefType”: “NMRC”,

“unit1”: “mmol/L”,

“factor”: 1.0,

“unit2”: null,

“decimal”: 2,

“createDate”: “2025-12-30T03:30:00Z”,

“endDate”: null,

}
Endpoints
Create Site Test

POST/v1/tests/technical
Request

{

“SiteId”: “01”,

“TestSiteCode”: “HB”,

“TestSiteName”: “Hemoglobin”,

“TestType”: “Test”,

“Description”: “Hemoglobin concentration”,

“SeqScr”: 3,

“SeqRpt”: 3,

“IndentLeft”: 0,

“FontStyle”: [“Bold”],

“VisibleScr”: true,

“VisibleRpt”: true,

“CountStat”: true,

“StartDate”: “2025-01-01T00:00:00Z”

}

Response (201)

{

“TestSiteId”: “TS-000123”,

“Status”: “created”

}
Get Site Test by ID

POST/v1/tests/technical {TestTechID}
Response

{

“TestTechId”: “TT-000456”,

“TestSiteId”: “TS-000123”,

“DisciplineId”: “HEMA”,

“DepartmentId”: “LAB01”,

“ResultType”: “Numeric”,

“RefType”: “NMRC”,

“Unit1”: “g/dL”,

“Decimal”: 2,

“CollReq”: “Whole blood, EDTA tube”,

“Method”: “Spectrophotometry”,

“ExpectedTAT”: 30,

“CreateDate”: “2025-01-01T00:00:00Z”,

“EndDate”: null

}
Update Site Test

PUT/v1/tests/technical/{TestTechID}
Request

{

“Method”: “Cyanmethemoglobin”,

“ExpectedTAT”: 45

}

Response (200)

{

“TestTechId”: “TT-000456”,

“Status”: “updated”

}
Disable Site Test

DELETE/v1/tests/technical/{TestTechID}

Soft delete 🡪 sets EndDate
Response (200)

{

“TestTechId”: “TT-000456”,

“Status”: “disabled”,

“EndDate”: “2025-12-31T00:00:00Z”

}
Search Site Test

GET/v1/tests/technical
Query Parameters

DisciplineId=

DepartmentId=

ResultType=

RefType=

Method=
Error Model
Contoh Error Response {

“errorCode”: “TECH-INVALID-REF”,

“message”: “RefType TEXT cannot be used with resultType Numeric.”,

“details”: {

“TestSiteId”: “TS-000123”,

“ResultType”: “Numeric”,

“RefType”: “TEXT”

}

}
Standard Error Codes |Code|Meaning|

|------|---------|

|TECH-INVALID-REF|RefType mismatch with ResultType|

|TECH-INVALID-VSET|vSet missing or invalid|

|TECH-UNIT-CONFLICT|Unit1/Unit2/factor inconsistent|

|TECH-DECIMAL-INVALID|Decimal places out of range|

|TECH-DATE-CONFLICT|Overlapping StartDate/EndDate for same TestSiteId|

Table testdefgrp digunakan untuk definisi detail dari tes dengan Test Type: Grp.

Table 78. testdefgrp

Field Tipe data Display Keterangan
TestGrpID nvarchar Test Group ID PK; Internal ID.
TestSiteID Test Site ID FK; dari testdefsite , tidak ditampilkan ke user; TestSiteID dengan type Grp.
Member Member Test FK; dari testdefsite. Constraint: Tidak boleh lebih dari 1 test yang sama dalam group test yang sama.

Bisa nested Grp.
CreateDate Date Time Create Date Menandai kapan record ini dibuat. UTC+0
EndDate Date Time End Date Jika EndDate terisi berarti record disabled di semua bagian aplikasi. UTC+0

Table 79. testdispctrl

Field Tipe data Display Keterangan
TestDispID nvarchar Test Display Control ID PK; Internal ID, untuk setiap equipment.
SiteID Site ID FK; Dari table Site
TestSiteID Test Site ID FK dari Table 50 testdefsite
Activity nvarchar Activity Activity dimana test ditampilkan
Seq int Sequence Test sequence, urutan diplay test di dala dan report.
Method nvarchar Method Test method untuk pengelompokan [50]QC.
CreateDate Date Time Create Date Menandai kapan record ini dibuat. UTC+0
EndDate Date Time End Date Jika EndDate terisi berarti record disabled di semua bagian aplikasi. UTC+0

Catatan:

  1. <>

Table 80. testdefconsumables

Field

Tipe data

Display

Keterangan

TestConsID

nvarchar

Test Consumable ID

PK; Internal ID, untuk setiap test

TestTechID

nvarchar

FK; dari Table 52. testdeftech

ItemType

nvarchar

Item Type

Jenis consumables, digunakan membatasi query untuk ItemID:

  • reagent
  • calibrators
  • controls
  • washsol (washing solution)
  • othcons (other consumables)

ItemID

nvarchar

Item ID

  • Foreign Key: UnitGroupID dari table UnitGroup 13 atau CatalogExtID dari Table 3 productcatalogext

ItemQty

nvarchar

Quantity

Jumlah item yang diperlukan untuk memproduksi satu test.

ItemUnit

nvarchar

Unit

ForeignKey UnitGroupID dari table UnitGroup; Satuan item.

CreateDate

Date Time

Create Date

Menandai kapan record ini dibuat. UTC+0

EndDate

Date Time

End Date

Jika EndDate terisi berarti record disabled di semua bagian aplikasi. UTC+0

Catatan:

  • Jika reagen/consumables yang digunakan berubah, TestTechCode bisa saja tidak berubah, tetapi TestTechID berubah
  • Tests yang tidak didefinisikan dalam table testdefconsumables, adalah test yang tidak memerlukan bahan habis pakai. Salah satu controh adalah formula. Misal HbA1C hasil perhitungan Hb dan A1C.
  • Test, reagen yang digunakan, method, instrument alias akan menentukan grouping QC.

Table 81 testmap

Field

Tipe data

Display

Keterangan

TestMapID

Test Mapping ID

PK; Internal ID, untuk setiap mapping

TestSiteID

Test Site ID

FK; dari table testdefsite

HostType

nvarchar

Host Type

Value Set, Entity Type

HostID

nvarchar

Host ID

  • SiteID atau “GLOBAL”, WorkstationID
  • Constraint: tidak boleh sama dengan ClientID

HostDataSource

Host Data Source

  • Table site atau “GLOBAL”
  • Constraint: tidak boleh sama dengan ClientDatasource

HostTestCode

nvarchar

Host Test Code

Kode test host, misalnya TestSiteCode.

HostTestName

nvarchar

Host Test Name

Full test name/Abbreviated text. Optional.

ClientType

nvarchar

Client Type

Value Set, Entity Type

ClientID

nvarchar

Client ID

  • EquipmentID, WorkstationID, SiteID
  • Constraint: tidak boleh sama dengan HostID

ClientDataSource

Client Data Source

  • Table InstrumentList atau site
  • Constraint: tidak boleh sama dengan HostDatasource

ConDefID

Container Definition ID

FK. Dari Table 41 containerdef. Yang ditampilkan di UI adalah ConCode.

ClientTestCode

nvarchar

Client Test Code

Kode test client

ClientTestName

nvarchar

Client Test Name

Full test name/Abbreviated text. Optional.

CreateDate

Date Time

Create Date

Menandai kapan record ini dibuat. UTC+0

EndDate

Date Time

End Date

Jika EndDate terisi berarti record disabled di semua bagian aplikasi. UTC+0

Table 82 Mapping relationship

Mapping relationship ClientID HostID ClientTestCode HostTestCode
site 🡨 🡪 global (CRM) SiteID “GLOBAL” TestSiteID TestID
site 🡨 🡪 host SiteID <HIS> TestSiteID <host test ID>
workstation 🡨 🡪 site WorkstationID SiteID TestTechID TestSiteID
instrument 🡨 🡪 workstation EquipmentID SiteID TestTechID TestSiteID

Table 83 Contoh testdefsite

TestSiteID SiteID TestSiteCode TestSiteName TestType Description SeqScr SeqRpt VisibleScr VisibleRpt CountStat
1 01 MCU1 MCU 1 GROUP MCU Paket 1 1 1 1 1 1
01 HEMATOLOGI Disiplin; Discipline code: HEMA
2 01 CBC Hematologi Lengkap GROUP Judul panel 2 2 1 1 0
3 01 HB Hemoglobin TEST 3 3 1 1 1
4 01 HCT Hematokrit TEST 4 4 1 1 1
5 01 ERY Eritrosit TEST 5 5 1 1 1
6 01 MC Nilai-nilai MC GROUP C_orpuscular profile_ 6 6 1 1 0
7 01 MCV MCV TEST 7 7 1 1 1
8 01 MCH MCH TEST 8 8 1 1 1
9 01 MCHC MCHC TEST 9 9 1 1 1
01 KIMIA Disiplin; Discipline code: CHEM
01 Gula Darah Blood profile; Sub-disiplin (BGP)
10 01 GLUAR Glukosa Sewaktu TEST 10 10 1 1 1
11 01 GLUF Glukosa Puasa TEST 11 11 1 1 1
12 01 GLU2HPP Glukosa 2 Jam PP TEST 12 12 1 1 1
01 Profil Lipid Lipid profile; Sub-disiplin (LPD)
13 01 LPDP Profil Lipid GROUP Lipid profile; Group 13 13 0 0 0
14 01 TC Cholesterol Total TEST 14 14 1 1 1
15 01 LDL Cholesterol LDL Direk TEST 15 15 1 1 1
16 01 HDL Cholesterol HDL TEST 16 16 1 1 1
17 01 TG Trigliserida TEST 17 17 1 1 1
18 01 RTCHDL Rasio Chol. Total/Chol. HDL CALC Tchol/HDL Ratio 18 18 1 1 0
01 Fungsi Hati Liver profile; Sub-disiplin (LVRP)
19 01 SGOT Aspartate Aminotransferase TEST 19 19 1 1 1
20 01 SGPT Alanine Aminotransferase TEST 20 20 1 1 1
01 Fungsi Ginjal Kidney profile; Sub-disiplin (KDN)
21 01 KDNL Fungsi Ginjal GROUP Kidney profile; Group 21 21 0 0 0
22 01 CREA Kreatinin TEST 22 22 1 1 1
23 01 CREAU Kreatinin Urin TEST 23 23 1 1 1
24 01 CREAC Creatinine Clearance CALC Cockcroft-Gault formula 24 24 1 1 0
01 URIN Disiplin; Discipline code: URIN
25 01 URUT Urin Rutin GROUP Urine profile; Group. 25 25 1 1 0
26 01 COLOR Warna TEST 26 26 1 1 1
27 01 HEIGHT Tinggi badan PARAM 27 27 1 1 0
28 01 WEIGHT Berat badan PARAM 28 28 1 1 0
29 01 WAIST Lingkar pinggang PARAM 29 29 1 1 0
30 01 AGE Usia TEST Dihitung dari Birthdate saat order 30 30 1 0 0
31 01 SISTL Sistolik PARAM Hasil tensi di nurse station 31 31 1 1 0
32 01 DIASTL Diastolik PARAM Hasil tensi di nurse station 32 32 1 1 0

Keterangan:

  • MCU1 adalah group test yang Namanya ditampilkan di result report maupun result view di dala.
  • Discipline dan sub-disciplines ditampilkan di result report maupun result view.
  • LPDP (Profil Lipid) adalah group tests yang terdiri dari TC, LDL, HDL dan TG. LPDP tidak ditampilkan dalam result report maupun result view, agar tidak tumpang tindih dengan sub disiplin LPD. TC, LDL, HDL dan TG sendiri bisa di-order secara terpisah. Hal yang sama dilakukan pada KDNL

Table 84. Contoh testdeftech

TestTechID SiteID TestSiteID TestSiteCode DisciplineID DisciplineCode DepartmentID Vset SpcType SpcDesc Unit1 Factor Unit2 Method
1 01 3 HB 1 HEMA 1 BLD Whle bld g/dL
2 01 4 HCT 1 HEMA 1 BLD Whle bld %
3 01 5 ERY 1 HEMA 1 BLD Whle bld 10^6/mL
4 01 13 GLUAR 2 CHEM 3 SER Serum U/L Hexokinase
5 01 14 GLUF 2 CHEM 3 SER Serum U/L Hexokinase
6 01 15 GLU2HPP 2 CHEM 3 SER Serum mg/dL Hexokinase
7 01 23 SGOT 2 CHEM 3 SER Serum mg/dL 0.017 mkat/L IFCC
8 01 24 SGPT 2 CHEM 3 SER Serum mg/dL IFCC
9 01 26 CREA 2 CHEM 3 SER Serum mg/dL 88.4 mmol/L Enzymatic
10 01 27 CREAU 2 CHEM 3 UR Urine mg/dL Enzymatic
11 01 29 COLOR 4 URIN 6 1002 UR Urine
12 01 30 HEIGHT 10 ND m
13 01 31 WEIGHT 10 ND Kg
14 01 33 AGE 10 ND Tahun

kolom dengan background orange bukan merupakan bagian dari table testdeftech tetapi dari table berelasi untuk memperjelas.

Table 85. Contoh testdefcal

TestCalID SiteID TestSiteID TestSiteCode DisciplineID DisciplineCode DepartmentID FormulaInput FormulaCode Unit1 Factor Unit2
1 01 21 RTCHDL 2 CHEM 3 TC^HDL CHOL/HDL
2 01 28 CREAC 2 CHEM 3 AGE^WEIGHT^CREA (140-AGE)* WEIGHT/ (72*CREA)

Table 86. Contoh testdefgrp

TestGrpID SiteID TestSiteID TestSiteCode Member TestSiteCode
1 01 1 MCU1 2 H
2 01 1 MCU1 3 CBC
3 01 1 MCU1 4 HB
4 01 1 MCU1 5 HCT
5 01 1 MCU1 6 ERY
6 01 1 MCU1 7 MC
7 01 1 MCU1 11 K
8 01 1 MCU1 12 BP
9 01 1 MCU1 13 GLUAR
10 01 1 MCU1 14 GLUF
11 01 1 MCU1 15 GLU2HPP
12 01 1 MCU1 16 LPDP
13 01 1 MCU1 21 RTCHDL
14 01 1 MCU1 22 LVRP
15 01 1 MCU1 23 SGOT
16 01 1 MCU1 24 SGPT
17 01 1 MCU1 25 KDNL
18 01 1 MCU1 26 CREA
19 01 1 MCU1 27 CREAU
20 01 1 MCU1 28 CREAC
21 01 1 MCU1 29 U
22 01 1 MCU1 30 COLOR
23 01 7 MC 8 MCV
24 01 7 MC 9 MCH
25 01 7 MC 10 MCHC

Table 87 Contoh test mapping

TestMap

ID

HostType

HostID

Host

DataSource

Host

TestCode

Host

TestName

ClientType

Client

ID

Client

DataSource

ConDef

ID

Client

TestCode

Client

TestName

HIS

<HISID>

<HISDS>

GluS

Glukosa Sewaktu

SITE

01

testdefsite

GLUAR

Glukosa Sewaktu

HIS

<HISID>

<HISDS>

GluP

Glukosa Puasa

SITE

01

testdefsite

GLUF

Glukosa Puasa

HIS

<HISID>

<HISDS>

Glu2PP

Glukosa 2 Jam PP

SITE

01

testdefsite

GLU2HPP

Glukosa 2 Jam PP

HIS

<HISID>

<HISDS>

GOT

SGOT

SITE

01

testdefsite

SGOT

SGOT

HIS

<HISID>

<HISDS>

GPT

SGPT

SITE

01

testdefsite

SGPT

SGOT

HIS

<HISID>

<HISDS>

Crea

Creatinine

SITE

01

testdefsite

CREA

Creatinine

HIS

<HISID>

<HISDS>

CreaU

Creatinine Urine

SITE

01

testdefsite

CREAU

Creatinine Urine

SITE

01

testdeftech

GLUAR

Glukosa Sewaktu

WST

3

testdeftech

GLUAR

Glukosa Sewaktu

SITE

01

testdeftech

GLUF

Glukosa Puasa

WST

3

testdeftech

GLUF

Glukosa Puasa

SITE

01

testdeftech

GLU2HPP

Glukosa 2 Jam PP

WST

3

testdeftech

GLU2HPP

Glukosa 2 Jam PP

SITE

01

testdeftech

CREA

Creatinine

WST

3

testdeftech

CREA

Creatinine

SITE

01

testdeftech

CREAU

Creatinine Urine

WST

3

testdeftech

CREAU

Creatinine Urine

SITE

01

testdeftech

SGOT

SGOT

WST

3

testdeftech

SGOT

SGOT

SITE

01

testdeftech

SGPT

SGPT

WST

3

testdeftech

SGPT

SGOT

SITE

01

testdeftech

ALP

Alkali Phospatase

WST

3

testdeftech

ALP

Alkali Phospatase

SITE

01

testdeftech

GLUAR

Glukosa Sewaktu

WST

4

testdeftech

GLUAR

Glukosa Sewaktu

SITE

01

testdeftech

GLUF

Glukosa Puasa

WST

4

testdeftech

GLUF

Glukosa Puasa

SITE

01

testdeftech

GLU2HPP

Glukosa 2 Jam PP

WST

4

testdeftech

GLU2HPP

Glukosa 2 Jam PP

WST

3

testdeftech

GLUAR

Glukosa Sewaktu

INST

597

testdeftech

1

GLU

Glukosa Sewaktu

WST

3

testdeftech

GLUF

Glukosa Puasa

INST

597

testdeftech

2

GLU

Glukosa Puasa

WST

3

testdeftech

GLU2HPP

Glukosa 2 Jam PP

INST

597

testdeftech

3

GLU

Glukosa 2 Jam PP

WST

3

testdeftech

CREA

Creatinine

INST

597

testdeftech

1

CREA

Creatinine

WST

3

testdeftech

CREAU

Creatinine Urine

INST

597

testdeftech

10

CREA

Creatinine Urine

WST

3

testdeftech

SGOT

SGOT

INST

597

testdeftech

SGOT

SGOT

WST

3

testdeftech

SGPT

SGPT

INST

597

testdeftech

SGPT

SGOT

WST

3

testdeftech

ALP

Alkali Phospatase

INST

597

testdeftech

1

ALP

Alkali Phospatase

WST

3

testdeftech

ALP

Alkali Phospatase

INST

597

testdeftech

20

ALP

Alkali Phospatase

WST

3

testdeftech

ALP

Alkali Phospatase

INST

597

testdeftech

50

ALP

Alkali Phospatase

Test mapping dari HIS ke CLQMS Site. Site menggunakan semua data test terdefinisi (testdefsite)
Test mapping dari Site ke Workstation Automatic Clinical Chemistry (CAUTO, lihat Table 19 Contoh definisi Workstation). Site menyalurkan test yang memerlukan hasil saja ke workstation tersebut (testdeftech).
Glukosa Sewaktu, GlukosaPuasa, Glukosa 2 Jam PP juga dipetakan ke Workstation Automatic Clinical Chemistry Backup (CBACK) untuk antisipasi jika tidak bisa dikerjakan di workstation dala (CAUTO)
Test mapping dari Workstation Workstation Automatic Clinical Chemistry (CAUTO) ke instrument TMS-30i.

Mapping juga termasuk kombinasi ClientTestCode dan ConDefID agar bisa dilakukan relasi one to many dari instrument/equipment.

Tidak ada value di field ConDefID di test SGOT dan SGPT, sehingga keduanya bisa menggunakan container apa saja.

Test ALP bisa menggunakan tabung plain (1), tabung dengan clot activator (10) maupun dengan additive citrate (50 plasma citrate).

Table 88 testdeflog

Field

Tipe data

Display

Keterangan

SpcLogID

Specimen Log ID

PK

TblName

nvarchar

Table Name

Nama table

RecID

int

Record ID

Record ID FK. Record dimana perubahan terjadi

FldName

nvarchar

Field Name

Nama field

FldValuePrev

nvarchar

Previous Value

Field Value Previous. Nilai sebelumnya

UserID

User ID

Identitas user yang melakukan perubahan data. Berasal dari table:

  • CRM.User
  • CRM.Contact

SiteID

nvarchar

Site ID

FK dari table Site13

DIDType

nvarchar

DID Type

Device ID Type:

  • Windows: Device ID
  • Android: AAID
  • IOS: IDFA

DID

nvarchar

DID

Device ID

MachineID

nvarchar

Machine ID

Identitas mesin [51]dimana perubahan dilakukan MAC address

SessionID

nvarchar

Session ID

Application session ID

AppID

nvarchar

Application ID

Application ID

ProcessID

nvarchar

Process ID

Process ID

WebPageID

nvarchar

Web Page ID

EventID

nvarchar

Event ID

ActivityID

nvarchar

Activity ID

Activity ID

Reason

nvarchar

Reason

Alasan perubahan data

LogDate

Date Time

Log Date

Date & time log data. UTC+0

Reference Range

Reference range memperhatikan determinant[52]. Data-data terkait nilai rujukan (reference range) dikelola menggunakan tables dan Value Sets. Tables untuk mengelola reference range terdiri dari:

  • refnum. Berisi definisi rujukan untuk RefType RANGE (Range) dan THOLD (Threshold), untuk test dengan ResultType: Numeric dan Range.
  • reftxt. Berisi definisi nilai rujukan text [53]untuk test dengan ResultType: Value set dan Text.

Table 89 Contoh RefType: RANGE

Test

Site

Code
Spc

Type
Sex Criteria Age

Start
Age

End
Critical

Low
Low High Critical High
TBIL SER pre-term 0D 1D 1 6
TBIL SER pre-term 1D 2D 6 7
TBIL SER pre-term 3D 5D 10 15
TBIL SER term 0D 1D 2 6
TBIL SER term 1D 2D 6 7
TBIL SER term 3D 5D 4 12

Table 90 Contoh RefType: THOLD

Threshold Arti Contoh
< 200 Hasil pasien yang normal adalah kurang dari 200; Jika sama dengan 200 atau lebih besar, diinterpretasikan sebagai abnormal. Nilai rujukan Total Cholesterol adalah <200
> 15 Hasil pasien yang normal adalah lebih dari 15; Jika sama dengan 15 atau lebih kecil, diinterpretasikan sebagai abnormal.
>= 40 Hasil pasien yang normal adalah lebih dari atau sama dengan 40; Jika lebih kecil daripada 40, diinterpretasikan sebagai abnormal. Nilai rujukan HDL Cholesterol untuk laki-laki dewasa adalah >=40
<= 100 Hasil pasien yang normal adalah kurang dari atau sama dengan 100; Jika lebih besar daripada 100, diinterpretasikan sebagai abnormal.
Gambar 11 Kit insert Vitamin D Gambar 12 Kit insert HIV

Table 91 refnum

Field

Tipe data

Display

Keterangan

RefNumID

Reference Range ID

PK.

SiteID

Site ID*

Dari table Site

TestSiteID

Test ID*

FK dari Table 60 testdefsite

SpcType

nvarchar(10)

Specimen Type

Value Set. Specimen Type; Jika null, berlaku untuk semua jenis specimen.

Sex

numeric

Sex

Value Set. Jenis kelamin:

1: female; 2: male; 3: unknown. Jika null, berlaku untuk semua.

Criteria

nvarchar

Biological Criteria[54]

Faktor biologis [55]yang mempengaruhi nilai rujukan. Optional.

AgeStart

numeric

Age Start*

Disimpan dalam days. Constraint NOT NULL.

AgeEnd

numeric

Age End*

Disimpan dalam days. Constraint NOT NULL

NumRefType

nvarchar

Numeric Reference Type*

Value Set. Jenis nilai rujukan: RANGE, THOLD

RangeType

nvarchar

Range Type

Value Set. Jenis range:

  • REF: Reference Range
  • CRTC: Critical Range
  • VAL: Validation Range
  • RERUN: Rerun Range

Constraint: NOT NULL; Default: REF

LowSign

nvarchar(2)

Low Sign

Value Set. Math sign: “<”, “>”, “<=”, “>=”

Low

numeric

Low*

Low limit; Constraint NOT NULL

HighSign

nvarchar(2)

High Sign

Value Set. Math sign: “<”, “>”, “<=”, “>=”

High

numeric

High*

High limit; Constraint NOT NULL.

Display

bit

Display on Report and Screen

Tampilkan sebagai nilai rujukan yang tercetak di laporan dan layar. Constraint: NOT NULL.

Flag

nvarchar(10)

Flag

Flag hasil

Interpretation

nvarchar

Interpretation

Interpretasi hasil

Notes

nvarchar

Notes

Penjelasan nilai rujukan, dll.

CreateDate

Date Time

Create Date

Menandai kapan record ini dibuat. UTC+0

StartDate

Date Time

Start Date

UTC+0. Jika StartDate terisi berarti test tersebut mulai digunakan di semua bagian aplikasi. Default value = CreateDate.

EndDate

Date Time

End Date

Jika EndDate terisi berarti record tersebut disabled di semua bagian aplikasi. UTC+0

Business Rules:

  1. Setiap interval didefinisikan secara eksplisit[56].
  2. Flag hanya berlaku untuk RangeType = REF dan CRTC. Flag = null untuk VAL dan RERUN.
  3. Dalam SiteID, TestSiteCode, SpcType, Sex, NumRefType yang sama, AgeStart, AgeEnd, tidak boleh overlap.
  4. Dalam satu record yang sama, Low dan High tidak boleh memiliki nilai yang sama.
  5. Pengaturan reference range:

Criteria

NumRefType = RANGE

NumRefType = THOLD

LowSign & HighSign

tidak berlaku; harus null.

  • berlaku
  • dalam satu record yang sama, LowSign dan HighSign tidak boleh sama.

Interval reference range. Untuk records dengan nilai field yang sama:

  • SiteID
  • TestSiteCode
  • SpcType
  • Sex
  • AgeStart
  • AgeEnd
  • RangeType
  • Low dan High tidak menggunakan angka yang sama
  • tidak overlap.
  • Low = null artinya tidak ada batas bawah; High = null, artinya tidak ada batas atas.
  • urut, dari nilai terendah (null terlebih dahulu) sampai nilai tertinggi.
  • tanpa celah, Interval berikutnya harus dimulai tepat di tempat interval sebelumnya berakhir
  • tidak overlap, kondisi logis tidak boleh mengizinkan suatu hasil memenuhi lebih dari satu interval.
  • tanpa sign yg kontradiktif. Contoh:
    • interval sebelumnya berakhir dengan <= 200
    • interval berikutnya harus dimulai dengan > 200 atau >= 201
    • tetapi bukan >= 200 (overlap).
  • LowSign = null jika Low = null; HighSign = null jika High = null.
  1. Display = No untuk RangeType: CRTC, VAL, RERUN.
  2. Dalam SiteID, TestSiteCode, SpcType, (Sex,) AgeStart, AgeEnd, NumRefType yang sama:
    1. hanya ada satu Display = Yes
    2. Sex = null tidak boleh berdampingan dengan Sex = M atau F atau Unknown.
  3. StartDate dan EndDate >= Today.
  4. Criteria. Data ini diinput saat test ordering activity.

Table 92 Contoh refnum

TestSite

Code
Sex Age

Start
Age

End
NumRef

Type
Range

Type
Unit Low

Sign
Low High

Sign
High Display Flag Interpretation Keterangan
Hb M 6205D 73000D RANGE CRTC g/dL null 0 null 6 No LL
Hb M 6205D 73000D RANGE REF[57] g/dL null 7 null 12 No L
Hb M 6205D 73000D RANGE REF g/dL null 13 null 17 Yes null
Hb M 6205D 73000D RANGE REF g/dL null 18 null 20 No H
Hb M 6205D 73000D RANGE CRTC g/dL null 21 null null No HH no high limit
Hb M 6205D 73000D RANGE VAL g/dL null 0 null 13 No null
Hb M 6205D 73000D RANGE VAL g/dL null 17 null null No null no high limit
Hb F 6205D 73000D RANGE CRTC g/dL null 0 null 6 No LL
Hb F 6205D 73000D RANGE REF g/dL null 7 null 11 No L
Hb F 6205D 73000D RANGE REF g/dL null 12 null 16 Yes null
Hb F 6205D 73000D RANGE REF g/dL null 17 null 20 No H
Hb F 6205D 73000D RANGE CRTC g/dL null 21 null null No HH
Hb F 6205D 73000D RANGE VAL g/dL null 0 null 12 No null
Hb F 6205D 73000D RANGE VAL g/dL null 16 null null No null
Chol M 0 73000D THOLD REF mg/dL null null < 200 Yes null Desirable
Chol M 0 73000D THOLD REF mg/dL >= 200 <= 239 No * Limit no low limit
Chol M 0 73000D THOLD REF mg/dL >= 240 null null No * High no high limit
Chol M 0 73000D THOLD VAL mg/dL >= 200 null null No null no high limit
VitD null 0 73000D THOLD REF ng/mL null null < 20 No * Deficient
VitD null 0 73000D THOLD REF ng/mL >= 20 <= 30 Yes null Insufficient
VitD null 0 73000D THOLD REF ng/mL > 30 null null No * Sufficient no low limit
HIV null 0 73000D THOLD REF COI null null < 1 Yes null Non-reactive no low limit
HIV null 0 73000D THOLD REF COI >= 1 < 5 No * Borderline
HIV null 0 73000D THOLD REF COI >= 5 null null No * Reactive no high limit
refnum
Resource Model
{

“RefNumId”: “string”, // PK, internal ID

“SiteId”: “string”, // FK to Site (null = universal)

“TestSiteId”: “string”, // FK to testdefsite

“SpcType”: “string”, // Specimen type

“Sex”: “Male | Female | All | Unknown”,

“Criteria”: “string”, // Optional biological criteria

“AgeStart”: 0, // Age lower bound (days)

“AgeEnd”: 365, // Age upper bound (days)

“NumRefType”: “Range | Threshold”,

“RangeType”: “REF | CRTC | VAL | RERUN”,

“LowSign”: “< | ≤ | null”, // Comparator for low bound

“Low”: 0.1, // Numeric lower bound

“HighSign”: “> | ≥ | null”, // Comparator for high bound

“High”: 1.2, // Numeric upper bound

“Display”: true, // Show in patient report

“Flag”: “LL | L | N | H | HH”, // Flag

“Interpretation”: “string”, // Narrative interpretation

“CreateDate”: “2025-01-01T00:00:00Z”,

“StartDate”: “2025-01-01T00:00:00Z”,

“EndDate”: null

}
Endpoints
Create Reference Range

POST/v1/tests/refnum
Input:

{

“SiteId”: “01”,

“TestSiteId”: “TS-000124”, // Hemoglobin

“SpcType”: 1, // Specimen type: BLD

“Sex”: “2”, // Male

“AgeStart”: 6205, // 17 years

“AgeEnd”: 7300, // 20 years

“lowCritical”: 6,

“lowNormal”: 13,

“highNormal”: 17,

“highCritical”: 21,

“StartDate”: “2025-01-01T00:00:00Z”

}

<tulisan biru, dibuat secara otomatis Interval Generator>

{

“SiteId”: “01”,

“TestSiteId”: “TS-000124”,

“SpcType”: 1,

“Sex”: “2”,

“AgeStart”: 6205,

“AgeEnd”: 7300,

“ranges”: [

{ “Low”: 0, “High”: 6, “RangeType”: “CRTC”, “Flag”: “LL”, “Display”: 0 },

{ “Low”: 7, “High”: 12, “RangeType”: “REF”, “Flag”: “L”, “Display”: 0 },

{ “Low”: 13, “High”: 17, “RangeType”: “REF”, “Flag”: null, “Display”: 1 },

{ “Low”: 18, “High”: 20, “RangeType”: “REF”, “Flag”: “H”, “Display”: 0 },

{ “Low”: 21, “High”: 10000, “RangeType”: “CRTC”, “Flag”: “HH”, “Display”: 0 }

],

“StartDate”: “2025-01-01T00:00:00Z”

}

Response (201)

{

“status”: “created”,

“createdRanges”: [

{ “RefNumId”: “RN-0001”, “Flag”: “LL” },

{ “RefNumId”: “RN-0002”, “Flag”: “L” },

{ “RefNumId”: “RN-0003”, “Flag”: null },

{ “RefNumId”: “RN-0004”, “Flag”: “H” },

{ “RefNumId”: “RN-0005”, “Flag”: “HH” }

]

}
Create Reference Range Import

POST/v1/tests/refnum/import
{

“testSiteId”: “TS-000321”,

“fileUrl”: “https://storage.example.com/uploads/bilirubin_ranges.csv”

}
Get Site Test by ID

POST/v1/tests/technical {TestTechID}
Response

{

“TestTechId”: “TT-000456”,

“TestSiteId”: “TS-000123”,

“DisciplineId”: “HEMA”,

“DepartmentId”: “LAB01”,

“ResultType”: “Numeric”,

“RefType”: “NMRC”,

“Unit1”: “g/dL”,

“Decimal”: 2,

“CollReq”: “Whole blood, EDTA tube”,

“Method”: “Spectrophotometry”,

“ExpectedTAT”: 30,

“CreateDate”: “2025-01-01T00:00:00Z”,

“EndDate”: null

}
Update Site Test

PUT/v1/tests/technical/{TestTechID}
Request

{

“Method”: “Cyanmethemoglobin”,

“ExpectedTAT”: 45

}

Response (200)

{

“TestTechId”: “TT-000456”,

“Status”: “updated”

}
Disable Site Test

DELETE/v1/tests/technical/{TestTechID}

Soft delete 🡪 sets EndDate
Response (200)

{

“TestTechId”: “TT-000456”,

“Status”: “disabled”,

“EndDate”: “2025-12-31T00:00:00Z”

}
Search Site Test

GET/v1/tests/technical
Query Parameters

DisciplineId=

DepartmentId=

ResultType=

RefType=

Method=
Error Model
Contoh Error Response {

“errorCode”: “TECH-INVALID-REF”,

“message”: “RefType TEXT cannot be used with resultType Numeric.”,

“details”: {

“TestSiteId”: “TS-000123”,

“ResultType”: “Numeric”,

“RefType”: “TEXT”

}

}
Standard Error Codes |Code|Meaning|

|------|---------|

|TECH-INVALID-REF|RefType mismatch with ResultType|

|TECH-INVALID-VSET|vSet missing or invalid|

|TECH-UNIT-CONFLICT|Unit1/Unit2/factor inconsistent|

|TECH-DECIMAL-INVALID|Decimal places out of range|

|TECH-DATE-CONFLICT|Overlapping StartDate/EndDate for same TestSiteId|

Table 93 reftxt

Field Tipe data Display Keterangan
RefTxtID Reference Range ID PK.
SiteID nvarchar Site ID* Dari table Site
TestSiteID nvarchar Test ID* FK dari Table 60 testdefsite
SpcType nvarchar(10) Specimen Type Value Set. Specimen Type; Jika null, berlaku untuk semua jenis specimen.
Sex numeric Sex Value Set. Jenis kelamin:

1: female; 2: male; 3: unknown. Jika null, berlaku untuk semua.
Criteria nvarchar Biological Criteria[58] Faktor biologis [59]yang mempengaruhi nilai rujukan. Optional.
AgeStart numeric Age Start* Disimpan dalam days. Constraint NOT NULL.
AgeEnd numeric Age End* Disimpan dalam days. Constraint NOT NULL
TxtRefType nvarchar Text Reference Type* Value Set. Jenis nilai rujukan: VSET, TEXT
RefTxt nvarchar Reference Text* Text yang dijadikan referensi hasil.
Flag nvarchar(10) Flag Flag hasil
Notes nvarchar Notes Penjelasan nilai rujukan, dll.
CreateDate Date Time Create Date Menandai kapan record ini dibuat. UTC+0
StartDate Date Time Start Date UTC+0. Jika StartDate terisi berarti test tersebut mulai digunakan di semua bagian aplikasi. Default value = CreateDate.
EndDate Date Time End Date Jika EndDate terisi berarti record tersebut disabled di semua bagian aplikasi. UTC+0

Business Rules:

  1. Setiap interval didefinisikan secara eksplisit[60].
  2. Dalam SiteID, TestSiteCode, SpcType, Sex, TxtRefType yang sama, AgeStart, AgeEnd, tidak boleh overlap.
  3. Jika testdeftech. Vset:
    1. terisi, makaTxtRefType diset VSET.
    2. tidak terisi, maka TxtRefType diset TEXT
  4. Nilai RefTxt, jika TxtRefType:
    1. VSET: salah satu dari Value Set dari test yang bersangkutan testdeftech.Vset
    2. TEXT: Formated free text.
  5. Dalam SiteID, TestSiteCode, SpcType, (Sex,) AgeStart, AgeEnd, TxtRefType yang sama, maka Sex = null tidak boleh berdampingan dengan Sex = M atau F atau Unknown.
  6. StartDate dan EndDate >= Today

Table 94 Contoh reftxt

TestSite

Code
Sex Age

Start
Age

End
NumRef

Type
Unit RefTxt Flag Keterangan
Ucolr null 0D 73000D VSET YELLOW * Warna urin
Uclar null 0D 73000D VSET CLEAR * Kejernihan urin
Scolr null 0D 73000D VSET BROWN * Warna feses
HIVR null 0D 73000D VSET Non-Reactive * HIV Rapid
Cultr null 0D 73000D VSET g/dL No growth * Kultur
GrStn null 0D 73000D VSET g/dL No organisms seen * Gram stain
ESTRDL F 0D 73000D TEXT Early follicular phase 20-150

Late follicular phase 40-350

Midcycle 150-750

Luteal phase 30-450

Postmenopausal <21
null Estradiol

Table 95 Alur definisi test

Definition

tab
Testdefsite.

TestType
Testdeftech.

ResultType
Testdeftech.

RefType
Technical

tab
Calculation

tab
Reference

tab
Group

tab
Mapping

tab
Semua TEST Numeric NMRC Enable Disable Numeric Disable Enable
test Range NMRC Enable Disable Numeric Disable Enable
Value set TEXT Enable Disable Text Disable Enable
Text TEXT Enable Disable Text Disable Enable
PARAM Numeric NMRC Enable Disable Numeric Disable Enable
Range NMRC Enable Disable Numeric Disable Enable
Value set TEXT Enable Disable Text Disable Enable
Text TEXT Enable Disable Text Disable Enable
CALC Numeric NMRC Enable Disable Numeric Disable Enable
GROUP Disable Disable Disable Enable Enable
TITLE Disable Disable Disable Disable Enable

Keterangan:

  1. Semua test didefinisikan di Definition tab
  2. TEST, PARAM dan CALC dilanjutkan di Technical, Reference dan Mapping tab.
  3. CALC dilanjutkan ke Calculation, Reference dan Mapping tab
  4. GROUP dilanjutkan ke Group dan Mapping tab
  5. TITLE dilanjutkan ke Mapping tab saja

Value Set

Value set bertujuan menyediakan pilihan baku[61] untuk memastikan konsistensi value yang digunakan.

Terdiri dari tables berikut:

  • valuesetdef, value set field. Menyimpan relasi antara value set dengan field yang menggunakannya. Lihat Table 73. valuesetfld
  • valueset, value set. Yaitu table untuk menyimpan definisi value set. Lihat Table 72. valueset

Table 96. valuesetdef

Field Tipe data Display Keterangan
VsetID Value Set ID PK; Internal ID.
SiteID Site ID FK; Dari table Site. Jika tidak terisi, berarti berlaku sebagai default bagi semua site.
VSName nvarchar Value Set Name Nama Value Set
VSDesc nvarchar Table name.FieldName Nama _table._Nama field ; Penjelasan dimana value set ini digunakan.
CreateDate Date Time Create Date Menandai kapan record ini dibuat. UTC+0
EndDate Date Time End Date Jika EndDate terisi berarti record disabled di semua bagian aplikasi. UTC+0

Table 97. valueset

Field Tipe data Display Keterangan
VID Value ID PK; Internal ID.
SiteID Site ID FK; Dari table Site; Jika tidak terisi, maka berlaku untuk semua site
VsetID int Value Set FK, dari Table 73. valuesetdef.VsetID. Untuk grouping.
Vorder int Value Order Urutan tampilan
Vvalue nvarchar Value Value, nilai terdefinisi.
Vdesc nvarchar Value Description Penjelasan Vvalue
Vcategory int Category Value Set. Kategory value set:

0: system

1: user-defined[62]
CreateDate Date Time Create Date Menandai kapan record ini dibuat. UTC+0
EndDate Date Time End Date Jika EndDate terisi berarti record disabled di semua bagian aplikasi. UTC+0

Business rules:

  1. VsetID, referential integrity:
    • ON UPDATE: CASCADE. Jika valuesetdef.EndDate diisi value, maka value yang sama disisikan ke valueset.EndDate

Reagent

Terdiri dari tables berikut:

  • reagents, berisi data reagen yang berasal dari instrument. Antara lain no. catalog, no. lot, expiry date, identitas vial, dst. Table Reagents bersifat transaksional, nilai-nilainya mengikuti reagent yang sedang digunakan

Table 98 reagents

Field

Tipe data

Keterangan

ReagentID

nvarchar

PK. Identitas reagen:

  • Dari pabrikan
  • Key in manual?

Analyte

nvarchar

Analit. Further development

LotNumber

nvarchar

Nomor lot kalibrator.

ExpiryDate

datetime

Tanggal kadaluwarsa kalibrator

BottleID

nvarchar

Identitas botol/vial reagen

OpenBottleDate

datetime

Waktu botol/vial reagen mulai digunakan.

RoundNo

Numeric

Nomor reagent carousel

Position

Numeric

Posisi reagen di carousel

CreateDate

datetime

Waktu record ini dibuat.

Calibration

Tujuan pengelolaan data kalibrasi adalah:

  1. Mendapatkan jumlah tes yang digunakan untuk kalibrasi berikut perulangannya
  2. Merekam data-data teknis penting terkait proses kalibrasi (absorbance, result, factor, dll) sehingga bisa dilakukan analisis perbandingan antar instrument/site dan early warning detection & alert.

Terdiri dari tables berikut:

  • InvTransaction13, Inventory Transaction. Berisi data kit kalibrator yang diterima laboratorium. Antara lain no. catalog, no. lot, expiry date, jumlah, dst.
  • caldef, calibrator definition merelasikan antara product calibrator dengan analyte/reagen. Antara lain no. catalog, no. lot, expiry date, value untuk setiap analyte/reagent jenis instrument. Input data caldef dilakukan Technical Support Perusahaan.
  • calprep, calibrator preparation. Berisi data open bottle date, jumlah aliquot, user yang melakukan persiapan kalibrasi, catatan. Input data calprep dilakukan user. Data dari calprep bisa digunakan untuk pencetakan label untuk identitas setiap vial kalibrator.
  • calparinst, calibration parameters of instrument. Berisi data-data setting jenis dan nilai target calibrator yang digunakan tiap instrument. Data diperoleh dari instrument interfacing atau input manual.
  • calresinst, calibration results of instrument. berisi data hasil kalibrasi dari setiap instrument (melalui instrument interfacing) atau di-input manual. Tabel ini menyimpan semua tes berikut hasilnya yang digunakan dalam prosedur kalibrasi, tetapi mungkin tidak semua hasil digunakan untuk menghitung factor kalibrasi.
  • calfactor, calibration factor. Berisi data faktor kalibrasi. Faktor kalibrasi bisa berasal dari table database instrument atau dari perhitungan.

Table 99 caldef

Field

Tipe data

Keterangan

CalDefID

Nvarchar

PK

InvTransactionID

nvarchar

Foreign Key. Inventory transaction ID; dari table InvTransaction.

Format: ITRYYXXXXXX;

Calibrator

nvarchar

  • Foreign Key: CatalogID dari ProductCatalog13 atau CatalogExtID dari Table 3 productcatalogext.
  • ProductCatalog.Type, productcatalogext.Type: calibrators

OpenBottleStability

Numeric

Stabilitas product setelah dibuka. Dalam satuan hari.

Analyte

nvarchar

Analit. Further development

LotNumber

nvarchar

Nomor lot kalibrator.

ExpiryDate

datetime

Tanggal kadaluwarsa kalibrator

Reagent

nvarchar

  • Foreign Key: CatalogID dari ProductCatalog13 atau CatalogExtID dari Table 3 productcatalogext
  • ProductCatalog.Type, productcatalogext.Type: reagent.
  • Menunjukkan reagen yang mengguna-kan kalibrator ini. Bisa lebih dari satu nomor catalog reagen.

SpcTypeID

nvarchar

FK; Specimen Type ID; Dari

Table 37. spctype

Level

numeric

Level kalibrasi

Value

numeric

Nilai target kalibrasi.

Unit

nvarchar

Satuan dari nilai target kalibrasi.

InstrumentAlias

nvarchar

  • Brand dan type instrument. Misalnya TMS-30i. dari table instrument alias. Belum spesifik s/n.
  • Opsional.

Table 100 calprep

Field

Tipe data

Keterangan

CalPrepID

nvarchar

PK.

Calibrator

nvarchar

  • Foreign Key: CatalogID dari ProductCatalog13 atau CatalogExtID dari Table 3 productcatalogext.
  • ProductCatalog.Type, productcatalogext.Type: calibrators

OpenBottleDateTime

datetime

Waktu membuka vial(-vial) kalibrator

LotNumber

nvarchar

Nomor lot kalibrator.

ExpiryDate

datetime

Tanggal kadaluwarsa kalibrator

Level

Numeric

Level kalibrator

Vials

Numeric

Jumlah vial (hasil aliquoting).

Note

Text

Catatan

User

nvarchar

Foreign Key, ContactID, dari table ContactDetail13

CreateDate

Date Time

Menandai kapan record ini dibuat.

Saat user melakukan persiapan bahan kalibrator (pengenceran dan aliquoting), yang bersangkutan mencatatkan kalibrator (catalog ID), no. lot, tanggal buka vial, expiry date, jumlah via hasil aliquoting.

Table 101 calparinst

Field

Tipe data

Keterangan

CalParInstID

nvarchar

PK

EquipmentID

nvarchar

  • EquipmentID dari Table 47. equipmentlist
  • Jika dikerjakan manual, maka berisi WorkbenchID dari Table 10 workbench.

Calibrator

nvarchar

Nama kalibrator, berasal dari instrument.

Jika identitas kalibrator tidak ada, digantikan dengan gabungan beberap field data. Lihat Table 62 Identitas calibrator dari instrument

LotNo

nvarchar

Nomor lot bahan kalibrator

ExpiryDate

Date Time

Tanggal expired

TestInstID

nvarchar

Foreign Key dari Table 52. testdeftech

SampleType

nvarchar

Jenis sample

Level

Numeric

Calibrator level

Concentration

Numeric

Nilai target konsentrasi masing-masing level kalibrator

CalUnit

nvarchar

Satuan hasil kalibrasi. Tidak selalu sama dengan satuan concentration

CreateDate

Date Time

Menandai kapan record ini dibuat.

Table 102 Identitas calibrator dari instrument

Instrument Format code Calibrator
TMS-1024i F1? Apakah bisa menggunakan format yg sama?
TMS-24i F1? Apakah bisa menggunakan format yg sama?
TMS-30i F2 F2^<TRAY_NO>^<POS_NO>^<STD_NO>
TMS-50i F3

Table 103 calresinst

Field

Tipe data

Keterangan

CalRestID

nvarchar

PK

EquipmentID

nvarchar

  • EquipmentID dari Table 47. equipmentlist
  • Jika dikerjakan manual, maka berisi WorkbenchID dari Table 10 workbench.

InstCalID

Nvarchar(5)

Identitas bahan calibrator yang berasal dari instrument. Data bisa dibandingkan dengan Level di table calparinst untuk crosscheck.

InstCalName

nvarchar

Nama bahan calibrator yang berasal dari instrument. Jika identitas kalibrator tidak ada, digantikan dengan gabungan beberap field data. Lihat Table 62 Identitas calibrator dari instrument

TestTechCode

nvarchar

  • Kode test yang berasal dari instrument. Biasanya berupa kode numeric.
  • Disamakan dengan TestSiteCode jika EquipmentID = WorkbenchID.

SampleType

nvarchar

Jenis sample dari instrument

CalDate

Date Time

Tanggal kalibrasi

Level

Numeric

Calibrator level. Data bisa dibandingkan dengan Level di table calparinst untuk crosscheck.

Blank

Numeric

Blank calibrator

Concentration

Numeric

Konsentrasi kalibrator. Data bisa dibandingkan dengan Concentration di table calparinst untuk crosscheck.

Result

Numeric

Hasil kalibrasi

ResultUnit

Nvarchar

Satuan hasil kalibrasi[63].

IsTotal

bit

  • 0: hasil original
  • 1: hasil perhitungan

LotNo

nvarchar

Nomor lot kalibrator. Optional

Aspiration

Numeric

Jumlah aspirasi/perulangan kalibrasi

Val

nvarchar

  • Jika memenuhi kriteria validasi, maka berisi “SYSTEM”
  • Jika tidak memenuhi kriteria, maka berisi UserID dari table User13

ValDateTime

Datetime

  • Jika memenuhi kriteria validasi, maka berisi date & time saat Val = “SYSTEM” direkam.
  • Jika tidak memenuhi kriteria, maka berisi date & time saat user melakukan validasi.

Calibration factor[64] dihitung sesuai formula pada Lampiran 2 bagian Calibration dan Calibration Factor.

Quality Control (QC)

Terdiri dari tables berikut:

  • InvTransaction13, Inventory Transaction. Berisi data kit QC yang diterima laboratorium. Antara lain no. catalog, no. lot, expiry date, jumlah, dst.
  • qcdef, qc definition merelasikan antara product QC dengan analyte/reagen. Antara lain no. catalog, no. lot, expiry date, value untuk setiap analyte/reagent jenis instrument. Input data qcdef dilakukan Technical Support Perusahaan.
  • qcprep, qc preparation. Berisi data open bottle date, jumlah aliquot, user yang melakukan persiapan qc, catatan. Input data qcprep dilakukan user. Data dari qcprep bisa digunakan untuk pencetakan label untuk identitas setiap vial qc.
  • qcparinst, qc parameter of instrument. Berisi data-data setting jenis dan nilai target qc yang digunakan tiap instrument.
  • qcresinst, qc results of instrument. Berisi data hasil qc dari setiap instrument (melalui instrument interfacing) atau di-input manual.
  • qcresflag, qc result flag. Berisi data flag hasil (klinis) dari instrument. Setiap hasil bisa saja memiliki lebih dari satu flag.
  • qcrescom, qc result comment. Berisi data komentar/catatan/penjelasan tambahan atas hasil tes pasien.
  • qcrestech, qc result technic. Berisi data detail teknis terkait hasil seperti reaction cell yang digunakan, absorbance, error, dilution, dll.

Table 104 qcdef

Field

Tipe data

Keterangan

QCDefID

nvarchar

PK

InvTransactionID

nvarchar

Foreign Key. Inventory transaction ID; dari table InvTransaction13.

Format: ITRYYXXXXXX;

Control

nvarchar

  • Foreign Key: CatalogID dari ProductCatalog13 atau CatalogExtID dari Table 3 productcatalogext.
  • ProductCatalog.Type, productcatalogext.Type: controls

OpenBottleStability

Numeric

Stabilitas product setelah dibuka. Dalam satuan hari.

Analyte

nvarchar

Analit. Further development

LotNumber

nvarchar

Nomor lot kalibrator.

ExpiryDate

datetime

Tanggal kadaluwarsa kalibrator

Reagent

nvarchar

  • Foreign Key: CatalogID dari ProductCatalog13 atau CatalogExtID dari Table 3 productcatalogext
  • ProductCatalog.Type, productcatalogext.Type: reagent.
  • Menunjukkan reagen yang mengguna-kan kalibrator ini. Bisa lebih dari satu nomor catalog reagen.

SpcTypeID

nvarchar

Foreign Key; Specimen Type ID; Dari Table 37. spctype

Level

numeric

Level control[65].

Value

numeric

Nilai target kalibrasi.

Unit

nvarchar

Satuan dari nilai target kalibrasi.

InstrumentAlias

nvarchar

  • Brand dan type instrument. Misalnya TMS-30i. dari table instrument alias. Belum spesifik s/n.
  • Opsional.

Table 105 qcprep

Field

Tipe data

Keterangan

QCPrepID

nvarchar

PK.

Control

nvarchar

  • Foreign Key: CatalogID dari ProductCatalog13 atau CatalogExtID dari Table 3 productcatalogext.
  • ProductCatalog.Type, productcatalogext.Type: controls

OpenBottleDateTime

datetime

Waktu membuka vial(-vial) kontrol

LotNumber

nvarchar

Nomor lot kontrol

ExpiryDate

datetime

Tanggal kadaluwarsa bahan kontrol

Level

Numeric

Level bahan kontrol; Opsional, tidak diisi jika control level yang berbeda menggunakan no. catalog terpisah.

Vials

Numeric

Jumlah vial (hasil aliquoting).

Note

Text

Catatan

User

nvarchar

Foreign Key, ContactID, dari table ContactDetail13

CreateDate

Date Time

Menandai kapan record ini dibuat.

Saat user melakukan persiapan bahan kontrol (pengenceran dan aliquoting), yang bersangkutan mencatatkan control (catalog ID), no. lot, tanggal buka vial, expiry date, jumlah via hasil aliquoting.

Table 106 qcparinst

Field

Tipe data

Keterangan

QCParInstID

nvarchar

PK

EquipmentID

nvarchar

  • Berisi ProductNumber (table Product, CRM) jika berasal dari Perusahaan.
  • Berisi instrument serial number jika berasal dari perusahaan lain
  • Foreign Key dari table InstrumentList

ControlInst

nvarchar

Identitas bahan control yang berasal dari instrument.

LotNo

nvarchar

Nomor lot bahan kontrol

ExpiryDate

Date Time

Tanggal expired

TestInstID

nvarchar

Foreign Key dari Table 52. testdef

SampleType

nvarchar

Jenis sample

Level

Numeric

Control level

Mean

Numeric

Nilai mean masing-masing level control

SD

Numeric

Nilai simpangan baku masing-masing level control

QCUnit

nvarchar

Satuan hasil kalibrasi.

CreateDate

Date Time

Menandai kapan record ini dibuat.

Table 107 qcresinst

Field

Tipe data

Keterangan

QCRestID

nvarchar

PK

EquipmentID

nvarchar

  • EquipmentID dari Table 47. equipmentlist
  • Jika dikerjakan manual, maka berisi WorkbenchID dari Table 10 workbench.

InstCtrlID

Nvarchar(5)

Identitas bahan control yang berasal dari instrument. Data bisa dibandingkan dengan Level di table qcparinst untuk crosscheck.

InstCtrlName

nvarchar

Nama bahan control yang berasal dari instrument.

TestTechCode

nvarchar

  • Kode test yang berasal dari instrument. Biasanya berupa kode numeric.
  • Disamakan dengan TestSiteCode jika EquipmentID = WorkbenchID.

SampleType

nvarchar

Jenis sample

QCDate

Date Time

Tanggal kontrol

Result

Numeric

Hasil kontrol

ResultUnit

Nvarchar

Satuan hasil kontrol[66].

LotNo

nvarchar

Nomor lot kontrol

Val

nvarchar

  • Jika memenuhi kriteria validasi, maka berisi “SYSTEM”
  • Jika tidak memenuhi kriteria, maka berisi UserID dari table User13

ValDateTime

Datetime

  • Jika memenuhi kriteria validasi, maka berisi date & time saat Val = “SYSTEM” direkam.
  • Jika tidak memenuhi kriteria, maka berisi date & time saat user melakukan validasi.

CreateDate

Date Time

Menandai kapan record ini dibuat.

Results

Hasil pasien dikelola menggunakan tabel-tabel sebagai berikut:

  • patres, patient results.
    • terisi otomatis akibat test ordering activity.
    • Berisi data hasil pasien, baik yang berasal dari instrument maupun manual.
    • Menyimpan semua hasil [67]pasien dari instrument, baik yang memiliki test order ataupun tidak.
  • patresflag, patient result flag. Berisi data flag hasil (klinis) dari instrument. Setiap hasil bisa saja memiliki lebih dari satu flag.
  • patrescom, patient result comment. Berisi data komentar/catatan/penjelasan tambahan atas hasil tes pasien.
  • patrestech, patient result technic. Berisi data detail teknis terkait hasil seperti reaction cell yang digunakan, absorbance, error, dilution, dll.
  • patrestatus, patient result status. Berisi data tindakan apa saja yang telah/sedang dilakukan atas hasil tes pasien.
  • flagdef, flag definition. Berisi definisi flag dari berbagai macam instrument
  • techdef, technical definition.
  • patreslog, patient result audit. Berisi data perubahan-perubahan atas data hasil pasien, yang meliputi tables:
    • patres
    • patresflag
    • patrescom
    • patrestech
    • patrestatus

Berisi data hasil analisis dari masing-masing instrument:

  • Semua hasil (validated/not validated) disimpan
  • Expiry date

Table 108 patres

Field

Tipe data

Display

Keterangan

ResultID

Int

Result ID

PK

SiteID

Site ID*

FK. Not null. Site asal specimen. Dari table Site

OrderID

Order ID

FK. Test order ID, dari table ordertest

InternalSID

Internal SID

FK. Internal Specimen ID dari table specimens

SID

Nvarchar(30)

Sample ID (SID)

  • Specimen ID; Dari Table 40 specimens.
  • Jika null, berarti hasil tidak memiliki test order.

InstSID

Nvarchar(30)

Instrument SID

Sample identity yang berasal dari instrument.

TestSiteID

Test Site ID

FK; dari table testdefsite;

TestSiteCode

char (6)

Test Site Code

Abbreviated text, panjangnya 6 character

AspCnt

int

Aspiration Count

Aspiration counter. Menunjukan aspirasi ke# atau perulangan ke#. Default value adalah 1

Result

Nvarchar

Result

Hasil analisis dari instrument/manual

SampleType

Nvarchar(50)

Sample Type

Data dari instrument.

  • Serum
  • Urine
  • Plasma
  • CSF
  • Etc.

ResultDateTime

Date Time

Result Date Time

Tanggal analisis/result dari instrument. UTC+0

WorkstationID

Workstation ID

FK, dari Table 14 workstation; Workstation dimana test dikerjakan.

EquipmentID

Equipment ID

FK, dari Table 47. equipmentlist; Equipment dimana test dikerjakan.

RefNumID

Reference Range ID

FK, dari table refnum

RefTxtID

Reference Text ID

FK, dari table reftxt

CreateDate

Date Time

Create Date

Menandai kapan record ini dibuat. UTC+0

EndDate

Date Time

End Date

Jika EndDate terisi berarti result sudah closed. UTC+0

ArchiveDate

Date Time

Archive Date

Jika ArchiveDate terisi, berarti record ini sudah masuk data warehouse dan tidak boleh diiubah lagi. UTC+0

DelDate

Date Time

Delete Date

Jika DeleteDate terisi berarti result sudah dihapus dan tidak bisa di-akses oleh user biasa. UTC+0

Business Rules:

  1. Semua hasil ditampung di patres:
    1. hasil yang berasal dari Test Ordering activity (memiliki SID)
    2. hasil selain dari Test Ordering.
  2. RefNumID dan RefTxtID adalah mutually exclusive. Tiap record patres yang memiliki salah satu dari keduanya.
  3. AspCnt Aspiration Count. Menandakan banyaknya test tersebut dilakukan (rerun). Data berasal dari:
  4. perhitungan otomatis di CLQMS, yaitu Result pertama dihitung sebagai AspCnt=1; Selanjutnya jika ada Result dengan ResultDateTime yang berbeda dengan record yang sudah ada, maka AspCnt bertambah satu (1).
  5. instrument, misalnya OBX-17 pada Mindray BS-430, CL-900i. Perhatikan bahwa tidak semua instrument menggunakan OBX-17 dengan cara yang sama.

Table 109 patresflag

Field Tipe data Display Keterangan
ResFlagID Int Result Flag ID PK
ResultID Int Result ID Foreign Key dari Table 68 patres
Flag Nvarchar(50) Flag Flag dari instrument
CreateDate Date Time Create Date Menandai kapan record ini dibuat. UTC+0
EndDate Date Time End Date Jika terisi berarti record sudah closed. UTC+0
ArchiveDate Date Time Archive Date Jika terisi, berarti record ini sudah masuk data warehouse dan tidak boleh diiubah lagi. UTC+0
DelDate Date Time Delete Date Jika terisi berarti record sudah dihapus dan tidak bisa di-akses oleh user biasa. UTC+0

Business Rules:

  1. Table patresflag menyimpan data flag dari instrument as is[68].
  2. Untuk menampilkan flag, harus merelasikan dengan table flagdef dan untuk InstrumentName yang sama.
  3. ResultID dan Flag bisa dijadikan PK sehingga ResFlagID tdak diperlukan.

Table 110 patrestech

Field Tipe data Display Keterangan
ResTechID Int Result Tech ID PK
ResultID Int Result ID Foreign Key dari Table 68 patres
DBField nvarchar(50) Database Field Nama field dari database instrument
DBValue nvarchar(100) Value Nilai dari field tersebut
CreateDate Date Time Create Date Menandai kapan record ini dibuat. UTC+0
EndDate Date Time End Date Jika terisi berarti record sudah closed. UTC+0
ArchiveDate Date Time Archive Date Jika terisi, berarti record ini sudah masuk data warehouse dan tidak boleh diiubah lagi. UTC+0
DelDate Date Time Delete Date Jika terisi berarti record sudah dihapus dan tidak bisa di-akses oleh user biasa. UTC+0

Table 111 patrestatus

Field

Tipe data

Display

Keterangan

ResStatusID

PK.

ResultID

Result ID

FK. Not null. Dari table patres

SID

Nvarchar(30)

Sample ID (SID)

  • Specimen ID; Dari Table 40 specimens.
  • Jika null, berarti hasil tidak memiliki test order.

TestAct

nvarchar

Test Activity

Value Set. Activity yang dilakukan atas test. Berdasarkan test life cycle dari Table 4 Test activity & status

ActRes

int

Activity Result

  • null: belum ada status
  • Value Set. Activity Result.
    • 0: gagal
    • 1: berhasil dengan catatan
    • 2: berhasil

TestStatus

nvarchar

Test Status

Value Set. Test Status.

CurrSiteID

nvarchar

Current Site ID

FK, Current Site ID. Site dimana Action dilakukan. Dari table Site

CurrLocID

nvarchar

Current Location ID

Current Location, lokasi dimana Action dilakukan. Berisi FK, salah satu dari:

  • LocationID dari Table 20 location
  • WorkstationID dari Table 14 workstation
  • EquipmentID dari Table 47. equipmentlist

Origin

nvarchar

Origin

Nama table asal Foreign Key:

  • location
  • workstation
  • equipmentlist

GeoLocationSystem

nvarchar

Geo Location System

  • Sistem/standard geolocation yang digunakan
  • Untuk pemantauan pengiriman[69] specimen.

GeoLocationData

Geo Location Data

  • Untuk pemantauan pengiriman21 specimen.

(perlu dipelajari lebih lanjut format data GeoLocation baku)

DIDType

nvarchar

DID Type

Value Set. Device ID Type:

  • Windows: Device ID
  • Android: AAID
  • IOS: IDFA

DID

nvarchar

DID

Device ID

UserID

nvarchar

User ID

Identitas user yang melakukan perubahan status. Berasal dari table:

  • CRM.User
  • CRM.ContactDetail

LogDate

Date Time

Log Date

Waktu record ini dibuat. UTC+0

EndDate

Date Time

End Date

Jika EndDate terisi berarti specimen status record ini sudah closed. UTC+0

ArchiveDate

Date Time

Archive Date

Jika ArchiveDate terisi berarti record ini sudah masuk data warehouse dan tidak boleh diiubah lagi. UTC+0

CurrSiteID, termasuk lab rujukan tempat test diproduksi.

Table 112 flagdef

Field

Tipe data

Keterangan

FlagDefID

Int

Flag Definition ID

PK

InstrumentName

nvarchar(100)

Instrument Name

  • Berisi ProductName (table ProductCatalog atau alias, CRM) Misalnya:
    • TMS-30i
    • BS-430

Instrument name perlu dijaga konsistensinya secara global karena akan menentukan QC grouping, flagging.

Flag

Nvarchar(50)

Flag

Flag dari instrument

FlagText

Nvarchar(100)

Full Text

Text yang ditampilkan ke user

FlagDesc

Nvarchar(255)

Description

Penjelasan/arti flag

OnScreen

Bit

On Screen

Y: ditampilkan di layar

N: sebaliknya

OnResult

Bit

On Result

Y: ditampilkan di result report

N: sebaliknya

CreateDate

Date Time

Create Date

Menandai kapan record ini dibuat. UTC+0

EndDate

Date Time

End Date

Jika terisi berarti record sudah tidak digunakan lagi. UTC+0

Test Ordering, Samples, Tests dan Distribusi Pekerjaan

Berikut adalah penjelasan apa yang terjadi ketika dilakukan activity terkait test (Table 3 Test Life Cycle).

Keterangan:

OrderID 0125010700001
Order Date&Time 2025-01-07 07:02:00
WorkstationID 3: CAUTO

4: CBACK
EquipmentID 597: TMS-30i (s/n 6016850924)

58: TMS-24i (s/n 2711771113)
Specimen Reception Date & Time 2025-01-07 07:30:00
Instrument Query Date & Time 2025-01-07 07:40:00

Test Ordering

Table 113 patres saat test ordering

ResultID SiteID OrderID SID SampleID

(instrument)
TestSiteCode AspCnt Result (instrument) SampleType

(instrument)
ResultDateTime

(instrument)
WorkstationID EquipmentID CreateDate
1 01 <OrderID> <OrderID>0010 CREA SERUM 2025-01-07 07:02:00
2 01 <OrderID> <OrderID>0010 CREAU URINE 2025-01-07 07:02:00
3 01 <OrderID> <OrderID>0010 SGOT SERUM 2025-01-07 07:02:00
4 01 <OrderID> <OrderID>0010 SGPT SERUM 2025-01-07 07:02:00
5 01 <OrderID> <OrderID>0010 ALP SERUM 2025-01-07 07:02:00
GLUAR 1 SERUM
GLUF 1 SERUM
GLU2HPP 1 SERUM

Table 114 patresstatus saat test ordering

ResStatusID ResultID SID TestSiteCode TestAct ActRes TestStatus CurrSiteID CurrLocID Origin
1 1 <OrderID>0010 CREA ORD 2 Ordered 01 lab site 2025-01-07 07:02:00
2 2 <OrderID>0010 CREAU ORD 2 Ordered 01 lab site 2025-01-07 07:02:00
3 3 <OrderID>0010 SGOT ORD 2 Ordered 01 lab site 2025-01-07 07:02:00
4 4 <OrderID>0010 SGPT ORD 2 Ordered 01 lab site 2025-01-07 07:02:00
5 5 <OrderID>0010 ALP ORD 2 Ordered 01 lab site 2025-01-07 07:02:00
6 1 <OrderID>0010 CREA SCH 2 Scheduled 01 3 workstation 2025-01-07 07:30:00
7 2 <OrderID>0010 CREAU SCH 2 Scheduled 01 3 workstation 2025-01-07 07:30:00
8 3 <OrderID>0010 SGOT SCH 2 Scheduled 01 3 workstation 2025-01-07 07:30:00
9 4 <OrderID>0010 SGPT SCH 2 Scheduled 01 3 workstation 2025-01-07 07:30:00
10 5 <OrderID>0010 ALP SCH 2 Scheduled 01 3 workstation 2025-01-07 07:30:00
11 1 <OrderID>0010 CREA SCH 2 Scheduled 01 4 workstation 2025-01-07 07:30:00
12 2 <OrderID>0010 CREAU SCH 2 Scheduled 01 4 workstation 2025-01-07 07:30:00
13 3 <OrderID>0010 SGOT SCH 2 Scheduled 01 4 workstation 2025-01-07 07:30:00
14 4 <OrderID>0010 SGPT SCH 2 Scheduled 01 4 workstation 2025-01-07 07:30:00
15 5 <OrderID>0010 ALP SCH 2 Scheduled 01 4 workstation 2025-01-07 07:30:00
16 ANA Schedule failed 597
VER Waiting to be analyse 597
REV Analysed 597
REP Analysis failed 597
597
58
58
58
58
58

Result Distribution

Distribusi hasil yang dimaksud adalah hasil pemeriksaan pasien, meliputi:

  1. Cetak hardcopy, baik otomatis maupun manual
  2. Cetak softcopy, baik otomatis maupun manual
  3. Kirim hasil cetak softcopy via email, baik otomatis maupun manual
  4. Kirim hasil cetak softcopy via instant messaging applications, baik otomatis maupun manual

Result Reporting & Visualization

Result Reporting & Visualization adalah pengaturan tampilan di dala maupun report (softcopy, hardcopy). Terdiri dari:

  • <>
  • <>

Audit

Prinsip audit adalah mencatat (to log):

  • data yang diubah (what), sehingga perlu pencatatan detail:
    • nama table
    • nama field
    • previous value
  • kapan terjadinya perubahan (when)
  • siapa yang melakukan perubahan (who)
  • bagaimana perubahan dilakukan (how) yaitu dengan mencatat applicationID, halaman web, session, event, mekanisme (manual atau perulangan dari instrument duplo) 🡪 system identification.
  • dari lokasi mana perubahan dilakukan (where), yaitu site, workstation, pc dimana perubahan dilakukan (termasuk informasi lokasi) 🡪 access location.
  • alasan perubahan (why), diinput oleh user yang melakukan perubahan

Jenis-jenis log yang digunakan dalam audit trail adalah:

  1. data log, yaitu log of events (catatan kejadian) terkait data. Antara lain:
    1. data demografi pasien, visit, requests, samples, hasil dan semua yang terkait dengan pasien
    2. data user
    3. data master (tests, location, doctors, dll)
    4. data archiving
    5. kegagalan (transaction errors), misalnya kegagalan posting database, dll
  2. service log, yaitu catatan kejadian terkait services [70]. Antara lain:
    1. komunikasi: host communication, instrument communication, dll
    2. resource access: database access/backup/restore, network access, internet access, (IP address & port), dll.
    3. manual/automatic printing (service class)
    4. manual/automatic messaging
    5. kegagalan (system error)
  3. security log, yaitu catatan kejadian terkait pengaturan akses, hal-hal terkait lintas boundary:
    1. user logins and logouts (security class)
    2. accessing sensitive files/folders
    3. network share access attempts
    4. perubahan system security settings
    5. percobaan input password yang gagal
    6. install/uninstall aplikasi
    7. system shutdown/restart events
    8. perubahan user access (disabled, perubahan access rights, dll)
    9. kegagalan (security error)

Jenis interaksi (tindakan) yang masuk dalam audit adalah:

  1. create, read (view), update, delete (CRUD) data
  2. printing

Relational Diagram

<to be completed>.

Antarmuka

<to be completed>.

Access Page

<to be completed>.

Versioning

<berisi pengaturan versi aplikasi.

Definisi definisi

  • IVD adalah singkatan dari In Vitro Diagnostic.
  • QC adalah singkatan dari Quality Control
  • IT adalah singkatan dari Information Technology
  • LIS (Laboratory Information System) adalah software untuk mengelola laboratorium klinik, termasuk mikrobiologi klinik, patologi anatomi, bank darah, biobank dan lab genetika.
  • PK adalah singkatan Primary Key
  • FK adaalah singkatan Foreign Key
  • SMCRM adalah singkatan dari SUMMIT CRM
  • PID adalah singkatan Patient ID nomor unik identitas pasien dalam LIS
  • OrderID adalah nomor unik identitas order, yaitu permintaan test.
  • Container code adalah kode setiap jenis specimen container dan menjadi bagian dari Specimen ID
  • SID adalah singkatan dari Specimen ID nomor unik identitas specimen.
  • TSOIVD adalah singkatan dari Technical Support Officer for IVD Products
  • TSSIVD adalah singkatan dari Technical Support Supervisor for IVD Products
  • TSSIT adalah singkatan dari Technical Support Supervisor for IT Solution.
  • TSOIT adalah singkatan dari Technical Support Officer for IT Solution.
  • TSM adaalah singkatan Technical Support Manager
  • default definition adalah definisi yang berlaku untuk umum/semua. Bisa berupa master data seperti race, ethnic, religion, country.

.

Referensi

  1. Aplikasi QC V1 (milik SUMMIT)
  2. Laboratory Quality Management Handbook, WHO Library Cataloguing-in-Publication Data
  3. BUKU PANDUAN SATUSEHAT Lampiran Standar Terminologi SATUSEHAT
  4. ISO 9001
  5. ISO 13485
  6. ISO 15189
  7. https://www.westgard.com/mltirule.htm
  8. ISO/IEC 25000

Lampiran

Lampiran 1: Database Connection Requirement

Architecture

Communication App. (server side)

Tunnel

Communication App. (client side)

  • Mampu mengelola multiple client connection (+ 300[71]) secara bersamaan pada saat yang sama (multi thread).
  • Connect to host database
  • Mengirim query script
  • Menerima data dari client side
  • Decrypt data
  • Save data to host database
  • Kirim encrypted JSON query message on demand/periodic ke client side via VPN
  • Setting periode pengiriman query.
  • Checking mechanism:
    • data integrity (checksum, hash, dll).
    • Instrument ID (S/n) check.
  • Tidak menerima data demografi pasien.
  • Windows service (running in background, tidak memerlukan user interaction).
  • Mengirim database query script ke client side
  • Memiliki log.

Virtual Private Network

  • Connect to instrument database
  • Query data
  • Ubah data hasil query ke encrypted JSON
  • Kirim encrypted JSON ke server via VPN secara berkala
  • Format data bisa diubah (HL7, ASTM, custom)
  • Setting periode pengiriman data
  • Memiliki mekanisme menjaga data integrity (checksum, hash, dll).
  • Tidak mengirim data demografi pasien.
  • Windows service (running in background, tidak memerlukan user interaction).
  • Menerima, menyimpan dan menjalankan database query script dari server side
  • Memiliki log.
  • Antisipasi jika internet terputus.

Data scope

Data yang diintegrasikan meliputi:

  • absorban kalibrasi termasuk perulangannya
  • hasil control termasuk perulangannya
  • data sample (nomor sample, jenis sample)
  • hasil pasien termasuk perulangannya
  • waktu pengerjaan semua aktivitas di atas

Integrasi dilakukan dengan pertukaran encrypted JSON file antara client dan server. Terdapat beberapa jenis JSON file yang masing-masing merepresentasikan data yang dikirimkan:

  • Calibration
  • QC
  • Patient
  • Request
  • Sample & Result

Elemen data yang harus ada dalam file JSON:

  • Equipment s/n
  • Data type marking (CAL, QC, PAT, REQ, SRT)
  • Query result sesuai jenis data type marking (calibration, qc, patient, request, sample & result)
  • Checksum (cs)

Lampiran 2: TMS-30i

Calibration Results SQL Scripts and Data Mapping

select cd.ItemName as [TestTechCode], MS.StringData as [SampleType], cd.RDATE as [CalDate], cd.TrayNo, cd.PosNo, CP.STD_NO as [Level], /*C.BLK_ORDER,*/ CP.CONC as [Concentration], cd.Result, cd.IsTotal, cd.LotNo, CP.ASP

from caldata cd

inner join MasSampleType MST on cd.SampleType = [INDEX]

inner join MasString MS on MST.StringID = MS.StringID

left join ITEMPARA_NAME IPN on cd.ItemNo = IPN.ITEM_NO

left join CALIB_POSITION CP on cd.ItemNo = CP.ITEM_NO and cd.PosNo = CP.POS_NO

where MS.LanguageID = 1

order by cd.RDATE

Table 115 Mapping related to calibration data

LQMS

TMS-30i

Notes

calparinst.CalParInstID

<auto numbering>

calparinst.EquipmentID

calparinst.Calibrator

calparinst.LotNo

calparinst.ExpiryDate

calparinst.TestInstID1

ITEM_NAME

calparinst.SampleType

SAMP_TYPE

calparinst.Level

calparinst.Concentration

calparinst.CalUnit

calparinst.CreateDate

RDATE

calresinst.CalRestID

Not available

Primary Key. Terisi otomatis di CLQMS

calresinst.EquipmentID

Not available

Diisi dengan s/n alat, ada di ini. file

calresinst.InstCalID

calresinst.InstCalName

F2^<TrayNo>^<PosNo>^<Level>

calresinst.TestTechCode

TestTechCode

calresinst.SampleType

SampleType

calresinst.CalDate

CalDate

calresinst.Level

Level

calresinst.Blank

Not available

calresinst.Concentration

Concentration

calresinst.Result

Result

calresinst.ResultUnit

<diisi text OD>

berasal dari ini file.

calresinst.IsTotal

IsTotal

Untuk menghitung:

  • jumlah total tes yang digunakan untuk kalibrasi, count semua record dg IsTotal=0.
  • Factor kalibrasi, gunakan records dg IsTotal=1.

Calresinst.LotNo

LotNo

calresinst.Aspiration

ASP

calresinst.Val

<null>

calresinst.ValDateTime

<null>

Perhitungan calibration factor pada TMS-30i adalah sebagai berikut:

Factor =

Dimana:

CalibFactorConc2 : nilai Concentration dari table caldatinst dimana Level = 2

CalibFactorConc1 : nilai Concentration dari table caldatinst dimana Level = 1

CalibFactorAbs2 : nilai Result dari table caldatinst Dimana Level = 2

CalibFactorAbs1 : nilai Result dari table caldatinst Dimana Level = 1

Keempat nilai harus pada records dimana TestInstID2, SampleType yang sama dan CalDate di tanggal, jam dan menit yang sama.

QC Results SQL Scripts and Data Mapping

select distinct IPN.ITEM_NO, IPN.ITEM_NAME as [TestTechCode], MS.StringData as [SampleType], CH.RunDate as [QCDate], CH.ControlID as [InstCtrlID], CN.Name as [InstCtrlName], CH.Result, CH.LotNo, CP.MEAN, CP.SD

from ControlHistory CH

inner join ITEMPARA_NAME IPN on CH.ItemNo = IPN.ITEM_NO

inner join CTRLNAME CN on CH.LotNo = CN.LotNo

inner join MasSampleType MST on CN.SampleType = [INDEX]

inner join MasString MS on MST.StringID = MS.StringID

left join CTRLPARA CP on CH.ItemNo = CP.ITEM_NO and CH.ControlID=CP.CTRL_NO and CH.LotNo=CP.LotNo

where MS.LanguageID = 1

order by IPN.ITEM_NAME

Table 116 Mapping related to QC results

LQMS TMS-30i Notes
qcrestinst.QCRestID Not available Primary Key. Terisi otomatis di CLQMS
qcrestinst.EquipmentID Not available Diisi dengan s/n alat, ada di ini. file
qcrestinst.InstCtrlID InstCtrlID
qcrestinst.InstCtrlName InstCtrlName
qcrestinst.TestTechCode TestTechCode
qcrestinst.SampleType SampleType
qcrestinst.QCDate QCDate
qcrestinst.Result Result
qcrestinst.ResultUnit Not available
qcrestinst.LotNo LotNo
qcrestinst.Val Not available
qcrestinst.ValDateTime Not available
qcrestinst.CreateDate Not available Terisi dengan waktu saat record terekam di database LQMS

Patient Results SQL Scripts and Data Mapping

select distinct SAMP_ID, ITEM_NAME, ASP_CNT, CONC_DATA, OD_DATA, RST_DATE,

Flag = case

when flagvalue=0 then null

else Flag

end, ReactionNo, DIL_ORD

from

(select s.SAMP_ID, s.ASP_CNT, s.ITEM_NO, IPN.ITEM_NAME, s.CONC_DATA, s.OD_DATA, s.ReactionNo, s.RST_DATE, s.DIL_ORD, s.PFlg_C, s.PFlg_E, s.PFlg_L, s.PFlg_P, s.PFlg_B, s.PFlg_G, s.PFlg_VL, s.PFlg_VH, s.PFlg_T, s.PFlg_W, s.PFlg_AB, s.SFlg_S, s.SFlg_R1, s.SFlg_R2, s.SFlg_D, s.SFlg_C, s.SFlg_T, s.SFlg_B, s.SFlg_R3, CAST(s.RFlg_L as bit) RFlg_L, CAST(s.RFlg_H as bit) RFlg_H

from SAMP_DAT s inner join ITEMPARA_NAME IPN on s.ITEM_NO =IPN.ITEM_NO

)a

unpivot

(flagvalue for Flag in(PFlg_C,PFlg_E, PFlg_L, PFlg_P, PFlg_B, PFlg_G, PFlg_VL, PFlg_VH, PFlg_T, PFlg_W, PFlg_AB, SFlg_S, SFlg_R1, SFlg_R2, SFlg_D, SFlg_C, SFlg_T, SFlg_B, RFlg_L, SFlg_R3)

)unpiv

where RST_DATE is not null

order by SAMP_ID, RST_DATE

Table 117 Mapping related to patient result

LQMS

TMS-30i

Notes

patres.Type

Not available

Patient/Rerun

patres.ResultID

Not available

Primary Key. Terisi otomatis di CLQMS

patres.EquipmentID

Not available

Diisi dengan s/n alat

patres.SampleID

SAMP_ID

SampleID

patres. AspCnt

ASP_CNT

patres.TestTechCode

ITEM_NAME

patres.Result

CONC_DATA

patres.SampleType

Not available

patres.ResultDateTime

RST_DATE

patres.Val

Not available

Terisi UserID yang melakukan validasi di LQMS

patres.ValDateTime

Not available

Terisi UserID yang melakukan validasi di LQMS

patres.CreateDate

Not available

Terisi dengan waktu saat record terekam di database LQMS

patrestech.RestechID

Not available

Primary Key. Terisi otomatis di CLQMS

patrestech.ResultID

Not available

Foreign Key dari patres.ResultID

patrestech.DBField

  • Flag
  • ReactionNo
  • OD_DATA
  • DIL_ORD

patrestech.DBValue

<Nilai dari DBField>

patrestech.CreateDate

Not available

Terisi dengan waktu saat record terekam di database LQMS

Table 118 Contoh hasil query hasil pasien dan penempatan pada table patres

Patres.

ResultID
patres.

SampleID
patres.

TestTechCode
patres.

AspCnt
patres.

Result
patres.

ResultDateTime
SAMP_ID ITEM_NAME ASP_CNT CONC_DATA OD_DATA RST_DATE Flag ReactionNo DIL_ORD
1 2402296034S CREA 1 0.803686 0.03016 2024-03-01 13:30:39.500 NULL 47623 0
2 2402296035S CHOL 1 215.1732 0.386428 2024-03-01 13:30:52.840 NULL 47624 0
3 2402296035S LDL 1 157.8766 0.377753 2024-03-01 13:31:06.150 NULL 47625 0
4 2402296035S HDL 1 59.35203 0.096221 2024-03-01 13:31:19.510 NULL 47626 0
5 2402296035S TRIG 1 59.69617 0.195439 2024-03-01 13:31:32.867 NULL 47627 0
ignored 2402296035S UREUM 1 27.87867 -0.03978 2024-03-01 13:31:46.200 NULL 47628 0
6 2402296035S UREUM 1 27.87867 -0.03978 2024-03-01 13:31:46.200 PFlg_C 47628 0
7 2402296035S CREA 1 0.703791 0.02734 2024-03-01 13:32:26.203 NULL 47629 0
8 2402296035S UREA -N 1 12.48818 0 2024-03-01 13:50:12.967 NULL 0 0
9 2402296035S UREUM 1 26.72469 -0.03815 2024-03-01 13:50:12.967 NULL 47672 0

Table 119 Contoh penempatan flag pada table patresflag

patresflag.

ResflagID
patresflag.

ResultID
patresflag.

Flag
patresflag.

CreateDate
Flag RST_DATE
1 6 PFlg_C 2024-03-01 13:31:46.200

Table 120 Contoh penempatan data teknis pada table patrestech

patrestech.

RestechID
patrestech.

ResultID
patrestech.

DBField
patrestech.

DBValue
patrestech.

CreateDate
RST_DATE
1 1 OD_DATA 0.03016 2024-03-01 13:30:39.500
2 1 ReactionNo 47623 2024-03-01 13:30:39.500
3 1 DIL_ORD 0 2024-03-01 13:30:39.500
4 2 OD_DATA 0.386428 2024-03-01 13:30:52.840
5 2 ReactionNo 47624 2024-03-01 13:30:52.840
6 2 DIL_ORD 0 2024-03-01 13:30:52.840
7 3 OD_DATA 0.377753 2024-03-01 13:31:06.150
8 3 ReactionNo 47625 2024-03-01 13:31:06.150
9 3 DIL_ORD 0 2024-03-01 13:31:06.150
10 4 OD_DATA 0.096221 2024-03-01 13:31:19.510
11 4 ReactionNo 47626 2024-03-01 13:31:19.510
12 4 DIL_ORD 0 2024-03-01 13:31:19.510
13 5 OD_DATA 0.195439 2024-03-01 13:31:32.867
14 5 ReactionNo 47627 2024-03-01 13:31:32.867
15 5 DIL_ORD 0 2024-03-01 13:31:32.867
16 6 OD_DATA -0.03978 2024-03-01 13:31:46.200
17 6 ReactionNo 47628 2024-03-01 13:31:46.200
18 6 DIL_ORD 0 2024-03-01 13:31:46.200
19 7 OD_DATA 0.02734 2024-03-01 13:32:26.203
20 7 ReactionNo 47629 2024-03-01 13:32:26.203
21 7 DIL_ORD 0 2024-03-01 13:32:26.203
22 8 OD_DATA 0 2024-03-01 13:50:12.967
23 8 ReactionNo 0 2024-03-01 13:50:12.967
24 8 DIL_ORD 0 2024-03-01 13:50:12.967
25 9 OD_DATA -0.03815 2024-03-01 13:50:12.967
26 9 ReactionNo 47672 2024-03-01 13:50:12.967
27 9 DIL_ORD 0 2024-03-01 13:50:12.967

Calibration Factor

SQL scripts untuk TMS-30i terdiri dari 3, yaitu:

Calibration dan Calibration Factor

Perhitungan calibration factor pada TMS-30i adalah sebagai berikut:

Factor =

Dimana:

CalibFactorConc2 : nilai Concentration dari table caldatinst dimana Level = 2

CalibFactorConc1 : nilai Concentration dari table caldatinst dimana Level = 1

CalibFactorAbs2 : nilai Result dari table caldatinst Dimana Level = 2

CalibFactorAbs1 : nilai Result dari table caldatinst Dimana Level = 1

Keempat nilai harus pada records dimana TestInstID2, SampleType yang sama dan CalDate di tanggal, jam dan menit yang sama.

Quality Control

select distinct IPN.ITEM_NO, IPN.ITEM_NAME as [TestTechCode], MS.StringData as [SampleType], CH.RunDate as [QCDate], CH.ControlID as [InstCtrlID], CN.Name as [InstCtrlName], CH.Result, CH.LotNo, CP.MEAN, CP.SD

from ControlHistory CH

inner join ITEMPARA_NAME IPN on CH.ItemNo = IPN.ITEM_NO

inner join CTRLNAME CN on CH.LotNo = CN.LotNo

inner join MasSampleType MST on CN.SampleType = [INDEX]

inner join MasString MS on MST.StringID = MS.StringID

left join CTRLPARA CP on CH.ItemNo = CP.ITEM_NO and CH.ControlID=CP.CTRL_NO and CH.LotNo=CP.LotNo

where MS.LanguageID = 1

order by IPN.ITEM_NAME

Patient Result

select distinct SAMP_ID, ITEM_NAME, ASP_CNT, CONC_DATA, OD_DATA, RST_DATE,

Flag = case

when flagvalue=0 then null

else Flag

end,ReactionNo,DIL_ORD

from

(select s.SAMP_ID,s.ASP_CNT,s.ITEM_NO,IPN.ITEM_NAME,s.CONC_DATA,s.OD_DATA,s.ReactionNo,s.RST_DATE,s.DIL_ORD,

s.PFlg_C,s.PFlg_E,s.PFlg_L,s.PFlg_P,s.PFlg_B,s.PFlg_G,s.PFlg_VL,s.PFlg_VH,s.PFlg_T,s.PFlg_W,s.PFlg_AB,s.SFlg_S,s.SFlg_R1,s.SFlg_R2,s.SFlg_D,s.SFlg_C,s.SFlg_T,s.SFlg_B,s.SFlg_R3,CAST(s.RFlg_L as bit) RFlg_L,CAST(s.RFlg_H as bit) RFlg_H

from SAMP_DAT s inner join ITEMPARA_NAME IPN on s.ITEM_NO =IPN.ITEM_NO

)a

unpivot

(flagvalue for Flag in(PFlg_C,PFlg_E,PFlg_L,PFlg_P,PFlg_B,PFlg_G,PFlg_VL,PFlg_VH,PFlg_T,PFlg_W,PFlg_AB,SFlg_S,SFlg_R1,SFlg_R2,SFlg_D ,SFlg_C,SFlg_T,SFlg_B,RFlg_L,SFlg_R3)

)unpiv

where RST_DATE is not null

order by SAMP_ID, RST_DATE

Flags

TMS-30i flags, yaitu:

Flag

Text

Description

PFlg_C

C

Cell blank Abs. of main, sub or both wavelengths is lower than check level 1 or higher than check level 3.

PFlg_E

E

For END point assay, Cell blank subtracted Abs. of main wavelength, is higher than set [Endpoint Limit].

PFlg_L

L

For RATE assay,

The main reading point is above 3 points, and reaction Abs. of main reading per minute exceeds [Linearity check %] value.

  • No linearity check is done if the main reading points are not more than three points.
  • Linearity check value is set above zero.
  • The check value calculated by using points where Abs. of main measurement interval are within the Abs. limit.
  • If the Abs. in the limit is less than 2 points, the check value is calculated by using all the points.

PFlg_P

P

The check value exceeds limit % of high limit or

low limit

No Prozone check is done when the

minimum Abs. of average and variation is

lower than the set value.

No Prozone check is done if the slope value

of the first interval is zero.

No Prozone check is done if the minimum

Abs. of average and slope are not set.

Please input “0” to minimum Abs. of

average if the Prozone check is required

without setting.

PFlg_B

B

For RATE assay,

The Abs. of main wavelength in main reading is

lower than [Absorbance limit], at three points

from first measuring points.

(Measuring range is used when the reading

point less than 2 points)

Sensitivity range error, for HbA1c Item No. 106.

Concentration of Hb or A1c is below than

setting value.

Selection of gender is essential in order

entry.

It is not judged when the gender field is

blank (not selected) or unknown is selected.

PFlg_G

G

PFlg_VL

<

PFlg_VH

>

PFlg_T

T

PFlg_W

W

PFlg_AB

AB

SFlg_S

SFlg_R1

SFlg_R2

SFlg_D

SFlg_C

SFlg_T

SFlg_B

Lampiran 3: TMS-24i

Calibration Results SQL Scripts and Data Mapping

select cd.ItemName as [TestTechCode], MS.StringData as [SampleType], cd.RDATE as [CalDate], cd.TrayNo, cd.PosNo, CP.STD_NO as [Level], /*C.BLK_ORDER,*/ CP.CONC as [Concentration], cd.Result, cd.IsTotal, cd.LotNo, CP.ASP

from caldata cd

inner join MasSampleType MST on cd.SampleType = [INDEX]

inner join MasString MS on MST.StringID = MS.StringID

left join ITEMPARA_NAME IPN on cd.ItemNo = IPN.ITEM_NO

left join CALIB_POSITION CP on cd.ItemNo = CP.ITEM_NO and cd.PosNo = CP.POS_NO

where MS.LanguageID = 1

order by cd.RDATE

Table 121 Mapping related to calibration data

LQMS

TMS-30i

Notes

calparinst.CalParInstID

<auto numbering>

calparinst.EquipmentID

calparinst.Calibrator

calparinst.LotNo

calparinst.ExpiryDate

calparinst.TestInstID1

ITEM_NAME

calparinst.SampleType

SAMP_TYPE

calparinst.Level

calparinst.Concentration

calparinst.CalUnit

calparinst.CreateDate

RDATE

calresinst.CalRestID

Not available

Primary Key. Terisi otomatis di CLQMS

calresinst.EquipmentID

Not available

Diisi dengan s/n alat, ada di ini. file

calresinst.InstCalID

calresinst.InstCalName

F2^<TrayNo>^<PosNo>^<Level>

calresinst.TestTechCode

TestTechCode

calresinst.SampleType

SampleType

calresinst.CalDate

CalDate

calresinst.Level

Level

calresinst.Blank

Not available

calresinst.Concentration

Concentration

calresinst.Result

Result

calresinst.ResultUnit

<diisi text OD>

berasal dari ini file.

calresinst.IsTotal

IsTotal

Untuk menghitung:

  • jumlah total tes yang digunakan untuk kalibrasi, count semua record dg IsTotal=0.
  • Factor kalibrasi, gunakan records dg IsTotal=1.

Calresinst.LotNo

LotNo

calresinst.Aspiration

ASP

calresinst.Val

<null>

calresinst.ValDateTime

<null>

QC Results SQL Scripts and Data Mapping

select distinct IPN.ITEM_NO, IPN.ITEM_NAME as [TestTechCode], MS.StringData as [SampleType], CH.RunDate as [QCDate], CH.ControlID as [InstCtrlID], CN.Name as [InstCtrlName], CH.Result, CH.LotNo, CP.MEAN, CP.SD

from ControlHistory CH

inner join ITEMPARA_NAME IPN on CH.ItemNo = IPN.ITEM_NO

inner join CTRLNAME CN on CH.LotNo = CN.LotNo

inner join MasSampleType MST on CN.SampleType = [INDEX]

inner join MasString MS on MST.StringID = MS.StringID

left join CTRLPARA CP on CH.ItemNo = CP.ITEM_NO and CH.ControlID=CP.CTRL_NO and CH.LotNo=CP.LotNo

where MS.LanguageID = 1

order by IPN.ITEM_NAME

Table 122 Mapping related to QC results

LQMS TMS-30i Notes
qcrestinst.QCRestID Not available Primary Key. Terisi otomatis di CLQMS
qcrestinst.EquipmentID Not available Diisi dengan s/n alat, ada di ini. file
qcrestinst.InstCtrlID InstCtrlID
qcrestinst.InstCtrlName InstCtrlName
qcrestinst.TestTechCode TestTechCode
qcrestinst.SampleType SampleType
qcrestinst.QCDate QCDate
qcrestinst.Result Result
qcrestinst.ResultUnit Not available
qcrestinst.LotNo LotNo
qcrestinst.Val Not available
qcrestinst.ValDateTime Not available
qcrestinst.CreateDate Not available Terisi dengan waktu saat record terekam di database LQMS

Patient Results SQL Scripts and Data Mapping

select distinct SAMP_ID, ITEM_NAME, ASP_CNT, CONC_DATA, OD_DATA, RST_DATE,

Flag = case

when flagvalue=0 then null

else Flag

end, ReactionNo, DIL_ORD

from

(select s.SAMP_ID, s.ASP_CNT, s.ITEM_NO, IPN.ITEM_NAME, s.CONC_DATA, s.OD_DATA, s.ReactionNo, s.RST_DATE, s.DIL_ORD, s.PFlg_C, s.PFlg_E, s.PFlg_L, s.PFlg_P, s.PFlg_B, s.PFlg_G, s.PFlg_VL, s.PFlg_VH, s.PFlg_T, s.PFlg_W, s.PFlg_AB, s.SFlg_S, s.SFlg_R1, s.SFlg_R2, s.SFlg_D, s.SFlg_C, s.SFlg_T, s.SFlg_B, s.SFlg_R3, CAST(s.RFlg_L as bit) RFlg_L, CAST(s.RFlg_H as bit) RFlg_H

from SAMP_DAT s inner join ITEMPARA_NAME IPN on s.ITEM_NO =IPN.ITEM_NO

)a

unpivot

(flagvalue for Flag in(PFlg_C,PFlg_E, PFlg_L, PFlg_P, PFlg_B, PFlg_G, PFlg_VL, PFlg_VH, PFlg_T, PFlg_W, PFlg_AB, SFlg_S, SFlg_R1, SFlg_R2, SFlg_D, SFlg_C, SFlg_T, SFlg_B, RFlg_L, SFlg_R3)

)unpiv

where RST_DATE is not null

order by SAMP_ID, RST_DATE

Table 123 Mapping related to patient result

LQMS

TMS-30i

Notes

patres.Type

Not available

Patient/Rerun

patres.ResultID

Not available

Primary Key. Terisi otomatis di CLQMS

patres.EquipmentID

Not available

Diisi dengan s/n alat

patres.SampleID

SAMP_ID

SampleID

patres. AspCnt

ASP_CNT

patres.TestTechCode

ITEM_NAME

patres.Result

CONC_DATA

patres.SampleType

Not available

patres.ResultDateTime

RST_DATE

patres.Val

Not available

Terisi UserID yang melakukan validasi di LQMS

patres.ValDateTime

Not available

Terisi UserID yang melakukan validasi di LQMS

patres.CreateDate

Not available

Terisi dengan waktu saat record terekam di database LQMS

patrestech.RestechID

Not available

Primary Key. Terisi otomatis di CLQMS

patrestech.ResultID

Not available

Foreign Key dari patres.ResultID

patrestech.DBField

  • Flag
  • ReactionNo
  • OD_DATA
  • DIL_ORD

patrestech.DBValue

<Nilai dari DBField>

patrestech.CreateDate

Not available

Terisi dengan waktu saat record terekam di database LQMS

Lampiran 4: File-based Integration

Communication App. (server side)

Tunnel

Communication App. (client side)

  • Mampu mengelola multiple client connection secara bersamaan pada saat yang sama (multi thread).
  • Connect to host database
  • Menerima data dari client side
  • Decrypt data
  • Save data to host database
  • Memiliki mekanisme menjaga data integrity (checksum, hash, dll).
  • Windows service (running in background, tidak memerlukan user interaction).
  • Memiliki log.

Virtual Private Network

  • Read file ke shared folder secara berkala.
  • Ubah data ke encrypted JSON
  • Kirim encrypted JSON ke server via VPN.
  • Setting periode baca shared folder.
  • Memiliki mekanisme menjaga data integrity (checksum, hash, dll).
  • Windows service [72](running in background, tidak memerlukan user interaction).
  • Memiliki log.

Lampiran 5: File-based Integration SES

Setiap pencatatan barang masuk, pindah counter atau keluar, SES membuat sepasang file text.

Event

Files

Format Data

Terima barang

  • yyyymmddxxxx.tr
  • yyyymmddxxxx.ok

No.Bukti:TR24040336

Tgl:20240404

Vendor:<kode vendor>^ DELTASINDO RAYA SEJAHTERA

Keterangan:

Tgl_Terima:20240404111800

Penerima: ASEP

Item_1_0107/PO/SUMMIT-INV/IV/024^301002^<expdate>^6015560324^1^UNIT

Item_2_0107/PO/SUMMIT-INV/IV/024^80001^<expdate>^<batch>^1^UNIT

Item_3_0107/PO/SUMMIT-INV/IV/024^40000U-UPS EATON^<expdate>^GG123A0816^1^UNIT

Dst

Pindah counter

  • yyyymmddxxxx.kc
  • yyyymmddxxxx.ok

No.Bukti_Pengirim:KC24040332

No.Bukti_Pemohon:RC24040137

TglKirim:20240404

TglMohon:20240404

CounterAsal:0000^PUSAT ASEP

CounterTujuan:0008^SEMARANG (MARIA)

Keterangan:

Item_1_SO240402740^301002^<expdate>^6015560324^1^UNIT

Item_2_SO240402740^80001^<expdate>^<batch>^1^UNIT

Item_3_SO240402740^40000U-UPS EATON^<expdate>^GG123A0816^1^UNIT

dst

Kirim barang (ke customer)

  • yyyymmddxxxx.sj
  • yyyymmddxxxx.ok

No.Bukti:SJ240402914

Tgl:20240404

Customer:<kode customer>^ANUGRAH PRAKARSA UTAMA

No.KSO:KSO24030025

Sales:<kode sales>^SUSILO PUJININGSIH

Keterangan:

Kirim:SCAN ME LAB

Branch:01^PUSAT

Counter:<kode counter>^PUSAT ASEP

AlamatKirim:RUKO GADING NIAS …

Jenis:<KSO/CPRR/JUAL>

Item_1_SO240402740^301002^<expdate>^6015560324^1^UNIT

Item_2_SO240402740^80001^<expdate>^<batch>^1^UNIT

Item_3_SO240402740^40000U-UPS EATON^<expdate>^GG123A0816^1^UNIT

dst

File dengan extension .tr, .kc dan .sj adalah file text yang berisi data sesuai format.

File .ok adalah file text kosong sebagai penanda bahwa file yang berisi data siap untuk dibaca.

yyyy : tahun

mm : bulan

dd : tanggal

Event

Files

Format Data

Update master vendor

  • yyyymmddxxxx.vd
  • yyyymmddxxxx.ok

No.Bukti:TR24040336

Tgl:20240404

Vendor:<kode vendor>^ DELTASINDO RAYA SEJAHTERA

Keterangan:

Tgl_Terima:20240404111800

Penerima: ASEP

Item_1_0107/PO/SUMMIT-INV/IV/024^301002^<expdate>^6015560324^1^UNIT

Item_2_0107/PO/SUMMIT-INV/IV/024^80001^<expdate>^<batch>^1^UNIT

Item_3_0107/PO/SUMMIT-INV/IV/024^40000U-UPS EATON^<expdate>^GG123A0816^1^UNIT

Dst

Update master product

  • yyyymmddxxxx.pd
  • yyyymmddxxxx.ok

Update master customer

  • yyyymmddxxxx.cs
  • yyyymmddxxxx.ok

Update master user

  • yyyymmddxxxx.us
  • yyyymmddxxxx.ok

Event: Terima barang Table: Product
Data Field Value
ProductID <auto number>
No.Bukti:TR24040336 Reference TR24040336
Penerima: ASEP UserID SES^ASEP
Tgl:20240404 LogDate 20240404
Vendor:<kode vendor>^ DELTASINDO RAYA SEJAHTERA
Keterangan:
SiteID SUMMIT
Tgl_Terima:20240404111800 LocationStartDate 20240404111800
Item_1_0107/PO/SUMMIT-INV/IV/024^301002^<expdate>^6015560324^1^UNIT CatalogID

ProductNumber
301002

6015560324
Active No
Owner SUMMIT
Status_service Garansi
ProductID <auto number>
Reference TR24040336
UserID SES^ASEP
LogDate 20240404
SiteID SUMMIT
LocationStartDate 20240404111800
Item_2_0107/PO/SUMMIT-INV/IV/024^40000U-UPS EATON^<expdate>^GG123A0816^1^UNIT CatalogID

ProductNumber
40000U-UPS EATON

GG123A0816
Active No
Owner SUMMIT
Status_service Garansi
Event: Kirim barang (ke customer) Table: Product
Data Field Value
ProductID <auto number>
No.Bukti: SJ240402914 Reference SJ240402914
Tgl:20240404 LogDate 20240404
Customer:<kode customer>^ANUGRAH PRAKARSA UTAMA
No.KSO:KSO24030025
Sales:<kode sales>^SUSILO PUJININGSIH
Keterangan:
Kirim:SCAN ME LAB
Branch:01^PUSAT
Counter:<kode counter>^PUSAT ASEP

AlamatKirim:RUKO GADING NIAS …

Jenis:<KSO/CPRR/JUAL>

Item_1_SO240402740^301002^<expdate>^6015560324^1^UNIT

Item_2_SO240402740^80001^<expdate>^<batch>^1^UNIT

Item_3_SO240402740^40000U-UPS EATON^<expdate>^GG123A0816^1^UNIT
Tgl_Terima:20240404111800 LocationStartDate 20240404111800
Item_1_0107/PO/SUMMIT-INV/IV/024^301002^<expdate>^6015560324^1^UNIT

Item_2_0107/PO/SUMMIT-INV/IV/024^40000U-UPS EATON^<expdate>^GG123A0816^1^UNIT
CatalogID

ProductNumber
301002

6015560324
Tgl:20240404

Customer:<kode customer>^ANUGRAH PRAKARSA UTAMA

No.KSO:KSO24030025

Sales:<kode sales>^SUSILO PUJININGSIH

Keterangan:

Kirim:SCAN ME LAB

No.Bukti:SJ240402914

Tgl:20240404

Customer:<kode customer>^ANUGRAH PRAKARSA UTAMA

No.KSO:KSO24030025

Sales:<kode sales>^SUSILO PUJININGSIH

Keterangan:

Kirim:SCAN ME LAB

Branch:01^PUSAT

Counter:<kode counter>^PUSAT ASEP

AlamatKirim:RUKO GADING NIAS …

Jenis:<KSO/CPRR/JUAL>

Item_1_SO240402740^301002^<expdate>^6015560324^1^UNIT

Item_2_SO240402740^80001^<expdate>^<batch>^1^UNIT

Item_3_SO240402740^40000U-UPS EATON^<expdate>^GG123A0816^1^UNIT
UserID ASEP
Event: Pindah counter
Data Field Value
No.Bukti_Pengirim:KC24040332

No.Bukti_Pemohon:RC24040137

TglKirim:20240404

TglMohon:20240404

CounterAsal:0000^PUSAT ASEP

CounterTujuan:0008^SEMARANG (MARIA)

Keterangan:

Item_1_SO240402740^301002^<expdate>^6015560324^1^UNIT

Item_2_SO240402740^80001^<expdate>^<batch>^1^UNIT

Item_3_SO240402740^40000U-UPS EATON^<expdate>^GG123A0816^1^UNIT

dst
Data Field Value

Lampiran 6: SES Screens

Gambar Penerimaan Product

Gambar Permintaan Kirim Counter

Gambar Kirim Counter

Gambar Surat Jalan

Lampiran 7: Clinical Laboratory Activity

ActivityID

Activity Name

Activity Description

Standard

Detail Activity/Task

Outcome

AP001

Patient Registration electronic

Menandakan bahwa pasien telah tiba atau check-in sebagai pasien rawat jalan/inap satu kali atau berulang dan tidak ditempatkan di lokasi spesifik (bed). Contohnya adalah penggunaannya sebagai tanda dimulainya kunjungan ke Ruang Gawat Darurat (= Korban, dll.) 🡪 dicatat sebagai pendaftaran rawat jalan atau penerimaan darurat.

HL7 Event A04

  • Receive data from host
  • Check & compare with existing database
  • Patient record added.
  • Raise error, notify host.

AP002

Patient Registration manual

idem

  • Input patient data
  • Check & compare with existing database.
  • Save
  • Patient record added.
  • Raise error, notify user.

AP003

Update Patient Information electronic

Misalnya perubahan nama pasien atau alamat.

HL7 Event A08

  • Receive update data from host
  • Check & compare with existing database
  • Patient record updated.
  • Raise error, notify host.

AP004

Update Patient Information manual

idem

  • Select patient
  • Update patient information
  • Check & compare with existing database.
  • Save
  • Patient record updated.
  • Raise error, notify user.

AP005

Patient Admission electronic

Penerimaan pasien, hingga penempatannya di lokasi speisifik (bed). Menandakan dimulainya masa tinggal pasien di fasyankes.

HL7 Event A01

  • Receive admission from host
  • Check & compare with existing database.
  • Patient admitted, visit number recorded.
  • Raise error, notify host.

AP006

Patient Admission manual

idem

  • Select patient
  • Admit patient
  • Check & compare with existing database.
  • Save
  • Patient admitted, visit number recorded.
  • Raise error, notify user.

AP007

Patient Transfer electronic

Perubahan lokasi fisik pasien. Misalnya dari UGD ke Rawat Inap.

HL7 Event A02

  • Receive transfer from host
  • Check & compare with existing database.
  • Patient transferred.
  • Raise error, notify host.

AP008

Patient Transfer manual

idem

  • Select patient
  • Transfer patient
  • Check & compare with existing database.
  • Save
  • Patient transferred.
  • Raise error, notify user.

AP009

Patient Discharge electronic

Menandakan berakhirnya masa tinggal pasien di fasyankes Ini menandakan bahwa status pasien telah berubah menjadi “boleh pulang” dan tanggal pulang dicatat. Pasien tidak lagi berada di fasyankes.

HL7 Event A03

  • Receive discharge from host
  • Check & compare with existing database.
  • Patient discharged.
  • Raise error, notify host.

AP010

Patient Discharge manual

idem

  • Select patient
  • Discharge patient
  • Check & compare with existing database.
  • Save
  • Patient discharged.
  • Raise error, notify user.

AP011

Cancel Patient Admission electronic

Membatalkan admission

HL7 Event A11

  • Receive cancel admission from host
  • Admission cancelled.
  • Raise error, notify host.

AP012

Cancel Patient Admission manual

Idem

  • Select patient
  • Cancel admission.
  • Save
  • Admission cancelled.
  • Raise error, notify user.

AP013

Cancel Patient Transfer electronic

Membatalkan transfer

HL7 Event A12

  • Receive cancel transfer from host
  • Transfer cancelled.
  • Raise error, notify host.

AP014

Cancel Patient Transfer manual

idem

  • Select patient
  • Cancel transfer.
  • Save
  • Transfer cancelled.
  • Raise error, notify user.

AP015

Cancel Patient Discharge electronic

Membatalkan discharge

HL7 Event A13

  • Receive cancel discharge from host
  • Discharge cancelled.
  • Raise error, notify host.

AP016

Cancel Patient Discharge manual

idem

  • Select patient
  • Cancel Discharge.
  • Save
  • Discharge cancelled.
  • Raise error, notify user.

AP017

Delete Patient Record electronic

Menghapus informasi spesifik kunjungan/ visit/ episode dari catatan pasien.

HL7 Event A23

  • Receive patient visit record deletion from host.
  • Check for existing patient visit record
  • Check for order belong to visit record
  • Patient record deleted.
  • Raise warning if visit record has order record
  • Raise error, notify host.

AP018

Delete Patient Record manual

idem

  • Select visit record.
  • Check for existing patient visit record
  • Check for order belong to visit record
  • Patient record deleted.
  • Raise warning if visit record has order record
  • Raise error, notify user.

AP020

Link Patient Information electronic

Event A24 digunakan ketika segmen PID pertama perlu dihubungkan ke segmen PID kedua dan ketika kedua patient identifier mengidentifikasi pasien yang sama. Menghubungkan dua atau lebih pasien tidak memerlukan penggabungan informasi pasien yang sebenarnya; setelah link event, record data pasien yang terpengaruh harus tetap berbeda. Aplikasinya adalah di lingkungan jaringan rumah sakit yang record pasien-nya perlu dihubungkan. Misalnya, rumah sakit A, rumah sakit B, dan rumah sakit C masing-masing akan menyimpan catatan pasiennya sendiri, namun link event A24 akan dikirim ke MPI seluruh perusahaan untuk memungkinkan penggabungan informasi ID dengan nomor ID perusahaan. Digunakan untuk penyimpanan data perusahaan, dll. Activity ini tidak dimaksudkan untuk menghubungkan ibu dan bayi.

HL7 Event A24

  • Receive link from host
  • Check if there are other links
  • Patient records linked.
  • Raise error, notify host.

AP021

Link Patient Information manual

idem

  • Select source & destination patient record.
  • Link source to destination.
  • Save
  • Patient records linked.
  • Raise error, notify user.

AP022

Unlink Patient Information electronic

Membatalkan link Patient Information

HL7 Event A37

  • Receive unlink from host
  • Check if the link exists
  • Unlink patient records
  • Patient records unlinked.
  • Raise error, notify host.

AP023

Unlink Patient Information manual

Membatalkan link Patient Information

  • Select source & destination patient record.
  • Unlink source from destination.
  • Save
  • Patient records unlinked.
  • Raise error, notify user.

AP016

Merge Patient Record

Menggabungkan satu atau lebih record pasien

HL7 Event A40

AO001

Test Order electronic

Order test baru dari host

HL7 Event O01

  • Receive test order from host
  • Check for existing order number
  • New order created
  • Record of required specimen container created.
  • Specimen label printed
  • Raise error, notify host

AO003

Additional test order electronic

Tambahan test ke order yang telah ada

  • Receive additional test order
  • Check for existing order number
  • Check if additional specimen container needed
  • Additional tests added
  • Additional specimen container added (if needed)
  • Additional specimen label printed (if needed)
  • Raise error, notify host

AO005

Deletion test order electronic

Menghapus satu atau beberapa test dalam satu order

  • Receive deletion test order
  • Check for existing order number
  • Check for test status
  • Tests deleted
  • Raise warning that tests already processed
  • Raise error, notify host

AO007

Update order electronic

Perubahan doctor, location, priority, notes.

  • Receive update order
  • Check for existing order number
  • Order is updated
  • Raise error, notify host.

AO002

Test Order manual

Membuat test order baru

  • Select patient
  • Select clinical indication
  • Select priority
  • Select tests
  • Input order note/instruction
  • Save
  • New order created
  • Record of required specimen container created.
  • Specimen label printed
  • Raise error, notify host

AO004

Additional test order manual

Tambahan test ke order yang telah ada

  • Select order
  • Add tests
  • Save
  • Additional tests added
  • Additional specimen container added (if needed)
  • Additional specimen label printed (if needed)
  • Raise error, notify user

AO006

Deletion test order manual

Menghapus satu atau beberapa test dalam satu order

  • Select order
  • Delete tests
  • Save
  • Tests deleted
  • Raise warning that tests already processed
  • Raise error, notify user

AO008

Update order manual

Perubahan doctor, location, priority, notes.

  • Select order
  • Edit order
  • Save
  • Order is updated
  • Raise error, notify user.

AP017

Patient Verification

Procedure to verify patient identity, verbally or based on formal ID (bracelet, etc.)

  • Select Patient
  • Verify Patient Identity

AS001

Specimen Collection

Prosedur untuk mendapatkan darah, urine, satau sample lainnya yang penting untuk mendapatkan hasil akurat. Termasuk labeling.

  • Select single/multiple patient/order
  • Print Label (option) of single/multiple order.
  • Stick label onto every container
  • Scan label to change specimen status to “collected”
  • Record non-conformity (if any)
  • Specimen collected status
  • Notification of specimen status sent to host.
  • Raise warning if specimen collection failed or does not meet criteria
  • non-conformity recorded (if any)
  • Raise error, notify user

AS002

Specimen Transport

Termasuk penyimpanan, dan transportasi dg cara tertentu untuk mencegah kontaminasi atau kerusakan

  • Store specimen
  • Transport specimen to lab
  • Packaging
  • package labeling
  • Transport
  • Documentation

AS003

Specimen Reception

Menerima spesimen di suatu lokasi

  • Inspect specimen
  • Scan specimen label to change specimen status to “received”
  • Record non-conformity (if any)
  • Specimen received status
  • Notification of specimen status sent to host.
  • Raise warning if specimen does not meet criteria
  • Raise error, notify user

AS004

Specimen Preparation

Persiapan spesimen untuk fase analitik

  • Specimen processing
  • Centrifugation
  • Aliquoting
  • Decanting[73]
  • print additional label for aliquot/decanting sample
  • Pre-treatment
  • additional label printed
  • additional specimen record added.
  • Raise error, notify user

AS005

Specimen Dispatching

Termasuk penyimpanan, dan transportasi ke lokasi geografis lain (lab rujukan) dg cara tertentu untuk mencegah kontaminasi atau kerusakan

  • Packaging
  • package labeling
  • Transport
  • Documentation

Order Dispatching

Distribusi order ke setiap workstation hingga instrument.

  • Distribute order to workstations
  • Transmission to instruments (bi-directional)
  • Receiving Instrument Query
  • Transmit Request to Instruments
  • Order available/accessible in workstation
  • Instrument query responded
  • Raise error, notify user

BS001

Analyze specimen automatic

Analisis specimen menggunakan peralatan otomatis

  • put specimen into analyzer
  • analyser scan every specimen ID
  • analyser send query message to LIS
  • analyser receive order message
  • analyse specimen
  • Instrument query responded correctly
  • specimen status changed to “analyzing”
  • Raise error, notify user

BS002

Analyze specimen manual

Analisis specimen

Result Acquisition

Penerimaan hasil dari instrument

  • Receive results from instruments
  • Automatic flagging
  • correct results recorded in LIS
  • specimen status changed to “finish” when all tests resulted.
  • Raise error, notify user

Result Entry (manual)

Mengisikan hasil manual

  • User enter manual results
  • Automatic flagging
  • result recorded.
  • specimen status changed to “finish” when all tests resulted.
  • Raise error, notify user

Test Rerun

Test rerun, baik otomatis maupun manual

  • Send rerun message to instrument
  • instrument rerun
  • (go to Result Acquisition)
  • Rerun transmitted.
  • specimen status changed to “rerun”.
  • Raise error, notify user

Validation Technical

  • Technical validation
  • User trigger rerun
  • (go to Test Rerun)
  • Technical validation recorded.
  • order status changed to “technical validated”.

Validation Clinical

  • Clinical validation

Report distribution

R01/R21

  • Transmit result to host
  • Transmit result to ref lab
  • Transmit result via 3rd party app
  • Print hardcopy
  • Print PDF file
  • Verbal report

Specimen Storage (Specimen Reception)

  • Scan specimen into storage location.

QC Result Acquisition

QC Result Validation

Lampiran 9: Patient

Race, Ethnic, Religion

Table 124 Race

RaceID Race RaceID Race
1 Jawa 17 Dayak
2 Sunda 18 Tionghoa
3 Batak 19 Suku asal Papua
4 Suku asal Sulawesi lainnya 20 Makassar
5 Madura 21 Suku asal Sumatera lainnya
6 Betawi 22 Suku asal Maluku
7 Minangkabau 23 Suku asal Kalimantan lainnya
8 Bugis 24 Cirebon
9 Melayu 25 Suku asal Jambi
10 Suku asal Sumatera Selatan 26 Suku Lampung
11 Suku asal Banten 27 Suku asal Nusa Tenggara Barat lainnya
12 Suku asal Nusa Tenggara Timur 28 Gorontalo
13 Banjar 29 Minahasa
14 Aceh 30 Nias
15 Bali 31 Asing/luar negeri
16 Sasak

Table 125 Ethnic

EthnicID Ethnic
1 Papua Melanezoid
2 Negroid
3 Weddoid
4 Melayu Mongoloid_Proto Melayu
5 Melayu Mongoloid_Deutro Melayu
6 Tionghoa
7 India
8 Arab

Table 126 Religion

ReligionID Religion
1 Islam
2 Kristen
3 Katolik
4 Hindu
5 Budha
6 Khong Hu Cu
7 Lainnya

Country[74]

Table 127 Country

Cnty

ID
Country Cnty

ID
Country Cnty

ID
Country
AFG Afghanistan GUM Guam QAT Qatar
ALA Åland Islands GTM Guatemala REU Réunion
ALB Albania GGY Guernsey ROU Romania
DZA Algeria GIN Guinea RUS Russian Federation
ASM American Samoa GNB Guinea-Bissau RWA Rwanda
AND Andorra GUY Guyana BLM Saint Barthélemy
AGO Angola HTI Haiti SHN Saint Helena, Ascension and Tristan da Cunha[e]
AIA Anguilla HMD Heard Island and McDonald Islands KNA Saint Kitts and Nevis
ATA Antarctica VAT Holy See LCA Saint Lucia
ATG Antigua and Barbuda HND Honduras MAF Saint Martin (French part)
ARG Argentina HKG Hong Kong SPM Saint Pierre and Miquelon
ARM Armenia HUN Hungary VCT Saint Vincent and the Grenadines
ABW Aruba ISL Iceland WSM Samoa
AUS Australia IND India SMR San Marino
AUT Austria IDN Indonesia STP Sao Tome and Principe
AZE Azerbaijan IRN Iran, Islamic Republic of SAU Saudi Arabia
BHS Bahamas IRQ Iraq SEN Senegal
BHR Bahrain IRL Ireland SRB Serbia
BGD Bangladesh IMN Isle of Man SYC Seychelles
BRB Barbados ISR Israel SLE Sierra Leone
BLR Belarus ITA Italy SGP Singapore
BEL Belgium JAM Jamaica SXM Sint Maarten (Dutch part)
BLZ Belize JPN Japan SVK Slovakia
BEN Benin JEY Jersey SVN Slovenia
BMU Bermuda JOR Jordan SLB Solomon Islands
BTN Bhutan KAZ Kazakhstan SOM Somalia
BOL Bolivia, Plurinational State of KEN Kenya ZAF South Africa
BES Bonaire, Sint Eustatius and Saba[d] KIR Kiribati SGS South Georgia and the South Sandwich Islands
BIH Bosnia and Herzegovina PRK Korea, Democratic Peoples Republic of SSD South Sudan
BWA Botswana KOR Korea, Republic of ESP Spain
BVT Bouvet Island KWT Kuwait LKA Sri Lanka
BRA Brazil KGZ Kyrgyzstan SDN Sudan
IOT British Indian Ocean Territory LAO Lao Peoples Democratic Republic SUR Suriname
BRN Brunei Darussalam LVA Latvia SJM Svalbard and Jan Mayen[f]
BGR Bulgaria LBN Lebanon SWE Sweden
BFA Burkina Faso LSO Lesotho CHE Switzerland
BDI Burundi LBR Liberia SYR Syrian Arab Republic
CPV Cabo Verde LBY Libya TWN Taiwan, Province of China[c]
KHM Cambodia LIE Liechtenstein TJK Tajikistan
CMR Cameroon LTU Lithuania TZA Tanzania, United Republic of
CAN Canada LUX Luxembourg THA Thailand
CYM Cayman Islands MAC Macao TLS Timor-Leste
CAF Central African Republic MDG Madagascar TGO Togo
TCD Chad MWI Malawi TKL Tokelau
CHL Chile MYS Malaysia TON Tonga
CHN China[c] MDV Maldives TTO Trinidad and Tobago
CXR Christmas Island MLI Mali TUN Tunisia
CCK Cocos (Keeling) Islands MLT Malta TUR Türkiye
COL Colombia MHL Marshall Islands TKM Turkmenistan
COM Comoros MTQ Martinique TCA Turks and Caicos Islands
COG Congo MRT Mauritania TUV Tuvalu
COD Congo, Democratic Republic of the MUS Mauritius UGA Uganda
COK Cook Islands MYT Mayotte UKR Ukraine
CRI Costa Rica MEX Mexico ARE United Arab Emirates
CIV Côte dIvoire FSM Micronesia, Federated States of GBR United Kingdom of Great Britain and Northern Ireland
HRV Croatia MDA Moldova, Republic of USA United States of America
CUB Cuba MCO Monaco UMI United States Minor Outlying Islands[g]
CUW Curaçao MNG Mongolia URY Uruguay
CYP Cyprus[c] MNE Montenegro UZB Uzbekistan
CZE Czechia MSR Montserrat VUT Vanuatu
DNK Denmark MAR Morocco VEN Venezuela, Bolivarian Republic of
DJI Djibouti MOZ Mozambique VNM Viet Nam
DMA Dominica MMR Myanmar VGB Virgin Islands (British)
DOM Dominican Republic NAM Namibia VIR Virgin Islands (U.S.)
ECU Ecuador NRU Nauru WLF Wallis and Futuna
EGY Egypt NPL Nepal ESH Western Sahara[c]
SLV El Salvador NLD Netherlands, Kingdom of the YEM Yemen
GNQ Equatorial Guinea NCL New Caledonia ZMB Zambia
ERI Eritrea NZL New Zealand ZWE Zimbabwe
EST Estonia NIC Nicaragua
SWZ Eswatini NER Niger
ETH Ethiopia NGA Nigeria
FLK Falkland Islands (Malvinas)[c] NIU Niue
FRO Faroe Islands NFK Norfolk Island
FJI Fiji MKD North Macedonia
FIN Finland MNP Northern Mariana Islands
FRA France NOR Norway
GUF French Guiana OMN Oman
PYF French Polynesia PAK Pakistan
ATF French Southern Territories PLW Palau
GAB Gabon PSE Palestine, State of[c]
GMB Gambia PAN Panama
GEO Georgia PNG Papua New Guinea
DEU Germany PRY Paraguay
GHA Ghana PER Peru
GIB Gibraltar PHL Philippines
GRC Greece PCN Pitcairn
GRL Greenland POL Poland
GRD Grenada PRT Portugal
GLP Guadeloupe PRI Puerto Rico

Patient Visit Class

Table 128 Patient Visit Class

Code Meaning Description
AMB Ambulatory Kunjungan rawat jalan
EMER Emergency Kunjungan instalasi gawat darurat
FLD Field Kunjungan lapangan
HH Home health Kunjungan ke rumah
IMP Inpatient encounter Kunjungan rawat inap
ACUTE Inpatient acute Kunjungan rawat inap akut
NONAC Inpatient non-acute Kunjungan rawat inap non-akut
OBSENC Observation encounter Kunjungan observasi
PRENC Pre-admission Kunjungan pre-admisi
SS Short stay Kunjungan pendek
VR Virtual kunjungan dimana pasien dan nakes tidak berada dalam satu tempat (telefon, email, chat, televideo konferensi)
REFFP Referred-procedure Prosedur yang dirujuk

Patient Service Class

Table 129 Patient Service Class

Code Meaning Code Meaning
1 Kelas 1 VVIP Kelas VVIP
2 Kelas 2 Reguler Kelas Reguler
3 Kelas 3 Eksekutif Kelas Eksekutif
VIP Kelas VIP

Admission Discharge Transfer Code

Table 130 ADT Code

Code Meaning Description
A01 Admit Admit pasien ke suatu fasyankes; pasien ditempatkan di lokasi yang spesifik
A02 Transfer Perpindahan lokasi rawat pasien
A03 Discharge Akhir dari perawatan pasien di fasyankes.
A04 Register Registrasi pasien, belum menempatkan pasien ke lokasi perawatan spesifik.
A08 Update patient information
A11 Cancel admit Batal admit
A12 Cancel transfer Batal transfer
A13 Cancel discharge Batal discharge
A23 Delete patient record
A24 Link patient information Menghubungkan patient record satu dengan yang lain
A37 Unlink patient information Memutuskan hubungan patient record satu dengan yang lain
A54 Change attending doctor Ganti attending doctor.
A61 Change consulting doctor Ganti consulting doctor.

Lampiran 10: Cumulative View

Patient Visit Request
Patient ID: 1234567890 Hosp. Number: 451672801 Doctor: Indrawaty, SpPD
Name: Badu Triputra Admission date: 20-Aug-2018 Location: Rawat Inap 1
Age/Sex: 37 years 3 months/Male Discharge date: 22-Aug-2018 Comment: Dengue Hemorrhagic Fever
Phone: +62 21 451 6728
Email: headoffice@summit.co.id
Address: Gading Bukit Indah H3 Kelapa Gading
Jakarta 14240
Comment:
Test Units Reference 1040334567

3-Apr-2021
1021923456

19-Feb-2021
8082012345

20-Aug-2018
Hematologi Lengkap
Hemoglobin g/dL 13.2 17.3 14.3 14.5 14.6
Hematokrit % 40 52 43.2 45.4 45.8
Eritrosit 10^6/μL 4.4 5.9 5.69 5.76 5.94
Nilai-nilai MC
- MCV fL 80 100 7.9 78.8 77.2
- MCH Pg 26 34 25.2 25.1 24.7
- MCHC g/dL 32 36 33.1 31.9 31.9
RDW-CV % 11.5 14.5 12.5 13 11.9
Trombosit 10^3/μL 150 440 500 269 90
Leukosit 10^3 3.8 10.6 7.4 4.7 5.1
Hitung Jenis Leukosit
- Basofil % 0.0 1.0 0.4 1.6 1.2
- Eosinofil % 2.0 4.0 3.5 3.8 3.9
- Neutrofil % 50.0 70.0 76.7 62.9 62.8
- Limfosit % 25.0 40.0 10.8 23.8 24.8
- Monosit % 2.0 8.0 8.5 7.9 7.3
<slider>

Keterangan:

  • Bagian atas terdiri dari 3 kelompok data sesuai hirarki: data pasien, visit dan request
  • Data visit dan pasien secara default sesuai dengan request terbaru (3 Apr 2021). Tetapi jika user hover cursor mouse ke kolom nomor request lain, makan data yang ditampilkan di kelompok visit dan request akan menyesuaikan. Contoh di atas menunjukkan kursor mouse sedang ada di nomor request 8082012345.
  • Color codes:
    • Light yellow: below reference range
    • Dark yellow: above reference range
    • Light red: below critical range
    • Dark red: above critical range

Lampiran 11: Test Ordering

Test Order Urgency

Table 131 Test order urgency codes

Code Meaning Description
S Stat With highest priority
A ASAP Fill after S orders
R Routine Default
P Preop
C Callback
T Timing critical A request implying that it is critical to come as close as possible to the requested time, e.g., for a trough antimicrobial level.
PRN As needed

Test Order Status

Table 132 Test order status codes

Code Description Code Description
A Some, not all results available IP In process, unspecified
CA Order is cancelled RP Order has been replaced
CM Order is completed SC In process, scheduled
DC Order was discontinued CL Closed
ER Error, order not found AC Archived
HD Order “on hold DL Deleted

Result Status

Table 133 Result status codes

Code Description Code Description
O Order received; specimen not yet received R Results stored; not yet verified
I No results available; specimen received, procedure incomplete F Final results; results stored and verified. Can only be changed with a corrected result.
S No results available; procedure scheduled, but not done X No results available; Order canceled.
A Some, but not all, results available Y No order on record for this test. (Used only on queries)
P Preliminary: A verified early result is available, final results not yet obtained Z No record of this patient. (Used only on queries)
C Correction to results

Diagnostic Report Status

Table 134 Report Status

Lvl Code Display Definition
1 registered Registered The existence of the report is registered, but there is nothing yet available.
1 partial Partial This is a partial (e.g. initial, interim or preliminary) report: data in the report may be incomplete or unverified.
2 preliminary Preliminary Verified early results are available, but not all results are final.
1 final Final The report is complete and verified by an authorized person.
1 amended Amended Subsequent to being final, the report has been modified. This includes any change in the results, diagnosis, narrative text, or other content of a report that has been issued.
2 corrected Corrected Subsequent to being final, the report has been modified to correct an error in the report or referenced results.
2 appended Appended Subsequent to being final, the report has been modified by adding new content. The existing content is unchanged.
1 cancelled Cancelled The report is unavailable because the measurement was not started or not completed (also sometimes called “aborted”).
1 entered-in-error Entered in Error The report has been withdrawn following a previous final release. This electronic record should never have existed, though it is possible that real-world decisions were based on it. (If real-world activity has occurred, the status should be “cancelled” rather than “entered-in-error”.).
1 unknown Unknown The authoring/source system does not know which of the status values currently applies for this observation. Note: This concept is not to be used for “other” one of the listed statuses is presumed to apply, but the authoring/source system does not know which.

Lampiran 12: Specimen

Container Type

Code Display Definition
22566001 Cytology brush, device
463568005 Pleural drainage system fluid collector
464527005 Paediatric blood donor set
464573007 Assisted reproduction needle, reprocessed
464784003 Assisted reproduction catheter
464946000 Assisted reproduction needle, single-use
465046006 Assisted reproduction cryotube
465091002 Tissue extraction bag
465141003 Otological bone particle collector
465487000 Rigid endotherapy cytology brush, reusable
466164006 Rigid endotherapy cytology brush, single-use
466421006 Viscerotome
466447002 Blood-processing autotransfusion system container
466623002 Blood gas syringe/needle, sodium heparin
466637006 Blood donor set, quad-pack
466704003 Blood collection/fat content reduction device
466844004 Blood donor set, double-pack
466898000 Blood donor set, quin-pack
466930006 Blood donor set, triple-pack
467030004 Blood gas syringe/needle, lithium heparin
467131002 Blood autotransfusion system tubing
467132009 Blood donor set, single-pack
467141004 Blood donor set, many-pack
467182004 Cervical cytology inflatable collector
467330006 Adipose tissue stem cell recovery unit
467431009 Abortion suction system collection bottle
467499008 Chorionic villus sampling catheter
467647004 Cryostat microtome
467697000 Cytology scraper, single-use
467743009 Bone marrow explant needle
467967005 Cytology scraper, reusable
467989009 Capillary blood collection tube, no-additive
468076003 Bone marrow collection/transfusion set
468131000 Cervical cytology brush
468200003 Epididymal fluid aspiration catheter
468981005 Dental bone particle collector
468999002 Endometrial cytology brush
469287008 Intrauterine secretion scoop
469322002 Intravascular catheter endoluminal brush
469454007 Intrauterine scoop
469822008 Flexible endotherapy cytology brush, single-use
470114007 Flexible endotherapy cytology brush, reusable
470547006 General-purpose cytology brush
470597005 Gastro-urological scoop
700855008 Tissue/fluid collection bag, sterile
700905004 Specimen container mailer, insulated
700906003 Specimen container mailer, non-insulated
700945008 Blood cell freeze/thaw system set
700955007 Blood collection Luer-syringe adaptor
700956008 Blood collection needle, basic
700957004 Blood/tissue storage/culture container
701394007 General specimen receptacle transport container
701516009 Evacuated blood collection tube transport container
701720006 Tissue/fluid collection bag, non-sterile
702120003 Blood collection Luer adaptor
702223006 Sputum specimen container
702224000 Midstream urine specimen container
702232008 Sweat specimen container IVD
702244006 Sterile urine specimen container
702256007 Non-evacuated blood collection tube, no additive
702264001 Non-sterile urine specimen container IVD
702268003 General specimen container, no additive, non-sterile
702269006 General specimen container, no additive, sterile
702275002 Microcapillary blood collection tube, ammonium heparin
702276001 Microcapillary blood collection tube, K2EDTA
702277005 Microcapillary blood collection tube, no additive
702278000 Evacuated blood collection tube, no additive/metal-free
702279008 Evacuated blood collection tube, gel separator
702280006 Evacuated blood collection tube, RNA stabilizer
702281005 Evacuated blood collection tube, thrombin/clot activator/gel separator
702282003 Non-evacuated blood collection tube, EDTA
702283008 Non-evacuated blood collection tube, gel separator
702284002 Non-evacuated blood collection tube, lithium heparin
702285001 Non-evacuated blood collection tube, lithium heparin/gel separator, sterile
702286000 Non-evacuated blood collection tube, NaEDTA/sodium fluoride
702287009 Non-evacuated blood collection tube, potassium oxalate/sodium fluoride
702288004 Evacuated urine specimen container, boric acid (H3BO3)/sodium formate
702289007 Evacuated urine specimen container, ethyl paraben/sodium porpionate /chlorhexidine
702290003 Cervical cytology microscopy slide
702292006 Evacuated blood collection tube , K3EDTA/sodium fluoride
702293001 Evacuated blood collection tube, K2EDTA/aprotinin
702294007 Syringe-blood collection tube transfer
702295008 Non-evacuated blood collection tube, clot activator/gel separator
702296009 Non-evacuated blood collection tube, sodium citrate
702297000 Non-evacuated blood collection tube, clot activator
702298005 Non-evacuated blood collection tube, K3EDTA
702299002 Non-evacuated blood collection tube, K2EDTA
702300005 Non-evacuated blood collection tube, lithium heparin/gel separator, non-sterile
702301009 Microcapillary blood collection funnel
702302002 Evacuated urine specimen container, boric acid (H3BO3)
702303007 Evacuated urine specimen container, multiple preservative
702304001 Microcapillary blood transfer tube, clot activator
702305000 Microcapillary blood transfer tube, sodium fluoride
702306004 Microcapillary blood transfer tube, EDTA
702307008 Microcapillary blood transfer tube IVD, heparin
702308003 Evacuated urine specimen container IVD, no additive
702309006 Saliva specimen container IVD, no additive
702310001 Evacuated saliva specimen container IVD, sodium azide
704866005 Orthopedic bone particle collector, reusable
704921002 Hemoperfusion tubing set
706042001 Clinical sampling brush
706044000 Endotherapy cytology brush
706045004 Bone particle collector
706046003 Specimen receptacle
706047007 Fecal specimen container
706048002 Blood specimen receptacle
706049005 Blood tube
706050005 Microcapillary blood collection tube
706051009 Non-evacuated blood collection tube
706052002 Evacuated blood collection tube
706053007 General specimen container
706054001 Urine specimen container
706055000 24-hour urine specimen container
706056004 Evacuated urine specimen container
706057008 Cytology specimen container
706058003 Secretory specimen container
706067003 Blood collection/transfer device
706070004 Blood donor set
706071000 Specimen receptacle transport container
712485008 Autologous blood collection tube
713951005 Adipose tissue stem cell recovery unit, ultrasonic
714731008 Blood component separator
718301008 Urological fluid funnel, sterile
718302001 Urological fluid funnel, non-sterile

Additive[75]

Code System Display (en-US)
  1259913003 http://snomed.info/sct Heparin ammonium
  386961008 http://snomed.info/sct Aprotinin (substance)
  29725000 http://snomed.info/sct Heparin calcium
  21611007 http://snomed.info/sct Boric acid
  30531001 http://snomed.info/sct Calcium oxalate
  69519002 http://snomed.info/sct EDTA
  372628006 http://snomed.info/sct Edetate (substance)
  27763000 http://snomed.info/sct Hydrochloric acid
  414407009 http://snomed.info/sct Hirudin (substance)
  1256100007 http://snomed.info/sct Edetate dipotassium
  1256101006 http://snomed.info/sct Tripotassium edetate
  1256102004 http://snomed.info/sct Heparin lithium (substance)
  387418006 http://snomed.info/sct Edetate disodium (substance)
  412546005 http://snomed.info/sct Sodium citrate (substance)
  50045009 http://snomed.info/sct Heparin sodium
  6910009 http://snomed.info/sct Sodium fluoride
  50306007 http://snomed.info/sct Sodium tetraborate
  387168006 http://snomed.info/sct Mannitol (substance)
  115281000146102 http://snomed.info/sct Sodium formate

Specimen Type

Berdasarkan dokumentasi dari FHIR (https://terminology.hl7.org/5.1.0/CodeSystem-v2-0487.html)

Code Display Code Display Code Display
ABS Abscess CSMY Fluid, Cystostomy Tube GENL Genital lochia
ACNE Tissue, Acne CST Fluid, Cyst GENV Genital vaginal
ACNFLD Fluid, Acne CSVR Blood, Cell Saver GRAFT Graft
AIRS Air Sample CTP Catheter tip GRAFTS Graft Site
ALL Allograft CUR Curretage GRANU Granuloma
AMN Amniotic fluid CVM Cervical Mucus GROSH Catheter, Groshong
AMP Amputation CVPS Site, CVP GSOL Solution, Gastrostomy
ANGI Catheter Tip, Angio CVPT Catheter Tip, CVP GSPEC Biopsy, Gastric
ARTC Catheter Tip, Arterial CYN Nodule, Cystic GT Tube, Gastric
ASERU Serum, Acute CYST Cyst GTUBE Drainage Tube, Drainage (Gastrostomy)
ASP Aspirate DBITE Bite, Dog HAR Hair
AUTP Autopsy DCS Sputum, Deep Cough HBITE Bite, Human
BBL Blood bag DEC Ulcer, Decubitus HBLUD Blood, Autopsy
BCYST Cyst, Bakers DIA Dialysate HEMAQ Catheter Tip, Hemaquit
BDY Whole body DIAF Dialysis Fluid HEMO Catheter Tip, Hemovac
BIFL Bile Fluid DISCHG Discharge HERNI Tissue, Herniated
BITE Bite DIV Diverticulum HEV Drain, Hemovac
BLD Whole blood DRN Drain HIC Catheter, Hickman
BLDA Blood arterial DRNG Drainage, Tube HYDC Fluid, Hydrocele
BLDCO Cord blood DRNGP Drainage, Penrose IBITE Bite, Insect
BLDV Blood venous DUFL Duodenal fluid ICYST Cyst, Inclusion
BLEB Bleb EARW Ear wax (cerumen) IDC Catheter Tip, Indwelling
BLIST Blister EBRUSH Brush, Esophageal IHG Gas, Inhaled
BOIL Boil EFFUS Effusion ILEO Drainage, Ileostomy
BON Bone ELT Electrode ILLEG Source of Specimen Is Illegible
BONE Bone EOS Eosinophils IMP Implant
BOWL Bowel contents ETA Aspirate, Endotrach INCI Site, Incision/Surgical
BPH Basophils ETTP Catheter Tip, Endotracheal INFIL Infiltrate
BPU Blood product unit ETTUB Tube, Endotracheal INS Insect
BRN Burn EXG Gas, exhaled (=breath) INTRD Catheter Tip, Introducer
BRSH Brush EXS Shunt, External ISLT Isolate
BRTH Breath (use EXHLD) EXUDTE Exudate IT Intubation tube
BRUS Brushing FBLOOD Blood, Fetal IUD Intrauterine Device
BUB Bubo FGA Fluid, Abdomen IVCAT Catheter Tip, IV
BULLA Bulla/Bullae FIB Fibroblasts IVFLD Fluid, IV
BX Biopsy FIST Fistula IVTIP Tubing Tip, IV
CALC Calculus (=Stone) FLD Fluid, Other JEJU Drainage, Jejunal
CARBU Carbuncle FLT Filter JNTFLD Fluid, Joint
CAT Catheter FLU Fluid, Body unsp JP Drainage, Jackson Pratt
CBITE Bite, Cat FLUID Fluid KELOI Lavage
CDM Cardiac muscle FOLEY Catheter Tip, Foley KIDFLD Fluid, Kidney
CLIPP Clippings FRS Fluid, Respiratory LAVG Lavage, Bronhial
CNJT Conjunctiva FSCLP Scalp, Fetal LAVGG Lavage, Gastric
CNL Cannula FUR Furuncle LAVGP Lavage, Peritoneal
COL Colostrum GAS Gas LAVPG Lavage, Pre-Bronch
CONE Biospy, Cone GASA Aspirate, Gastric LENS1 Contact Lens
CSCR Scratch, Cat GASAN Antrum, Gastric LENS2 Contact Lens Case
CSERU Serum, Convalescent GASBR Brushing, Gastric LESN Lesion
CSF Cerebral spinal fluid GASD Drainage, Gastric LIQ Liquid, Unspecified
CSITE Catheter Insertion Site GAST Fluid/contents, Gastric LIQO Liquid, Other

lanjutan specimen type …

Code Display Code Display Code Display
LNA Line arterial PPP Plasma, Platelet poor TASP Aspirate, Tracheal
LNV Line venous PROST Prosthetic Device TEAR Tears
LSAC Fluid, Lumbar Sac PRP Plasma, Platelet rich THRB Thrombocyte (platelet)
LYM Lymphocytes PSC Pseudocyst TISS Tissue
MAC Macrophages PUNCT Wound, Puncture TISU Tissue ulcer
MAHUR Catheter Tip, Makurkour PUS Pus TLC Cathether Tip, Triple Lumen
MAR Marrow PUSFR Pustule TRAC Site, Tracheostomy
MASS Mass PUST Pus TRANS Transudate
MBLD Blood, Menstrual QC3 Quality Control TSERU Serum, Trough
MEC Meconium RANDU Urine, Random TSTES Abscess, Testicular
MILK Breast milk RBC Erythrocytes TTRA Aspirate, Transtracheal
MLK Milk RBITE Bite, Reptile TUBES Tubes
MUCOS Mucosa RECT Drainage, Rectal TUMOR Tumor
MUCUS Mucus RECTA Abscess, Rectal TZANC Smear, Tzanck
NAIL Nail RENALC Cyst, Renal UDENT Source, Unidentified
NASDR Drainage, Nasal RENC Fluid, Renal Cyst UMED Unknown Medicine
NEDL Needle RES Respiratory UR Urine
NEPH Site, Nephrostomy SAL Saliva URC Urine clean catch
NGASP Aspirate, Nasogastric SCAR Tissue, Keloid (Scar) URINB Urine, Bladder Washings
NGAST Drainage, Nasogastric SCLV Catheter Tip, Subclavian URINC Urine, Catheterized
NGS Site, Naso/Gastric SCROA Abscess, Scrotal URINM Urine, Midstream
NODUL Nodule(s) SECRE Secretion(s) URINN Urine, Nephrostomy
NSECR Secretion, Nasal SER Serum URINP Urine, Pedibag
ORH Other SHU Site, Shunt URNS Urine sediment
ORL Lesion, Oral SHUNF Fluid, Shunt URT Urine catheter
OTH Source, Other SHUNT Shunt USCOP Urine, Cystoscopy
PACEM Pacemaker SITE Site USPEC Source, Unspecified
PAFL Pancreatic fluid SKBP Biopsy, Skin USUB Unkown substance
PCFL Fluid, Pericardial SKN Skin VASTIP Catheter Tip, Vas
PDSIT Site, Peritoneal Dialysis SMM Mass, Sub-Mandibular VENT Catheter Tip, Ventricular
PDTS Site, Peritoneal Dialysis Tunnel SMN Seminal fluid VITF Vitreous Fluid
PELVA Abscess, Pelvic SNV Fluid, synovial (Joint fluid) VOM Vomitus
PENIL Lesion, Penile SPRM Spermatozoa WASH Wash
PERIA Abscess, Perianal SPRP Catheter Tip, Suprapubic WASI Washing, e.g. bronchial washing
PILOC Cyst, Pilonidal SPRPB Cathether Tip, Suprapubic WAT Water
PINS Site, Pin SPT Sputum WB Blood, Whole
PIS Site, Pacemaker Insetion SPTC Sputum coughed WBC Leukocytes
PLAN Plant Material SPTT Sputum tracheal aspirate WEN Wen
PLAS Plasma SPUT1 Sputum, Simulated WICK Wick
PLB Plasma bag SPUTIN Sputum, Inducted WND Wound
PLC Placenta SPUTSP Sputum, Spontaneous WNDA Wound abscess
PLEVS Serum, Peak Level STL Stool = Fecal WNDD Wound drainage
PLR Pleural fluid (thoracentesis fluid) STONE Stone, Kidney WNDE Wound exudate
PMN Polymorphonuclear neutrophils SUBMA Abscess, Submandibular WORM Worm
PND Drainage, Penile SUBMX Abscess, Submaxillary WRT Wart
POL Polyps SUMP Drainage, Sump
POPGS Graft Site, Popliteal SUP Suprapubic Tap
POPLG Graft, Popliteal SUTUR Suture
POPLV Site, Popliteal Vein SWGZ Catheter Tip, Swan Gantz
PORTA Catheter, Porta SWT Sweat

Specimen Type (Environmental)

Berikut adalah specimen type untuk lingkungan

Code Display Code Display
ATTE Environment, Attest ESOI Environmental, Soil
AUTOA Environmental, Autoclave Ampule ESOS Environmental, Solution (Sterile)
AUTOC Environmental, Autoclave Capsule EWHI Environmental, Whirlpool
DEION Environmental, Water (Deionized) FAW Environmental, Water (Well)
EEYE Environmental, Eye Wash SPS Environmental, Spore Strip
EFF Environmental, Effluent STER Environmental, Sterrad
EFOD Environmental, Food WWA Environmental, Water
EISO Environmental, Isolette WWO Environmental, Water (Ocean)
ENVIR Environmental, Unidentified Substance WWT Environmental, Water (Tap)
EOTH Environmental, Other Substance

Specimen Component

Berikut adalah specimen component value set berdasarkan HL7 dan FHIR:

Value Description
SUP Supernatant
SED Sediment
BLD Whole blood, homogeneous
BSEP Whole blood, separated
PRP Platelet rich plasma
PPP Platelet poor plasma
SER Serum, NOS (not otherwise specified)
PLAS Plasma, NOS (not otherwise specified)

Collection Method

Menjelaskan prosedur atau proses pengumpulan spesimen. Sistem pengkodean apa pun yang diakui secara nasional dapat digunakan untuk bidang ini termasuk SNOMED; sebagai alternatif, tabel yang ditentukan HL7 0488 dapat digunakan (https://build.fhir.org/valueset-specimen-collection-method.html)

Table 135 Specimen collection method

Code System Text
  129316008 snomed Aspiration action
  129314006 snomed Biopsy action
  129300006 snomed Puncture action
  129304002 snomed Excision action
  129323009 snomed Scraping action
  73416001 snomed Urine specimen collection, clean catch
  225113003 snomed Timed urine collection
  70777001 snomed Urine specimen collection, catheterized
  386089008 snomed Collection of coughed sputum
  278450005 snomed Finger-prick sampling

Body Site

Specifies the source from which the specimen was obtained. For example, in the case where a liver biopsy is obtained via a percutaneous needle, the source would be liver.

Table 136 Body site

Value Description Value Description Value Description
BE Bilateral Ears LMFA Left Mid Forearm REJ Right External Jugular
OU Bilateral Eyes LN Left Naris OD Right Eye
BN Bilateral Nares LPC Left Posterior Chest RF Right Foot
BU Buttock LSC Left Subclavian RG Right Gluteus Medius
CT Chest Tube LT Left Thigh RH Right Hand
LA Left Arm LUA Left Upper Arm RIJ Right Internal Jugular
LAC Left Anterior Chest LUAQ Left Upper Abd Quadrant RLAQ Rt Lower Abd Quadrant
LACF Left Antecubital Fossa LUFA Left Upper Forearm RLFA Right Lower Forearm
LD Left Deltoid LVG Left Ventragluteal RMFA Right Mid Forearm
LE Left Ear LVL Left Vastus Lateralis RN Right Naris
LEJ Left External Jugular NB Nebulized RPC Right Posterior Chest
OS Left Eye PA Perianal RSC Right Subclavian
LF Left Foot PERIN Perineal RT Right Thigh
LG Left Gluteus Medius RA Right Arm RUA Right Upper Arm
LH Left Hand RAC Right Anterior Chest RUAQ Right Upper Abd Quadrant
LIJ Left Internal Jugular RACF Right Antecubital Fossa RUFA Right Upper Forearm
LLAQ Left Lower Abd Quadrant RD Right Deltoid RVL Right Vastus Lateralis
LLFA Left Lower Forearm RE Right Ear RVG Right Ventragluteal

Source

This field differs from SPM-8-Specimen Source Site in those cases where the source site must be approached via a particular site (e.g., anatomic location). For example, in the case where a liver biopsy is obtained via a percutaneous needle, the collection site would be the point of entry of the needle. For venous blood collected from the left radial vein, the collection site could be “antecubital fossa”.

Specimen Role

Table 137 Specimen Role

Value Description
B Blind Sample
C Calibrator
E Electronic QC. Used with manufactured reference providing signals that simulate QC results
F Filler Organization Proficiency. Specimen used for testing proficiency of the organization performing the testing (Filler) 🡪 PME
O Operator Proficiency. Specimen used for testing Operator Proficiency.
P Patient (default if blank component value)
Q Control specimen
R Replicate (of patient sample as a control). Used when a patient sample is re-run as a control for a repeat test
V Verifying Calibrator. Used for periodic calibration checks.

Specimen Condition

Based on https://terminology.hl7.org/5.4.0/CodeSystem-v2-0493.html atau https://terminology.hl7.org/6.5.0/ValueSet-v2-0493.html

Table 138 Specimen Condition

Value Description
AUT Autolyzed; An autolyzed specimen is a tissue or cell sample that has undergone autolysis, a natural process where the cells own enzymes begin to digest and break down the cells components, often after death
CLOT Clotted; A clotted specimen is a biological sample, typically blood, that has begun to coagulate, forming a gel-like mass, rendering it unsuitable for most laboratory tests
CON Contaminated
COOL Cool
FROZ Frozen
HEM Hemolyzed
LIVE Live
ROOM Room temperature
SNR Sample not received
CFU Centrifuged
LIP Lipemic
ITC Icteric

Lampiran 13: Location

Location Type

LocTypeID LocTypeAbb LocTypeFull Description CreateDate EndDate
Nvarchar(5) Nvarchar Nvarchar Date Time Date Time
1 FCLT Facility Organisasi atau lembaga tempat layanan disediakan, atau gedung tertentu dalam organisasi 2025-02-25 17:50:00
2 BLDG Building Gedung 2025-02-25 17:50:00
3 FLOR Floor Lantai dari gedung 2025-02-25 17:50:00
4 POC Point of Care 2025-02-25 17:50:00
5 ROOM Room Ruangan dalam Gedung-lantai 2025-02-25 17:50:00
6 BED Bed Tempat tidur pasien 2025-02-25 17:50:00
7 MOBL Mobile Lokasi bergerak, ditandai dengan koordinat GPS, lokasi sementara, atau deskripsi lokasi unit bergerak saat ini. Misalnya MCU onsite, home service, dll 2025-02-25 17:50:00
8 REMT Remote Lokasi di luar lokasi utama. Misalnya prkatek dokter, klinik/lab perujuk. 2025-02-25 17:50:00

Lampiran 14: Value set

Value Set

Lihat Table 72. valueset untuk struktur lengkap.

VsetID Vorder Vvalue Vdesc Vcategory
1 1 PRIMRY Primary SYS
1 2 SCNDRY Secondary SYS
2 1 DSABL Disabled SYS
2 2 ENABL Enabled SYS
3 1 F Female SYS
3 2 M Male SYS
3 3 U Unknown SYS
4 1 A Separated SYS
4 2 D Divorced SYS
4 3 M Married SYS
4 4 S Single SYS
4 5 W Widowed SYS
4 6 B Unmarried SYS
4 7 U Unknown SYS
4 8 O Other SYS
5 1 Y Death SYS
5 2 N Life SYS
6 1 KTP Kartu Tanda Penduduk SYS
6 2 PASS Passport SYS
6 3 SSN Social Security Number SYS
6 4 SIM Surat Izin Mengemudi SYS
6 5 KTAS Kartu Izin Tinggal Terbatas SYS
7 1 Create create record SYS
7 2 Read read record/field SYS
7 3 Update update record/field SYS
7 4 Delete delete record/field SYS
8 1 WDID Windows Device ID SYS
8 2 AAID Android AAID SYS
8 3 IDFA IOS IDFA SYS
9 1 PAT Patient SYS
9 2 ISN Insurance SYS
9 3 ACC Account SYS
9 4 DOC Doctor SYS
10 1 S Stat SYS
10 2 A ASAP SYS
10 3 R Routine SYS
10 4 P Preop SYS
10 5 C Callback SYS
10 6 T Timing critical SYS
10 7 PRN As needed SYS
11 1 A Some, not all results available SYS
11 2 CA Order is cancelled SYS
11 3 CM Order is completed SYS
11 4 DC Order was discontinued SYS
11 5 ER Error, order not found SYS
11 6 HD Order “on hold SYS
11 7 IP In process, unspecified SYS
11 8 RP Order has been replaced SYS
11 9 SC In process, scheduled SYS
11 10 CL Closed SYS
11 11 AC Archived SYS
11 12 DL Deleted SYS
12 1 FCLT Facility. Organisasi atau lembaga tempat layanan disediakan, atau gedung tertentu dalam organisasi SYS
12 2 BLDG Building. Gedung SYS
12 3 FLOR Floor. Lantai dari gedung SYS
12 4 POC Point of Care SYS
12 5 ROOM Room. Ruangan dalam Gedung-lantai SYS
12 6 BED Bed. Tempat tidur pasien SYS
12 7 MOBL Mobile. Lokasi bergerak, ditandai dengan koordinat GPS, lokasi sementara, atau deskripsi lokasi unit bergerak saat ini. SYS
12 8 REMT Remote. Lokasi di luar lokasi utama SYS
13 1 Hep Heparin ammonium SYS
13 2 Apro Aprotinin (substance) SYS
13 3 HepCa Heparin calcium SYS
13 4 H3BO3 Boric acid SYS
13 5 CaOxa Calcium oxalate SYS
13 6 EDTA EDTA SYS
13 7 Ede Edetate (substance) SYS
13 8 HCl Hydrochloric acid SYS
13 9 Hrdn Hirudin (substance) SYS
13 10 EdeK Edetate dipotassium SYS
13 11 EdeTri Tripotassium edetate SYS
13 12 LiHep Heparin lithium (substance) SYS
13 13 EdeNa Edetate disodium (substance) SYS
13 14 NaCtrt Sodium citrate (substance) SYS
13 15 NaHep Heparin sodium SYS
13 16 NaF Sodium fluoride SYS
13 17 Borax Sodium tetraborate SYS
13 18 Mntl Mannitol (substance) SYS
13 19 NaFrm Sodium formate SYS
14 1 Pri primary, kontak langsung dengan spesimen SYS
14 2 Sec secondary, wadah primary container SYS
14 3 Ter tertiary, wadah secondary container. SYS
15 1 BLD Whole blood SYS
15 2 BLDA Blood arterial SYS
15 3 BLDCO Cord blood SYS
15 4 FBLOOD Blood, Fetal SYS
15 5 CSF Cerebral spinal fluid SYS
15 6 WB Blood, Whole SYS
15 7 BBL Blood bag SYS
15 8 SER Serum SYS
15 9 PLAS Plasma SYS
15 10 PLB Plasma bag SYS
15 11 MUCOS Mucosa SYS
15 12 MUCUS Mucus SYS
15 13 UR Urine SYS
15 14 RANDU Urine, Random SYS
15 15 URINM Urine, Midstream SYS
16 1 L Liter SYS
16 2 mL Mili Liter SYS
16 3 mL Micro Liter SYS
16 4 Pcs Pieces SYS
17 1 order Generate by order SYS
17 2 user Generate by user SYS
18 1 Scoll Collection SYS
18 2 Stran Transport SYS
18 3 Srec Reception SYS
18 4 Sprep Preparation SYS
18 5 Salqt Aliquot SYS
18 6 Sdisp Dispatching SYS
18 7 Sdest Destruction SYS
19 1 FAILD Failed SYS
19 2 SUCNT Success with note SYS
19 3 SUCCS Success SYS
20 1 STC To be collected SYS
20 2 SCFld Collection failed SYS
20 3 SCtd Collected SYS
20 4 Stran In-transport SYS
20 5 STFld Transport failed SYS
20 6 Sarrv Arrived SYS
20 7 Srejc Rejected SYS
20 8 SRcvd Received SYS
20 9 SPAna Pre-analytical SYS
20 10 SPAF Pre-analytical failed SYS
20 11 STA To be analyze SYS
20 12 SAFld Analytical failed SYS
20 13 Sana Analytical SYS
20 14 STS To be stored SYS
20 15 SSFld Store failed SYS
20 16 SStrd Stored SYS
20 17 Sexp Expired SYS
20 18 STD To be destroyed SYS
20 19 SDFld Failed to destroy SYS
20 20 SDstd Destroyed SYS
21 1 HEM Hemolyzed SYS
21 2 ITC Icteric SYS
21 3 LIP Lipemic SYS
21 4 CFU Centrifuged SYS
21 5 ROOM Room temperature SYS
21 6 COOL Cool SYS
21 7 FROZ Frozen SYS
21 8 CLOT Clotted SYS
21 9 AUT Autolyzed SYS
21 10 CON Contaminated SYS
21 11 LIVE Live SYS
22 1 P Patient SYS
22 2 B Blind Sample SYS
22 3 Q Control specimen SYS
22 4 E Electronic QC. Used with manufactured reference providing signals that simulate QC results SYS
22 5 F Filler Organization Proficiency. Specimen used for testing proficiency of the organization performing the testing (Filler) 🡪 PME SYS
22 6 O Operator Proficiency. Specimen used for testing Operator Proficiency. SYS
22 7 C Calibrator SYS
22 8 R Replicate (of patient sample as a control). Used when a patient sample is re-run as a control for a repeat test SYS
22 9 V Verifying Calibrator. Used for periodic calibration checks. SYS
23 1 pcntr Puncture SYS
23 2 fprk Finger-prick sampling SYS
23 3 ucct Urine specimen collection, clean catch SYS
23 4 utcl Timed urine collection SYS
23 5 ucth Urine specimen collection, catheterized SYS
23 6 scgh Collection of coughed sputum SYS
23 7 bpsy Biopsy SYS
23 8 aspn Aspiration SYS
23 9 excs Excision SYS
23 10 scrp Scraping SYS
24 1 LA Left Arm SYS
24 2 RA Right Arm SYS
24 3 LF Left Foot SYS
24 4 RF Right Foot SYS
25 1 5ml 5 mL SYS
25 2 7ml 7 mL SYS
25 3 10ml 10 mL SYS
25 4 1l 1 L SYS
26 1 F Fasting. Pasien puasa SYS
26 2 NF Not Fasting. Pasien tidak puasa SYS
26 3 NG Not Given. Pasien tidak ditanyakan status puasanya. SYS
27 1 TEST Test SYS
27 2 PARAM Parameter SYS
27 3 CALC Calculated Test SYS
27 4 GROUP Group Test [76] SYS
27 5 TITLE Title. SYS
28 1 g/dL SYS
28 2 g/L SYS
28 3 mg/dL SYS
28 4 mg/L SYS
28 5 L/L SYS
28 6 x106/mL SYS
28 7 x1012/L SYS
28 8 fL SYS
28 9 pg SYS
28 10 x109/L SYS
29 1 Phyton Phyton SYS
29 2 CQL Clinical Quality Language SYS
29 3 FHIRP FHIRPath SYS
29 4 SQL SQL SYS
30 1 JAWA Jawa SYS
30 2 SUNDA Sunda SYS
30 3 BATAK Batak SYS
30 4 SULOR Suku asal Sulawesi lainnya SYS
30 5 MDRA Madura SYS
30 6 BTWI Betawi SYS
30 7 MNG Minangkabau SYS
30 8 BUGIS Bugis SYS
30 9 MLYU Melayu SYS
30 10 SUMSL Suku asal Sumatera Selatan SYS
30 11 BTNOR Suku asal Banten SYS
30 12 NTTOR Suku asal Nusa Tenggara Timur SYS
30 13 BNJAR Banjar SYS
30 14 ACEH Aceh SYS
30 15 BALI Bali SYS
30 16 SASAK Sasak SYS
30 17 DAYAK Dayak SYS
30 18 TNGHA Tionghoa SYS
30 19 PPAOR Suku asal Papua SYS
30 20 MKSSR Makassar SYS
30 21 SUMOR Suku asal Sumatera lainnya SYS
30 22 MLKOR Suku asal Maluku SYS
30 23 KLMOR Suku asal Kalimantan lainnya SYS
30 24 CRBON Cirebon SYS
30 25 JBIOR Suku asal Jambi SYS
30 26 LPGOR Suku Lampung SYS
30 27 NTBOR Suku asal Nusa Tenggara Barat lainnya SYS
30 28 GRTLO Gorontalo SYS
30 29 MNHSA Minahasa SYS
30 30 NIAS Nias SYS
30 31 FORGN Asing/luar negeri SYS
31 1 ISLAM Islam SYS
31 2 KRSTN Kristen SYS
31 3 KTLIK Katolik SYS
31 4 HINDU Hindu SYS
31 5 BUDHA Budha SYS
31 6 KHCU Khong Hu Cu SYS
31 7 OTHER Lainnya SYS
32 1 PPMLN Papua Melanezoid SYS
32 2 NGRID Negroid SYS
32 3 WDOID Weddoid SYS
32 4 MMPM Melayu Mongoloid_Proto Melayu SYS
32 5 MMDM Melayu Mongoloid_Deutro Melayu SYS
32 6 TNGHA Tionghoa SYS
32 7 INDIA India SYS
32 8 ARAB Arab SYS
33 <CntyID> <lihat Country> SYS
34 1 PRPL Purple SYS
34 2 RED Red SYS
34 3 YLLW Yellow SYS
34 4 GRN Green SYS
34 5 PINK Pink SYS
34 6 LBLU Light Blue SYS
34 7 RBLU Royal Blue SYS
34 8 GRAY Gray SYS
35 1 ORD Order SYS
35 2 ANA Analyse SYS
35 3 VER Result Verification/Technical Validation SYS
35 4 REV Clinical Review/Clinical Validation SYS
35 5 REP Reporting SYS
36 1 A01 Admit SYS
36 2 A02 Transfer SYS
36 3 A03 Discharge SYS
36 4 A04 Register SYS
36 5 A08 Update patient information SYS
36 6 A11 Cancel admit SYS
36 7 A12 Cancel transfer SYS
36 8 A13 Cancel discharge SYS
36 9 A23 Delete patient record SYS
36 10 A24 Link patient information SYS
36 11 A37 Unlink patient information SYS
36 12 A54 Change attending doctor SYS
36 13 A61 Change consulting doctor SYS
37 1 GH Government Hospital (rumah sakit pemerintah) SYS
37 2 PH Private Hospital (rumah sakit swasta) SYS
37 3 GHL Government Hospital Lab (lab RS pemerintah) SYS
37 4 PHL Private Hospital Lab (Lab RS swasta) SYS
37 5 GL Government Lab (laboratorium mandiri pemerintah) SYS
37 6 PL Private Lab (laboratorium mandiri swasta) SYS
38 1 A_CLAS Kelas A SYS
38 2 B_CLAS Kelas B SYS
38 3 C_CLAS Kelas C SYS
38 4 D_CLAS Kelas D SYS
38 5 Utama Utama SYS
38 6 Prtama Pratama SYS
39 1 HIS HIS SYS
39 2 SITE Site SYS
39 3 WST Workstation SYS
39 4 INST Equipment/Instrument SYS
40 1 PROP Propinsi SYS
40 2 KAB Kabupaten SYS
40 3 KOTA Kota SYS
41 1 = Equal SYS
41 2 < Less than SYS
41 3 > Greater than SYS
41 4 <= Less than or equal to SYS
41 5 >= Greater than or equal to SYS
42 1 SYS System SYS
42 2 URSULT User-defined_result SYS
43 1 NMRIC Numeric SYS
43 2 RANGE Range SYS
43 3 TEXT Text SYS
43 4 VSET Value set SYS
43 5 NORES No Result SYS
44 1 NMRC Numeric SYS
44 2 TEXT Text SYS
45 1 REF Reference Range SYS
45 2 CRTC Critical Range SYS
45 3 VAL Validation Range SYS
45 4 RERUN Rerun Range SYS
46 1 RANGE Range SYS
46 2 THOLD Threshold SYS
46 3 VSET Value Set SYS
46 4 TEXT Text. SYS
46 5 NOREF No Reference Range SYS
1001 1 NEG Negative URSULT
1001 2 POS Positive URSULT
1001 3 GZ Grayzone URSULT
1002 1 KNG Kuning URSULT
1002 2 JNG Jingga URSULT
1002 3 MRH Merah URSULT
1002 4 CKLT Coklat tua URSULT

Value set Field (Table 97. )

VSName Vdesc VsetID
WSType workstation.Type 1
Enable/Disable workstation.Enable

equipmentlist.Enable

testdef.CountStat

testdefsite.CountStat

testdefsite.VisibleScr

testdefsite.VisibleRpt
2
Gender patient.Gender

refnum.Sex
3
Marital Status patient.MaritalStatus 4
Death Indicator patient.DeathIndicator 5
Identifier Type patidt.IdentifierType 6
Operation patreglog.Operation

patvisitlog.Operation

orderlog.Operation
7
DID Type patreglog.DIDType

patvisitlog.DIDType
8
Requested Entity order.ReqEntity 9
Order Priority order.Priority 10
Order Status orderststatus.OrderStatus 11
Location Type location.LocationType 12
Additive containertype.Additive

specimenprep.Additive
13
Container Class containertype.ConClass 14
Specimen Type testdeftech.SpcType

refnum.SpcType

reftxt.SpcType
15
Unit spcdef.Unit

specimens.Unit

specimenstatus.Unit

specimenprep.AddUnit
16
GenerateBy specimens. GenerateBy 17
Specimen Activity specimenstatus.SpcAct 18
Activity Result specimenstatus.ActRes

patrestatus.ActRes
19
Specimen Status specimenstatus.SpcStatus 20
Specimen Condition specimenstatus.SpcCon 21
Specimen Role specimencollection.SpcRole 22
Collection Method specimencollection.ColMethod 23
Body Site specimencollection.BodySite 24
Container Size specimencollection.CntSize 25
Fasting Status specimencollection.Fasting 26
Test Type testdefsite.TestType 27
Result Unit testdefsite.Unit1

testdefsite.Unit2
28
Formula Languange testdefcal.FormulaLang 29
Race patient.Race 30
Religion patient.Religion 31
Ethnic patient.Ethnic 32
Country patient.Country 33
Container cap color containerdef.Color 34
Test Activity patrestatus.TestAct 35
ADT Event patvisitadt.Code 36
Site Type Site.SiteType 37
Site Class Site.SiteClass 38
Entity Type testmap.HostType

testmap.ClientType
39
Area Class AreaGeo 40
Math Sign refnum.LowSign

refnum.HighSign
41
Vcategory valueset. Vcategory 42
Result Type testdeftech.ResultType 43
Reference Type testdeftech.RefType 44
Range Type refnum.RangeType 45
Numeric Reference Type refnum.NumRefType 46
Text Reference Type reftxt. TxtRefType 47
HIV Value set untuk hasil HIV 1001

Lampiran 15: Organization Structure

Discipline

Reference: Table 9. discipline

DisciplineID DisciplineCode DisciplineName Parent
1 HEMA Hematology
2 CHEM Clinical Chemistry
3 IMSR Immunology/Serology
4 URIN Urinalysis
5 FECAL Fecal Analysis
6 HC Pathology/Cytology
7 MICRO Microbiology
8 TXC Toxicology
9 LF Life Sciences
10 ND Non-discipline
11 BGP Gula Darah HEMA
12 LPD Profil Lipid CHEM
13 LVRP Fungsi Hati CHEM
14 KDN Fungsi Ginjal CHEM

Lampiran 16: HL7 Message

MSH|^~\&|||||20251006112101||ORU^R01|8510|P|2.3.1||||0||ASCII|||<CR>

PID|2298|0500048614|||Rukmini Ambarsari||19680607000000|F|||||||||||||||||||||||<CR>

OBR|2298|2510060052GSK|12|^|N|20251006110950|20251006110950|||1^20||||20251006110950|Serum|||||||||||||||||||||||||||||||||<CR>

OBX|1|NM|ALT|Alanine Aminotransferase|43.638382|U/L|-34.0|N|||F||43.638382|20251006112052|||0|<CR>

OBX|2|NM|AST|Aspartate Aminotransferase|77.419359|U/L|-31.0|N|||F||77.419359|20251006112101|||0|<CR>

OBX|3|NM|CREA|Creatinine (Sarcosine Oxidase Method)|4.495076|mg/dL|0.50-0.90|N|||F||4.495076|20251006112101|||0|<CR>

OBX|4|NM|ALB|Albumin|0.974539|g/dL|3.50-5.30|N|||F||0.974539|20251006111655|||0|<CR>

OBX|5|NM|UREA|Urea|163.754362|mg/dL|16.81-43.25|N|||F||163.754362|20251006112027|||0|<CR>

MSH|^~\&|||||20251006121224||ORU^R01|8514|P|2.3.1||||0||ASCII|||<CR>

PID|2300|0500048614||| Rukmini Ambarsari||19680607000000|F|||||||||||||||||||||||<CR>

OBR|2300|2510060052GSK|12|^|N|20251006110950|20251006110950|||1^1||||20251006110950|Serum|||||||||||||||||||||||||||||||||<CR>

OBX|1|NM|CREA|Creatinine (Sarcosine Oxidase Method)|4.405742|mg/dL|0.50-0.90|N|||F||4.405742|20251006121224|||1|<CR>

OBX|2|NM|UREA|Urea|162.841855|mg/dL|16.81-43.25|N|||F||162.841855|20251006121124|||1|<CR>

Referensi

Table 139. Contoh testdeftech

TestTechID SiteID WorkstationID EquipmentID InstrumentID InstrumentName TestSiteID TestSiteCode TestSiteName ConDefID ConCode TestTechCode TestTechAbb TestTechName Method CreateDate EndDate
1 01 CC_main 597 6010840622 TMS-30i 1 GLUAR Glukosa Sewaktu 1 101 1 GLU Glucose Hexokinase
2 01 CC_main 597 6010840622 TMS-30i 2 GLUF Glukosa Puasa 2 102 1 GLU Glucose Hexokinase
3 01 CC_main 597 6010840622 TMS-30i 3 GLU2HPP Glukosa 2 Jam PP 3 103 1 GLU Glucose Hexokinase
4 01 CC_main 597 6010840622 TMS-30i 4 SGOT Aspartate Aminotransferase 1 101 2 AST AST IFCC
5 01 CC_main 597 6010840622 TMS-30i 5 SGPT Alanine Aminotransferase 1 101 3 ALT ALT IFCC
6 01 CC_main 597 6010840622 TMS-30i 6 CREA Creatinine 1 101 4 CREA CREA Enzymatic
7 01 CC_main 597 6010840622 TMS-30i 7 CREAU Creatinine Urine 10 401 4 CREA CREA Enzymatic
8 01 CC_back 58 2711000813 TMS-24i 1 GLUAR Glukosa Sewaktu 1 101 1 GLU Glucose Hexokinase
9 01 CC_back 58 2711000813 TMS-24i 2 GLUF Glukosa Puasa 2 102 1 GLU Glucose Hexokinase
10 01 CC_back 58 2711000813 TMS-24i 3 GLU2HPP Glukosa 2 Jam PP 3 103 1 GLU Glucose Hexokinase
11 01 CC_back 58 2711000813 TMS-24i 4 SGOT Aspartate Aminotransferase 1 101 2 AST AST IFCC
12 01 CC_back 58 2711000813 TMS-24i 5 SGPT Alanine Aminotransferase 1 101 3 ALT ALT IFCC
13 01 CC_back 58 2711000813 TMS-24i 6 CREA Creatinine 1 101 4 CREA CREA Enzymatic
14 01 CC_back 58 2711000813 TMS-24i 7 CREAU Creatinine Urine 10 401 4 CREA CREA Enzymatic

Riwayat Perubahan

Versi

Tanggal Berlaku

Perubahan

 

 21 Agustus 2024

Dokumen dibuat 

 

 21 Oktober 2024

Lampiran 3: TMS-24i 

11 September 2025

Tambahan value set untuk:

  • containertype Additive
  • containertype ConClass
  • spcdef SpcType
  • spcedef-Unit.

12 September 2025

  • tambahan value set untuk:
    • specimens SpcRole
    • specimenstatus SpcAct
    • specimenstatus ActRes
    • specimenstatus SpcStatus
  • spcactdef table ditiadakan dan diganti dengan value set.
  • spccondition table ditiadakan dan digantikan dengan value set.

  • Ganti nama containertype table menjadi containerdef table.
  • Ganti terminology specimen code menjadi container code. Container code menjadi bagian dari SID.
  • hapus spcdef table dan atributnya digabungkan ke containerdef table.

29 September 2025

  1. Tambahan password pada Table 15. Contact
  2. Copy Account dan Site tables dari CRM
  3. Tambahan SiteCode pada Table 42. Site
  4. Race, religion, ethnic dan country menjadi Value Set, bukan dikelola dalam table terpisah.

1 Oktober 2025

  1. hapus table race, religion, ethnic dan country
  2. Rules dalam test ordering

2 Oktober 2025

  1. hapus field TestID dari table testdefsite, karena fungsi mapping dikelola di table testmap.

14 Oktober 2025

  1. Tambahan contoh relasi Patient Registration, Patient Visit, ADT & Test Ordering .

15 Oktober 2025

  1. Update testdefcal table
  2. tambahan value set testdefcal.FormulaLang dan containerdef.Color
  3. Update testgrp table

16 Oktober 2025

  1. create table refnum, refthold, refvset, revtxt
  2. update table patres

20 Oktober 2025

  1. tambahan table patrestatus
  2. tambahan Value Set TestAct

21 Oktober 2025

  1. Update semua datetime disimpan sebagai UTC+0 kecuali DoB dan ToD.
  2. Test activity & Test status
  3. tambahan ADT event di Value Set

22 Oktober 2025

  1. Tambahan value set untuk SiteClass dan SiteType
  2. Contoh struktur organisasi

23 Oktober 2025

  1. Update table testmap, testdefcal.
  2. Contoh test mapping.

3 November 2025

  1. Update table Workstation. Hapus referensi equipment.
  2. Update table Equipment. Tambah referensi ke workstation.

6 November 2025

  1. Beberapa irrelevant fields dari table CRM dihilangkan di CLQMS:
    1. NPWP di table Account
    2. ME di table Site

20 November 2025

  1. Contoh tables: testdefsite, testdeftech, testdefcal, testdefgrp
  2. ConDefID dihilangkan dari table testdeftech.

28 November 2025

  1. Field Type di table testdefsite diuraikan menjadi:
    1. TestType di table testdefsite
    2. ResultType di table testdeftech.
    3. RefType di table testdeftech.

1 Desember 2025

  1. Result Reporting

3 Desember 2025

  1. Tambahan Value Set untuk ResultType dan RefType
  2. Perubahan Value Set untuk Test Type (Vset 27) dari sebelumnya 12 items menjadi 5 items

4 Desember 2025

  1. Tambahan fields pada table discipline: Parent dan SiteID

16 Desember 2025

  1. Hapus SiteID dari testdeftech, testdefcal dan testdefgrp

19 Desember 2025

  1. Menggabungkan refnum dan refthold menjadi refnum.
  2. Mengganti opsi pada testdeftech.RefType dan testdefcal.RefType dari sebelumnya Range, Threshold, Value Set, Text. menjadi Numeric dan Text.
  3. nilai rujukan fully enumerated.

24 Desember 2025

  1. Menggabungkan refvset dan reftxt menjadi reftxt
  2. update Value Set

26 Desember 2025

  1. Update Business Rules untuk reftxt
  2. API contract untuk testdefsite

5 Januari 2026

  1. tambahan field external ID pada tables: Account, Site, Contact, ContactDetail, ContactTraining.

14 Januari 2026

  1. Memindahkan DisciplineID, DepartmentID, ResultType, RefType, Unit1, Factor, Unit2 dan Decimal dari testdeftech dan testdefcal ke testdefsite.
  2. Memindahkan fields Vset, ReqQty, ReqQtyUnit, CollReq, Method, ExpectedTAT dari testdeftech ke testdefsite.

4 Februari 2026

  1. Tambahan CLQMS Definisi Aktor

Distribusi

Asli :
Kopi No. 1 :
No. 2 :
No. 3 :
No. 4 :

PERSETUJUAN

Yang bertanda tangan di bawah ini menyatakan telah membaca dan menyetujui isi dokumen ini.

Alam Dari Hendarto Irham Faid Faiztyan
Technical Support Supervisor for IT Solution Technical Support Officer for IT Solution
Tanggal: 30 Agustus 2023 Tanggal: 30 Agustus 2023

Mengetahui,

Adhitya Pranata Putra

____________

Technical Support Manager

  1. (Albetkova & Barteluk, 2011)

  2. https://en.wikipedia.org/wiki/Data_integrity

  3. karena juga berarti area, maka dimungkinkan specimen reception di workstation.

  4. Location yang dimaksud adalah lokasi/ruang-ruang dalam site (hospital, lab).

  5. Self-reference dalam table yang sama melalui link parent.

  6. Informed consent (persetujuan berpengetahuan) adalah persetujuan yang diberikan oleh pasien atau keluarganya setelah mendapatkan informasi lengkap dan dipahami mengenai tindakan medis yang akan dilakukan. Persetujuan ini merupakan dasar penting dalam praktik kedokteran, memastikan pasien memahami risiko dan manfaat sebelum memutuskan untuk menerima tindakan

  7. biasanya diwujudkan dalam bentuk worklist.

  8. data tambahan dimasukkan sebagai hasil test jenis parameter sehingga juga bisa ditambahkan/update saat mengisi hasil.

  9. clotting time sangat berpengaruh terhadap hasil akhir

  10. Kode instrument ini specific dan terikat dengan Lokasi (site) sehingga sample bisa ditelusuri di site mana (LabRujukan)

  11. Jika instrument punya kemampuan untuk scan label dan update ke LIS, maka fungsi ini bisa dijalankan. Atau bisa dilakukan manual oleh analis. Instrument TLA kemungkinan bisa mengupdate keberadaan tabung sample secara lebih detail.

  12. Kode tempat peyimpanan ini specific dan terikat dengan Lokasi (site) sehingga sample bisa ditelusuri di site mana (LabRujukan)

  13. diperhitungkan dalam inventory statistic.

  14. ditampilkan di layar maupun reports.

  15. test yang merupakan komponennya tetap dihitung dalam inventory statistic.

  16. test yang merupakan komponennya memerlukan specimen.

  17. Laboratory test panels (also called test batteries) are the aggregation of several laboratory tests, as they are often commissioned in a clinical context and presented as results. (https://fhir.ch/ig/ch-lab-report/1.0.0/usecases-en.html)

  18. Lihat table InvCounter dan InvTransaction di prj_crm_origin.docx

  19. services adalah program/aplikasi yang berjalan di background, secara otomatis, tanpa user interaction, berfungsi untuk komunikasi (network connections), pengelolaan hardware, software update, Program/aplikasi tersebut bisa diakses dan dikelola melalui suatu user interface atau console.

  20. https://en.wikipedia.org/wiki/Operational_system

  21. https://en.wikipedia.org/wiki/Data_warehouse

  22. https://www.altexsoft.com/blog/non-functional-requirements/

  23. Self-reference dalam table yang sama melalui link parent.

  24. Discharge dilakukan terhadap visit

  25. Discharge dilakukan terhadap visit

  26. prj_crm_origin.docx

  27. Missal: reagen Proline dengan no. catalog yang sama dipasarkan oleh SUMMIT dan beberapa distributor lain. No catalog item tersebut hanya ada di table ProductCatalog saja.

  28. DeviceID digunakan untuk mengantisipasi situasi dimana barang diberi piranti GPS

  29. Menggunakan kabupaten/kota dan propinsi dari CRM.

  30. PC, Server, mobile devices, semua mesin dimana user berinteraksi

  31. Kode ADT menggunakan HL7 Standard

  32. dokter utama

  33. PC, Server, mobile devices, semua mesin dimana user berinteraksi

  34. PC, Server, mobile devices, semua mesin dimana user berinteraksi

  35. The International Organization for Standardization (ISO) and Clinical and Laboratory Standards Institute (CLSI) define a sample as “one or more parts taken from a system and intended to provide information on the system” (ISO 15189:2007). The term “specimen” is very commonly used in the laboratory to indicate a sample taken from the human body, but the terminology used throughout ISO documents is “primary sample”, or just “sample”. In this handbook, the terms “sample” and “specimen” should be considered interchangeable. It is useful to note that in some of the existing transport regulations, the term “specimen” continues to be used

  36. https://hl7.org/fhir/R4/valueset-specimen-container-type.html

  37. gambar disimpan di table ProductCatalogDescription (CRM) inventory module.

  38. workbench adalah tempat mengerjakan test manual.

  39. diperlukan GPS tracker atau mobile device dengan kemampuan GPS dan komunikasi dengan receiver/server pencatat data.

  40. Location bisa berupa Lokasi geografis (site), instrument (equipment) ataupun lokasi di dalam lokasi lainnya (counter).

  41. Kode instrument ini specific dan terikat dengan Lokasi (site) sehingga sample bisa ditelusuri di site mana (LabRujukan)

  42. Jika instrument punya kemampuan untuk scan label dan update ke LIS, maka fungsi ini bisa dijalankan. Atau bisa dilakukan manual oleh analis. Instrument TLA kemungkinan bisa mengupdate keberadaan tabung sample secara lebih detail.

  43. Kode tempat peyimpanan ini specific dan terikat dengan Lokasi (site) sehingga sample bisa ditelusuri di site mana (LabRujukan)

  44. PC, Server, mobile devices, semua mesin dimana user berinteraksi

  45. PC, Server, mobile devices, semua mesin dimana user berinteraksi

  46. alternatif: CQL, FHIRPath, SQL

  47. Reagen atau bahan habis pakai yang diperlukan bisa saja lebih dari satu item.

  48. External QC (EQC) dikelompokkan berdasarkan instrument, method. Field method diletakkan per site untuk fleksibilitas.

  49. Real test: test yang menggunakan reagensia/bahan habis pakai, diproduksi di instrument/manual.

  50. External QC (EQC) dikelompokkan berdasarkan instrument, method. Field method diletakkan per site untuk fleksibilitas.

  51. PC, Server, mobile devices, semua mesin dimana user berinteraksi

  52. https://en.wikipedia.org/wiki/Risk_factor#General_determinants

  53. Biasanya panjang, untuk pemeriksaan hormonal

  54. Physiological State seperti pregnancy, menstrual cycle.

  55. Misalnya: gestational age (preterm, term, post term), ethnicity. Preterm disebut juga premature.

  56. comply dengan ISO 15189/13485 traceable, explicit rules.

  57. kalua bis acari alternatif istilah lain

  58. Physiological State seperti pregnancy, menstrual cycle.

  59. Misalnya: gestational age (preterm, term, post term), ethnicity. Preterm disebut juga premature.

  60. comply dengan ISO 15189/13485 traceable, explicit rules.

  61. Value Set tidak digunakan untuk menyimpan definisi object. Penggunaan value set yaitu:

    value set record, digunakan oleh test. Misalnya value set untuk hasil test HbsAg Adalah “reactive”, “grayzone” atau “non-reactive”

    value set field, digunakan oleh field dari berbagai tables. Misalnya pilihan untuk specimen status adalah: “collected”, “receive/arrive”, “aliquot”, “transport”, “stored”, “expire”, “reject”, “destroyed”

  62. user-defined value set bisa terdiri dari beberapa category, misalnya untuk hasil, user roles, jenis dokumen dll.

  63. Pada TMS series, satuannya adalah OD (Optical Density)

  64. Pada 50i, dihitung dari ITEMPARA.STD1 dibagi dengan (Calib.STD_1OD-Calib.BLK_OD)

  65. Jika control level tidak dalam satu set (berbeda no. catalog) maka setiap level perlu didefinisikan dengan no. catalog-nya masing-masing di ProductCatalog dan productcatalogext tables.

  66. Pada TMS series, satuannya adalah OD (Optical Density)

  67. Bertujuan menghitung jumlah test keseluruhan yang diproduksi instrument

  68. Menyimpan data dari instrument apa adanya penting, untuk memudahkan penelusuran. Database CLQMS dipandang sebagai data warehouse dari semua instrument.

  69. diperlukan GPS tracker atau mobile device dengan kemampuan GPS dan komunikasi dengan receiver/server pencatat data.

  70. services adalah program/aplikasi yang berjalan di background, secara otomatis, tanpa user interaction, berfungsi untuk komunikasi (network connections), pengelolaan hardware, software update, Program/aplikasi tersebut bisa diakses dan dikelola melalui suatu user interface atau console.

  71. + 300 instruments TMS series dan bisa bertambah dengan instrument jenis lain. Misalnya Mindray.

  72. Dengan demikian bisa disabled-enabled menggunakan scheduler

  73. Aliquoting is dividing a sample into smaller, representative portions, while decanting is separating a liquid from a solid or another liquid through pouring. Aliquoting focuses on creating smaller aliquots for storage or analysis, while decanting aims to separate a mixture into its components

  74. https://en.wikipedia.org/wiki/ISO_3166-1

  75. https://build.fhir.org/ig/hl7-eu/laboratory/ValueSet-lab-specimenAdditive-eu-lab.html

  76. terdiri dari Profile, Functional Procedure, Superset