Bir arkadaş için hazırlamaya başladığım ama iş yoğunluğu sebebiyle bitiremediğim bir proje bu. Aşağıda hazırladığım kısımların ekran görüntülerini, kaynak kodlarını ve çalışır haldeki durumunu bulabilirsiniz. Kodu indirip devam edecekler bana bir mail gönderip durumu bildirirlerse sevinirim
Aynı zamanda bitirebilen olursa, bitmiş halini de görmek isterim.
Bulunan Özellikler :
Doktor İşlemleri :
- Doktor Kaydetme
- Doktor Silme
- Doktor Güncelleme
- Doktor Anlaşma Bilgileri Kaydı
- Doktor Bakiye Bilgileri
- Doktor Son Hesap Hareketleri
- Fotoğraf Çekme / Düzenleme / Silme
-
Doktor Arama (İsim ve TC Kimlik No kriterleri ile)
Hasta İşlemleri :
- Hasta Kaydetme
- Hasta Silme
- Hasta Güncelleme
- Hasta Sağlık Bilgileri Kaydı
- Hastaya Ait Röntgen/Dosya Yükleme
- Hasta Ödeme Kaydı
- Randevu Kaydı
- Randevu Alma
- Hastanın Son Tedavileri
- Hasta Fotoğrafı Çekme / Düzenleme / Silme
-
Hasta Arama (İsim ve TC Kimlik No Kriterleri ile)
Malzeme İşlemleri
- Malzeme Kaydı
-
Malzeme Arama (İsim ve Tutar Aralığı Kriterleri ile)
Gün Sonu İşlemleri
- Her gün bitiminde o günkü kazanılan/harcanılan tutarların Kasaya aktarılması için kullanılır. Bu sırada Doktorlara, anlaşma türüne göre ödemeler dağıtılır.
Örneğin; Doktor o gün 1000 TL lik kazanç sağlamışsa ve anlaşması %40 ise, 400 TL Doktora, 600 TL Polikliğe gidecek şekilde dağıtımı yapılır.
-
Tüm İşlemler ise, o güne kadar atlanmış olan tüm hareketlerin (sadece yapılmamış olanların) Kasa hareketinin yapılmasını sağlar.
Kasa Ekranı
-
Bugün, Dün, Bu Hafta, Bu Ay, Tarih Aralığı ve Tüm Zamanlar kriterlerine göre yapılan tüm kasa hareketlerinin gösterimini sağlar.
Ana Ekran
-
Ana ekranda,
- Doktor Listesi ve Tarih kriterlerinden seçilenlere göre, seçilmemişse o anki tarih ve tüm doktorlara göre, Randevu Durumu, Günlük Kasa Durumu ve Genel Kasa Durumu ekranları doldurulur. Bu sayede çoklu polikliniklerde çok rahat filtreleme imkanı sağlanmış olur.
- Randevu Durumu Alanında o gün içerisindeki (Farklı bir tarih seçilmemiş ise) tüm randevular listelenir.
-
Randevu Durumu Alanında, belirli bir randevu üzerine sağ tıklandığında,
- Tedaviyi Tamamla
- Randevuyu Güncelle
- Randevuya Gelinmedi
- Randevuyu Sil
Seçenekleri mevcuttur.
Tedaviyi Tamamla Ekranında
- Belirtilen randevu ile ilgili olarak, Hasta Adı, Hekim Adı, Randevu Tarihi ve Süresi ve Randevu Durumu bilgileri bulunur.
- Tahsilat işlemleri kısmına, Hastaya uygulanan tedavi ve Ödeme Bilgileri girilip, İşlemi Yap ile kayıt altına alınır.
- Yeni Randevu Ayarla kısmında ise, aynı hastaya yeni bir randevu alınır. Hastanın tedavisi tamamlanmışsa, yeni randevu alınmayacaksa burada bir işlem yapılmaz. Tekrar aynı hasta için randevu alınmak istenirse Hasta Ekranında, ilgili hasta bulunup, Randevu ekranından tekrardan randevu alınabilir.
Randevuyu Güncelle Ekranında
Uygulama İle İlgili Ekran Görüntüleri:
Doktor İşlemleri




Hasta İşlemleri







Ana Ekran




Tedaviyi Tamamla Ekranı



Randevu Güncelle Ekranı


Malzeme İşlemleri Ekranı


Gün Sonu Ekranı

Kasa Ekranı


Database Tablolarının Create Scriptleri :
Anlasmalar Tablosu
USE [DentalSoft]
GO
/****** Object: Table [dbo].[Anlasmalar] Script Date: 12/10/2010 13:40:39 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Anlasmalar](
[ID] [int] IDENTITY(1,1) NOT NULL,
[HekimID] [int] NULL,
[Tip] [int] NULL,
[Yuzde] [int] NULL,
[Tutar] [int] NULL,
[Maas] [int] NULL,
CONSTRAINT [PK_Anlasmalar] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N’MS_Description’, @value=N’0 – Maaşlı, 1 Anlaşmalı’ , @level0type=N’SCHEMA’,@level0name=N’dbo’, @level1type=N’TABLE’,@level1name=N’Anlasmalar’
GO
Dosyalar Tablosu
USE [DentalSoft]
GO
/****** Object: Table [dbo].[Dosyalar] Script Date: 12/10/2010 13:41:12 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Dosyalar](
[ID] [int] IDENTITY(1,1) NOT NULL,
[FileName] [varchar](max) NULL,
[HastaID] [int] NULL,
[CopyFileName] [varchar](max) NULL,
[Silindi] [int] NULL,
[EklenmeTarihi] [datetime] NULL,
CONSTRAINT [PK_Dosyalar] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
Hastalar Tablosu
USE [DentalSoft]
GO
/****** Object: Table [dbo].[Hastalar] Script Date: 12/10/2010 13:41:25 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Hastalar](
[ID] [int] IDENTITY(1,1) NOT NULL,
[KayitTarihi] [datetime] NULL,
[Adi] [varchar](max) NULL,
[Soyadi] [varchar](max) NULL,
[Unvan] [varchar](max) NULL,
[Il] [varchar](max) NULL,
[Ilce] [varchar](max) NULL,
[TcKimlikNo] [varchar](max) NULL,
[IletisimTelefonu] [varchar](max) NULL,
[EvTelefonu] [varchar](max) NULL,
[CepTelefonu] [varchar](max) NULL,
[MailAdresi] [varchar](max) NULL,
[WebAdresi] [varchar](max) NULL,
[Fax] [varchar](max) NULL,
[Adres] [varchar](max) NULL,
[Not1] [varchar](max) NULL,
[Not2] [varchar](max) NULL,
[Silindi] [int] NULL,
[Resim] [varchar](max) NULL,
CONSTRAINT [PK_Hastalar] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
HastalikDurum Tablosu
USE [DentalSoft]
GO
/****** Object: Table [dbo].[HastalikDurum] Script Date: 12/10/2010 13:41:50 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[HastalikDurum](
[ID] [int] IDENTITY(1,1) NOT NULL,
[HastaID] [int] NULL,
[Hastalik] [varchar](max) NULL,
CONSTRAINT [PK_HastalikDurum] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
Hastaliklar Tablosu
USE [DentalSoft]
GO
/****** Object: Table [dbo].[Hastaliklar] Script Date: 12/10/2010 13:42:09 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Hastaliklar](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Hastalik] [varchar](max) NULL,
CONSTRAINT [PK_Hastaliklar] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
Hekimler Tablosu
USE [DentalSoft]
GO
/****** Object: Table [dbo].[Hekimler] Script Date: 12/10/2010 13:42:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Hekimler](
[ID] [int] IDENTITY(1,1) NOT NULL,
[KayitTarihi] [datetime] NULL,
[Unvan] [varchar](max) NULL,
[Adi] [varchar](max) NULL,
[Soyadi] [varchar](max) NULL,
[Adres] [varchar](max) NULL,
[Il] [varchar](max) NULL,
[Ilce] [varchar](max) NULL,
[Telefon1] [varchar](max) NULL,
[Fax] [varchar](max) NULL,
[DoktorTipID] [int] NULL,
[EvTelefonu] [varchar](max) NULL,
[CepTelefonu] [varchar](max) NULL,
[Not1] [varchar](max) NULL,
[Not2] [varchar](max) NULL,
[Mail] [varchar](max) NULL,
[Web] [varchar](max) NULL,
[TcKimlikNo] [varchar](11) NULL,
[Silindi] [int] NULL,
[Resim] [varchar](max) NULL,
[IBAN] [varchar](max) NULL,
CONSTRAINT [PK_Hekimler] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
Kasa Tablosu
USE [DentalSoft]
GO
/****** Object: Table [dbo].[Kasa] Script Date: 12/10/2010 13:42:39 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Kasa](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Tip] [int] NULL,
[GelirKaynakID] [int] NULL,
[GelirKaynak] [varchar](max) NULL,
[GiderKaynakID] [int] NULL,
[GiderKaynak] [varchar](max) NULL,
[Tutar] [int] NULL,
[IslemTarihi] [datetime] NULL,
CONSTRAINT [PK_Kasa] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N’MS_Description’, @value=N’Gelir 0 – Gider 1′ , @level0type=N’SCHEMA’,@level0name=N’dbo’, @level1type=N’TABLE’,@level1name=N’Kasa’, @level2type=N’COLUMN’,@level2name=N’Tip’
GO
MalzemeKaydi Tablosu
USE [DentalSoft]
GO
/****** Object: Table [dbo].[MalzemeKaydi] Script Date: 12/10/2010 13:43:01 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[MalzemeKaydi](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Malzeme] [varchar](max) NULL,
[Tutar] [int] NULL,
[Adet] [int] NULL,
[Durum] [int] NULL,
[IslemTarihi] [datetime] NULL,
CONSTRAINT [PK_MalzemeKaydi] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
Ödemeler Tablosu
USE [DentalSoft]
GO
/****** Object: Table [dbo].[Odemeler] Script Date: 12/10/2010 13:46:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Odemeler](
[ID] [int] IDENTITY(1,1) NOT NULL,
[DoktorID] [int] NULL,
[HastaID] [int] NULL,
[Tutar] [int] NULL,
[Islem] [varchar](max) NULL,
[Durum] [int] NULL,
[IslemTarihi] [datetime] NULL,
CONSTRAINT [PK_Odemeler] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
Randevular Tablosu
USE [DentalSoft]
GO
/****** Object: Table [dbo].[Randevular] Script Date: 12/10/2010 13:46:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Randevular](
[ID] [int] IDENTITY(1,1) NOT NULL,
[HastaID] [int] NULL,
[HekimID] [int] NULL,
[TarihSaat] [datetime] NULL,
[Sure] [int] NULL,
[Durum] [varchar](max) NULL,
[Silindi] [int] NULL,
[YapilanTedavi] [varchar](max) NULL,
CONSTRAINT [PK_Randevular] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
SQLConnections Tablosu
USE [DentalSoft]
GO
/****** Object: Table [dbo].[SQLConnections] Script Date: 12/10/2010 13:46:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[SQLConnections](
[ID] [int] IDENTITY(1,1) NOT NULL,
[DataSource] [varchar](max) NULL,
[InitialCatalog] [varchar](max) NULL,
[PersistSecurityInfo] [varchar](max) NULL,
[UserID] [varchar](max) NULL,
[Password] [varchar](max) NULL,
[ConnectionName] [varchar](max) NULL,
CONSTRAINT [PK_SQLConnections] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
Kaynak Kodlar
Publish Edilmiş Hali
Kaynak Kod – Source Kod
Bence çok mantıklı bir adım (Bilmeyenler için ilgili haber milliyetten geliyor). Habere göre internet şifresini (wireless şifresi oluyor) veya kablo ile komşularıyla ortak internet kullanan kişilere 1000 TL – 10.000 TL aralığında bir para cezası verilecekmiş.
İlk bakışta gayet kötü bir uygulama gibi görünse bile (özellikle bilgisayar dünyasının içinde olmayan kişiler için), daha sonra ortaya çıkabilecek çok daha büyük problemleri gidermek için bence önemli bir adım.
Örneğin, sonuna kadar güvendiğiniz, internet şifrenizi paylaştığınız komşunuz, bir siteye girip, büyüklerimize sayıp sövdüğünü düşünelim. Büyüklerimiz veya büyüklerimizin takipçileri de bu yorumu görür suç duyurusunda bulunurlar.
Savcılık Telekom’a 16.11.2010 tarihinde, saat 00:27 de, şu ip ye sahip olan kişinin adresini, telefonunu, ismini, TC Kimlik Numarasını, vs.. Bana ver der.
Telekom resmi bir yazı hazırlayıp buyur abi der ve bilgileri gönderir.
Savcılık suçluyu, dava edeceği kişiyi bulur. Kapısına bir zarf bırakır. Şu gün şu saatte adliyeye bekleniyorsunuz diye.
O gün gelene kadar, “ulan ben bu siteyi bilmiyorumki
“, “olm benim yazı yazacak bir hesabım bile yok burda”, vs.. Şeklinde kara kara düşünürsünüz.
Sonra, bilgisayarınız kapalıyken, deli gibi yanıp sönen modemin wireless ışığını fark edersiniz. O zaman sorunun kaynağını anlarsınız. Komşunuza gidip durumu anlatırsınız.
Burada alternatif iki gidişhat var. Tahmin edersiniz:
- Yok komşu valla benim öyle sitelerde neyim işim olmaz.
- Doğrudur komşu. Ben yazdım. Adliyeye beraber gidelim o gün. Ben sorumluluğu alıyorum.
Genelde birinci şıkkın ağır bastığını düşünürsek, komşunuzla kavga ettiğinizle kalırsınız. Elinizde herhangi bir kanıt yok. Modemlerde zaten loglama gibi olaylarda yok. Kanıt arar durursunuz. Ama birşey elde edemezsiniz.
O gün gelir çatar. Hakim beyin karşısına çıkarsın. Yavrum der;
+Böyle böyle şeyler yazmışsın sen internette. Doğru mudur?
-Yalan Hekim Bey!! Pardon Hakim Bey, heyecanlandım birden.
+Nedir oğlum/kızım ispatın/kanıtın?
-Yoktur Hakim Bey. Ama bunu benim komşu yazmış. Ama o bunu kabul etmiyor.
+İnternet senin üzerine mi kayıtlı?
-Evet.
+……..
-!!?!?!?!?!?!??!?!?!!! Yusuf yusuf, çaresizlik
+……..
-!!?!?!?!?!?!??!?!?!!! Yusuf yusuf, çaresizlik
Karar: zıbırt mıbırt ücreti, avukat ücreti, manevi tazminat. İyi bir rakam olduğunu düşünebiliriz.
Bu olabilecek en iyi ihtimal ve ceza duruma göre çok az birşey bile olabilir. Ama bunu bir de bilgisayardan anlayan, biraz da psikopatça bir komşunuz olduğunu düşünerek yorumlayın. Onun basit bir yazı veya yorumda bulunduğunu değil, bir bankada açık bulup, yurtdışındaki bir hesaba 100 milyon TL aktardığını düşünün. O para, gönderilen yerden, muhtemelen geri alınamaz. Hepsini sizden tahsil edeceklerini düşünün?
Bence bunların yaşanamaz, çok uçuk durumlar olduğunu düşünmeyin. Başınıza gelirse, her ay o 29 TL’yi vermediğiniz için kendinizden nefret edeceksiniz. Bunu bilin.
Bana sormayın, ben zaten internetimi paylaşsamda karşı taraf kabul etmez. Çünkü, Telekomun bana verdiği bandwidth yetkisini zaten sonuna kadar kullanıyorum. Geriye pek birşeyin kaldığı söylenemez. Hoş isteler de vermem 
Haberin tam metni :
İnternet şifresini komşusuyla paylaşanları 10 bin TL’ye varan ceza bekliyor.
Bilgi Güvenliği Derneği Başkanı Prof. Dr. Şeref Sağıroğlu, internete ulaşım şifrelerinin ortak kullanılmasının güvenlik zaafiyetine yol açtığına işaret etti.
Bilişim Uzmanı Çığır İlbaş ise modem şifrelerini veya internet kablolarının başkalarıyla paylaşılmasına yaklaşık bin ile 10 bin TL ceza verildiğini kaydetti. Sağıroğlu, yaptığı açıklamada, internetin yaygınlaşmasıyla kullanıcıların farkına varmadan kullandıkları bilişim sistemlerinde açıklar oluşturabileceklerini hem de suç işleyebileceklerini söyledi