· 2026
Sevk doğrulama otomasyonu
Acil servisten üst merkeze sevk edilen hastaların gerçekten yatışının yapılıp yapılmadığını HBYS üzerinden otomatik kontrol eden bir araç. Aylık manuel bir kontrol işini, kayıt kayıt çalışan otomatik bir sürece dönüştürdü.
Sorun
Acil servisten bir hastayı üst merkeze sevk ettiğinizde, hikâye sizin tarafınızda bitiyor — ama hastanın o merkeze gerçekten yatıp yatmadığı, bizim için önemli bir kalite göstergesi. Sevk edilen hastaların ne kadarının aslında yatışa ihtiyacı vardı? Gereksiz sevk mi yapıyoruz, yoksa yerinde mi sevk ediyoruz? Bu soruyu cevaplamak için, sevk ettiğimiz her hastanın üst merkezdeki akıbetini tek tek kontrol etmek gerekiyor.
Bu, aylık bir manuel angarya hâlindeydi: sevk listesindeki her hasta için HBYS’ye girip TC ile arama yapmak, hasta geçmişini açmak, yatış kaydı var mı diye bakmak. Yüzlerce satır, her biri birkaç tıklama. Kimsenin yapmak istemediği, yapıldığında da güvenilirliği şüpheli bir iş.
Ne yaptım
HBYS’nin bir API’si yok — dışarıdan erişilebilen bir veri bağlantısı yok. “Bu hasta yatmış mı” sorusunun tek cevap yolu, bir insanın tıklayacağı web arayüzünün ta kendisi. Ben de o arayüzü otomatikleştirdim: Selenium tabanlı bir script, HBYS’ye giriş yapıyor, sevk listesindeki her hasta için TC ile arama yapıyor, hasta geçmişi penceresini açıyor, ve yatış kaydı arıyor. Sonuç bir Excel raporu — her hasta için “yatış var / yok”, yatış varsa hangi birime, ve birim bazlı bir özet.
Aracın kırılgan olduğunu baştan söylemek gerek — ama bu kırılganlık, mühendislik hatası değil, problemin doğası. HBYS’nin arayüzü ExtJS ile yazılmış ve dinamik ID’ler kullanıyor, yani elementleri sabit ID’lerden bulamıyorsunuz; sabit class ve name özelliklerine dayanan seçiciler yazmak gerekiyor. Hastane ağı gerekiyor, Chrome’a uygun sürücü gerekiyor, ve HBYS arayüzü değişirse script bozuluyor. Bunların hepsi, resmî bir entegrasyonun var olmadığı gerçeğinin sonucu. Scraping, “bu sisteme düzgün bir kapı yok” gerçeğinin dürüst kabulü.
Teknik olarak ilginç olan ne
İşin otomatikleştirilmesi değil — otomatikleştirme, yeterince sabırla herkesin yapabileceği bir şey. İlginç olan, otomasyonu bir ölçüm aracına dönüştüren kural.
Bir hastanın geçmişinde “yatış” kaydı bulmak yetmiyor. O yatışın, bu sevkin sonucu olduğundan emin olmak gerekiyor. Bir hasta üç yıl önce başka bir nedenle yatmış olabilir; o eski kaydı mevcut sevkin başarısı gibi raporlamak, ölçümü baştan geçersiz kılar. Bu yüzden bir yatış kaydının “bu sevke ait” sayılması üç şartın birlikte sağlanmasına bağlı: kaydın tipi tam olarak “yatış” olmalı, yatışın yapıldığı kurum üst merkez olmalı, ve yatış tarihi sevk zamanına göre belirli bir pencereye düşmeli (sevkten iki saat öncesi ile yirmi dört saat sonrası arası). Birden fazla kayıt bu üç şartı da sağlıyorsa, kronolojik olarak en erken olanı seçiliyor.
Bu kural, scripti bir scraper olmaktan çıkarıp bir ölçüm aracı yapan şey. Otomasyonun kendisi kolay; “bu veri noktası gerçekten ölçmek istediğim şeyi mi ölçüyor” sorusu, asıl iş.
Sonuç
Araç, daha önce aylık bir angarya olan işi birkaç dakikalık bir script çalıştırmasına indirdi. Ama işin ilginç tarafı, beklemediğim bir yerden çıktı.
Bir ASKOM toplantısında, aracın ürettiği sevk-yatış sayıları, il sağlık müdürlüğünün aynı döneme dair kendi rakamlarıyla yan yana geldi. İki sayı tutmuyordu. Aradaki farkı konuşurken, uyuşmazlığın daha çok resmî rakamların tarafında olduğu görüldü — benim her hastayı tek tek, kayıt kayıt kontrol eden scriptim, toplu istatistik üreten resmî süreçten daha tutarlı bir tablo veriyordu. Bu kontrollü, yöntemsel bir doğrulama değildi; bir toplantıda iki sayının yan yana gelmesiydi. Ama o an bana şunu düşündürdü: tek tek, kayıt kayıt yapılan bir kontrol, toplu üretilen bir istatistikten daha güvenilir olabiliyor — ve bunun nedeni, aracın akıllı olması değil, sadece her satıra ayrı ayrı bakıyor olması.
Repo herkese açık, ama araç hastane ağında, gerçek hasta verisi üzerinde çalışıyor — indirilip herhangi bir yerde çalıştırılan bir şey değil; hastanenin veri ortamının içinde yaşayan bir parça.