Разработка информационной системы управления данными для медицинского центра СевКавГТУ, г. Ставрополь

Назначение и цели создания информационной системы. Характеристика объекта автоматизации. Реализация информационной системы "Medic", серверной части приложения. Требования к оперативному запоминающему устройству клиента. Выходные данные программы.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 29.06.2011
Размер файла 5,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

$worksheet->write('B11', 'Группа: '.decode('utf-8',"$key->{'name_grp'}"),"font => 'Times New Roman', size => 12");

$worksheet->write('A12', '№ полиса: '.decode('utf-8',"$key->{'policy'}"),"font => 'Times New Roman', size => 12");

$worksheet->write('B12', '№ паспорта: '.decode('utf-8',"$key->{'number_passport'}"),"font => 'Times New Roman', size => 12");

my $sex;

if($key->{'sex'} eq 1) {$sex = 'Мужской';}

elsif($key->{'sex'} eq 2) {$sex = 'Женский';}

else {$sex = '-';}

$worksheet->write('A14', 'Пол: '.$sex,"font => 'Times New Roman', size => 12");

$worksheet->write('B14', 'Телефон домашний: '.decode('utf-8',"$key->{'home_fone'}"),"font => 'Times New Roman', size => 12");

$worksheet->write('A15', 'Дата рождения: '.decode('utf-8',"$key->{'birthday'}"),"font => 'Times New Roman', size => 12");

$worksheet->write('B15', 'Телефон сотовый: '.decode('utf-8',"$key->{'mob_fone'}"),"font => 'Times New Roman', size => 12");

$worksheet->write('A17', 'Адрес больного:',"font => 'Times New Roman', size => 12");

$worksheet->write('B17', 'регион: '.decode('utf-8',"$key->{'region'}"),"font => 'Times New Roman', size => 12");

$worksheet->write('C17', 'район: '.decode('utf-8',"$key->{'area'}"),"font => 'Times New Roman', size => 12");

$worksheet->write('B18', 'город: '.decode('utf-8',"$key->{'town'}"),"font => 'Times New Roman', size => 12");

$worksheet->write('C18', 'улица: '.decode('utf-8',"$key->{'streat'}"),"font => 'Times New Roman', size => 12");

$worksheet->write('B19', 'дом №: '.decode('utf-8',"$key->{'house'}"),"font => 'Times New Roman', size => 12");

my $case_ = $key->{'case_'} || '-';

$worksheet->write('C19', 'корпус: '.$case_,"font => 'Times New Roman', size => 12");

my $kv_num = $key->{'kv_num'} || '-';

$worksheet->write('B20', 'квартира №: '.$kv_num,"font => 'Times New Roman', size => 12");

$worksheet->write('A22', 'Адрес в Ставрополе:',"font => 'Times New Roman', size => 12");

my $stav_streat = $key->{'stav_streat'} || '-';

$worksheet->write('B22', 'улица: '.decode('utf-8',$stav_streat),"font => 'Times New Roman', size => 12");

my $stav_house = $key->{'stav_house'} || '-';

$worksheet->write('C22', 'дом №: '.decode('utf-8',$stav_house),"font => 'Times New Roman', size => 12");

my $stav_case = $key->{'stav_case'} || '-';

$worksheet->write('B23', 'корпус: '.decode('utf-8',$stav_case),"font => 'Times New Roman', size => 12");

my $stav_kv_num = $key->{'stav_kv_num'} || '-';

$worksheet->write('C23', 'квартира №: '.decode('utf-8',$stav_kv_num),"font => 'Times New Roman', size => 12");

}

return $file;

}

1;

Б.3 Код модуля «kernel.pm»

#!C:\www\Perl5.8.9\bin\perl

package modules::kernel;

use strict;

use warnings;

use modules::ConnectDB;

use modules::ses;

use Templete;

sub check_login {

my ( $login, $pass, $wnd ) = ( $_[1], $_[2], $_[3] );

my $q;

my $id_s;

my $title;

my $CGISESSID;

my $query = qq"SELECT

CASE WHEN name = '$login' and pass = md5('$pass') THEN 1 ELSE 0 END AS result,

id_sot

FROM sot";

my $result = modules::ConnectDB->SelectFromDB($query);

foreach my $key (@$result) {

if ( $key->{'result'} ) { $q = 1; $id_s = $key->{'id_sot'}; last; }

else { $q = 0; }

}

if ( $q == 1 ) { $CGISESSID = get_session('modules::kernel', $wnd, $id_s); }

else { $CGISESSID = "Error"; $title = 'Не верно ввели имя или пароль'; }

return $CGISESSID, $title, $id_s;

}

sub get_session {

my ( $CGISESSID, $u_ip ) = modules::ses->new_ses();

my ($wnd, $id_s) = ($_[1], $_[2]);

my $now = localtime time;

my $query ="select * from ses(\'$id_s\', \'$CGISESSID\', \'$now\', \'$u_ip\', \'$wnd\' )";

my $result = modules::ConnectDB->SelectFromDB($query, 3);

return $CGISESSID;

}

sub read_last_page {

my $query = qq"SELECT last_wnd FROM sesion where id_sot = (select id_sot from sot where name ='$_[1]' and pass = md5('$_[2]'))";

my $result = modules::ConnectDB->SelectFromDB($query);

my $q = 0;

foreach my $key (@$result) {

$q = $key->{'last_wnd'};

}

return $q;

}

sub query_file {

my $query = qq(SELECT file_ FROM wnd where id_button = '$_[1]');

my $result = modules::ConnectDB->SelectFromDB($query);

my $q =0;

foreach my $key (@$result) {

$q = $key->{'file_'};

}

return $q;

}

sub user_id {

my ($login, $pass, $ses) = ($_[1], $_[2], $_[3]);

my $query;

if($login eq '' or $pass eq '0' and $ses ne '0') {

$query = qq"SELECT id_sot FROM sesion WHERE sesion = '$ses'";

}

elsif($login ne '' and $pass ne '0') {

$query = qq"SELECT id_sot FROM sot WHERE name = '$login' AND pass = md5('$pass')";

}

else { return 0;}

my $result = modules::ConnectDB->SelectFromDB($query, 2);

my $q =0;

foreach my $key (@$result) {

$q = $key->{'id_sot'};

}

return $q;

}

1;

Б.4 Код модуля «ses.pm»

#!C:\www\Perl5.8.9\bin\perl

package modules::ses;

use strict;

use warnings;

use CGI::Session('-ip_match');

use modules::ConnectDB;

sub new_ses {#создание новой сессии

my $session = CGI::Session->new("driver:File", undef, {Directory=>'/var/www/vhosts/medic/tmpsession'});

my $CGISESSID = $session->id();

$session->flush();

my $u_ip = $session->param('_SESSION_REMOTE_ADDR');

$session->delete();

$session->flush();

return $CGISESSID, $u_ip;#возвращает IP-пользователя и его ID-сессии

}

sub check_ses {#функция проверки сесси

my ($CGISESSID, $id) = ($_[1], $_[2]);

my $res = 0;

my $query = "SELECT * FROM check_ses(\'$CGISESSID\',\'$id\')";#check_ses() смотри в БД

my $result = modules::ConnectDB->SelectFromDB($query);

foreach my $key (@$result) {

if($key->{'check_ses'} == 1) {

return 1;

}

elsif($key->{'check_ses'} == 0){

return 0;

}

else {

return -1;

}

}

}

1;

Б.5 Код модуля «Templete.pm»

#!C:\www\Perl5.8.9\bin\perl

package Templete;

use strict;

use warnings;

use modules::ConnectDB;

#print "Content-type: text/html\n\n";

#<HTML>

sub gen_menu{#функция генерации меню для пользователя

my $log_id = $_[1];

my $query = qq"SELECT a.sot_id AS sot_id,

(SELECT q.name_func FROM func q WHERE a.func_id = q.func_id) AS name_func,

(SELECT w.rus_name FROM func w WHERE a.func_id = w.func_id) AS rus_name,

(SELECT e.name FROM wnd e WHERE a.wnd_id = e.id_button) AS name_wnd,

a.wnd_id,

(SELECT r.file_ FROM wnd r WHERE a.wnd_id = r.id_button) AS file_,

a.t_f AS t_f

FROM sot_func a

WHERE a.t_f = 'true' AND a.func_id = '8' AND a.sot_id = '$log_id'

ORDER BY name_wnd";

my $result = modules::ConnectDB->SelectFromDB($query);

return $result;

}

sub name_wnd{

my $res;

my $query = qq"SELECT * FROM wnd WHERE id_button = '$_[1]' ORDER BY name";

my $result = modules::ConnectDB->SelectFromDB($query);

foreach my $key (@$result) {

$res = "($key->{'id_button'}) $key->{'name'}";

}

return $res;

}

1;

Б.6 Код шаблона «start_page.tt»

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta name="Medic" content="Text/HTML; charset=UTF-8" />

<title>Medic - [%namewnd%]</title>

<link rel="shortcut icon" href="../images/medic.ico">

<link rel='stylesheet' type='text/css' href='../style/menu.css'>

<link rel="stylesheet" href="../style/style.css" type="text/css" />

<script type="text/javascript" src="../script/script.js"></script>

<script type="text/javascript" src="../script/tips.js"></script>

[%IF !page.cal%]<link rel="stylesheet" type="text/css" media="all" href="http://medic/script/calendar/skins/aqua/theme.css" title="theme" />

<script type="text/javascript" src="http://medic/script/calendar/calendar.js"></script>

<script type="text/javascript" src="http://medic/script/calendar/lang/calendar-ru_2.js"></script>

<script type="text/javascript" src="http://medic/script/calendar/calendar-setup.js"></script>[%END%]

[%UNLESS hlp_editor%]<script type="text/javascript" src="../script/ckeditor/ckeditor.js"></script>

<link rel="stylesheet" href="../script/ckeditor/skins/kama/editor.css" type="text/css" />[%END%]

<script type="text/javascript">

function load(url)

{

document.main.wnd.value = url;

document.main.ses.value = '[% CGISESSID %]';

document.main.submit();

//location.href= 'index.cgi';

}

function RunF(nf)

{

document.main.fun.value = nf;

document.main.submit();

}

function LoadHelp(num)

{

document.main.hlp.value = num;

load(num);

}

function BackHelp(num)

{

document.main.hlp.value = 0;

load(num);

}

[% FOREACH key IN rules %][%IF key.wnd_id == wnd AND key.t_f == 1 AND key.func_id == 11%]function EditHlp()

{

document.main.hlp_editor.value = 1;

load(31);

}[%END%][%END%]

</script>

</head>

<body link="#000" vlink="#000" alink="#000">

<!--########################### Menu ####################################-->

<form name='main' method='post'>

<input type='hidden' name='wnd' value='[% wnd %]'><br>

<input type='hidden' name='wnd_befor' value='[% wnd %]'>

<input type='hidden' name='ses' value='[% ses %]'>

<input type='hidden' name='hlp' value=''>

<input type='hidden' name='fun' value=''>

<div style='position:absolute; top: 0px; left: 0px; width: auto;'>

<ul class="menu" id="menu">

<li><a class="menulink">Меню</a>

<ul>

[% FOREACH key IN menu %]

[%IF key.t_f == 1%]<li><a href='javascript:load([%key.wnd_id%])'>[%key.name_wnd%]</a></li>[%END%]

[% END %]

</ul>

</li>

<li><a href='http://medic' class="menulink">Выход</a></li>

[%IF helper == -1 AND wnd != 31%]<li><a class="menulink" href="javascript:LoadHelp([%wnd%])">Справка</a></li>[%END%]

</ul>

</div>

<script type="text/javascript">

var menu=new menu.dd("menu");

menu.init("menu","menuhover");

</script>

<!--########################### End Menu ####################################-->

[%IF helper == -1%]

[%INCLUDE $file%]

[%ELSE%][%USE CGI%]

[% FOREACH key IN rules %][%IF key.wnd_id == wnd AND key.t_f == 1 AND key.func_id == 11%]<input type='hidden' name='hlp_editor' value=''>[%END%][%END%]

<input type='button' value='Назад' OnClick="BackHelp([%CGI.param('wnd_befor')%])">

<input type='button' value='Содержание' OnClick='load(31)'>

[% FOREACH key IN rules %][%IF key.wnd_id == wnd AND key.t_f == 1 AND key.func_id == 11%]<input type='button' value='Редактор' OnClick='EditHlp()'>[%END%][%END%]<br />

[% FOREACH key IN hlp_lst %][%key.helper%][%END%]<br />

<input type='button' value='Назад' OnClick='BackHelp([%CGI.param('wnd_befor')%])'>

<input type='button' value='Содержание' OnClick='load(31)'>

[% FOREACH key IN rules %][%IF key.wnd_id == wnd AND key.t_f == 1 AND key.func_id == 11%]<input type='button' value='Редактор' OnClick='EditHlp()'>[%END%][%END%]<br />

<!-- ############################################## -->

[%END%]

</form>

</body>

</html>

Приложение В

Копии слайдов презентации

Слайд 1 - Тема дипломного проекта, ФИО дипломника, ученая степень, ученое звание и ФИО руководителя

Слайд 2 - Актуальность и цель дипломного проекта

Слайд 3 - Даталогическая модель базы данных

Слайды 4 - Интерфейс информационной системы

Слайды 5 - Интерфейс информационной системы

Слайды 6 - Права и группы пользователей

Слайды 7 - Права и группы пользователей

Слайды 8 - Пример медицинской карты, формируемый информационной системой

Слайды 9 - Примеры списков флюорографии, формируемый информационной системой

Слайд 10 - Показатели технико-экономической эффективности проекта

Слайд 11 - Итоги дипломного проектирования

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.