ХАРАКТЕРИСТИКА ПРЕДПРИЯТИЯ

Предприятие носит название «Городская поликлиника №3». Предприятие занимается предоставлением медицинских услуг населению, таких как:

· Операции

· Медосмотр

· Постановка на стационарный учет

Помимо прочего на предприятии существует практика оказания платных услуг населению, куда входят:

· Сдача анализов

· Запись на прием к специалисту

· Индивидуальные консультации


Организационная структура.


2. РАЗРАБОТКА ИНФОРМАЦИОННОГО ОБЕСПЕЧЕНИЯ ДЕЯТЕЛЬНОСТИ ПРЕДПРИЯТИЯ.

Разработка ПО предприятия ведется на основании БД Microsoft SQL 2005, так как данный продукт является весьма популярным и общепризнанным в плане обеспечения пользователей всеми нужными им функциями. Данный пакет БД позволяет работать с таблицами, в т.ч. создавать, удалять и обновлять данные в них.

Для удовлетворения потребностей предприятия мы создали следующую структуру БД:

Таблицы

· dbo.Pacient

· dbo.Diagnoz

· dbo.Doctor

· dbo.MedKarta

· dbo.Den

· dbo.DenPriem

· dbo.Priem

· dbo.Prof

· dbo.ProfDoctor

· dbo.Zapis

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

· dbo.Pacient:

o idPacient – столбец является первичным ключом, соединяющим таблицу dbo.Pacient с таблицами dbo.Diagnoz/ Также он является столбцом идентификаторов, что говорит о том, что при добавлении данных в таблицу им будет присваиваться определенный номер, в зависимости от шага приращения идентификатора (например, 13, 14,15 (шаг приращения - 1)). Столбец идентификаторов по умолчанию не может быть пустым.

o surName – столбец, содержащий данные об отчестве пациента. К столбцу применен тип данных varchar с количеством символов – 15, так как он наиболее оптимально подходит к решаемой задаче. Помимо прочего, в этом столбце не разрешены пустые значения.

o firstName – столбец, содержащий информацию о имени пациента. К нему также применен тип данных varchar(15). И он также не может иметь пустых значений.

o lastName – столбец, содержащий информацию о фамилии пациента. Также имеет тип данных varchar(15) и не может иметь пустых значений.

o Birthday – столбец, содержащий информацию о дне рождения пациента. Имеет тип данных varchar(12) и не может иметь пустых значений.

o Address – столбец, содержащий информацию о месте проживания пациента. Имеет тип данных varchar с максимальным количеством знаков равным 50.

o ContactDom – столбец имеет информацию о контактном телефоне, в данном случае о стационарном городском телефоне. Столбец имеет тип данных varchar размерностью в 7 знаков. Данный столбец имеет возможность иметь пустые значения, так как информация, содержащаяся в данном столбце не является обязательной.

o ContactSot – столбец имеет информацию о контактном телефоне, в данном случае о номере мобильного телефона пациента. Столбец имеет тип данных varchar с размерностью в 11 символов. Данный столбец, как и предыдущий может иметь пустые значения.

o Polis – столбец содержит информацию о номере страхового полиса пациента. Поля этого столбца имеют тип данных nchar размерностью в 7 знаков. Столбец является обязательным для заполнения, то есть не может иметь пустых значений.

o StrahSvid – столбец содержит информацию о номере страхового свидетельства пациента, имеет тип данных nchar и имеет размерность в 14 знаков. Столбец является обязательным для заполнения.

o INN – столбец, содержащий информацию о номере ИНН. Имеет тип данных nchar размерностью в 12 знаков. Столбец не является обязательным для заполнения.

o epikriz – столбец, содержащий информацию о эпикризе пациента. Имеет тип данных text, так как предполагается обширное заполнение ячеек данного столбца. Может иметь пустые значения.

o idDiagnoz – столбец, являющийся ключом для соединения с таблицами dbo.MedKarta и dbo.Diagnoz. Столбец используется для выявления зависимости между идентификатором пациента и его заболеванием. Столбец имеет тип данных nvarchar размерностью в 3 символа.

o dbo.Diagnoz

o idDiagnoz – столбец, содержащий список идентификаторов, обозначающих каждое из заболеваний. Имеет тип данных varchar размерностью ячейки в 3 символа. Не может иметь пустых значений.

o Diagnoz – столбец, содержащий название того или иного заболевания. Имеет тип данных varchar с размерностью ячейки в 150 символов. Не может иметь пустых значений.

o KursLech – столбец, содержащий информацию о назначенном лечении в соответствии с болезнью. Имеет тип данных text. Не может иметь пустых значений.

· dbo.Doctor

o idDoctor – столбец, содержащий список идентификаторов, характеризующих работающих врачей. Имеет тип данных int и не может иметь пустых значений. Также является ключевым полем, соединяющим данную таблицу с другими, существующими в базе данных.

o sur.Name – столбец, содержащий информацию об отчестве врача. Имеет тип данных varchar с размерностью поля в 15 символов.

o firstName – столбец, содержащий информацию о имени врача. Не может быть пустым и имеет тип данных varchar с размерностью ячейки в 15 символов.

o lastName – столбец, содержащий информацию о фамилии врача. Не может иметь значений NULL и имеет тип данных varchar с размерностью ячейки в 15 символов.

o Birthday – столбец, содержащий информацию о дне рождения врача. Не может иметь значений NULL. Имеет тип данных datetime.

o Address – столбец, содержащий информацию о месте проживания врача. Не может иметь пустых значений. Имеет тип данных varchar с размерностью ячейки в 50 символов.

o ContactDom – столбец, содержащий информацию о домашнем телефоне врача. Может иметь пустые значения. Имеет тип данных varchar с размерностью ячейки в 7 символов.

o ContactSot – столбец, содержащий информацию о номере сотового телефона врача. Может иметь пустые значения. Имеет тип данных varchar с размерностью ячейки в 11 символов.

· dbo.MedKarta

o idPacient – столбец, содержащий список идентификаторов, характеризующих пациентов. Имеет тип данных int и не может иметь пустых значений. Также является ключевым полем, соединяющим данную таблицу с другими, существующими в базе данных. Все идентификаторы вводятся вручную в соответствии с таблицей dbo.Pacient.

o idDiagnoz – столбец, соержащий список идентификаторов, характеризующих диагнозы. Имеет тип данных int и не может иметь пустых значений. Все идентификаторы вводятся вручную в соответствии с таблицей dbo.Diagnoz.

o DataOsmotr – столбец, содержащий данные о датах обследований пациентов. Имеет тип дынных datetime и не может иметь пустых значений.

o idDoctor – столбец, содержащий список идентификаторов, характеризующих врачей. Имеет тип данных int и не может быть пустым. Все идентификаторы вводятся вручную в соответствии с таблицей dbo.Doctor.


· dbo.Den

o idDen – столбец идентификаторов, характеризующих дни недели. Вследствие не может иметь пустых значений. Имеет тип данных int.

o Den – столбец, содержащий информацию о названии дня недели. Имеет тип данных varchar с размерностью ячейки в 11 символов. Не может иметь значений NULL.

· dbo.DenPriem

o idDenPriem – столбец, содержащий список идентификаторов, характеризующих назначение на прием. Является ключевым и используется для соединения с другими таблицами БД. Имеет тип данных int и не может иметь пустых значений.

o idPriem – столбец, содержащий список идентификаторов, характеризующих день приема в соответствии с таблицей dbo.Priem. Имеет тип данных varchar с размерностью ячейки в 3 символа. Не может иметь значений NULL.

o Id.Den – столбец, содержащий список идентификаторов, характеризующих день недели в соответствии с таблицей dbo.Den. Имеет тип данных int и не может иметь пустых значений NULL.

o Time – столбец, содержащий информацию о времени назначения приема. Имеет тип данных datetime и не может иметь пустых значений NULL.

· dbo.Priem

o idPriem – столбец, содержащий список идентификаторов, идентифицирующих место приема. Имеет тип данных varchar с размерностью ячейки в 3 символа. Не может иметь пустых значений NULL. Является ключевым и используется для связи с другими таблицами БД.

o Kabinet – столбец, содержащий информацию о номере кабинета приема. Имеет тип данных varchar с размерностью ячейки в 5 символов. Не может иметь пустых значений.

o idDoctor – столбец, содержащий список идентификаторов, характеризующих врачей в соответствии с таблицей dbo.Doctor. Все идентификаторы вводятся вручную. Имеет тип данных int и не может иметь пустых значений.

· dbo.Prof

o idProf – столбец, содержащий список идентификаторов, характеризующих профессию врача. Является ключевым полем и используется для связи с другими таблицами БД. Имеет тип данных int и не может иметь пустых значений NULL.

o Prof – столбец, содержащий наименования профессий. Имеет тип данных varchar с размерностью поля в 15 символов. Не может иметь пустых значений NULL.

· dbo.ProfDoctor

o idDoctor – столбец, содержащий список идентификаторов, характеризующих врачей в соответствии . Является ключевым полем и используется для связи с другими таблицами. Имеет тип данных int и не может иметь пустых значений.

o idProf – столбец, содержащий список идентификаторов, характеризующих профессии в соответствии с таблицей dbo.Prof. Имеет тип данных int. Является ключевым полем, соединяющим таблицу с другими таблицами из БД. Не может иметь пустых значений.

· dbo.Zapis

o idZapis – столбец, содержащий список идентификаторов, характеризующих запись на прием. Имеет тип данных int и не может иметь пустых значений NULL. Является ключевым полем и используется для связи с другими таблицами БД.

o idPriem – столбец, содержащий список идентификаторов, характеризующих прием в соответствии с таблицей dbo.Priem. Не может иметь пустых значений NULL. Имеет тип данных varchar с разерностью ячейки в 3 символа. Идентификаторы вводятся вручную.

o ZapisTime – столбец, содержащий информацию о временном промежутке записи. Имеет тип данных varchar с размерностью ячейки в 15 символов. Не может иметь пустых значений.

o DenZapisi – столбец, содержащий информацию о дне записи на прием. Имеет тип данных varchar с размерностью ячейки в 15 символов. Не может иметь пустых значений.

o idPacient – столбец, содержащий список идентификаторов, характеризующих пациентов, в соответствии с таблицей dbo.Pacient. Имеет тип дынн хint и не может содержать пустых значений.


Структура БД:

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


3. ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЕЯТЕЛЬНОСТИ ПРЕДПРИЯТИЯ.

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

Программа подразделяется на следующие модули:

o электронная регистратура;

o электронная медицинская карта;

o администратор системы;

o статистика и аналитика (генератор отчетов);

o система управления доступом и очередью.

Как говорилось выше, модули могут быть объединены между собой. Схема объединения и совместной работы модулей такова:

Модуль «Администратор системы» является главным модулем, позволяющим управлять остальными модулями, и имеющим полные права на чтение, запись или удаление информации в модулях.

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

РАЗРАБОТКА ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА.

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

Сначала рассмотрим диалоговый режим модулей.

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

Открывается окно с подтверждением выполнения запроса при нажатии на кнопку

Появляется всплывающая подсказка при наведении мыши на кнопку

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


4. ДОКУМЕНТИРОВАНИЕ РАБОТ ПО СОЗДАНИЮ ПРОГРАММНОГО ПРОДУКТА.

При разработке программного проекта вначале всегда составляют техническое задание.

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

Для разработки технического задания используются постановления следующих ГОСТов:

· ГОСТ 2.114-95 Единая система конструкторской документации. Технические условия;

· ГОСТ 19.201-78 Единая система программной документации. Техническое задание. Требования к содержанию и оформлению;

· ГОСТ 34.602-89 Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы.

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


ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА СОЗДАНИЕ АВТОМАТИЗИРОВАННОЙ ИНФОРМАЦИОННОЙ СИТЕМЫ.

1. Наименование системы. Автоматизированная система, разрабатываемая нашей командой, носит название MedicROOT.

2. Для разработки автоматизированной системы были предоставлены следующие документы:

1. Техническое задание на модернизацию автоматизированной информационной системы и ввод в эксплуатацию в новом здании МУЗ «Городская поликлиника №7».

2. ГОСТ 19.201-78 Единая система программной документации. Техническое задание. Требования к содержанию и оформлению. Введен постановлением государственного комитета СССР по стандартам от 18 декабря 1978 года.

3. ГОСТ 34.601-90 Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания.

4. ГОСТ 34.201-89 Комплекс стандартов на автоматизированные системы. Виды, комплектность и обозначение документов при создании автоматизированных систем.

5. ГОСТ 34.320-96 Информационные технологии. Система стандартов по базам данных. Концепции и терминология для концептуальной схемы и информационной базы.

3. Назначение системы. Автоматизированная информационная система «MedicROOT» предназначена для взаимодействия пациентов и врачей с целью оказания медицинских услуг.

4. Цели создания автоматизированной системы.

1. Пользователь системы должен иметь возможность записи на прием к специалисту (в том числе и через Интернет).

2. Пользователь системы должен иметь возможность ведения расписания приема специалистов. Также пользователь должен иметь возможность получения информации о расписании приема специалистов.

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

4. Пользователь системы должен иметь возможность создания собственной электронной медицинской карты. Так же он должен иметь возможность просматривать и изменять данные в медицинской карте.

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

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

5. Требования к системе.

1. Требования к структуре и функционированию системы

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

2. Модули должны выполнять только предусмотренные для них функции. Модули не могут совмещать свои функции с функциями других модулей, однако они могут пересекаться между собой.

2. Требования к квалификации.

1. Для пользования автоматизированной системой пользователь должен уметь работать в программах Microsoft Excell и Microdoft Word. Пользователь должен быть знаком с глобальной сетью Интернет.

2. Администратор автоматизированной системы должен уметь работать в программах MS SQL Server 2005 или MS SQL Server 2008. Также администратор автоматизированной системы должен иметь базовые знания программирования на языках Pascal, Delphi.

3. Требования к защите информации от несанкционированного доступа (разграничение доступа к данным).

При создании предусматривалось три вида пользователей:

· Требования к администратору автоматизированной информационной системы:

1. Администратор системы владеет всеми правами на создание, удаление или модификацию автоматизированной системы и данных.

2. Администратор системы должен уметь назначать и убирать права на доступ к различным модулям и данным системы для пользователей.

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

4. Администратор системы должен уметь останавливать систему в критической ситуации, а так же уметь восстанавливать поврежденные данные системы и ее модули.

5. Администратор системы должен следить за активностью вредоносного ПО и уметь правильно обеспечивать защиту автоматизированной информационной системы от него.

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

7. Администратор системы должен настроить создание бэкапов данных не реже, чем 1 раз в неделю.

· Требования к специальному пользователю автоматизированной информационной системы (врач, специалист):

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

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

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

· Требования к обычному пользователю автоматизированной информационной системы (клиент):

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

2. Обычный пользователь не имеет права использовать свою учетную запись для нанесения вреда системе или/и пользователям.


ТЕХНИЧЕСКИЙ ПРОЕКТ НА СОЗДАНИЕ АВТОМАТИЗИРОВАННОЙ ИНФОРМАЦИОННОЙ СИСТЕМЫ