REHABİLİTASYON AMAÇLI BİLGİSAYAR VERİ TABANI YARDIMIYLA BÖLGESEL ENGELLİ KİŞİ HARİTASININ OLUŞTURULMASI Ersin Aslan 1, Faruk Durmaz 2 ÖZET Ülkemizde resmi kayıtlara göre yaklaşık 8,5 milyon engelli vatandaşımız bulunmaktadır[1]. Bu vatandaşlarımızın rehabilite edilebilmesi, ülkemizin önemli sosyal sorunlarından biridir. Bu sorunun temelinde de engelli vatandaşlarımızın hem sayı hem de bölgesel dağılımlarının tam olarak bilinememesi yatmaktadır. Bu çalışmada sorunun çözümüne katkı sağlamak amacıyla, Turgutlu ilçemiz pilot bölge seçilerek ilçe hastanelerinden alınacak engelli kişilere ilişkin bilgilerin bir veri tabanında toplanması, engelli kişilerin bölgelere göre dağılımının yapılması, uygun sağlık personelinin atanması ve engelli vatandaşlarımızın rehabilite çalışmalarına katkı sağlanması hedeflenmiştir. Çalışmada ilk olarak Manisa ili Turgutlu ilçesindeki internet üzerinden engelli hkişilerin kendi bilgilerini internet sitesi üzerinden girmesine imkan sağlanmıştır. İnternet sayfası, linux tabanlı MySQL veritabanı kullanılarak php dili ile hazırlanmıştır. Çalışmanın tasarım tarafı hazırlanırken adobe photoshop grafik editörü programı ve derleme kısmında adobe dreamweaver web editör programları kullanılmıştır. Bu projenin Turgutlu ilçemizdeki tüm hastanelere yaygınlaştırılması durumunda ilçemizin engelli sayısı, bölgesel dağılımı ve bu konuda görevlendirilecek sağlık personeli ihtiyacının tespit edilebileceği görülmüştür. Elde edilen veriler doğrultusunda atanacak sağlık personeli ve oluşturulacak sosyal projeler ile engelli vatandaşlarımıza daha kaliteli hizmet sunulabilecek, bu hizmetin de tüm engelli vatandaşlarımıza ulaşması sağlanabilecektir. Anahtar Sözcükler: Linux, php, MySQL, Photoshop. ABSTRACT According to official records, there are approximately 8,5 million disabled citizens in our country [1]. Rehabilitating the disabled citizens is one of the major social problems of our country. On the basis of this problem lies the ambiguity in both number and regional distribution of disabled citizens exactly. To contribute to the solution of the problem Turgutlu district is selected as pilot regions in this study. What is aimed in the study are that collecting the infos of disabled patients in a database, making the distribution of disabled people by region, doing the appropriate medical staff appointment and rehebilitating the disabled citizens. In this study, the first of all, the disabled in Turgutlu district of Manisa were proved to enter their own information into the internet. Linux-based MySQL database have been prepared by using the PHP scripting language. Adobe Photoshop image editing 1 Öğr.Gör., Celal Bayar Üniversitesi Turgutlu MYO, Turgutlu - MANİSA 2 Yrd.Doç.Dr., Celal Bayar Üniversitesi Turgutlu MYO, Turgutlu - MANİSA 64
program to prepare the design side of the study and compilation of programs were used at the Adobe Dreamweaver web editor. As a result of this study, it was reached that bringing about the number of disabled in our local, regional distribution and the need for health staff is possible if it is extended to all the hospitals in the region. In accordance with established health care providers and social projects,these data will give opportunity for a better quality of service to citizens with disabilities, and this service will be provided also all citizens with disabilities. Keywords: Linux Server, PHP, MySQL, Photoshop. 1. GİRİŞ Ülkemizdeki engelli vatandaşların sorunlarına çözüm arayışı, çeşitli platformlarda sürekli olarak gündeme gelmektedir. Bu konuda 571 sayılı Başbakanlığa bağlı Özürlüler İdaresi Başkanlığı`nın kurulmasına ilişkin Kanun Hükmünde Kararname 1997 yılında yürürlüğe girmiş ve Başkanlık Ankara da faaliyete geçmiştir[2]. İzmir Karabağlar Belediyesi de Mayıs 2010 da Engelli Danışma Merkezi kurmuş ve engelli haritası çıkarmayı hedeflemektedir[3]. Bu çalışmada, günümüzün en temel iletişim ve bilgi araçlarından olan internet sitesi kullanılarak, engelli vatandaşlarımızın rehabilitasyon sorununun çözümüne katkı sağlayacak projeler için veritabanı amaçlanmaktadır. Birinci bölümde genel olarak internet sitesinin güvenli bir şekilde kurulmasında kullanılan yazılım ve programlar tanıtılmaktadır. İkinci bölümde bu yazılım ve programlar yardımıyla oluşturulan engelli veri tabanı ve internet sitesinin uygulaması açıklanmaktadır. Sonuç ve öneriler bölümünde ise bu çalışmada tanıtılan projenin sağlayacağı yararlar ve devamında yapılabilecek daha geniş kapsamlı projeler konusunda bilgi verilmektedir. Sonuç olarak bu çalışma ile ortaya konulan projenin tüm Türkiye ye yaygınlaştırılması durumunda, engelli vatandaşlarımız için daha sağlıklı veriler elde edilebileceği ve oluşturulacak sosyal projelerle onların rehabilitasyonuna önemli ölçüde katkı sağlanacağı ortaya konulmuştur. 2. UYGULAMADA KULLANILAN YAZILIM VE PROGRAMLAR 2.1. Php Programlama Dili: Php, açık kaynak kodlu, sunucu tarafından işlenerek (Open Source Server Side Scripting Language) dinamik web sayfaları yaratılmasını sağlayabilen dillerden biridir. Basit ve yaygın program yazım teknikleriyle dinamik web sayfaları hazırlamak için en iyi çözümdür[4]. Php, bir script dilidir; yani kodları düz yazı dosyaları halinde kaydedilir ve kullanılacağı ortamda bir yorumlayıcı tarafından yorumlanır. Bu, php ile yazılacak programları derlemek, yani ortaya bir EXE veya çalıştırılabilir başka bir dosya çıkartmaya gerek olmadığı anlamına gelir. Fakat php Script'lerini çalıştırabilmek için bu dili bilen bir programa ihtiyaç vardır. Bu programın lokal (komut istemci penceresinde veya terminal ekranında) çalışması mümkün olduğu gibi, web sunucu tarafından da çalıştırılabilir olması gerekir. Başka bir deyişle web sunucu programının php dili ile ilişkili ayarları düzenlenmelidir. Php ile her türlü işlevselliğe sahip programlar yazılabilir; yani php başlı başına uygulama geliştirebilecek düzeye ulaşmıştır. Başka bir deyişle php ile oyun programından veritabanı yönetimine kadar farklı programlar geliştirilebilir. Php, web sunucuya bir takım 65
işler yaptırmak için program yazma dili olarak da tanımlanmaktadır. Php kodları, oluşturulacak HTML sayfalarında HTML etiketlerinin arasında kendi özel ayracı içinde yazılır. Php kullanılmasının sebebi, HTML sayfalarına işlerlik kazandırılmasıdır. Böylece bir sunucu sistem üzerinde komutlar çalıştırılabilmektedir. HTML etiketleri kullanılarak, web sunucusundaki bir veritabanı dosyası açılıp, içindeki veriler okunamaz. Bununla birlikte web sunucusunun sabit disklerindeki düz yazı dosyalarına okuma ve yazma yapılamaz. HTML etiketleri ile yalnızca web ziyaretçilerinden bilgi edinilebilir ve bunlar sunucuya yollanabilir. Bu bilgileri işe yarar şekle sokmak için sunucuda çalışan bir program gerekir. Sunucuda çalışan program, EXE ve DLL veya JSP (Java Server Pages) gibi bir gerçek program veya Perl, ASP ve PHP gibi script diliyle yazılmış bir program olabilir[5]. 2.2. Linux Server: Linux açık gelişim modeline göre geliştirilmiş güçlü bir işletim sistemidir. Diğer modern işletim sistemleri gibi Linux unda kendine özgü bir yapısı vardır. Bu katmanlı yapı sayesinde kullanıcı, bir işletim sisteminin kendisine sunduğu tüm olanaklardan yararlanır. Bir işletim sistemi kendi kaynaklarını kullanıcıya en yalın şekilde sunabilmeli ve yine benzer şekilde kullanıcının donanımdan bağımsız olarak rahat bir çalışma ortamı içinde bulunabilmesine olanak sağlamalıdır. Linux bundan çok daha fazlasına imkan vermektedir. Açık kaynak kodlu olduğu için pek çok insan tarafından gözden geçirilir. Bu yüzden programlama bilen herkes hataları düzeltebilir[6]. 2.3. MySQL Veri Tabanı Yönetim Sistemi: MySQL, çok-kanallı, çok kullanılıcılı, hızlı ve sağlam bir veritabanı yönetim sistemidir. MySQL'e Python'dan Java'ya kadar birçok programlama dili ile erişilebilir. Apache ve php ile beraber web-veritabanı uygulamalarında çok yaygın olarak kullanılmaktadır. Birden fazla işlemci ile kolaylıkla çalışabilmektedir. Tabloların kontrolü, optimizasyonu ve tamiri hızlı bir biçimde yapılabilmektedir. Geliştiricileri tarafından, 500'den fazlası 7 Milyon kayıt içeren 10.000 tablodan oluşan kendi veritabanlarını neredeyse 100 gigabyte civarında veriyi MySQL'de tuttukları söylenmektedir. Özellikle internet ortamında önem kazanan, çok esnek ve güçlü bir kullanıcı erişim kısıtlama, yetkilendirme sistemine sahiptir. MySQL, tuttuğu tablolarla, çok kullanıcılı bir sistemlerde söz konusu olan erişim hakları sorununu kolayca çözmektedir. Stored procedure, trigger desteği bulunmamaktadır. Kullanıcı kısıtlamak için kullanılan görünüm (view) özelliği yoktur. Ancak MySQL'in gelişmiş bir erişim kısıtlama sistemi olduğu için görünüm özelliğine ihtiyaç duyulmamaktadır. Ayrıca görsel bütünlük (Oracle daki forms gibi) sağlama işinin programcıya bırakılması tercih edilmiştir. Ancak bu bir dezavantaj olarak görülmeyebilir. Çünkü birçok veritabanı programcısı veri tabanı yönetim sistemlerindeki görsel bütünlüğün esnek olmayan, zorlayıcı bir özellik olduğunu düşünmektedir. MySQL çeşitli pratik çözümler için geliştirilirken, diğer veritabanı sunucuları akademik düzeyde belirli kurallar ve veritabanı bilimi ışığında geliştirilirler. Veritabanı uygulamalarının %80'inin, SQL özelliklerinin sadece %20'lik bir kısmına gerek duyduğu ilkesi çerçevesinde geliştirilir. MySQL farklı tablo tipleri ve işleme türleri ile esneklik sağlar. Basit ve hızlı bir proje geliştirilmek isteniyorsa, MySQL uygun bir seçenektir. Eğer karmaşık ve çok fazla tablo içeren projeler geliştirilmek istenirse, geleneksel veritabanı sunucularındaki gelişmiş özelliklere ihtiyaç duyulacaktır[7]. 66
2.4. Photoshop: Resim düzenlemek için bir bilgisayar programı denildiğinde akla ilk gelen Photoshop programıdır. Photoshop sektörün bilinen en eski görüntü işleme editörlerinden biridir. Bunun yanı sıra grafik programlarının vazgeçilmezi olan filtre, fırça, script, yani kısacası her yönde plug-in kabul etmesi, eklentilerinin ücretsiz ve çok kolay bir şekilde bulunması en önemli avantajlarındandır. Belgeler ve dosyalar paneller, çubuklar ve pencereler gibi çeşitli öğeler kullanılarak oluşturulur ve değiştirilebilir. Photoshop çalışma alanı, görüntüleri oluşturmaya ve düzenlemeye yardımcı olacak şekilde yerleştirilmiştir. Çalışma alanında görüntülerin öğelerini görmek, düzenlemek ve eklemek için menüler ve çeşitli araçlarla paneller yer alır. Varsayılan çalışma alanı düzeni her üründe değişse de tümünde öğeleri aynı şekilde işlenir. Yapılan programlarda ve web sitelerindeki görsel temaların hemen hepsi Photoshop kullanılarak yapılmaktadır. Photoshop Fireworks veya Corel vb. programlara göre tercih edilmesinin nedeni, photoshop un web tasarımı (şablonu) çıkarmak için çok elverişli bir program olmasıdır[8]. 3. UYGULAMA Uygulamamızın kullandığı platformun çalışma sistemi şekil 1 de gösterilmektedir. Şekil 1. Engelli haritası platformu çalışma sistemi Şekil 1 de görüldüğü gibi kullanıcı web sunucusuyla bağlantı kurup istem gönderir ve veri alır. Web sunucusu, yorumlanması gereken php komut ve fonksiyonları php ye gönderir php veritabanı vb işlemleri yürüterek geri web sunucusuna iletir. Web sunucusu birleştirdiği html kodlarını kullanıcıya iletir. Şekil 2 de engelli haritası internet sitesinin ana sayfası görülmektedir. Bu ana sayfadan kullanıcı girişine ve üyeliğe izin verilmektedir. 67
Şekil 2. Engelli haritası internet sitesi ana sayfası Kullanıcı girişinin yapıldığı Şekil 3 deki kullanıcı girişi menüsüne ait kodlar aşağıda görülmektedir. <?php // *** Validate request to login to this site. if (!isset($_session)) { session_start(); $loginformaction = $_SERVER['PHP_SELF']; if (isset($_get['accesscheck'])) { $_SESSION['PrevUrl'] = $_GET['accesscheck']; if (isset($_post['ad'])) { $loginusername=$_post['ad']; $password=$_post['sifre']; $MM_fldUserAuthorization = ""; $MM_redirectLoginSuccess = "index.php"; $MM_redirectLoginFailed = "index.php?hata=1"; $MM_redirecttoReferrer = false; mysql_select_db($database_engel, $engel); $LoginRS query=sprintf("select kullanici, sifre FROM uye WHERE kullanici=%s AND sifre=password(%s)", GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text")); $LoginRS = mysql_query($loginrs query, $engel) or die(mysql_error()); $loginfounduser = mysql_num_rows($loginrs); if ($loginfounduser) { $loginstrgroup = ""; //declare two session variables and assign them $_SESSION['MM_Username'] = $loginusername; $_SESSION['MM_UserGroup'] = $loginstrgroup; if (isset($_session['prevurl']) && false) { 68
$MM_redirectLoginSuccess = $_SESSION['PrevUrl']; header("location: ". $MM_redirectLoginSuccess); else { header("location: ". $MM_redirectLoginFailed); $md=""; if (isset($_get['md'])) { $md=$_get['md'];?> Şekil 3. Engelli haritası internet sitesi kullanıcı girişi ekranı Şekil 2 deki ana sayfa üzerindeki üye ol sekmesi tıklanarak siteye yeni üyelerin girişi için aşağıdaki kodlar kullanılarak Şekil 4 deki üye giriş formu menüsü oluşturulmuştur. if ((isset($_post["mm_insert"])) && ($_POST["MM_insert"] == "form1") && (isset($_post["sifre"])) && (isset($_post["sifre2"])) && ($_POST["sifre"]==$_POST["sifre2"]) && (isset($_post['uye_ad'])) && (isset($_post['mail'])) && (isset($_post['uye_il'])) && (isset($_post['uye_ilce'])) && (isset($_post['uye_adres'])) && (isset($_post['uye_engel'])) && (isset($_post['uye_dogtar'])) && ($_POST['uye_ad']!= "") && ($_POST['uye_il']!= "") && ($_POST['uye_ilce']!= "") && ($_POST['uye_adres']!= "") && ($_POST['uye_engel']!= "") && ($_POST['uye_dogtar']!= "") && ($_POST['sifre']!= "") && (isset($_post['kullanici_adi'])) && ($_POST['kullanici_adi']!="")) { $insertsql = sprintf("insert INTO uye (uye_ad, mail, uye_tar, uye_il, uye_ilce, uye_adres, kullanici, uye_engel, uye_cins, uye_dogtar, sifre) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, password(%s))", GetSQLValueString($_POST['uye_ad'], "text"), GetSQLValueString($_POST['mail'], "text"), GetSQLValueString($_POST['uye_tar'], "text"), GetSQLValueString($_POST['uye_il'], "text"), GetSQLValueString($_POST['uye_ilce'], "text"), GetSQLValueString($_POST['uye_adres'], "text"), GetSQLValueString($_POST['kullanici_adi'], "text"), GetSQLValueString($_POST['uye_engel'], "text"), GetSQLValueString($_POST['uye_cins'], "text"), GetSQLValueString($_POST['uye_dogtar'], "text"), GetSQLValueString($_POST['sifre'], "text")); mysql_select_db($database_engel, $engel); $Result1 = mysql_query($insertsql, $engel) or die(mysql_error()); 69
Şekil 4. Engelli haritası internet sitesi üye ol form ekranı Üyelik bilgilerinin güncellenebilmesi için aşağıdaki kodlar kullanılarak Şekil 5 deki üye güncelleme formu menüsü oluşturulmuştur. if ((isset($_post["mm_update"])) && ($_POST["MM_update"] == "form1")) { $updatesql = sprintf("update uye SET uye_ad=%s, mail=%s, uye_il=%s, uye_ilce=%s, uye_adres=%s, uye_engel=%s, uye_cins=%s, uye_dogtar=%s, sifre=%s WHERE uye_id=%s", GetSQLValueString($_POST['uye_ad'], "text"), GetSQLValueString($_POST['mail'], "text"), GetSQLValueString($_POST['uye_il'], "text"), GetSQLValueString($_POST['uye_ilce'], "text"), GetSQLValueString($_POST['uye_adres'], "text"), GetSQLValueString($_POST['uye_engel'], "text"), GetSQLValueString($_POST['uye_cins'], "text"), GetSQLValueString($_POST['uye_dogtar'], "text"), GetSQLValueString($_POST['sifre'], "text"), GetSQLValueString($_POST['uye_id'], "int")); mysql_select_db($database_engel, $engel); $Result1 = mysql_query($updatesql, $engel) or die(mysql_error()); 70
Şekil 5. Engelli haritası internet sitesi üye bilgi güncelleme form ekranı Üyenin sisteme giriş yapıldıktan sonra güvenli çıkış için aşağıdaki yazılım kodları kullanılarak Şekil 6 daki üye çıkış menüsü oluşturulmuştur. <?php //initialize the session if (!isset($_session)) { session_start(); // ** Logout the current user. ** $logoutaction = $_SERVER['PHP_SELF']."?doLogout=true"; if ((isset($_server['query_string'])) && ($_SERVER['QUERY_STRING']!= "")){ $logoutaction.="&". htmlentities($_server['query_string']); if ((isset($_get['dologout'])) &&($_GET['doLogout']=="true")){ //to fully log out a visitor we need to clear the session varialbles $_SESSION['MM_Username'] = NULL; $_SESSION['MM_UserGroup'] = NULL; $_SESSION['PrevUrl'] = NULL; unset($_session['mm_username']); unset($_session['mm_usergroup']); unset($_session['prevurl']); $logoutgoto = "index.php"; if ($logoutgoto) { header("location: $logoutgoto"); exit;?> 71
Şekil 6. Engelli haritası internet sitesi çıkış ekranı 4. SONUÇLAR VE ÖNERİLER * Bu çalışmada gerçekleştirilen projenin Turgutlu ilçemizdeki tüm hastanelere yaygınlaştırılması durumunda engelli sayısı, bölgesel dağılımı ve bu konuda görevlendirilecek sağlık personeli ihtiyacının tespit edilmesi konularına önemli katkılar sağlayacağı görülmüştür. * Elde edilen veriler doğrultusunda En kısa yol algoritması, Dal sınır tekniği gibi mühendislik uygulamaları ile atanacak sağlık personeli ve oluşturulacak sosyal projeler ile engelli vatandaşlarımıza daha kaliteli hizmet sunulabilecek ve bu hizmetlerin tüm engelli vatandaşlarımıza ulaşması sağlanabilecektir. * Benzer şekilde projenin tüm ülke genelinde uygulanmasıyla, ülkemizde sayıları 8,5 Milyon olduğu tahmin edilen engelli vatandaşlarımızın gerçeğe çok yakın popülasyonu tespit edilebilecek ve onların rehabilitasyonuna yönelik çalışmalarda önemli katkılar sağlanabilecektir. * Gerek devletin resmi kurumları, gerekse yerel yönetimlerin desteği ile sağlık sektörünün engellileri kapsayan bölümünde ulusal ve uluslararası örnek olabilecek projeler geliştirilebilecektir. Şekil 7 de örnek olarak gösterildiği üzere, Türkiye nin engelli haritası oluşturulabilecektir. 72
Şekil 7. Türkiye engelli haritası 73
5. KAYNAKLAR 1. Türkiye Özürlüler Araştırmaları Temel Göstergeleri, T.C. Başbakanlık Özürlüler İdaresi Başkanlığı 2002 Yılı Araştırma Raporu, Aralık 2002. 2. http://www.ozida.gov.tr/ 3. http://www.karabaglar.bel.tr/ 4. Saraç S., Php ye Giriş, Chip Bilgisayar Kültürü Dergisi, ISSN: 1300-9419, Sayı:2000/09, Sayfa 312, Eylül 2000. 5. Öcal H., Php, e-book, sayfa 6-7, http://www.bilgisayarbilisim.net/php-mysql-f173/phpkitabi-hakki-ocal-t11858.html 6. Çetin G., Linux İşletim Sistemi, ISBN:975 347 748 X, Beşinci Baskı, Seçkin Yayıncılık, Sayfa 33, Ankara 2003 7. Çokçetin B., Php, Mysql Tabanlı Uzaktan Eğitim Modülü Tasarımı, Dumlupınar Üniversitesi, Fen Bilimleri Enstitüsü, Yüksek Lisans Tezi, Eylül 2006. 8. http://www.adobe.com/ 74