· 2026
Hemşire nöbet çizelgesi üretici
Tek dosyalık bir web aracı: hemşire kadrosu için aylık nöbet çizelgesini, beceri seviyeleri, çalışma çiftleri ve sabit haftalık çalışma düzenleri dikkate alınarak üretiyor.
Sorun
Hemşire nöbet çizelgesi, doktor çizelgesinden yapısal olarak daha karmaşık. İki nedenden ötürü: kadro daha kalabalık (pratisyen hekim sayısı ~10 iken hemşire sayısı ~20), ve nöbetin “kim kiminle çalışacak” boyutu pratisyen nöbetlerinde olmadığı kadar belirleyici. Tecrübeli bir hemşirenin yanına acemi bir hemşire koymak, ya da iki acemi hemşireyi aynı vardiyaya denk getirmek, hem hasta güvenliği hem de çalışma huzuru açısından sorunlu. Buna ek olarak bazı hemşireler birbirleriyle iyi çalışıyor, bazıları ise çalışmıyor — bunlar isim isim, ay sonu çizelgesini hazırlayan sorumlu hemşirenin kafasında tutması gereken bilgiler.
Bunun üzerine bazı hemşirelerin sabit haftalık çalışma düzenleri var (örneğin haftanın belirli günlerinde mutlaka geliyor, başka günlerde mutlaka gelmiyor); resmi tatil yükünün adil dağıtılması gerekiyor; iki gün üst üste nöbet kuralı burada da geçerli; izin günleri ve kişisel istekler aynen pratisyen çizelgesindeki gibi devreye giriyor. Bunların hepsini Excel’de aklında tutmak epey zor, ama bu da uzun yıllardır böyle yapılıyordu.
Ne yaptım
Yine tek dosyalık bir HTML aracı, pratisyen çizelgesi üretici ile aynı temel mimari: tarayıcıda açılıyor, kurulum yok, veriler localStorage’da. Ama içerideki kısıt modeli çok daha geniş.
Hemşireler arayüzden ekleniyor; her hemşireye 0-100 arası bir beceri seviyesi atanıyor. Üç farklı çift kuralı tanımlanabiliyor: “kırılamaz çift” (her zaman birlikte çalışmalı), “tercih edilen çift” (mümkünse birlikte), “kaçınılan çift” (mümkünse ayrı). Sabit haftalık çalışma düzenleri iki şekilde tanımlanabiliyor — kesin sabit (“her salı 8 saat, her çarşamba 24 saat”) ya da esnek (“haftada bir kez pazartesi veya salı, 16 saat”). İzin ve istek girişleri pratisyen aracıyla aynı.
Çizelge üretildiğinde, her hemşire için toplam saat, hafta sonu nöbeti, resmi tatil nöbeti görünüyor; her vardiya için ekibin ortalama ve minimum beceri seviyesi hesaplanıyor. Excel çıktısı ve aylık arşiv pratisyen aracıyla aynı.
Teknik olarak ilginç olan ne
Pratisyen aracında skor fonksiyonu beş bileşenden oluşuyordu; burada on üç. Beceri ortalaması ve minimum beceri eşikleri, çift ihlal cezaları (kırılamaz, tercih edilen, kaçınılan ayrı ayrı), hafta sonu için kıdemli hemşire ihtiyacı, ekip arkadaşı becerisinin adil dağılımı, ve standart varyans/hafta sonu/tatil/istek bileşenleri. Her bir bileşenin ağırlığı kullanıcı tarafından düzenlenebiliyor — bu, aracın kullanıma alındığı ilk haftalarda bayağı işe yaradı, çünkü sorumlu hemşire arkadaş çizelgenin nerede kötü çıktığını gördükçe ağırlıkları ayarlayıp tekrar üretebildi.
Sabit çalışma düzenlerinin algoritmaya entegrasyonu da zor noktalardan biriydi. Sabit çalışma düzeni olan hemşireler her şeyden önce yerleştiriliyor, ondan sonra geri kalan slotlar için açgözlü atama başlıyor; bu sıralama bozulduğunda esnek çalışma düzenlerinin sabit çalışma düzenleriyle çakıştığı durumlar çıkıyordu. Bunu çözmek için “ön-yerleştirme” katmanını ayrı bir geçiş olarak tasarladım — sabit çalışma düzenleri kilitleniyor, esnekler bir sonraki adımda yerleştirilebilecek günleri havuz olarak alıyor.
Geri kalan optimizasyon yapısı pratisyen aracındakine benzer: rastgele tohumlarla sekiz yeniden başlatma, ardından hill-climbing geçişi. Skor fonksiyonu daha karmaşık olduğu için iterasyon sayısını biraz artırdım.
Sonuç
Aylardır servisin hemşire çizelgesini bu araçla yapılıyor. Sorumlu hemşire arkadaşın işi gözle görülür biçimde kolaylaştı; eskiden iki günü bulan çizelge hazırlığı şu anda yarım saate inmiş durumda. Beceri dağılımı ve çift kuralları otomatik olarak gözetildiği için, eskiden çok daha sık karşılaştığımız “bugün vardiyada deneyimli kimse yoktu” tipi sorunlar ciddi biçimde azaldı.
Sitedeki sürüm boş şablon olarak başlıyor — yani hemşire listesi de, çift kuralları da, sabit çalışma düzenleri de yok. Aracı kendi servisinize uyarlamak isteyenler bu bilgileri sıfırdan girmek zorunda, ama mimari aynı: bir kere kadronuzu ve kurallarınızı tanımladıktan sonra her ay için çizelge üretebilirsiniz.