Rehber
Hemşire Vardiya Planlama: Kurallar, Kısıtlar ve Adillik
Hastane servisinde 1 aylık hemşire vardiya çizelgesi nasıl kurulur? Gündüz/gece/nöbet kombinasyonları, dinlenme kuralı, adil saat dağılımı ve otomatik çizelgeleme algoritmaları.
İlgili araç
Hemşire Vardiya Planlayıcı
Hastane servisi için 1 aylık nöbet listesini renkli ızgarada planla. Otomatik doldur, klavyeden hızlı düzenle, kapsama ve dinlenme ihlallerini canlı gör.
Aracı aç →Bir hastane servisinde ay başında karşılaşılan sahnedir: sorumlu hemşire masaya 30 günlük takvim açar, kalemiyle ilk hücrelere “8” ve “24” yazmaya başlar. Aklında gece minimum 2 nöbetçi, gündüz 3 kişi sahada, 24 sonrasında 2 gün dinlenme, herkesin izinli olduğu günler ve kimsenin diğerinden çok yorulmaması gerektiği gibi düzinelerce kural vardır. Üç-dört saat sürer, sonunda da genelde yeniden başlar.
Bu rehber, hemşire vardiya planlama probleminin yöneylem araştırması penceresinden anlatımıdır: kuralların matematiksel hâli, otomasyon yaklaşımları ve Hemşire Vardiya Planlayıcı aracının arkasındaki algoritma.
Vardiya tipleri ve günlük kapsama
Türkiye’deki hastane servislerinde yaygın bir yapı üç vardiya etrafında şekillenir:
- Gündüz (08-16, 8 saat) — gündüz hizmetinin omurgası. Doktor vizitleri, ilaç dağıtımları, ameliyathane bağlantıları yoğun.
- Gece (16-08, 16 saat) — akşam ve geceyi tek bir vardiyada birleştirir. 16:00’da başlar, ertesi sabah 08:00’da biter; tek bir hemşire bu pencerede servisin gece kapsamasını üstlenir.
- Nöbet (00-24, 24 saat) — günün tamamını kapsar. Hem gündüze hem geceye sayılır. Yorucu olduğu için takip eden günlerde dinlenme zorunludur.
Bir günün gündüzünde (08-16) sahada minimum hemşire = Gündüz vardiyası sayısı + Nöbet sayısı. Gecesinde (16-08) ise Gece vardiyası sayısı + Nöbet sayısı. Hafta içi ve hafta sonu için bu minimumlar ayrı ayrı
ayarlanır — örneğin hafta içi 3/2 (gündüz/gece), hafta sonu 2/2.
Hangi kombinasyonlar geçerli?
Aynı kapsamayı sağlayan birden çok atama biçimi vardır. Tipik bir hafta içi günü için:
| Kombinasyon | Nöbet (24) | Gündüz (8) | Gece (16) | Gündüz toplamı | Gece toplamı |
|---|---|---|---|---|---|
| Klasik | 2 | 1 | 0 | 3 | 2 |
| Gece dahil | 1 | 2 | 1 | 3 | 2 |
| Yoğun | 2 | 3 | 1 | 5 | 3 |
Gündüz toplamı = Gündüz vardiyası + Nöbet. Gece toplamı = Gece vardiyası + Nöbet.
Tek nöbetli senaryolarda gece sayımı 1’e düşebilir — bu da “Tek nöbet kabul”
modunda izinlidir, normal modda ihlal sayılır.
Burada önemli olan görüş: kapsama hedefleri toplamlardır, hangi kişinin hangi vardiyayı çekeceği serbestliği bırakır. Dolayısıyla çizelge, bütün ayı kapsayan bir ataama problemine dönüşür.
Dinlenme kuralı: “Nöbet sonrası iki gün”
24-saat nöbetin yorucu doğası, peşi sıra çalışmayı insani ve yasal
açılardan zorlar. Çoğu servis için kullanılan kural şöyledir: bir
hemşire 24-saat nöbet tuttuğu günü takiben en az iki günü herhangi bir
aktif vardiyada çalışmadan geçirir. Aracın çıktısında bu günler Nİ
(“Nöbet İzni”) koduyla işaretlenir; gerçekten boş hücrelerden ayrı
gösterilir ki istatistik panelinde “şu kadar dinlenme günü” olarak takip
edilebilsin.
Bu kural çiğnendiğinde — örneğin bir hemşire 5 Mayıs’ta nöbet tutmuş ve 6 Mayıs’ta 8 vardiyasına yazılmışsa — araç kırmızı bir ihlal noktası basar ve gerekçeyi listeler.
Adillik: kimseyi yormamak
Bütün kapsama kuralları sağlandı diyelim. Bir kişi ayda 9 nöbet tutarken diğeri 4 tutuyor olabilir mi? Olabilir, ve genelde plan ekibinde huzursuzluk doğurur. Otomasyon, adil dağılımı teknik bir hedef olarak modelleyebilir.
Pratikte iki yaygın yaklaşım vardır:
-
Toplam saat eşitleme — her hemşirenin aylık saat toplamının ortalama civarında olması. ILP modelinde
yardımcı değişkeniyle “en yüklü hemşirenin saati”ni minimize ederek dolaylı olarak ulaşılır.
-
Nöbet sayısı eşitleme — her hemşirenin ay içinde tuttuğu 24-saat nöbet adedinin yakın olması. Sezgisel çözücü her gün adayları sıralarken “şimdiye kadar kaç nöbet tutmuş” değerine göre seçer; doğal bir dengelemedir.
Aracın istatistik panelindeki “ortalamaya göre fark” sütunu adillik denetimi için pratik bir gözdür. ±8 saat düzeyinde sapma normaldir; ±24 saat artık kadro veya izin politikasının yeniden bakımı gerektirir.
Otomasyon: Sezgisel ve ILP
Hemşire çizelgeleme problemi (literatürde Nurse Rostering Problem), NP-zor sınıfa girer. 12 hemşire × 31 gün × 4 vardiya kombinasyonu düşününce arama uzayı astronomiktir. İki ana yaklaşım kullanılır:
Açgözlü sezgisel + tamir (greedy + repair)
Algoritma her günü sırayla işler:
- Müsait hemşireleri toplar (izinli değil, son iki günde nöbet tutmamış).
- Skora göre sıralar — düşük nöbet sayısı, düşük saat toplamı önde.
- Gece kapsama eksikse önce nöbet (24-saat) atar, hala eksikse gece vardiyası (16-saat) ekler.
- Gündüz kapsama eksikse gündüz vardiyası (8-saat) atar.
- Bir nöbet sonrası
restAfterNightgünüDN(Dinlenme) olarak işaretler. - Atanmamış kalan tüm hücreleri
DNile doldurur — boş hücre kalmaz.
Sonra tamir adımı: validate fonksiyonu hangi günlerin eksik kaldığını söyler, çözücü o günleri kapsayacak küçük takaslar dener. 100 iterasyona kadar.
Hız: 8 hemşire × 31 gün için ~50 ms. Optimallik garantisi yoktur ama pratik kalitede sonuçlar verir, kullanıcı kalan açıkları manuel kapatır.
Tam Sayılı Doğrusal Programlama (ILP)
Aynı problem matematiksel olarak şöyle kurulur. Her hemşire , gün ve aktif vardiya için ikili karar değişkeni:
Kısıtlar (kısaca):
- En çok bir aktif vardiya per (n,d):
- Gündüz kapsama:
- Gece kapsama:
- Dinlenme: for
- İzin günleri: ilgili ‘ler sıfır.
Saatler: .
Adillik amacı (saat sapmasını minimize):
Burada en yüklü, en az yüklü hemşirenin saat sayısıdır; aradaki fark “spread” ve doğrudan minimize edilir. Boş gün yoktur — atanmamış her gün otomatik olarak DN (Dinlenme) sayılır.
Bu model glpk.js’in WebAssembly motoruyla tarayıcıda çözülür — sunucu yok, veri yerel kalır. Tipik boyutta (~1500 ikili değişken) çözüm 1-5 saniye sürer.
ILP’nin avantajı: optimaliteyi garantiler ve adilliği amaç fonksiyonu ile doğrudan dengeler. Dezavantajı: kısıtlar tutarsızsa “feasible çözüm yok” diye çıkar — bu da aslında değerli bir bilgidir; kadronun yetersiz olduğunu gösterir.
Pratikte iyi bir plan kurmak
Aracı kullanırken birkaç akış işe yarar:
1. İzinleri önce gir. Yıllık izin (Yİ), rapor (RP) ve bilinen istek günleri her hemşire kartından “İzinler” butonuyla işaretlenir. Bu hücreler otomatik olarak kilitlenir; çözücü onlara dokunmaz.
2. Otomatik doldura bas. Hızlıca bir taslak görürsün. Renkli ızgara bütün ayı bir bakışta sunar; kırmızı ihlal noktaları varsa altta listelenir.
3. Manuel rötuş yap. Bir hücreye tıkla, popoverdan vardiya seç ya da
klavyeden 8 (gündüz), G (gece 16h), N (24h nöbet), Y (yıllık izin), R (rapor), D (dinlenme), L (kilitle) tuşlarına
bas. Ok tuşları ile hücreden hücreye geç.
4. İhlaller varsa Optimum çöz dene. ILP saniyeler içinde tutarlı bir çözüm verirse al; “feasible değil” derse kısıtları gevşet veya hemşire ekle.
5. CSV indir veya yazdır. Çıktıyı vardiya panosuna asabilir veya muhasebeye gönderebilirsin.
Yasal çerçeve hakkında
Bu rehber teknik amaçlıdır; bağlayıcı hukuki bilgi değildir. Türkiye’deki hemşirelerin çalışma süreleri, dinlenme hakları ve nöbet düzenleri 4857 sayılı İş Kanunu ile Sağlık Bakanlığı’nın yataklı tedavi kurumlarına yönelik yönetmelikleri tarafından çerçevelenir. Belirli bir hastanenin toplu sözleşmesi veya iç yönetmeliği bu çerçeveye ek kurallar getirir (örneğin gece nöbeti sayısının aylık üst sınırı).
Pratik kullanımda iki nokta önemlidir:
- 24 sonrası dinlenme kuralının iki gün olarak uygulanması yaygın bir iyi-uygulamadır; daha kısa süre yerleştirmek istiyorsanız iş hukuku danışmanınıza sorun.
- Tek nöbet kabul modu, mevzuata uygun bir varsayılan yapılandırma değildir; sadece istisnai personel açıkları için son çare olarak düşünülmüştür ve aracın çıktısında uyarı işaretiyle takip edilir.
Sonuç
Hemşire vardiya planı, en eski ve en yaygın çizelgeleme problemlerinden biridir. Algoritmik araçlar bu problemi tamamen çözmez ama büyük yığını dakikalardan saniyelere indirir; sorumlu hemşireye gerçekten önemli olan kısma — istisnaları gözeterek hassas dengeleri kurmak — odaklanma imkanı verir.
Aracı bugün servisinizde denerseniz, bizden duyduğumuza göre en sık geri bildirim “iki saatte yaptığım iş on dakikaya indi” oluyor. İdeale yaklaşan bir plan kurabildiyseniz, sapma sayılarını ve manuel düzeltmeleri buradaki paylaşımınızla bize iletebilirsiniz; aracın gelecek sürümlerinde gerçek dünya örneklerine göre iyileştirmelerini sürdürüyoruz.
Sıkça sorulanlar
- 24 saat çıkışı 24 saat nöbet yasal olarak yazılabilir mi?
- Türkiye'de hemşirelik mesleğine yönelik mevzuat ve hastane içi yönetmelikler 24 saat nöbet çıkışını takiben yeterli dinlenme süresi öngörür; ardışık 24-24 nöbet kural olarak kabul edilmez. Bununla birlikte personel sayısının yetmediği özel durumlarda — listenin hiçbir yerleşim biçimiyle dönmediği şartlarda — geçici tek nöbetçi veya gün aşırı nöbet uygulamaları görüldüğü bilinmektedir. Bunlar istisna düzenlemeler olup düzenli kullanım önerilmez. Aracın 'Tek nöbet kabul' anahtarı bu istisnayı modellemek için vardır ve sonuçları yumuşak uyarı olarak işaretler.
- Sabit bir hemşire kadrosu ile her ay tutarlı plan kurulabilir mi?
- Hemşire başına aylık hedef saat (örneğin 192 saat tam-zamanlı için), izin politikası, doğum/yıllık izinler ve servis yoğunluğu birlikte düşünüldüğünde kadro hesabı yapılır. Aracın istatistik panelindeki 'ortalamaya göre fark' değeri, planın ne kadar adil dağıldığını gösterir; sapma sürekli yüksekse genelde kadronun yetersizliğini işaret eder.
- Optimum çöz (ILP) ile otomatik doldur arasındaki fark nedir?
- Otomatik doldur, açgözlü (greedy) bir sezgisel kullanır: her gün için en az nöbet tutan hemşireden başlayarak boşlukları doldurur, sonunda küçük bir tamir adımıyla geriye kalan ihlalleri kapatmaya çalışır. Hızlıdır (~50 ms) ama optimallik garantisi vermez. Optimum çöz ise tüm planı bir tam sayılı doğrusal programlama (ILP) modeli olarak kurar ve glpk.js çözücüsünü çalıştırır; en yüklü hemşirenin saatini minimize ederek adillik hedefler. Kısıtlar yoğunsa 1-5 saniye sürebilir.
- Plan tablosu nereye kaydediliyor?
- Tüm veri yalnız tarayıcının localStorage alanında tutulur; sunucuya hiçbir bilgi gönderilmez. Kapatıp yeniden açtığınızda kaldığınız yerden devam edersiniz. Bilgisayar değiştirirseniz CSV indir butonu ile dışa aktarabilir, başka bilgisayarda elle aktarabilirsiniz.
- Hafta içi ve hafta sonu min sayıları nasıl ayarlanır?
- Aracın 'Kapsama kuralları' bölümünde dört bağımsız değer vardır: Hafta içi gündüz, Hafta içi gece, Hafta sonu gündüz, Hafta sonu gece. Çoğu serviste hafta sonu gündüz minimumu hafta içinden 1-2 düşüktür (örn. hafta içi 3, hafta sonu 2); gece minimumu ise genelde aynı kalır. Bu sayılar 'sahada minimum hemşire' demektir; gündüz için 'Gündüz vardiyası + Nöbet', gece için 'Gece vardiyası + Nöbet' birlikte sayılır.
- Bir hücreyi 'Kilitle' deyince ne oluyor?
- Kilitlenen hücre artık otomatik doldur veya optimum çöz tarafından değiştirilmez. Manuel olarak yaptığınız atamalar otomatik kilitlenir. Birkaç günü ön-rezervasyon yapmak istiyorsanız (kıdemli hemşireye Pazartesi-Çarşamba sabah vermek gibi), o hücreleri ayarlayıp bırakın; çözücü kalan boşlukları o sabit ayarlarla uyumlu olacak şekilde doldurur.