Проектирование медицинской информационной системы выполняющей функции регистрации пациентов

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

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

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

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

5. Отсутствует необходимость дублирования информации статистическим и финансовым отделом. При работе в МИС данные единоразово заносятся лечащим врачом, а далее обрабатываются параллельно финансовым и статистическим отделами.

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

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

Спроектированная МИС является модульной, что позволяет, при необходимости, расширять и углублять систему за счет добавления новых модулей.

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Смирнов Н.В. Проектирование информационных систем. Методические рекомендации по курсовому проектированию, 2009г.

2. Столбов, А. П. Организация электронного документооборота в здравоохранении // Врач и информационные технологии,2007г.

3. Информационные технологии в медицине. ГОСТ Р 52636-2006 Электронная история болезни.

4. Столбов, А. П. Типовая медицинская информационная система персонифицированного учета оказания медицинской помощи в вопросах и ответах. Часть 2 // Врач и информационные технологии, 2009г.

5. Гусев, Е.И.Кичигина, Е.Г. Мягкова. Медицинская информатика. Электронное учебное пособие, 2016.

6. А.Н. Наумов, Системы управления базами данных и знаний: Справочное пособие. М.: Финансы и статистика, 1991г.

7. Мартин Дж. Организация баз данных в вычислительных системах: пер. с англ. - М: Мир, 1990.

8. Г. Буч, Д. Рамбо, А. Джекобсон Язык UML Руководство пользователя, 2001г.

ПРИЛОЖЕНИЕ

Запрос, выводящий результат поиска для модуля регистратура:

IF p_birthdat IS NOT NULL THEN

IF p_birthyearonly = 1 THEN

p_cmd_birthdate := ' AND trunc(birthdate, ''yyyy'') = gsp_char_2date(''' || gsp_date_2char(trunc(p_birthdat, 'yyyy')) || ''')';

ELSE

p_cmd_birthdate := ' AND birthdate = gsp_char_2date(''' || gsp_date_2char(p_birthdat) || ''')';

END IF;

END IF;

IF p_lastname IS NOT NULL THEN

p_cmd_fio := p_cmd_fio || ' AND lastname like ''' || p_lastname || '%''';

END IF;

IF p_firstname IS NOT NULL THEN

p_cmd_fio := p_cmd_fio || ' AND firstname like ''' || p_firstname || '%''';

END IF;

IF p_secondname IS NOT NULL THEN

p_cmd_fio := p_cmd_fio || ' AND secondname like ''' || p_secondname || '%''';

END IF;

IF p_num IS NOT NULL AND p_num NOT IN (-1, 0) THEN

p_cmd_num := ' AND p.num = ' || p_num;

END IF;

SELECT p.keyid

,p.id_patient

,p.lastname

,p.firstname

,p.secondname

,p.birthdate

,s.date

FROM patient p

,nomerok n

,schedule s

WHERE n.id_patient = p.id_patient

AND n.id_schedule = s.id_schedule

AND s.date = (Select MAX(date) from schedule where id_patient = p_keyid)

AND p.id_patient = p_keyid

AND '

|| p_cmd_fio

|| p_cmd_birthdate

|| p_cmd_police

|| ' ORDER BY lastname, firstname, secondname, birthdate';'

Запрос, обновляющий карточку пациента:

PROCEDURE patient_update(p_pat_id IN patient.keyid%TYPE DEFAULT NULL

,p_last_nameIN patient.lastname%TYPE DEFAULT NULL

,p_first_nameIN patient.firstname%TYPE DEFAULT NULL

,p_second_nameIN patient.secondname%TYPE DEFAULT NULL

,p_sexIN NUMBER DEFAULT 0

,p_birthdIN VARCHAR2 DEFAULT NULL

,p_passserIN patient.passser%TYPE DEFAULT NULL

,p_passnumbIN patient.passnumb%TYPE DEFAULT NULL

,p_passissueIN patient.passissue%TYPE DEFAULT NULL

,p_passdateIN VARCHAR2 DEFAULT NULL

,p_addr1IN VARCHAR2 DEFAULT NULL

,p_addr2IN VARCHAR2 DEFAULT NULL

,p_snilsIN VARCHAR2 DEFAULT NULL

,p_police_nameIN VARCHAR2 DEFAULT NULL

,p_police_dateIN DATE DEFAULT NULL

,p_police_numberIN NUMBER DEFAULT 0

,rc1 IN OUT pkg_global.ref_cursor_type) AS

l_birthdate DATE;

l_passdate DATE;

l_pinpatient.pin%TYPE;

BEGIN

l_birthdate := gsp_char_2date(p_birthd);

l_passdate := gsp_char_2date(p_passd);

UPDATE patient p

SET p.lastname = p_last_name

,p.firstname = p_first_name

,p.secondname = p_second_name

,p.sex = p_sex

,p.birthdate = l_birthdate

,p.passser = p_passser

,p.passnumb = p_passnumb

,p.passissue = p_passissue

,p.passdate = l_passdate

,p.addr_registr = p_addr1

,p.addr_live = p_addr2

,p.snils = p_snils

,p.police_name = police_name

,p.police_date = police_date

,p.police_number = police_number

WHERE p.keyid = p_pat_id;

end;

Запрос создание каточки пациента:

PROCEDURE patient_insert(p_pat_id IN patient.keyid%TYPE DEFAULT NULL

,p_last_nameIN patient.lastname%TYPE DEFAULT NULL

,p_first_nameIN patient.firstname%TYPE DEFAULT NULL

,p_second_nameIN patient.secondname%TYPE DEFAULT NULL

,p_sexIN NUMBER DEFAULT 0

,p_birthdIN VARCHAR2 DEFAULT NULL

,p_passserIN patient.passser%TYPE DEFAULT NULL

,p_passnumbIN patient.passnumb%TYPE DEFAULT NULL

,p_passissueIN patient.passissue%TYPE DEFAULT NULL

,p_passdateIN VARCHAR2 DEFAULT NULL

,p_addr1IN VARCHAR2 DEFAULT NULL

,p_addr2IN VARCHAR2 DEFAULT NULL

,p_snilsIN VARCHAR2 DEFAULT NULL

,p_police_nameIN VARCHAR2 DEFAULT NULL

,p_police_dateIN DATE DEFAULT NULL

,p_police_numberIN NUMBER DEFAULT 0

,rc1 IN OUT pkg_global.ref_cursor_type) AS

l_birthdate DATE;

l_passdate DATE;

l_pinpatient.pin%TYPE;

BEGIN

l_birthdate := gsp_char_2date(p_birthd);

l_passdate := gsp_char_2date(p_passd);

insert into patient p

(

p.lastname

,p.firstname

,p.secondname

,p.sex

,p.birthdate

,p.passser

,p.passnumb

,p.passissue

,p.passdate

,p.addr_registr

,p.addr_live

,p.snils

,p.police_name

,p.police_date

,p.police_number

)

values

(

p_last_name

,p_first_name

,p_second_name

,p_sex

,l_birthdate

,p_passser

,p_passnumb

,p_passissue

,l_passdate

,p_addr1

,p_addr2

,p_snils

,police_name

,police_date

,police_number

)

WHERE p.keyid = p_pat_id;

end;

Запрос отображения расписания:

Select to_char(s.time_start,'hh:mm') ||' - '|| to_char(s.time_end,'hh:mm')

, to_char(s.date,'dd:mm:yyyy')

,INITCAP(p.lastname)||' '||INITCAP(p.firstname)||' - '||INITCAP(p.secondname)

from schedule s, patient p, nomerok n

where s.date = p_date

and s.id_patient = p.id_patient

and n.id_schedule = s.id_schedule

and n.id_doctor = p_doctor

order by s.time_start;

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


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

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