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

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

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

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

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

Выводы

1. В ходе проектирования информационной системы для медицинского центра СевКавГТУ разработана концептуальная модель системы «Medic», выделены 28 сущностей и проанализированы связи между ними и спроектирована реляционная модель базы данных на основе логической модели.

2. Приложение реализовано по технологии «тонкого» клиента, что подтверждает его соответствие современным требованиям и требованиям заказчика.

3. Размер папки с файлами информационной системы «Medic» составляет 20 Мбайт. Эта папка содержит файлы для установки системы на компьютер заказчика.

4. В результате тестирования информационной системы «Medic» установлено, что она в полном объеме удовлетворяет требованиям заказчика.

3. ИНФОРМАЦИОННОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

3.1 Общие сведения о программе

Общие сведения об информационной системе «Medic» представлены в таблице 3.1.

Таблица 3.1 - Общие сведения об информационной системе «Medic»

Наименование сведений

Содержание сведений

Обозначение программы

Medic

Наименование программы

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

Программное обеспечение, необходимое для функционирования программы

Операционная система любая, поддерживающая функции сервера, PostgreSQL Server, Perl, HTTP-сервер

Язык программирования, среда разработки, на которой написана программа

Perl, среда разработки NotePad++

3.2 Функциональное назначение

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

Информационная система «Medic» разработана сетевым приложением, поэтому возможна одновременная работа нескольких пользователей. Но накладывается ряд функциональных ограничений. Программа требует наличие HTTP-сервера с установленным на нем интерпретатора Perl с библиотеками Template, CGI, DBI, Spreadsheet::WriteExcel, utf8, Encode, POSIX, CGI::Session, DBI::PgPP и сервера PostgreSQL. А так же на клиентских компьютерах должен стоять любой браузер, поддерживающий JavaScript и CSS любой версии, и табличный интерпретатор.

3.3 Логическая структура программы

Логическую структуру программы иллюстрирует диаграмма компонентов (рисунок 3.1). Как следует из рисунка 3.1, в логическую структуру программы входят 11 программных компонентов (модулей) и база данных конфигурации, объединенных связью зависимости.

Компонент представляет собой выполняемый модуль системы, и связан с файлом исходного текста, двоичным файлом библиотеки, объектным модулем, исполняемым файлом.

Рисунок 3.1 - Логическая структура программы

Через браузер открываются страница index.html, которая перенаправляется на index.cgi. Через эту страницу пользователь получает всю информацию и имеет доступ к меню. Обращение к базе данных и получение от нее результатов осуществляется через модуль ConnectDB.pm, который в свою очередь возвращает затребованные данные в то место, откуда они были затребованы.

3.4 Требования к техническому обеспечению

Определение характеристик вычислительной техники является неотъемлемой частью процесса разработки программного продукта. Ключевыми критериями являются: частота процессора, объемы оперативной памяти и жесткого диска, дополнительное специализированное оборудование. Для разработанного программного продукта эти характеристики приведены ниже. Так как программе требуется сервер и клиент, параметры различаются для них.

На клиентских компьютерах не требуется установки каких-то специальных программ и компонентов, достаточно стандартного браузера. Так как на большинстве машин подразделения установлена Windows и в качестве браузера используется стандартный Internet Explorer, то параметры, приведенные ниже для клиентских ПК, соответствуют параметрам IE 8, рекомендованные компанией Microsoft.

Серверная часть требует индивидуального подхода в плане подбора аппаратных частей компьютера и зависит от числа подключаемых клиентов с учетом запаса производительной мощности для возможности подключения новых пользователей. Вся производительная мощность серверной части складывается из системных требований операционной системы, PostgreSQL, HTTP-сервера и Perl. Разработанная система не привязана к конкретной ОС, и поэтому может быть установлена на любую, но рекомендуется использовать сетевые решения операционных систем так, как они разрабатываются специально для работы в сети.

Ниже будут указаны параметры, для сервера с операционной системой Fedora 13, с минимальным набором программного обеспечения, обеспечивающего работу пяти клиентских ПК.

3.4.1 Требования к центральному процессору клиента

Минимальная тактовая частота процессора, для клиентской ПК, должна составлять 233 мегагерца (МГц) или выше.

Данная цифра учитывает как затраты процессора на работу самого приложения так и затраты связанные с работой операционной системы.

3.4.2 Требования к центральному процессору сервера

На основании проведенных контрольных прогонов было установлено, что необходимо использование процессор с минимальной тактовой частотой не менее 333 МГц. Это число учитывает как затраты процессора на работу самого приложения так и затраты связанные с работой операционной системы.

3.4.3 Требования к оперативному запоминающему устройству клиента

Минимальный объем оперативного запоминающего устройства (ОЗУ) необходимый для работы приложения на стороне клиента, Vкл., Мбайт, определяется по формуле:

Vкл. = V1 + V2

(3.1)

гдеV1 - минимальный объем ОЗУ, требуемый для работы операционной системы, Мбайт;

V2 - минимальный объем ОЗУ, требуемый для работы браузера, Мбайт;

Так как на всех ПК подразделения установлена Windows XP со стандартным браузером IE, обновленным до версии 8, то параметры V1=128 Мбайт и V2= 64 Мбайт.

Таким образом, подставим в формулу (3.1) получим, что минимальный объем ОЗУ, требуемый для работы информационной системы на клиентском ПК, составляет:

Vкл. =V1 +V2 = 128 + 64 = 192 Мбайт.

3.4.4 Требования к оперативному запоминающему устройству сервера

Для сервера, Vсерв, Мбайт, минимальный объем оперативного запоминающего устройства, определяется по формуле:

Vсерв. =V1+V2+V3+V4

(3.2)

гдеV1 - минимальный объем ОЗУ, требуемый для работы операционной системы, Мбайт;

V2 - минимальный объем ОЗУ, требуемый для базы данных;

V3 - минимальный объем ОЗУ, требуемый для HTTP-сервера;

V2 - минимальный объем ОЗУ, требуемый для работы командного интерпретатора Perl;

Так как на сервере стоит операционная система Fedora 13 в минимальной комплектации, то параметр V1 =10 Мб. Для баз данных параметр V2 =128 Мб. Для HTTP-сервера V3 =16 Мб. И для командного интерпретатора V4 =5 Мб.

Таким образом, подставим в формулу (3.2) получим, что минимальный объем ОЗУ, требуемый для работы информационной системы на сервере, составляет:

Vсерв. = V1 + V2 + V3 + V4 = 10 + 128 + 16 + 5 = 159 Мбайт.

Для комфортной работы рекомендуется использовать ОЗУ размером 256 Мбайт и более.

3.4.5 Требования к наличию свободного места на жестком диске клиента

Свободное пространство на жестком диске для клиентского ПК должно хватать на установку браузера. Так, например, компания Microsoft, для браузера IE 8, рекомендует не менее 150 Мбайт свободного места на жестком диске компьютера пользователя.

3.4.6 Требования к наличию свободного места на жестком диске сервера

Для сервера объем свободного места должен быть не менее 347 Мбайт на приложения (PostgreSQL требует 211 Мбайт без базы данных, HTTP-сервер требует 35 Мбайт и Perl, 101 Мбайт), плюс предполагаемый объем данных в базе (с учетом возможности добавления новых данных примерно составляет от 50 Мбайт) и объем для дампа базы данных от 50 Мбайт. Таким образом, учитывая все параметры, получается минимального пространства должно быть не менее 447 Мбайт.

3.4.7 Требования к монитору и видеоадаптеру клиента

Клиентская часть не предъявляет каких-то специфичных требований, достаточно любого современного жидкокристаллического монитора со стандартным разрешением 1024?768.

3.4.8 Требования к принтеру

Для вывода на печать отчетов и медицинских карт необходим любой принтер с разрешением печати не менее 300 точек/дюйм. Так как если разрешение печати принтера будет менее 300 точек/дюйм документы, предусмотренные к выводу на принтер, не будут качественно пропечатываться, они разрабатывались для вывода на печать принтером с минимальным разрешением 300 точек/дюйм.

3.5 Установка информационной системы

Установка системы должна проводиться специалистом, обладающим знаниями по установки: PostgreSQL и резервных копий баз данных (SQL-дамп), языка Perl и сервера HTTP. Так же необходимы умения по настройке системы для резервного копирования базы данных.

SQL-дамп - метод, заключающийся в создании текстового файла с командами SQL, с помощью которых на сервере можно воссоздать базу данных в том состоянии, в котором она находилась перед дампом [14].

Весь процесс установки сводится к установке вышеперечисленных компонентов и их настройке. Настройка PostgreSQL заключается в развертывании дампа базы из файла.

Настройка HTTP сервера сводится к копированию в директорию файлов с кодом системы и настройке хоста, в которой необходимо указать разрешения на выполнение cgi-скриптов и указать директорию со скриптами (cgi-bin), если оно запрещена по умолчанию или отсутствует.

После установки Perl требуется установить ряд модулей необходимых для работы. Их можно установить с помощью репозитория CPAN, для этого требуется соединение с интернетом, но в случае если доступа в сеть интернета нет, то их можно установить и локально.

3.6 Входные данные программы

Входными данными для спроектированной базы данных являются выделенные из сущностей предметной области атрибуты. Они вводятся непосредственно пользователем с клавиатуры посредством разработанного пользовательского интерфейса. На основе анализа, проведенного во 2 разделе были, выделены следующие данные. Для разработчиков: название окон и функций. Для сотрудников: о сотрудниках, факультетах и группах, о студентах, информация медицинских карт, данные о приеме врачом, о диагнозах и прививках, типов диагнозов, информация о населенных пунктах, из которых прибыли студенты, информация о прохождении флюорографии.

3.7 Выходные данные программы

Выходные данные программы представлены отчетами с указанием дат формирования отчета, а так же медицинскими картами и в виде экранных форм, в которых отображены записи БД.

3.8 Результаты тестирования программы

В ходе тестирования проверялось корректность переходов по ссылкам, правильность вычисления дат флюорографии и корректность отображения страниц в различных браузерах (рисунки 3.2, 3.3, 3.4)

Рисунок 3.2 - Корректность отображения страницы в FireFox 4

Рисунок 3.3 - Корректность отображения страницы в Chrome 11

Рисунок 3.4 - Корректность отображения страницы в Internet Explorer 8

По завершению написания каждого модуля программы, его тестирование проводилось с помощью тестовых прогонов. При выявлении ошибок, выполнялись работы по их устранению, и затем следовала повторная проверка модуля. Так как модули имеют относительно малый размер, такой метод тестирования способствовал быстрому нахождению и устранению ошибок. Для сокращения времени на тестирование составлялись небольшие тесты, при условии что модуль достаточно мал. Весь процесс тестирование и составление тестов проходил при консультациях с сотрудниками медицинского центра СевКавГТУ.

3.9 Вызов программы

Информационная система для медицинского центра, запускается путем ввода в адресную строку браузера ip-адреса сервера или имени сервера (рисунок 3.5), либо ярлыком на рабочем столе, который является ссылкой на адрес сервера и предназначен для сотрудников.

Рисунок 3.5 - Ввод имени сервера

Из рисунка видно, что сервер имеет имя «medic».

3.10 Краткая инструкция по работе с программой

В начале работы программы, пользователь проходит процесс аутентификации (ввод логина и пароля) и при всех действиях пользователя протекает процесс авторизации (рисунок 3.6).

Аутентификация - проверка принадлежности пользователю (субъекту доступа) предъявленного им идентификатора и подтверждение его подлинности.

Авторизация - проверка прав доступа пользователя и получение им доступа к ресурсам в соответствии с данными ему правами.

Рисунок 3.6 - Окно аутентификации

Так как программа имеет возможность разграничение прав пользователь, то возникают роли пользователей. Поэтому далее будет описана основная часть работы с программой, с разбиением на роли. Работа с другими частями схожа.

Краткая инструкция по работе для администратора

Главная задача администратора - это работа с сотрудниками в системе. Для добавление нового сотрудника необходимо в меню выбрать пункт «Права пользователей», после чего откроется окно с выбором дальнейших действий (рисунок 3.7).

Рисунок 3.7 - Окно с выбором дальнейших действий

Далее необходимо выбрать «Пользователи» и в открывшемся окне надо нажать кнопку «Редактировать пользователя» (рисунок 3.8).

Рисунок 3.8 - Окно с выбором дальнейших действий

После нажатия кнопки, справа появится выделенная область с предложением создать нового пользователя, отредактировать текущего и отменой действия (рисунок 3.9).

Рисунок 3.9 - Редактирование пользователя

Необходимо выбрать «Новый пользователь». Появятся поля для заполнения, показанные на рисунке 3.10.

Рисунок 3.10 - Добавление нового пользователя

После заполнения всех полей, нажать кнопку «Добавить», после чего новый пользователь будет добавлен и его можно будет найти в списке с пользователями. Редактирование пользователей протекает аналогично, для этого необходимо вместо «Новый пользователь» выбрать «Редактировать пользователя». Откроются те же саамы-е поля, но уже заполненные, в них надо внести соответствующие изменения и нажать на кнопку «Изменить»

По умолчанию новый пользователь создается без прав и для того чтобы он смог работать с системой ему необходимо назначить права. Для этого необходимо выбрать его в списке «Пользователи» и в списке «Окна» выбрать необходимое окно. Появятся таблица с функциями (рисунок 3.11).

Рисунок 3.11 - Функции

В таблице необходимо расставить галочки напротив тех функций, которые необходимы данному пользователю и нажать на кнопку «Добавить пункт».

Краткая инструкция по работе для сотрудников

Так как окон для сотрудников много и работа с ними практически схожа, то ниже будет описана работа с редактором медицинских карт.

Медицинская карта является основополагающим элементом. Как и в жизни, врачи не могут вести прием пациента без карты, так и система построена на этом принципе.

Для того чтобы добавить медицинскую карту необходимо выбрать в меню пункт «Карты» и нажать ссылку «Добавление карты» (рисунок 3.12). Откроется окно с полями для заполнения (рисунок А.1).

Рисунок 3.12 - Окно «Карты»

Для добавления карты, необходимо заполнить ключевые поля и нажать кнопку «Добавить карту». После чего добавиться новая медицинская карта, а все поля для заполнения очистятся. Если какое-то из ключевых полей не заполнено, то система выдаст соответствующее предупреждение с указаниями. На рисунке А.2 ни одно из ключевых полей не заполнено.

Рядом с кнопкой «Добавить карту» расположена кнопка «Распечатать карту», которая производит процесс сохранения медицинской карты и формирует документ для табличного процессора (рисунок 3.13).

Рисунок 3.13 - Медицинская карта для печати

Для того чтобы увидеть вновь добавленную карту необходимо перейти по ссылке «Редактирование карты», для этого можно воспользоваться ссылками для быстрого перехода, которые расположены вверху, под основным меню (рисунок 3.14).

Рисунок 3.14 - Ссылки для быстрого перехода

В открывшемся окне, необходимо выбрать нужный факультет и группу. После чего появиться таблица с кратким описанием медицинских карт (рисунок А.3).

Для того, чтобы отредактировать необходимую медицинскую карту необходимо навести курсор на нужную запись в таблице и совершить двойной клик. Откроется такое же окно, как и в случае с добавлением карты, но поля уже будут заполнены (рисунок А.4).

После исправление необходимых данных, необходимо нажать кнопку «Изменить». Кнопка «Печать» осуществляет сохранение изменений и формирует документ для печати, как и в случае с добавлением карты. Кнопка «Удалить» осуществляет процесс удаление данной карты, этот процесс не возможен в случае если в карте есть какие-нибудь записи о приеме, прививках или флюорографии. Кнопка «Назад» осуществляет возврат на предыдущую страницу.

Выводы

1. В данном разделе было рассмотрено информационное, программное и техническое обеспечение необходимое для работы разработанного программного продукта. Установлено, что минимальные требования к аппаратуре для клиентской части следующие:

- процессор с тактовой частотой 233 MГц;

- 128 Мбайт ОЗУ;

- видеоадаптер поддерживающий разрешение 800?600;

- 150 Mбайт свободного места на диске;

- принтер с разрешением печати не менее 300 точек/дюйм.

А для серверной части следующие:

- процессор с тактовой частотой 333 MГц;

- 192 Мбайт ОЗУ;

- 447 Mбайт свободного места на диске.

2. Помимо требований к аппаратуре для работы программы необходимо установить PostgreSQL, HTTP-сервер и Perl с библиотеками Template, CGI, DBI, Spreadsheet::WriteExcel, utf8, Encode, POSIX, CGI::Session, DBI::PgPP.

3. Также в данной главе приведена краткая инструкция для различных ролей пользователей в программном продукте.

4. Результаты тестирования показали, что программа правильно обрабатывает вводимые данные и выдает ожидаемые выходные данные.

4. технико-ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ ПРОЕКТА

4.1 Краткая характеристика проекта

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

Назначение разработанного программного продукта - автоматизация работы подразделения медицинского центра СевКавГТУ.

Цель создания информационной системы - сокращение временных затрат сотрудников медицинского центра на оформление и составление отчетности.

Основными функциями данной информационной системы являются: ведение медицинской карты студента с учетом всех посещений, ведение прививочного листа студента, отслеживание прохождения флюорографии студентами, формирование отчетов по сделанным прививкам и пройденных студентами флюорографиях, как по группе, так и по факультету. Так же в системе предусмотрены возможности для администратора и разработчика, которые позволяют отслеживать действия пользователей, следить за несанкционированным доступом (позволяет узнать под каким именем был доступ к системе и с каким адресом) и вести разработку системы (без остановки сервиса целиком).

Информационная система написана с использованием технологии «клиент-сервер». В ней имеется база данных, спроектированная на PostgreSQL, которая является бесплатной, серверная часть написана на Perl и требует HTTP-сервера, а для клиентской части ничего не требуется кроме как браузер. Общее количество строчек кода равно 1000 единиц.

В результате предпроектного обследования было установлено, что вся отчетность набирается сотрудниками медицинского центра на компьютерах вручную, проверка флюорографий происходит во время подготовки отчета и занимает значительное время, так же врачами проверяются все данные, для составления отчета, вручную.

В качестве расчетного периода возьмем пять лет, так как этот период является ориентировочным сроком службы программы до ее морального устаревания.

4.2 Трудоемкость выполняемых работ

При расчете трудоемкости работ по созданию программного продукта, используется расчет себестоимости автоматизированной информационной системы и оценки экономической эффективности внедрения программного продукта.

В ходе разработки программного обеспечения основные затраты Тпо,, чел.-ч., они определяются по формуле:

Тпо = То + Та + Тп + Тотл + Тд, (4.1)

гдеТо - затраты труда на описание задачи, чел.-ч.;

Та - затраты на разработку блок схемы, чел.-ч.;

Тп - затраты на программирование, чел.-ч.;

Тотл - затраты на отладку программы, чел.-ч.;

Тд - затраты на подготовку документации, чел.-ч.

Все составляющие в правой части формулы (4.1) определим через общее число операторов D, ед.:

D = б•c (1 + p), (4.2)

гдеб - исходное число строчек кода в тексте программы, (б = 1000 ед.);

с ? коэффициент сложности задачи(с = 1.05 ... 2);

р - коэффициент коррекции программы, учитывающий новизну проекта.

Таким образом, подставив б = 1000 ед., с = 1,2, p = 0,1 получим:

D = 1000•1,2 • (1 + 0,1)=1320 ед.

Затраты труда на описание задачи принимаем: ТО = 13 чел.-ч. Работу по описанию задачи и все другие работы по созданию программного продукта выполняет инженер-программист с окладом 6000 руб. в месяц и коэффициентом квалификации kК = 1.

Затраты труда на изучение задачи ТИ, чел.-ч., с учетом уточнения описания и квалификации программиста могут быть определены по формуле:

ТИ = Db /( su kK ), (4.3)

гдеD - общее число строчек кода в тексте программы, ед.;

b - коэффициент увеличения затрат труда, вследствие недостаточного

описания задачи;

su - количество строчек кода в тексте программы, приходящееся на

один чел.-ч., (ед./ чел.-ч.);

kK - коэффициент квалификации работника.

В связи с тем, что решение рассматриваемой задачи потребовало уточнения и доработок, примем коэффициент b = 1.

Количество строчек кода в тексте программы, приходящееся на один чел.-ч., примем равным su = 75 ед./ чел.-ч.

Таким образом, на основании формулы (4.3) получим

ТИ = (1320 ? 1) / (75 ? 1) = 17.6 чел.-ч.

Затраты труда на разработку алгоритма решения задачи ТА, чел.-ч., рассчитываются по формуле:

ТА = D / (sa kK), (4.4)

где D - общее число строчек кода в тексте программы, ед.;

sa - количество строчек кода в тексте программы, приходящееся на один чел.-ч., (ед./ чел.-ч.);

kK - коэффициент квалификации работника.

Для расчета по формуле (4.4) примем sa = 20 ед./ чел.-ч.

Подставив численные значения параметров и коэффициентов в формулу (4.4), получим

ТА = 1320 / (20 ? 1) = 66 чел.-ч.

Затраты труда на составление программы по готовой блок-схеме ТП, чел.-ч., определяется по формуле:

ТП = D / (sa kK), (4.5)

Где D - общее число строчек кода в тексте программы, ед.;

sa - количество строчек кода в тексте программы, приходящееся на

один чел.-ч., (ед./ чел.-ч.);

kK - коэффициент квалификации работника.

Для расчетов по формуле (4.5) примем sa = 30 ед./ чел.-ч.

Подставив численные значения параметров и коэффициентов в формулу (4.5), получим:

ТП = 1320 / (30 ? 1) = 44 чел.-ч.

Затраты труда на отладку программы на персональном компьютере ТОТЛ, чел.-ч., рассчитывается по формуле

ТОТЛ = D / (sотл kK), (4.6)

где D - общее число строчек кода в тексте программы, ед.;

sотл - количество отлаживаемых операторов программы, приходящееся на один чел.-ч., (ед./ чел.-ч.);

kK - коэффициент квалификации работника.

Для расчетов по формуле (4.6) примем sотл = 4 ед./ чел.-ч.

Подставив численные значения параметров и коэффициентов в формулу (4.6), получим

ТОТЛ = 1320 / (4 ? 1) = 330 чел.-ч.

Затраты труда на подготовку документации по задаче ТД, чел.-ч., определяются по формуле:

ТД = ТДР + ТДО, (4.7)

Где ТДР - затраты труда на подготовку материалов в рукописи, чел.-ч.;

ТДО - затраты труда на редактирование, печать и оформление документации, чел.-ч.

Затраты труда на подготовку материалов в рукописи ТДР, чел.-ч., вычислим по формуле

ТДР = D / (sдр kK), (4.8)

где D - общее число строчек кода в тексте программы, ед.;

sдр - количество операторов программы в рукописи, приходящееся на

один чел.-ч., (ед./ чел.-ч.);

kK - коэффициент квалификации работника.

Для расчетов по формуле (4.8) примем sдр = 15 ед./ чел.-ч.

Подставив численные значения параметров и коэффициентов в формулу (4.8), получим

ТДР = 1320 / (15 ? 1) = 88 чел.-ч.

Затраты труда на редактирование, печать и оформление документации ТДО, чел.-ч., вычислим по формуле

ТДО = 0,75 ? ТДР. (4.9)

Подставив численное значение затраты труда на подготовку материалов в рукописи ТДР, чел.-ч., в формулу (4.9), получим

ТДО = 0,75 ? 88 = 66 чел.-ч.

Таким образом, подставив численные значение затраты труда на подготовку материалов в рукописи ТДР, чел.-ч., и затраты труда на редактирование, печать и оформление документации ТДО, чел.-ч., в формулу (4.7) получим:

ТД = 88 + 66= 154 чел.-ч.

Подставив все полученные данные, составляющие трудоемкость разработки программного обеспечения в формулу (4.1), получим

ТПО =13 + 66 + 44 + 330 + 154 = 607 чел.-ч.

С учетом уровня языка программирования трудоемкость разработки программы может быть скорректирована следующим образом:

ТКОР = ТПО kКОР, (4.10)

где kКОР - коэффициент коррекции, учитывающий изменения трудоемкости разработки программного обеспечения в зависимости уровня языка программирования (таблица 4.1);

ТКОР - откорректированная трудоемкость разработки программного обеспечения, чел.-ч.

Использованный для разработки программного обеспечения язык программирования Perl относится к алгоритмическим языкам высокого уровня, с учетом этого примем kКОР = 0,8.

Таким образом, получим по формуле (4.10) итоговую откорректированную трудоемкость разработки программы

ТКОР = 607 ? 0,8 = 674,4 чел.-ч.

4.3 Расчет себестоимости информационной системы

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

З = ЗО + ЗД + ЗС + ЗЭ + ЗМ + ЗП + ЗАО, (4.11)

где ЗО - основная заработная плата производственного персонала, руб.;

ЗД - дополнительная заработная плата производственного персонала, руб.;

ЗС - отчисления на страховые взносы, руб.;

ЗЭ - затраты на потребляемую электроэнергию, руб.;

ЗМ - расходы на материалы и запасные части, руб.;

ЗП - затраты на техническое обслуживание и текущий ремонт вычислительной техники, руб.;

ЗАО - затраты на амортизацию вычислительной техники, руб.

Плановый фонд рабочего времени одного специалиста производственного персонала в месяц tпф, ч, вычислим по формуле

tпф = Nрд Дtрд, (4.12)

где Nрд - количество рабочих дней специалиста производственного персонала за месяц;

Дtрд - продолжительность рабочего дня специалиста производственного персонала, ч.

Для расчетов по формуле (4.12) примем Nрд = 22 дня, Дtрд = 8 ч. Подставив указанные численные значения параметров Nрд и Дtрд в формулу (4.12) получим, что плановый фонд рабочего времени одного специалиста производственного персонала в месяц составляет

tпф = 22 ? 8 = 176 ч.

Таким образом, часовая тарифная ставка sч, руб./ч, инженера-программиста первой категории составляет

sч = 6000 / 176 = 37,5 руб./ч

Основная заработная плата ЗО, руб., производственного персонала определяется по формуле

ЗО = sч ? ТКОР. (4.13)

Подставив все численные значения параметров в формулу (4.13) получим, что основная заработная плата инженера-программиста первой категории составит

ЗО = 37,5 ? 674,4 = 25290 руб.

Дополнительная заработная плата ЗД, руб. не начисляется.

Отчисления в Пенсионный фонд Российской Федерации, Фонд социального страхования Российской Федерации и фонды обязательного медицинского страхования Российской Федерации ЗС, руб., вычислим по формуле

ЗС = ((ЗО + ЗД) / 100) ? С, (4.14)

где зС ? норматив страховых взносов, %.

Норматив страховых взносов составляет 34 %.

Подставив все численные значения в формулу (4.14) получим, что отчисления на страховые взносы равны

ЗС =(25290 / 100) ? 34% = 8598,6 руб.

Затраты на потребляемую электроэнергию ЗЭ, руб.:

ЗЭ = PВ tВ цЭ, (4.16)

гдеPВ - мощность ЭВМ, кВт;

tВ - время работы вычислительного комплекса, ч;

цЭ - стоимость 1 кВтч электроэнергии, руб./ кВтч.

Мощность ЭВМ равна 0,3 кВт.

Время работы вычислительного комплекса tв, ч, при создании программного продукта вычислим по формуле

tв = бп•(ТП + ТД + ТОТЛ)• kКОР, (4.17)

где бп - коэффициент, учитывающий затраты времени на профилактические работы на ЭВМ.

Для расчетов по формуле (4.17) примем бп = 1,15 и kКОР = 0,8. Подставив все численные значения параметров в формулу (4.17) получим:

tВ = 1,15 ? (44 + 154 + 330) ? 0,8 = 485,76 ч.

Стоимость 1 кВтч электроэнергии составляет цЭ = 3,60 руб./ кВтч.

Подставив все численные значения параметров в формулу (4.16) получим, что затраты на потребляемую электроэнергию составят

ЗЭ = 0,3 ? 485,76 ? 3,60 = 410,95 руб.

Данные для расчета затрат на материалы и запасные части занесем в таблицу 4.2.

Таблица 4.2 - Данные для расчета затрат на материалы и запасные

Наименование

Единица измерения

Коли-чество

Цена за единицу, руб.

Сумма, руб.

CD-RW - диск

Штук

1

25,00

25,00

Бумага

Пачка

1

150,00

150,00

Заправка картриджа принтера Samsung ML-1615

Шт.

1

120,00

120,00

Итого

295,00

Следовательно, затраты на материалы и запасные части ЗМ составят

ЗМ = 25,00 + 150,00 + 120,00 = 295,00 руб.

Затраты на техническое обслуживание и текущий ремонт вычислительной техники ЗП, руб.:

ЗП = КВ ? (б / 100) ? ( tВ / tВ.Г)(4.18)

где КВ ? балансовая стоимость вычислительной техники, руб.

б - норма отчислений на ремонт, %;

tВ.Г - годовой фонд времени работы вычислительной техники, ч.

Для расчетов по формуле (4.18) примем:

- балансовая стоимость вычислительной техники KB = 21658,00 руб.;

- норма отчислений на ремонт б = 4%;

- годовой фонд времени работы вычислительной техники при 48-часовой рабочей неделе в текущем году tВ.Г = 1986 ч.

Подставив все численные значения параметров в формулу (4.18) получим, что затраты на техническое обслуживание и текущий ремонт вычислительной техники составят:

ЗП = 21658 ? (4 / 100) ? (485,76 / 1986) = 199,25 руб.

Затраты на амортизацию вычислительной техники АОЗ , руб.:

ЗАО = КВ ? (в / 100) ? ( tВ / tВ.Г) (4.19)

где в - норма отчислений на амортизацию вычислительной техники, %, которая составляет 20%.

ЗАО = 21658 ? (20 / 100) ? (485,76 / 1986) = 996,27 руб.

Все расчеты по статьям калькуляции затрат, составляющих себестоимость автоматизированной информационной подсистемы сведены в таблицу 4.3.

Таблица 4.3 - Величины затраты, составляющих себестоимость автоматизированной информационной системы

Статья расхода

Сумма, руб.

1

2

Основная заработная плата производственного персонала

25290,00

Отчисления на страховые взносы

8598,60

Затраты на потребляемую электроэнергию

410,95

Расходы на материалы и запасные части

295,00

Затраты на техническое обслуживание и ремонт вычислительной техники

199,25

Затраты на амортизацию вычислительной техники

996,27

Итого

35790,07

Таким образом, полные затраты на создание программного продукта З составляют

З = 25290 + 8598,6 + 410,95 + 295 + 199,25 + 996,27 = 35790,07 руб.

4.4 Оценка экономической эффективности внедрения программного продукта

Показатель эффекта определяет все позитивные результаты, достигаемые при использовании программного продукта. Прибыль от использования программного продукта за год эксплуатации П, руб., определяется по формуле

П = Э - ЗИСП.,(4.21)

где Э - стоимостная оценка результатов применения программного продукта в течение года, руб.;

ЗИСП. - стоимостная оценка затрат при использовании программного продукта в течение года, руб.

Приток денежных средств из-за использования программного продукта Э, руб., в течение года может составить:

Э = (ЗРУЧ - ЗАВТ) + ЭДОП, (4.22)

где ЗРУЧ - затраты на ручную обработку информации, руб.;

ЗАВТ - затраты на автоматизированную обработку информации, руб.;

ЭДОП - дополнительный экономический эффект, связанный с уменьшением числа используемых бланков, высвобождением рабочего времени и т.д., руб.

Данный продукт используется двумя сотрудниками медицинского центра СевКавГТУ. Заработная плата сотрудника - 8000 руб., Nрд = 22 дней, Дtрд = 8 ч. Тогда, цена одного часа работы цЧ, руб./ч, составит

цЧ = 8000 / 160 = 50 руб./ч.

В таблице 4.4 приведены данные, полученные в ходе тестирования программы, о времени, затрачиваемом на обработку информации вручную и при использовании программного продукта за один месяц.

Таблица 4.4 ? Данные о времени, затрачиваемом на обработку информации вручную и при использовании программного продукта за один месяц одним врачом

Наименование работы

tР, ч.

tА, ч.

Обработка информации

70

20

Составление, оформление и анализ отчетов

40

0,5

Итого

110

20,5

- tР - затраты на ручную обработку информации в месяц, ч.;

- tА - затраты на автоматизированную обработку информации в месяц, ч.

Из данных таблицы 4.4 следует, что общие затраты времени на ручную обработку информации в месяц tОБЩ. Р, ч, одним сотрудником, составляют 110 ч, а общие затраты на автоматизированную обработку информации - tОБЩ. А = 20,5 ч.

Годовые затраты (затраты за 12 месяцев) двух сотрудников медицинского центра, при ручной обработке информации вычислим по формуле:

ЗРУЧН = tОБЩ. Р ? 12 ? цЧ. ? 2(4.23)

Годовые затраты (затраты за 12 месяцев) офис-менеджера при автоматизированной обработке информации вычислим по формуле

ЗАВТ = tОБЩ. А ? 12 ? цЧ. ? 2(4.24)

Получим:

ЗРУЧН = 110 ? 12 ? 50 ? 2 = 66000 руб.

ЗАВТ = 20,5 ? 12 ? 50 ? 2 = 12300 руб.

Следовательно, годовой эффект от внедрения программного продукта, даже без учета дополнительный экономический эффекта (ЭДОП = 0), на основании формулы (4.22), получится равным:

Э = 66000 - 12300 = 53700 руб.

Эксплуатационные затраты при использовании программного продукта состоят из затрат на электроэнергию, техническое обслуживание, текущий ремонт вычислительно техники и затрат на амортизацию вычислительной техники.

На основании формулы (4.16), для персонального компьютера сотрудника за 12 месяцев затраты на электроэнергию при потребляемой мощности компьютера PВ =0,3 кВт составят (стоимость электроэнергии цЭ = 3,60 руб./кВт-ч.)

ЗЭ = 0,3 ? 20,5 ? 12 ? 2,82 ? 2 = 208,12 руб.

Балансовая стоимость вычислительной техники KB = 21658,00 руб. Тогда, на основании формулы (4.18), для персонального компьютера офис-менеджера за 12 месяцев затраты на техническое обслуживание и текущий ремонт составят:

ЗП = 21658 ? 0,04 ? (12 ? 20,5 / 2112) ? 2 = 100,91 руб.

Затраты на амортизацию вычислительной техники по формуле (4.19) составят

ЗАО = 21658 ? 0,2 ? (12 ? 20,5 / 2112) ? 2= 504,53 руб.

Тогда, эксплуатационные затраты при использовании программного продукта составят:

ЗИСП = 208,12 + 100,91 + 504,53 = 813,56 руб.

Прибыль от использования программного продукта за год рассчитаем по формуле (4.21):

П = 53700 - 813,56 = 52886,44 руб.

Таким образом, имеем следующий денежный поток:

0 шаг (капиталовложения) - 35790,07 руб.;

1 шаг - 52886,44 руб.;

2 шаг - 52886,44 руб.;

3 шаг - 52886,44 руб.;

4 шаг - 52886,44 руб.

Чистый дисконтированный доход ЧДД, руб., от использования программного продукта определим по формуле:

(4.25)

где N - расчетный период, год;

ПK - прибыль от использования программного продукта за k-й год его эксплуатации, руб.;

Е - норма дисконта, %;

K - капиталовложения при внедрении программного продукта, руб.

Следовательно, ЧДД, руб., при N = 5, т. е. за пять лет использования программного продукта (срок до морального старения данного программного продукта) при норме дисконта E = 20% в соответствии с формулой (4.25) составит:

Приходим к выводу, что ЧДД ? положителен, т. е. проект эффективен.

Внутреннюю норму доходности проекта Eвн, %, определим по формуле

,

(4.26)

информационный система medic программа

где Евн. MAX + - максимальное значение внутренней нормы дисконта, %, при которой ЧДД является положительной величиной (ЧДД > 0);

Евн. MIN - - минимальное значение внутренней нормы дисконта, %, при

которой ЧДД является отрицательной величиной (ЧДД < 0);

- ЧДД, руб., вычисленный по формуле (4.25) при подстановке нормы дисконта Е=;

-ЧДД, руб., вычисленный по формуле (4.25) при подстановке нормы дисконта Е=.

Предполагаем, что EВН лежит в диапазоне 144 ... 149%. При норме дисконта EВН = 144% получаем ЧДД =511,96 руб. Таким образом, при норме дисконта EВН = 144% ЧДД - положителен.

При норме дисконта EВН = 149% получаем ЧДД = -666,64 руб. Таким образом, при норме дисконта EВН = 149% ЧДД - отрицателен.

Следовательно, по формуле (4.26) имеем:

%

Рассчитаем срок окупаемости проекта. Срок окупаемости проекта Tок, год, найдем по формуле

(4.27)

где N - максимальное количество лет, прошедших с начала эксплуатации программного продукта, в течение которых величина дохода от его использования не превысила величины капиталовложения при внедрении программного продукта;

Эj- величины приведенных (дисконтированных) годовых эффектов за j-й год, руб., прошедший с начала эксплуатации программного продукта, вычисленные по формуле (4.25) при подстановке нормы дисконта E = 20%.

Величина приведенного (дисконтированного) годового эффекта за первый год расчетного периода по формуле (4.25) равна:

Э1 = = 44072,03 руб.

что больше величины капиталовложений (K = 35790,07 руб.).

Тогда, в формуле (4.27) имеем N = 0 и срок окупаемости составит

года,

4.5 Основные технико-экономические показатели проекта

Для удобства анализа, все основные технико-экономические показатели проекта сведены в таблицу 4.5.

Таблица 4.5 ? Основные технико-экономические показатели проекта

Основные характеристики

Единицы

измерения

Проект

Итоговая трудоемкость разработки

чел.-ч.

674,4

Полные затраты на создание программного продукта

руб.

35790,07

Годовой экономический эффект от внедрения программного продукта

руб.

44072,03

Прибыль от внедрения и использования программного продукта

руб.

52886,44

Срок окупаемости проекта

год

0,67

Выводы

1. В процессе анализа технико-экономического обоснования разработки информационной системы для медицинского центра СевКавГТУ, было экономически обоснована рентабельность разработки.

2. Затраты на разработку информационной системы составили 35790,07 руб.

3. Трудоемкость разработки проекта составила 674,4 чел-ч.

4. Годовой экономический эффект от внедрения программного продукта составляет 53700 руб.

5. Внутренняя норма доходности - 146,15%

6. После внедрения программного продукта ежемесячные затраты времени сотрудника медицинского центра сократится со 110 до 20,5 часов, то есть в более чем пять раз.

7. Срок окупаемости информационной подсистемы составляет 0,67 года.

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

ЗАКЛЮЧЕНИЕ

Основным результатом дипломного проектирования является разработка информационной системы «Medic».

В результате дипломного проектирования было показано, что:

- итоговая трудоемкость разработки программного продукта составляет 674,4 чел.-ч.;

- полные затраты на создание программного продукта 35790,07 руб.;

- годовой эффект от внедрения программного продукта - 53700 руб.;

- годовая прибыль от внедрения и использования программного продукта - 52886,44;

- срок окупаемости проекта 0,67 года.

После внедрения программного продукта ежемесячные затраты времени сотрудника медицинского центра сократится со 110 до 20,5 часов, то есть в более чем пять раз.

Таким образом, приходим к заключительному выводу о том, что разработка информационной системы «Medic» является экономически обоснованной и эффективной.

К перспективным направлениям развития темы дипломного проекта можно отнести расширение функциональных возможностей разработанной информационной системы: страницы для составления и отображения расписания врачей, страницы, при помощи которых врач будет сам создавать новые отчеты и предавать им требуемые формы и как следствие из этого, использование HTML5.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Аппак М.А. Автоматизированные рабочие места на основе персональных ЭВМ [Текст] / М.А. Аппак - М.:Радио и связь, 1989. - 400 с.

2. Буч Г. Язык UML для пользователя: Пер. с англ. [Текст]/ Г. Буч, Д. Рамбо, А. Джекобсон. - М.: ДМК, 2000. ? 432 с.

3. Голицына О.Л. Основы алгоритмизации и программирования (2-е издание) И.И. Попов, О.Л. Голицына. - М.: Инфа-М, 2006. - 432 с.

4. Дейтел Х.М. Как программировать на Perl [Текст]/ Х.М. Дейтел, П.Дж. Дейтел, Т.Р. Нието, Д.К. МакФай. - М: Бином, 2002. - 547 с.

5. Декарт А. Программирование на Perl DBI [Текст]/ А. Декарт, Т. Банс. - Спб.: Символ-Плюс, 2000. - 700 с.

6. Диго С.М. Проектирование и использования баз данных [Текст]/ С.М. Диго. - М.: Финансы и статистика, 1995. - 200 с.

7. Карпова Т. Базы данных. Модели, разработка, реализация [Текст]/ Т. Карпова. - Спб.: Питер, 2001. - 304 с.

8. Киммел, П. UML. Основы визуального анализа и проектирования [текст]/ П. Киммел. - М.: НТ Пресс, 2008. - 272 с.

9. Киммел П. UML. Универсальный язык программирования [текст]/ П. Киммел. - СПб.: НТ Пресс, 2008. - 272 с.

10. Когаловский М.Р. Технология баз данных на персональных ЭВМ [Текст]/ М.Р. Когаловский. - Киев: Радиоэлектроника, 2004. - 270 с.

11. Колесов Ю.Б. Моделирование систем. Объектно-ориентированный подход [текст]/ Ю.Б. Колесов, Ю.Б. Сениченков. - СПб.: БХВ-Петербург, 2006. - 192 с.

12. Конноли Т. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. [Текст]/ Т. Конноли, К. Бегг - СПб.; М.: Киев: изд. дом Вильяме, 2001. - 1120 с.

13. Крёнке Д. Теория и практика построения баз данных [Текст]/ Д. Крёнке - СПб.: Питер, 2003. - 800 с.

14. Левитин А.В. Алгоритмы. Введение в разработку и анализ [Текст]/ А.В. Левитин. - М.: Вильямс, 2006 - 576 с.

15. Маклнтош Дж. Perl & XML библиотека программиста [Текст]/ Дж. Маклнтош, Эрик Т. Рэй. - СПб.: Питер, 2003. - 207 с.

16. Мартин Дж. Организация баз данных в вычислительных системах [Текст]/ Дж. Мартин. - М.: Мир, 1978. - 700 с.

17. Мельтцер К. Разработка CGI-приложений на Perl [Текст]/ К. Мельтцер, Б. Михальски. - М.: Вильямс, 2001. - 574 с.

18. Петров А.И. Информационные системы [Текст]/ А. И. Петров. - М.: Горячая линия-Телеком, 2000. - 300 с.

19. Стаблибайн Т. Регулярные выражения. Карманный справочник [Текст]/ Т. Стаблибайн. - СПб.: Питер, 2004. - 160 с.

20. Уолл Л. Программирование на Perl [Текст]/ Л. Уолл, Т. Кристиансен, Дж. Орвант. - СПб.: Символ, 2005. - 1150 с.

21. Уорсли Дж. PodtgreSQL для профессионалов [Текст]/ Дж. Уорсли, Дж. Дрейк. - СПб.: Питер, 2003. - 496 с.

22. Фридл Дж. Регулярные выражения [Текст]/ Дж. Фридл. - СПб.: Питер, 2003. - 723 с.

Приложение А

Окна редактора медицинских карт

Рисунок А.1 - Добавление карты

Рисунок А.2 - Не заполненные поля карты

Рисунок А.3 - Выбор медицинской карты для редактирования

Рисунок А.4 - Редактирование медицинской карты

Приложение Б

Листинг модулей информационной системы «Medic»

Б.1 Код модуля «ConnectDB.pm»

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

package modules::ConnectDB;

use strict;

use warnings;

use modules::dbase;

sub SelectFromDB{

my $h = $_[2] || '0';

my $dbMedic = modules::dbase->new();

$dbMedic->dbConnect();

#my $query = qq"SET client_encoding TO 'UTF8'";

#my $result = $dbMedic->execSelect(\$query);

my $query = qq"SET DATESTYLE TO 'GERMAN, DMY'";

my $result = $dbMedic->execSelect(\$query);

$query = qq"$_[1]";

$result = $dbMedic->execSelect(\$query);

#print qq"<br />Erorr: -----> $result";

if($result eq 1){

print qq"<span style='color: red; font-size:12;'>Операция не может выполнена. Обратитесь к админестратору.</span>";

}

else

{if($h ne 0){

my $co = CGI->new();

my @qq = $co->Vars;

my $ses = $co->param('ses');

my $now = localtime time;

$query =~ s/\'/\\\'/g;

if($h eq 1){

#print "<br><br>--->$ENV{'REMOTE_ADDR'}";

$dbMedic->execSelect(\qq[insert into transaction_history(request_date, query_data, data_param, sot_id) values('$now', E'$query', '@qq', (SELECT id_sot FROM sesion WHERE sesion = '$ENV{'ses'}'))]);

}

elsif($h eq 2){

#print "<br><br>--->$ENV{'REMOTE_ADDR'}";

$dbMedic->execSelect(\qq[insert into history_connections(request_date, query_data, data_param, ip_adress) values('$now', E'$query', '@qq', '$ENV{REMOTE_ADDR}')]);

}

elsif($h eq 3){

#print "<br><br>--->$ENV{'REMOTE_ADDR'}";

$dbMedic->execSelect(\qq[insert into history_session(request_date, query_data, data_param, ip_adress) values('$now', E'$query', '@qq', '$ENV{REMOTE_ADDR}')]);

}

}

}

$dbMedic->dbDisconnect();

return $result;

}

1;

Б.2 Код модуля «exel_card.pm»

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

package modules::exel_card;

use strict;

use warnings;

use Spreadsheet::WriteExcel;

use utf8;

use Encode;

use POSIX qw(strftime);

use modules::ConnectDB;

sub NewExel{

###################################Получение данных из базы####################################

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

b.surname_stud AS surname_stud,

b.name_stud AS name_stud,

b.middlename_stud AS middlename_stud,

(SELECT name_gr FROM group_fac WHERE id_gr = b.id_gr) AS name_grp,

(SELECT name_fac FROM faculty WHERE id_fac = (SELECT id_fac FROM group_fac WHERE id_gr = b.id_gr)) AS name_fac,

a.policy AS policy,

b.number_passport AS number_passport,

a.sex AS sex,

a.birthday AS birthday,

a.home_fone AS home_fone,

a.mob_fone AS mob_fone,

(SELECT region FROM region WHERE id_region = a.id_region) AS region,

(SELECT town FROM town WHERE id_town = a.id_town) AS town,

(SELECT area FROM area WHERE id_area = a.id_area) AS area,

a.streat AS streat,

a.house AS house,

a.case_ AS case_,

a.kv_num AS kv_num,

a.stav_streat AS stav_streat,

a.stav_house AS stav_house,

a.stav_case AS stav_case,

a.stav_kv_num AS stav_kv_num

FROM card a

INNER JOIN students b ON a.id_stud = b.id_stud

WHERE a.id_card = '$_[1]'";

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

###############################################################################################

my $file = "card_".time.".xls";

my $workbook = Spreadsheet::WriteExcel->new("../htdocs/Excel/$file");

my $worksheet = $workbook->add_worksheet("Лист 1");

$worksheet->hide_gridlines();

##########################################Форматы ячеек########################################

my $format = $workbook->add_format(font => 'Times New Roman',

size => 10,

align => 'center');

my $format1 = $workbook->add_format(font => 'Times New Roman',

size => 10,

align => 'center');

$format1->set_underline(1);

my $format2 = $workbook->add_format(font => 'Times New Roman',

size => 10,

align => 'center');

$format2->set_font_script(1);

my $format_head = $workbook->add_format(font => 'Times New Roman',

size => 12,

align => 'center');

#$format_head->merge_range('A1:D1', 'Vertical and horizontal', $format_head);

my $format_cell = $workbook->add_format(font => 'Times New Roman',

size => 12);

#$format_cell->set_size(30);

#$format_cell->set_shrink(1);

#$format_cell->set_align('fill');

#$format_cell->set_center_across(1);

#$format_cell->set_text_wrap();

$worksheet->set_column(0, 0, 29.43, $format_cell);

$worksheet->set_column(1, 0, 32.71, $format_cell);

$worksheet->set_column(2, 0, 23.29, $format_cell);

##########################################Вставка данных в ячейки##############################

my $i;

#$worksheet->merge_range('A1:D1', decode('utf-8',"$_[4]"), $format_head);

#########################################################################

$worksheet->write('A1', 'Министерство здравоохранения РФ',$format);

$worksheet->write('A2', ' СевКавГТУ ',$format1);

$worksheet->write('A3', 'наименование учереждения',$format2);

#########################################################################

$worksheet->write('C1', 'Код формы по ОКУД:',$format);

$worksheet->write('C2', 'Код учереждения по ОКПО:',$format);

$worksheet->write('C3', 'Медицинская документация',$format);

$worksheet->write('C4', 'Форма № 025/у',$format);

#########################################################################

foreach my $key (@$result) {

#$key->{'id_gr'}

$worksheet->merge_range('A7:C7', qq"МЕДИЦИНСКАЯ КАРТА АМБУЛАТОРНОГО БОЛЬНОГО №".decode('utf-8',"$key->{'id_card'}"), $format_head);

$worksheet->merge_range('A9:C9', qq"ФИО студента: ".decode('utf-8',"$key->{'surname_stud'}").' '.decode('utf-8',"$key->{'name_stud'}").' '.decode('utf-8',"$key->{'middlename_stud'}"), $format_head);

$worksheet->write('A11', 'Факультет: '.decode('utf-8',"$key->{'name_fac'}"),"font => 'Times New Roman', size => 12");


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

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