Автор работы: Пользователь скрыл имя, 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
Список использованных источников……
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 Мед_карта()
Dim rsMed As Recordset
Set db = CurrentDb
Set rsDoc = db.OpenRecordset("Медкарты")
Set rsBuf = db.OpenRecordset("Буфер")
Set rsMed = db.OpenRecordset("МК")
iii = 0: iDocno = 0
rsDoc.MoveFirst
Do Until rsDoc.EOF = True
If rsDoc!КодМедкарты > iii Then
iii = rsDoc!КодМедкарты
End If
rsDoc.MoveNext
Loop
rsDoc.MoveFirst
rsDoc.AddNew
rsDoc!КодМедкарты = iii + 1
rsDoc!Документ = "Медицинская карта"
rsDoc!Дата = DATE
rsDoc!Врач = CurrentUser()
rsDoc!Датазаполн = DATE
rsDoc!КодПац = rsBuf!IdFio
rsDoc.Update
rsBuf.Edit
rsBuf!КодДок = iii + 1
rsBuf.Update
rsMed.AddNew
rsMed!КодМК = iii + 1
rsMed.Update
DoCmd.OpenForm ("Мед_карта")
______________________________
Dim res As Integer
If Forms!Мед_карта!Кодотд = "6" Or Forms!Мед_карта!Кодотд = "7" Or Forms!Мед_карта!Кодотд = "8" Then
res = MsgBox("Пациент будет
If res = 1 Then
If Forms!Мед_карта!Кодотд = "6" Then
Forms!Мед_карта!Кодотд = "2"
End If
If Forms!Мед_карта!Кодотд = "7" Then
Forms!Мед_карта!Кодотд = "3"
End If
If Forms!Мед_карта!Кодотд = "8" Then
Forms!Мед_карта!Кодотд = "4"
End If
End If
End If
End
Function
Модуль "Для_отчетов":
Option Explicit
Dim db As Database, rsEpik As Recordset, rsDoc As Recordset, rsMK As Recordset
Dim rsDia As Recordset, rsBuf As Recordset, i As Integer
_______________________
Public Sub Эпикр()
Set db = CurrentDb
Set rsEpik = db.OpenRecordset("Эпикр")
Set rsDoc = db.OpenRecordset("Документы")
rsDoc.MoveFirst
rsEpik.Edit
rsEpik!НомерНазн = 0
rsEpik!НомерАК = 0
rsEpik!НомерДоп1 = 0
rsEpik!НомерДоп2 = 0
rsEpik!НомерДоп3 = 0
rsEpik!НомерРЭГ = 0
rsEpik!НомерРент = 0
rsEpik!НомерЭЭГ = 0
rsEpik!НомерЭхоЭС = 0
rsEpik!НомерЭКГ = 0
rsEpik!НомерПат = 0
rsEpik!НомерКТгол = 0
rsEpik.Update
Do Until rsDoc.EOF = True
If rsDoc!КодМедкарты = rsEpik!КодМедкарты Then
rsEpik.Edit
Select Case rsDoc!Документ
Case "Назначения": rsEpik!НомерНазн = rsDoc!КодДок
Case "Анализ крови": rsEpik!НомерАК = rsDoc!КодДок
Case "Электроэнцефалоскопия (ЭЭГ)": rsEpik!НомерЭЭГ = rsDoc!КодДок
Case "Эхоэнцефалоскопия (Эхо-ЭС)": rsEpik!НомерЭхоЭС = rsDoc!КодДок
Case "Электрокардиография (ЭКГ)": rsEpik!НомерЭКГ = rsDoc!КодДок
Case "Реоэнцелография (РЭГ)": rsEpik!НомерРЭГ = rsDoc!КодДок
Case "Рентгенография": rsEpik!НомерРент = rsDoc!КодДок
Case "Патопсихологическое исследование": rsEpik!НомерПат = rsDoc!КодДок
Case "КТ головного мозга": rsEpik!НомерКТгол = rsDoc!КодДок
Case "Дополнительное обследование"
If rsEpik!НомерДоп1 = 0 Then
rsEpik!НомерДоп1 = rsDoc!КодДок
ElseIf rsEpik!НомерДоп2 = 0 Then
rsEpik!НомерДоп2 = rsDoc!КодДок
ElseIf rsEpik!НомерДоп3 = 0 Then
rsEpik!НомерДоп3 = rsDoc!КодДок
End If
End Select
rsEpik.Update
End If
rsDoc.MoveNext
Loop
End Sub
_______________________
Public Function Диагр1()
DoCmd.OpenReport "Диаграмма", acViewPreview
End Function
_______________________
Public Sub Диагр2()