Автоматизированная информационная система учета пациентов отделений в психо-неврологическом диспансере

Автор работы: Пользователь скрыл имя, 01 Декабря 2011 в 01:50, дипломная работа

Описание

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

Содержание

Введение………………………………………………………………………….... 5
1 Системный анализ предметной области…………………………………….….7
2 Проектирование БД……………………………………………………………...12
2.1 Проектирование с использованием ER - метода……………………….…14
2.1.1 Определение сущностей и связей между ними………………….….14
2.1.2 Определение исходных и ролевых сущностей……………………...15
2.1.3 Построение ER - диаграмм…………………………………………...15
2.1.4 Построение набора предварительных отношений……………….…30
2.1.5 Распределение оставшихся атрибутов по полученным
отношениям………………………………………………………………………...32
2.1.6 Проверка нахождения полученных отношений в НФБК…………..35
2.2 Проверка отношений на завершающей фазе проектирования…………...37
3 Выбор СУБД……………………………………………………………………..38
4 Разработка алгоритмического и программного обеспечения АИС…………..40
4.1 Алгоритм функционирования информационной системы……………….40
4.2 Инструкция пользователя…………………………………………………..46
4.2.1 Запуск программы…………………………………………………….46
4.2.2 Работа со справочниками……………………………………………46
4.2.3 Работа с пациентами…………………………………………………48
4.2.4 Создание и редактирование медицинской карты…………………..51
4.2.5 Создание остальной документации………………………………….54
4.2.6 Работа с документацией……………………………………………..58
4.2.7 Вывод отчетов………………………………………………………..64
4.2.8 О справке……………………………………………………………...70
4.2.9 Завершение работы……………………………………………………71
5 Безопасность жизнедеятельности………………………………………………72
5.1 Анализ условий труда………………………………………………………72
5.2 Требования безопасности, эргономики и технической
эстетики к рабочему месту программиста……………………………………….74
5.3 Разработка защитных мероприятий на рабочем
месте программиста…………………………………………………………….83
5.4. Расчет естественного освещения………………………………………….88
5.5 Расчет искусственного освещения…………………………………………89
5.6 Безопасность жизнедеятельности в чрезвычайных ситуациях…………..91
5.6.1 Рекомендуемые нормы пожарной безопасности……………………92
5.6.2 Меры по индивидуальной защите оператора……………………….92
5.7 Вывод………………………………………………………………………...93
6 Экономический раздел…………………………………………………………..94
6.1 Расчет необходимых капитальных вложений……………………94
6.1.1 Расчет затрат на разработку АИС…………………………..94
6.1.2 Капитальные вложения по базовому варианту …………..95
6.2 Расчет текущих эксплуатационных затрат………………………95
6.2.1 Расчет затрат по базовому варианту………………………...96
6.2.2 Расчет затрат по проектному варианту……………………..96
6.3 Расчет показателей экономической эффективности……………………..97
6.4 Вывод……………………………………………………………………….100
Заключение………………………………………………………………………..101
Список использованных источников……

Работа состоит из  1 файл

диплом-Альбина.doc

— 930.50 Кб (Скачать документ)

           rsDoc!Врач = CurrentUser()

           rsDoc!Датазаполн = DATE

           rsDoc!КодМедкарты = rsBuf!НомердокумМК2

           rsDoc.Update

           rsBuf.Edit

           rsBuf!КодДок = iii + 1

           rsBuf.Update

           rs.AddNew

           rs!КодИБстартипа = iii + 1

           rs.Update

           DoCmd.OpenForm ("Для_ИБ_старого_типа")

       End Function

       _______________________________________________________________________

       Public Function Для_Назначения()

           Set db = CurrentDb

           Set rsDoc = db.OpenRecordset("Документы")

           Set rsBuf = db.OpenRecordset("Буфер")

           Set rs = db.OpenRecordset("Назначения")

           iii = 0

           iDocno = 0

           rsDoc.MoveFirst

           Do Until rsDoc.EOF = True             ' поиск максимального Коддок

               If rsDoc!КодДок > iii Then         ' чтобы сделать Коддок+1

                   iii = rsDoc!КодДок

               End If

               rsDoc.MoveNext

           Loop

           rsDoc.AddNew

           rsDoc!КодДок = iii + 1

           rsDoc!Документ = "Назначения"

           rsDoc!Дата = DATE

           rsDoc!Врач = CurrentUser()

           rsDoc!Датазаполн = DATE

           rsDoc!КодМедкарты = rsBuf!НомердокумМК2

           rsDoc.Update

           rsBuf.Edit

           rsBuf!КодДок = iii + 1

           rsBuf.Update

           rs.AddNew

           rs!КодНазн = iii + 1

           rs.Update

           DoCmd.OpenForm ("Для_Назначения")

       End Function

       _______________________________________________________________________

       Public Function Для_Эпикризы()

           Set db = CurrentDb

           Set rsDoc = db.OpenRecordset("Документы")

           Set rsBuf = db.OpenRecordset("Буфер")

           Set rs = db.OpenRecordset("Эпикризы")

           iii = 0

           iDocno = 0

           rsDoc.MoveFirst

           Do Until rsDoc.EOF = True             ' поиск максимального Коддок

               If rsDoc!КодДок > iii Then         ' чтобы сделать Коддок+1

                   iii = rsDoc!КодДок

               End If

               rsDoc.MoveNext

           Loop

           rsDoc.AddNew

           rsDoc!КодДок = iii + 1

           rsDoc!Документ = "Эпикриз"

           rsDoc!Дата = DATE

           rsDoc!Врач = CurrentUser()

           rsDoc!Датазаполн = DATE

           rsDoc!КодМедкарты = rsBuf!НомердокумМК2

           rsDoc.Update

           rsBuf.Edit

           rsBuf!КодДок = iii + 1

           rsBuf.Update

           rs.AddNew

           rs!КодЭпикр = iii + 1

           rs.Update

           DoCmd.OpenForm ("Для_Эпикризы")

       End Function

       _______________________________________________________________________

       Public Function Для_ОсмотрКЭК()

             Set db = CurrentDb

           Set rsDoc = db.OpenRecordset("Документы")

           Set rsBuf = db.OpenRecordset("Буфер")

           Set rs = db.OpenRecordset("Осмотр КЭК")

           iii = 0

           iDocno = 0

           rsDoc.MoveFirst

           Do Until rsDoc.EOF = True             ' поиск максимального Коддок

               If rsDoc!КодДок > iii Then         ' чтобы сделать Коддок+1

                   iii = rsDoc!КодДок

               End If

               rsDoc.MoveNext

           Loop

           rsDoc.AddNew

           rsDoc!КодДок = iii + 1

           rsDoc!Документ = "ОсмотрКЭК"

           rsDoc!Дата = DATE

           rsDoc!Врач = CurrentUser()

           rsDoc!Датазаполн = DATE

           rsDoc!КодМедкарты = rsBuf!НомердокумМК2

           rsDoc.Update

           rsBuf.Edit

           rsBuf!КодДок = iii + 1

          rsBuf.Update

           rs.AddNew

           rs!КодОсмКЭК = iii + 1

           rs.Update

           DoCmd.OpenForm ("Для_ОсмотрКЭК")

       End Function

       _______________________________________________________________________

       Public Function Для_ОсмотрОтд()

           Set db = CurrentDb

           Set rsDoc = db.OpenRecordset("Документы")

           Set rsBuf = db.OpenRecordset("Буфер")

           Set rs = db.OpenRecordset("Осмотр в отделении")

           iii = 0

           iDocno = 0

           rsDoc.MoveFirst

           Do Until rsDoc.EOF = True             ' поиск максимального Коддок

               If rsDoc!КодДок > iii Then        ' чтобы сделать Коддок+1

                   iii = rsDoc!КодДок

               End If

               rsDoc.MoveNext

           Loop

           rsDoc.AddNew

           rsDoc!КодДок = iii + 1

           rsDoc!Документ = "Осмотр в отделении"

           rsDoc!Дата = DATE

           rsDoc!Врач = CurrentUser()

           rsDoc!Датазаполн = DATE

           rsDoc!КодМедкарты = rsBuf!НомердокумМК2

           rsDoc.Update

           rsBuf.Edit

           rsBuf!КодДок = iii + 1

           rsBuf.Update

           rs.AddNew

           rs!КодОсм = iii + 1

           rs.Update

           DoCmd.OpenForm ("Для_ОсмотрОтд")

       End Function

       _______________________________________________________________________

       Public Function Для_ПатопсИсследование()

           Set db = CurrentDb

           Set rsDoc = db.OpenRecordset("Документы")

           Set rsBuf = db.OpenRecordset("Буфер")

           Set rs = db.OpenRecordset("Патопсихологические исследования")

           iii = 0

           iDocno = 0

           rsDoc.MoveFirst

           Do Until rsDoc.EOF = True             ' поиск максимального Коддок

               If rsDoc!КодДок > iii Then         ' чтобы сделать Коддок+1

                   iii = rsDoc!КодДок

               End If

               rsDoc.MoveNext

           Loop

           rsDoc.AddNew

           rsDoc!КодДок = iii + 1

           rsDoc!Документ = "Патопсихологическое  исследование"

           rsDoc!Дата = DATE

           rsDoc!Врач = CurrentUser()

           rsDoc!Датазаполн = DATE

           rsDoc!КодМедкарты = rsBuf!НомердокумМК2

           rsDoc.Update

           rsBuf.Edit

           rsBuf!КодДок = iii + 1

           rsBuf.Update

           rs.AddNew

           rs!КодППсихИ = iii + 1

           rs.Update

           DoCmd.OpenForm ("Для_ПатопсИсследование")

       End Function

       _______________________________________________________________________

       Public Function Для_Рентгенография()

           Set db = CurrentDb

           Set rsDoc = db.OpenRecordset("Документы")

           Set rsBuf = db.OpenRecordset("Буфер")

           Set rs = db.OpenRecordset("Рентенография")

           iii = 0

           iDocno = 0

          rsDoc.MoveFirst

           Do Until rsDoc.EOF = True             ' поиск максимального Коддок

               If rsDoc!КодДок > iii Then         ' чтобы сделать Коддок+1

                   iii = rsDoc!КодДок

               End If

               rsDoc.MoveNext

           Loop

           rsDoc.AddNew

           rsDoc!КодДок = iii + 1

           rsDoc!Документ = "Рентгенография"

           rsDoc!Дата = DATE

           rsDoc!Врач = CurrentUser()

           rsDoc!Датазаполн = DATE

           rsDoc!КодМедкарты = rsBuf!НомердокумМК2

           rsDoc.Update

           rsBuf.Edit

           rsBuf!КодДок = iii + 1

           rsBuf.Update

           rs.AddNew

           rs!КодРент = iii + 1

           rs.Update

           DoCmd.OpenForm ("Для_Рентгенография")

Информация о работе Автоматизированная информационная система учета пациентов отделений в психо-неврологическом диспансере