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

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')

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

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

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)

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

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 )

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

EPIKRIZDE SİKAYET BOŞ OLANLAR

SELECT KK.KURUM_ADI,k.ADI||' '||k.SOYADI "Hasta Adı Soyadı",P.PROTOKOL_NO,B.BOLUM_ADI,MM.TOPLAM,D.SIKAYETI,D.HIKAYESI
FROM HASTANE.PROTOKOL P,HASTANE.FMDAH D,HASTANE.BOLUM B,HASTANE.KIMLIK K,HASTANE.PROTOKOLTOPLAM MM,HASTANE.KURUM KK
WHERE P.DOSYA_NO=K.DOSYA_NO AND P.PROTOKOL_NO=MM.PROTOKOL_NO AND KK.KURUM_NO=P.KURUM_NO
AND P.PROTOKOL_NO=D.PROTOKOL_NO
AND P.BOLUM=B.BOLUM
AND D.SIKAYETI IS NULL
AND 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')

HESAP KARTI OLAN HASTALAR

SELECT  H.KULLANICI HKARTINA_ATAN,H.DOSYA_NO,H.PROTOKOL_NO,K.ADI,K.SOYADI,H.MIKTAR,H.TARIH_OD,H.MAKBUZ_NO,
H.TARIH,H.KURUM_NO,KR.KURUM_ADI,H.KURUM_ADI ALTKURUM,H.ODEME_TIPI
FROM
(SELECT H.HESAP_NO,H.DOSYA_NO,H.PROTOKOL_NO,KS.KULLANICI,H.TARIH_OD,H.MIKTAR,H.ODEME_TIPI,H.MAKBUZ_NO,
NVL(H.DOVIZ_KODU,0)  DOVIZ_KODU,
H.TARIH,P.KURUM_NO,H.ROWID ROWID1,AK.KURUM_ADI
FROM HASTANE.HESAP_KARTI H,HASTANE.PROTOKOL P,HASTANE.ALTKURUM AK,HASTANE.KASADETAIL KS
WHERE H.DURUM=0 AND H.MIKTAR>0
AND H.TARIH_OD BETWEEN TO_DATE('01.01.2007','DD.MM.YYYY') AND TO_DATE('06.07.2017','DD.MM.YYYY')
AND H.PROTOKOL_NO=P.PROTOKOL_NO
AND P.ALT_KURUM_NO(+)=AK.ALT_KURUM_NO
AND H.MAKBUZ_NO=KS.MAKBUZ_NO(+)
) H,
HASTANE.KIMLIK K,HASTANE.KURUM KR,HASTANE.DOVIZTIPI DT
WHERE H.DOSYA_NO=K.DOSYA_NO(+)
AND H.KURUM_NO=KR.KURUM_NO(+)
AND H.DOVIZ_KODU=DT.DOVIZ_KODU(+)
ORDER BY KR.KURUM_ADI,K.ADI,K.SOYADI

RANDEVUSUNA GELMEMİŞ HASTALAR

select dr.adi_soyadi DR_ADI,rt.randtipi,rnd.tarih,rnd.saat,rnd.adi||rnd.soyadi hasta_adisoyadi,
rnd.dosya_no,rnd.protokol,rnd.aciklama,rnd.islemigiren rnd_veren
from hastane.hastarnd rnd,hastane.dradi dr,hastane.randtipi rt
where rnd.geldimi is null and
dr.dr_kodu=rnd.dr_kodu and
rnd.tipi=rt.kodu and
rnd.tarih>=to_date('15.01.2017','DD.MM.YYYY') and
rnd.tarih<=to_date('15.08.2017','DD.MM.YYYY')
order by dr.adi_soyadi,rt.randtipi

YATIŞ TARİHİ 1 GÜNDEN KÜÇÜK OLANLAR (AYNI GÜN TABURCU)

select y.YATIS_TARIHI,y.CIKIS_TARIHI ,p.CTARIH ,p.DOSYA_NO, p.PROTOKOL_NO,y.DURUM , k.ADI ||' '||k.SOYADI AD_SOYAD ,  (to_date (p.CTARIH) - TO_DAte(y.YATIS_TARIHI )) GÜN
FROM hastane.yatan y , hastane.protokol p , hastane.kimlik k
where y.PROTOKOL_NO=p.PROTOKOL_NO(+)
and p.DOSYA_NO =k.DOSYA_NO(+)
and p.HASTA_A_Y=2
and y.DURUM='C'
and p.YATIS_TARIHI between to_date ('01.01.2017','dd.mm.yyyy')and to_date ('11.06.2017','dd.mm.yyyy')
and (to_date (p.CTARIH) - TO_DAte(y.YATIS_TARIHI ))<1

İNDİRİM YAPILMIŞ HASTALAR

select kd.KASA_NO,kd.TARIH,kd.DOSYA_NO,kd.PROTOKOL_NO,kd.UCRETCIKIS,k.ADI||' '||k.SOYADI Hasta_adi,b.BOLUM_ADI,kr.KURUM_ADI,kd.ACIKLAMA
 from hastane.kasadetail kd,hastane.bolum b,hastane.kimlik k,hastane.protokol p,hastane.kurum kr
where p.KURUM_NO=kr.KURUM_NO and kd.PROTOKOL_NO=p.PROTOKOL_NO and k.DOSYA_NO=p.dosya_no and p.BOLUM=b.BOLUM
and kd.TARIH between to_date('01.01.2017 00:00','dd.mm.yyyy hh24:mi')
and to_date('31.01.2019 23:59','dd.mm.yyyy hh24:mi') and kd.indirim='T' and kd.GIRIS_CIKIS='C'