HASTANE OTOMASYONU
7 Mart 2026 Cumartesi
5 Mart 2026 Perşembe
YILLIK DOĞUM SAYILARI VE TOPLAMI
SELECT NVL(DS.DOGUMSEKLI, 'TOPLAM') DOGUMSEKLI,
COUNT(*) ADET FROM HASTANE.KIMLIK K
JOIN HASTANE.PROTOKOL P
ON K.DOSYA_NO = P.DOSYA_NO
JOIN HASTANE.BEBEK B
ON P.DOSYA_NO = B.DOSYA_NO
AND P.PROTOKOL_NO = B.PROTOKOL_NO
LEFT JOIN HASTANE.LIST_DOGUMSEKLI DS
ON B.DOGUM_SEKLI = DS.NO
WHERE EXTRACT(YEAR FROM K.DOGUM_TAR) = 2025
GROUP BY ROLLUP(DS.DOGUMSEKLI)
ORDER BY CASE WHEN DS.DOGUMSEKLI IS NULL THEN 1 ELSE 0 END,
ADET DESC;
COUNT(*) ADET FROM HASTANE.KIMLIK K
JOIN HASTANE.PROTOKOL P
ON K.DOSYA_NO = P.DOSYA_NO
JOIN HASTANE.BEBEK B
ON P.DOSYA_NO = B.DOSYA_NO
AND P.PROTOKOL_NO = B.PROTOKOL_NO
LEFT JOIN HASTANE.LIST_DOGUMSEKLI DS
ON B.DOGUM_SEKLI = DS.NO
WHERE EXTRACT(YEAR FROM K.DOGUM_TAR) = 2025
GROUP BY ROLLUP(DS.DOGUMSEKLI)
ORDER BY CASE WHEN DS.DOGUMSEKLI IS NULL THEN 1 ELSE 0 END,
ADET DESC;
4 Mart 2026 Çarşamba
23 Kasım 2017 Perşembe
İLAÇ RAPORU BİTİMİ 1 HAFTA KALAN HASTALAR
SELECT upper(K.ADI),upper(K.SOYADI), K.CEP_TEL,R.BIT_TARIHI rapor_bitis_tar FROM HASTANE.KIMLIK K,hastane.protokol p,hastane.rapor r
WHERE to_char((TO_DATE(R.BIT_TARIHI,'DD.MM.YYYY')-7),'DD MM')=TO_CHAR(SYSDATE,'DD MM') and k.dosya_no=p.dosya_no and p.protokol_no=R.PROTOKOL_NO
WHERE to_char((TO_DATE(R.BIT_TARIHI,'DD.MM.YYYY')-7),'DD MM')=TO_CHAR(SYSDATE,'DD MM') and k.dosya_no=p.dosya_no and p.protokol_no=R.PROTOKOL_NO
6 Mart 2017 Pazartesi
HASTALIK VERİLERİ
SELECT TO_CHAR (T.tarih, 'MONTH') "Ay",TO_CHAR (T.tarih, 'YYYY') "Yıl",TL.ICD,TL.TANI,COUNT(*) SAYI
FROM HASTANE.TANI T,HASTANE.TANILAR TL,HASTANE.KIMLIK K,HASTANE.PROTOKOL P
WHERE T.TARIH BETWEEN to_date('01.01.2016','dd.mm.yyyy hh24:mi:ss') and to_date('31.12.2017 23:59:00','dd.mm.yyyy hh24:mi:ss')
AND T.TANI_KODU=TL.TANI_KODU(+) and T.ICD LIKE 'J4%' ---('J40','J41','J42','J43','J44','J45')
AND T.DOSYA_NO=K.DOSYA_NO(+) AND T.PROTOKOL_NO=P.PROTOKOL_NO(+)
AND P.BOLUM='75'
GROUP BY T.TANI_KODU,TL.ICD,TL.TANI,
TO_CHAR (T.tarih, 'MONTH'),TO_CHAR (T.tarih, 'YYYY')
FROM HASTANE.TANI T,HASTANE.TANILAR TL,HASTANE.KIMLIK K,HASTANE.PROTOKOL P
WHERE T.TARIH BETWEEN to_date('01.01.2016','dd.mm.yyyy hh24:mi:ss') and to_date('31.12.2017 23:59:00','dd.mm.yyyy hh24:mi:ss')
AND T.TANI_KODU=TL.TANI_KODU(+) and T.ICD LIKE 'J4%' ---('J40','J41','J42','J43','J44','J45')
AND T.DOSYA_NO=K.DOSYA_NO(+) AND T.PROTOKOL_NO=P.PROTOKOL_NO(+)
AND P.BOLUM='75'
GROUP BY T.TANI_KODU,TL.ICD,TL.TANI,
TO_CHAR (T.tarih, 'MONTH'),TO_CHAR (T.tarih, 'YYYY')
Doktorlara Göre Muayene ve Yatan Hasta Sayıları
select m.*,nvl(y.yatan_sayi,0) "Yatan Hasta Sayısı" from
(SELECT dr.DR_KODU,dr.ADI_SOYADI"Doktor Adı Soyadı" ,count(*) muayene_sayi FROM HASTANE.PROTOKOL P,hastane.DRADI DR,hastane.islemyap a
WHERE P.DR_KODU=dr.dr_kodu
and a.PROTOKOL_NO=p.PROTOKOL_NO
and a.FATURA_TIPI=0
and p.HASTA_A_Y=1
and ((a.grup_kodu = 250 ))
and p.gtarih between :tarihbas AND :tarihbit
group by dr.DR_KODU,dr.ADI_SOYADI) m,
(SELECT dr.DR_KODU,dr.ADI_SOYADI "Doktor Adı Soyadı",count(*) yatan_sayi FROM HASTANE.PROTOKOL P,hastane.DRADI DR
WHERE P.DR_KODU=dr.dr_kodu
and p.HASTA_A_Y=2
and p.gtarih between :tarihbas AND :tarihbit
group by dr.DR_KODU,dr.ADI_SOYADI) y
where y.dr_kodu(+)=m.DR_KODU
(SELECT dr.DR_KODU,dr.ADI_SOYADI"Doktor Adı Soyadı" ,count(*) muayene_sayi FROM HASTANE.PROTOKOL P,hastane.DRADI DR,hastane.islemyap a
WHERE P.DR_KODU=dr.dr_kodu
and a.PROTOKOL_NO=p.PROTOKOL_NO
and a.FATURA_TIPI=0
and p.HASTA_A_Y=1
and ((a.grup_kodu = 250 ))
and p.gtarih between :tarihbas AND :tarihbit
group by dr.DR_KODU,dr.ADI_SOYADI) m,
(SELECT dr.DR_KODU,dr.ADI_SOYADI "Doktor Adı Soyadı",count(*) yatan_sayi FROM HASTANE.PROTOKOL P,hastane.DRADI DR
WHERE P.DR_KODU=dr.dr_kodu
and p.HASTA_A_Y=2
and p.gtarih between :tarihbas AND :tarihbit
group by dr.DR_KODU,dr.ADI_SOYADI) y
where y.dr_kodu(+)=m.DR_KODU
Hasta hangi doktora kaç kez muayeneye gelmiş
SELECT P.DOSYA_NO "Dosya No",K.adi||' '||k.soyadi "Adı
Soyadı",bl.BOLUM_ADI "Bölüm Adı",dr.ADI_SOYADI "Doktoru",COUNT(*) "Geliş
Sayısı" FROM HASTANE.KIMLIK K,HASTANE.PROTOKOL P,hastane.bolum
bl,hastane.dradi dr
WHERE K.DOSYA_NO=P.DOSYA_NO and dr.DR_KODU=p.DR_KODU and p.BOLUM=bl.BOLUM
and (K.ACILIS_TARIHI BETWEEN to_date('01.01.2017','dd.mm.yyyy hh24:mi:ss') and to_date('07.12.2017 23:59:00','dd.mm.yyyy hh24:mi:ss') )
GROUP BY P.DOSYA_NO,K.adi||' '||k.soyadi,bl.BOLUM_ADI,dr.ADI_SOYADI
Soyadı",bl.BOLUM_ADI "Bölüm Adı",dr.ADI_SOYADI "Doktoru",COUNT(*) "Geliş
Sayısı" FROM HASTANE.KIMLIK K,HASTANE.PROTOKOL P,hastane.bolum
bl,hastane.dradi dr
WHERE K.DOSYA_NO=P.DOSYA_NO and dr.DR_KODU=p.DR_KODU and p.BOLUM=bl.BOLUM
and (K.ACILIS_TARIHI BETWEEN to_date('01.01.2017','dd.mm.yyyy hh24:mi:ss') and to_date('07.12.2017 23:59:00','dd.mm.yyyy hh24:mi:ss') )
GROUP BY P.DOSYA_NO,K.adi||' '||k.soyadi,bl.BOLUM_ADI,dr.ADI_SOYADI
Saatlik Hasta Sayısı
select substr(to_char(p.GTARIH,'dd.mm.yyyy hh24:mi'),12,2)||': 00' "Saat",to_char(p.GTARIH,'dd.mm.yyyy') "Tarih",count(*) "Hasta Sayısı"
from hastane.protokol p
where p.gtarih BETWEEN to_date('01.01.2017','dd.mm.yyyy hh24:mi:ss') and to_date('07.12.2017 23:59:00','dd.mm.yyyy hh24:mi:ss')
group by substr(to_char(p.GTARIH,'dd.mm.yyyy hh24:mi'),12,2) ,to_char(p.GTARIH,'dd.mm.yyyy')
order by to_char(p.GTARIH,'dd.mm.yyyy'),substr(to_char(p.GTARIH,'dd.mm.yyyy hh24:mi'),12,2)
from hastane.protokol p
where p.gtarih BETWEEN to_date('01.01.2017','dd.mm.yyyy hh24:mi:ss') and to_date('07.12.2017 23:59:00','dd.mm.yyyy hh24:mi:ss')
group by substr(to_char(p.GTARIH,'dd.mm.yyyy hh24:mi'),12,2) ,to_char(p.GTARIH,'dd.mm.yyyy')
order by to_char(p.GTARIH,'dd.mm.yyyy'),substr(to_char(p.GTARIH,'dd.mm.yyyy hh24:mi'),12,2)
Bölüm Ve Doktora Göre Yapılan İndirim Miktarları
SELECT a.ucretcikis "İndirim Tutarı", ROUND (a.indirim_yuzdesi, 2) "%",a.adi_soyadih "Hasta Adı Soyadı" , a.dosya_no "Dosya No", a.protokol_no "Protokol No", a.toplam_indirimsiz "İndirimsiz Toplam",
a.toplam_indirimli "İndirimli Toplam", a.indirim "İndirim Tutarı", a.kullanici "İndirim Yapan",
a.aciklama "Açıklama", a.kurum_adi "Kurum Adı", a.bolum_adi "Bölüm Adı",a.q "Doktoru",a.tarih "Tarih",a.sebep "İndirim Sebebi"
FROM (SELECT k.adi ||' '|| k.soyadi adi_soyadih, k.dosya_no,p.protokol_no,dr.adi_soyadi q ,ks.ucretcikis, SUM (i.ucreti)
toplam_indirimli,SUM (i.ilkucret) toplam_indirimsiz,(SUM (NVL (i.ilkucret, 0)) - SUM (NVL (i.ucreti, 0))) indirim, ks.kullanici, ks.aciklama,((ks.ucretcikis / SUM (i.ilkucret)) * 100)
indirim_yuzdesi,kr.kurum_adi, bl.bolum_adi, dr.adi_soyadi,ks.tarih,ins.sebep FROM hastane.islemyap i,hastane.iptal_neden ins,
hastane.protokol p,hastane.kimlik k, hastane.kasadetail ks, hastane.kurum kr,
hastane.bolum bl,
hastane.dradi dr
WHERE ks.tarih BETWEEN to_date('01.01.2017','dd.mm.yyyy hh24:mi:ss') and to_date('07.12.2017 23:59:00','dd.mm.yyyy hh24:mi:ss')
AND ks.protokol_no = p.protokol_no(+)
AND ks.protokol_no = i.protokol_no(+)
AND ks.makbuz_no = i.makbuz_no(+)
AND ks.giris_cikis = 'C'
AND ks.iptal = 'F'
AND ks.indirim = 'T' and ks.indirim_nedeni=ins.sira_no(+)
AND p.dosya_no = k.dosya_no(+)
AND p.kurum_no = kr.kurum_no(+)
AND p.bolum = bl.bolum(+)
AND p.dr_kodu = dr.dr_kodu(+)
GROUP BY k.adi || ' ' || k.soyadi,
k.dosya_no,
p.protokol_no,
ks.kullanici,
ks.aciklama,
ks.ucretcikis,
kr.kurum_adi,
bl.bolum_adi,
dr.adi_soyadi,
ks.tarih,ins.sebep ) a
WHERE a.indirim > 0
a.toplam_indirimli "İndirimli Toplam", a.indirim "İndirim Tutarı", a.kullanici "İndirim Yapan",
a.aciklama "Açıklama", a.kurum_adi "Kurum Adı", a.bolum_adi "Bölüm Adı",a.q "Doktoru",a.tarih "Tarih",a.sebep "İndirim Sebebi"
FROM (SELECT k.adi ||' '|| k.soyadi adi_soyadih, k.dosya_no,p.protokol_no,dr.adi_soyadi q ,ks.ucretcikis, SUM (i.ucreti)
toplam_indirimli,SUM (i.ilkucret) toplam_indirimsiz,(SUM (NVL (i.ilkucret, 0)) - SUM (NVL (i.ucreti, 0))) indirim, ks.kullanici, ks.aciklama,((ks.ucretcikis / SUM (i.ilkucret)) * 100)
indirim_yuzdesi,kr.kurum_adi, bl.bolum_adi, dr.adi_soyadi,ks.tarih,ins.sebep FROM hastane.islemyap i,hastane.iptal_neden ins,
hastane.protokol p,hastane.kimlik k, hastane.kasadetail ks, hastane.kurum kr,
hastane.bolum bl,
hastane.dradi dr
WHERE ks.tarih BETWEEN to_date('01.01.2017','dd.mm.yyyy hh24:mi:ss') and to_date('07.12.2017 23:59:00','dd.mm.yyyy hh24:mi:ss')
AND ks.protokol_no = p.protokol_no(+)
AND ks.protokol_no = i.protokol_no(+)
AND ks.makbuz_no = i.makbuz_no(+)
AND ks.giris_cikis = 'C'
AND ks.iptal = 'F'
AND ks.indirim = 'T' and ks.indirim_nedeni=ins.sira_no(+)
AND p.dosya_no = k.dosya_no(+)
AND p.kurum_no = kr.kurum_no(+)
AND p.bolum = bl.bolum(+)
AND p.dr_kodu = dr.dr_kodu(+)
GROUP BY k.adi || ' ' || k.soyadi,
k.dosya_no,
p.protokol_no,
ks.kullanici,
ks.aciklama,
ks.ucretcikis,
kr.kurum_adi,
bl.bolum_adi,
dr.adi_soyadi,
ks.tarih,ins.sebep ) a
WHERE a.indirim > 0
Katkı Payı Alınmayan Hastalar
NOT: KURUM_KODU YAZAN YERLERE KENDİ SGK KURUM KODUNUZU YAZIN
select p.PROTOKOL_NO,k.DOSYA_NO,k.ADI||' '||k.SOYADI
Hasta,p.GSS_TAKIP_NO,p.GSS_BASVURU_NO,p.GTARIH Gelis_tarihi,l.ADI||'
'||l.SOYADI Kullanici,p.KULLANICI_ACAN ,
b.BOLUM_ADI,akr.KURUM_ADI
from hastane.protokol p,hastane.kimlik k,hastane.login l,hastane.dradi
dr,hastane.bolum b,hastane.altkurum akr
where p.DOSYA_NO=k.DOSYA_NO
and p.BOLUM=b.BOLUM and p.DR_KODU=dr.DR_KODU
and p.KULLANICI_ACAN=l.LOGINAME and p.ALT_KURUM_NO=akr.ALT_KURUM_NO(+)
and protokol_no in (select m.protokol_no from
(select p.PROTOKOL_NO from hastane.protokol p,hastane.islemyap a
where p.HASTA_C_E='C' and p.KURUM_NO=200 and p.BOLUM<>75
and a.protokol_no=p.protokol_no and a.FATURA_TIPI=0 and a.grup_kodu=250
and p.gtarih between :tarihbas
and :tarihbit
group by p.protokol_no) m,
(select p.PROTOKOL_NO from hastane.protokol p,hastane.islemyap a
where p.HASTA_C_E='C' and p.KURUM_NO=200 and p.BOLUM<>75
and a.protokol_no=p.protokol_no and a.FATURA_TIPI=4
and p.gtarih between :tarihbas
and :tarihbit
group by p.protokol_no) k
where k.protokol_no(+)=m.protokol_no
and k.protokol_no is null )
select p.PROTOKOL_NO,k.DOSYA_NO,k.ADI||' '||k.SOYADI
Hasta,p.GSS_TAKIP_NO,p.GSS_BASVURU_NO,p.GTARIH Gelis_tarihi,l.ADI||'
'||l.SOYADI Kullanici,p.KULLANICI_ACAN ,
b.BOLUM_ADI,akr.KURUM_ADI
from hastane.protokol p,hastane.kimlik k,hastane.login l,hastane.dradi
dr,hastane.bolum b,hastane.altkurum akr
where p.DOSYA_NO=k.DOSYA_NO
and p.BOLUM=b.BOLUM and p.DR_KODU=dr.DR_KODU
and p.KULLANICI_ACAN=l.LOGINAME and p.ALT_KURUM_NO=akr.ALT_KURUM_NO(+)
and protokol_no in (select m.protokol_no from
(select p.PROTOKOL_NO from hastane.protokol p,hastane.islemyap a
where p.HASTA_C_E='C' and p.KURUM_NO=200 and p.BOLUM<>75
and a.protokol_no=p.protokol_no and a.FATURA_TIPI=0 and a.grup_kodu=250
and p.gtarih between :tarihbas
and :tarihbit
group by p.protokol_no) m,
(select p.PROTOKOL_NO from hastane.protokol p,hastane.islemyap a
where p.HASTA_C_E='C' and p.KURUM_NO=200 and p.BOLUM<>75
and a.protokol_no=p.protokol_no and a.FATURA_TIPI=4
and p.gtarih between :tarihbas
and :tarihbit
group by p.protokol_no) k
where k.protokol_no(+)=m.protokol_no
and k.protokol_no is null )
TANI BOLUM İST. HANGİ TANIDAN HANGİ BÖLÜM KAC KEZ KULLANMIŞ
SELECT ROWNUM "Sıra No", a."ICD Kodu", a."Tani Adi",a."Bölüm Adı", a."Adet", a."%"
FROM (SELECT t.icd "ICD Kodu", tn.tani "Tani Adi",bl.bolum_adi "Bölüm Adı", COUNT (*) "Adet",
ROUND ( COUNT (*) * 100 / (SELECT COUNT (*) "Adet" FROM hastane.tani t, hastane.tanilar tn WHERE tn.icd = t.icd AND t.tarih BETWEEN :tarihbas AND :tarihbit ),
1 ) "%" FROM hastane.tani t, hastane.tanilar tn,hastane.bolum bl WHERE tn.icd = t.icd AND t.tarih BETWEEN :tarihbas AND
:tarihbit and bl.BOLUM=t.BOLUM GROUP BY t.icd, tn.tani,bl.bolum_adi ORDER BY COUNT (*) DESC) a GROUP BY ROWNUM, a."ICD Kodu", a."Tani Adi",a."Bölüm Adı", a."Adet", a."%"
HAVING ROWNUM < 51 ORDER BY ROWNUM
FROM (SELECT t.icd "ICD Kodu", tn.tani "Tani Adi",bl.bolum_adi "Bölüm Adı", COUNT (*) "Adet",
ROUND ( COUNT (*) * 100 / (SELECT COUNT (*) "Adet" FROM hastane.tani t, hastane.tanilar tn WHERE tn.icd = t.icd AND t.tarih BETWEEN :tarihbas AND :tarihbit ),
1 ) "%" FROM hastane.tani t, hastane.tanilar tn,hastane.bolum bl WHERE tn.icd = t.icd AND t.tarih BETWEEN :tarihbas AND
:tarihbit and bl.BOLUM=t.BOLUM GROUP BY t.icd, tn.tani,bl.bolum_adi ORDER BY COUNT (*) DESC) a GROUP BY ROWNUM, a."ICD Kodu", a."Tani Adi",a."Bölüm Adı", a."Adet", a."%"
HAVING ROWNUM < 51 ORDER BY ROWNUM
Kaydol:
Yorumlar (Atom)
Öne Çıkan Yayın
Faydalı dosylar-Link üzerine tıklayarak indirebilirisniz
Tutarsız eimza hatası Out of hatası
-
select m.*,nvl(y.yatan_sayi,0) "Yatan Hasta Sayısı" from (SELECT dr.DR_KODU,dr.ADI_SOYADI"Doktor Adı Soyadı" ,count(*) ...