Работа в картотеке поликлиники в чем заключается

Обновлено: 02.07.2024

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

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

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

1. Анализ характеристик объекта компьютеризации

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

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

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

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

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

2. Постановка задачи

Программный продукт работы с Базой данных должен быть написана на языке программирования С++ и реализован в программе MicrosoftVisualStudio (Visual Studio – линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств).

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

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

3. Синтез структур данных

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

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

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

Журнал посещений имеет вид:

1 Petrov gripp terapevt Nesterov 04.03.10

2 Visokovckiy dermatit terapevt Nesterov 04.03.10

3 Lynina pylpa terapevt Nesterov 04.03.10

4 Kovalchuk alergia terapevt Nesterov 04.03.10

5 Petrov infecsia terapevt Gifrit 05.03.10

6 Visokovckiy bechenctvo terapevt Gifrit 05.03.10

7 Petrov boli_v_serse terapevt Nesterov 05.03.10

8 Lynina vospalenie_legkih terapevt Nesterov 05.03.10

9 Kovalchuk bessonica terapevt Nesterov 05.03.10

10 Kovalchuk prostuda terapevt Nesterov 06.03.10

11 Petrov perelom_ryki hirurg Fimina 06.03.10

12 Kovalchuk otravlenie terapevt Gifrit 06.03.10

13 Petrov konuktivit terapevt Nesterov 06.03.10

14 Visokovckiy ochog hirurg Fimina 06.03.10

15 Petrov alergia terapevt Gifrit 07.03.10

16 Lynina prostuda terapevt Nesterov 07.03.10

17 Lynina apendisit hirurg Fimina 07.03.10

Структура данных, соответствующая этому файлу имеет вид:

int nomer; //номер пациента по порядку

char familia [41];//фамилия пациента

char diagnos [41];//диагноз

char vrach [41];//специализация лечащего врача

char famimlia_vracha [41];//фамилия лечащего врача

char data_post [10];//дата поступления пациента в поликлинику

1 Petrov Vasiliy Ivanovich 14.03.1984 Romachkova 175 75

2 Visokovckiy Nikolay Pavlovich 12.02.1980 Cheremyshkina 180 80

3 Lynina Anastasia Vasilievna 13.11.1982 Ivaskina 175 60

4 Kovalchuk Roman Petrovach 21.06.1986 Agronoma 170 75

Структура, соответствующая данной таблице имеет вид:

int nomer;//номер пациента по порядку

char familia [41]; //фамилия пациента

char imia [31]; //имя пациента

char itchestvo [41]; //отчество пациента

char data_rogd [11]; //дата рождения пациента

char ylisa [41]; //улица проживания пациента

int ves; //вес пациента

int rost; //рост пациента

4.Разработка алгоритмов системы

4.1 В ыбор языка

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

В 70-е годы человечество вошло в эпоху структурного программирования, которое помогло навести порядок. Язык. С предоставил в распоряжение программиста инструменты, необходимые для структурного программирования, а также обеспечил создание компактных, быстро работающих программ и возможность адресации аппаратных средств. Эти свойства помогли языку С стать господствующим языком программирования в 80-е годы. В то же время появилась и новая модель программирования – объектно-ориентированное, или ООП.

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

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

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

4.2 Алгоритмы системы

Алгоритм работы программы зависит от выбора пользователя. Рассмотрим каждый вариант ответа пользователя и реакцию программы:

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


Рисунок 4.1 – Алгоритм добавления новых данных

Если в главном меню выбран пункт 2, т.е. пользователь высказал свое желание удалить запись из журнала посещаемости. После осуществления выбора на экране высвечивается полный, нумерованный список посещений. Для продолжения пользователь выбирает номер записи, которую необходимо удалить (см. рис. 4.2.).


Рисунок 4.2 – Алгоритм удаления записи из журнала посещений

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


Рисунок 4.3 – Алгоритм удаления данных из картотеки

При выборе 4-ого пункта происходит редактирование данных. При этом перед пользователем будет поставлен выбор – редактирование информации из первой либо из второй таблицы он желает осуществить (из журнала посетителей или из картотеки). В зависимости от выбора пользователя перед ним высветятся либо данные картотеки либо данные журнала посетителей и пользователь выберет номер редактируемой записи. .При этом все данные выбранной строки удаляются и пользователь заново введет все данные о пациенте в выбранную таблицу (см. рис. 4.4).


Рисунок 4.4 – Алгоритм редактирования данных

При выборе пункта просмотра пользователю будут предложены два варианта – просмотр списка посещений либо просмотр картотеки. Выбранная таблица высветится на экране (см. рис. 4.5).


Рисунок 4.5 – Алгоритм просмотра данных

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


Рисунок 4.6 – Алгоритм поиска по фамилии

Выход. При выборе этого пункта пользователем будет осуществлен выход из программы (см. рис. 4.8).


Рисунок 4.8 – алгоритм выхода из программы

5. РЕЗУЛЬТАТЫ КОМПЛЕКСНОГО ТЕСТИРОВАНИЯ

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

Для добавления записи необходимо выбрать в главном меню пункт 1. При этом пользователю будет предложено ввести данные о больном в картотеку (см. рис. 5.2).

Данные о новом пациенте записаны в журнал посещений.

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

В зависимости от выбранного варианта будет показана либо таблица посещений (см. рис. 5.5), либо картотека (см. рис. 5.6).

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

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

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

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

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

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

Для выхода из программы необходимо выбрать цифру 8. После этого будет осуществлен моментальный выход из программы.

Результатом выполнения курсовой работы является рабочая программа, связывающая две таблицы. Недостатком этой программы является тот факт, что для многих служащих в поликлинике язык С++ и работа на нем являются неизвестной сферой, а значит в больнице должен работать также и специалист по этим вопросам, чтобы в случае неполадки устранить ее в короткий срок. Для решения этой проблемы была разработана специальная программа Access, более понятная сотрудникам, которая не нуждается в специально обученных людях. Эта программа создана на основе логики языка С++, но имеет другой внешний вид, более удобный и понятный. Она создана специально для работы с базами данных, и в нее встроены некоторые функции, которые в С++ необходимо описывать отдельно.

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

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

ИСПОЛЬЗОВАННАЯ ЛИТЕРАТУРА

1 Динман М.И. С++. Освой на примерах. – СПб.: БХВ-Петербург, 2006. – 384 с.

Чтобы найти карточку интересующего вас пациента, нужно в строке поиска (в правом верхнем углу) начать вводить фамилию пациента (2). Внимание: При наличии большого количества однофамильцев одной фамилии будет недостаточно — в выпадающем списке отображается только десять совпадений, а Ивановых, Петровых и Сидоровых могут быть десятки. Но полностью прописывать имя-отчество тоже необязательно. Вы можете добавить к фамилии инициалы пациента, и программа покажет вам тех, кто подходит под запрос.

Искать пациентов можно также по номеру телефона и по номеру карты.

Если простой поиск не дал результатов, можно воспользоваться расширенным поиском. Для этого нажмите на кнопку с изображением трех точек (3) рядом с полем поиска.


В расширенном поиске можно найти пациента, например, по лечащему врачу (1), по дате приема (2), по оказанной услуге (3), а также по другим дополнительным параметрам.



Главная страница карточки пациента

На главной странице (1) карточки пациента вы увидите его статус (2) (первичный, отконсультрованный или повторный), а также основную информацию (3) — ФИО, дату рождения, адрес, телефон.

Через главную страницу карточки можно:

Прямо из карточки вы можете записать пациента на прием. Для этого нужно нажать на кнопку с изображением календаря в верхнем меню страницы (10).




Добавление и редактирование карточек





Когда внесете всю информацию в карточку, не забудьте сохранить изменения (4).




Все изображения можно группировать либо по дате (1), либо по зубам (для этого нужно нажать на стрелочку (2), раскрыть выпадающий список и выбрать нужный вид группировки). Также можно отобразить только какой-то конкретный тип изображения (3) — рентгеновские снимки, фотографии, документы.


  • Проведенные приемы (1) — не выделяются никаким цветом.
  • Будущие приемы (2) — серый цвет.
  • Отмененные приемы окрашены в зеленый, желтый или красный цвета.
    • Зеленый (3) — прием был отменен клиникой.
    • Желтый (4) — прием был отменен пациентом заранее, например, за неделю, за пару дней.
    • Красный (5) — пациент или не пришел на прием без предупреждения или отменил его поздно, например, за час до начала приема, когда уже невозможно заполнить этот пробел в расписании.


    Обратите внимание, что над детализированной таблицей вы видите все основные статистические данные по приемам пациента:

    Если несколько строк объединены в одну (9), значит были переносы. По сути это логическая цепочка, связанная с одним приемом, поэтому порядковый номер в первом столбце у всех этих строк общий. Номер присваивается только состоявшимся приемам и цепочкам, которые завершились примером.



    Таблица разделяется серой чертой на будущие и завершенные события.

    Символ приема — изображение календаря.

    Цвет символа показывает статус приема:

    Номер присваивается только завершенным приемам (2) .

    Строки с завершенными приемами никак дополнительно не выделяются.

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

    Строки с отмененными приемами дополнительно выделяются серым фоном . Вы видите — с какими причинами и с какими комментариями приемы были отменены.

    • желтый цвет означает, что прием отменен вовремя — накануне или за несколько дней, то есть у клиники еще было время заполнить пробел в расписании;
    • красный — отменен поздно — за несколько часов до приема или непосредственно перед ним.

    Если вы забудете, что именно означает цвет статуса, можно навести на него курсор мыши и посмотреть всплывающую подсказку.

    Об отмене приемов читайте здесь.


    Если пациент отменяет прием, но знает когда сможет прийти в следующий раз, его прием нужно перенести, а не отменять.


    В блоке над списком приемов вы увидите общую информацию:

    • сколько у пациента будущих приемов (БП) (1);
    • сколько приемов завершено (2);
    • процент завершенных приемов (3) — при наведении курсора мыши на процентные данные появится формула расчета этого показателя;


    процент отмен и переносов (4) (при наведении вы также увидите формулу расчета) — красный цвет показывает, что вероятность отмены или переноса очень высока;


    сколько у пациента было отмен и переносов — при наведении на количественный показатель курсора мыши вы сможете посмотреть, сколько было отмен или переносов поздно (5), а сколько вовремя (6).


    При наведении курсора мыши на дату в последнем столбце (1) вы увидите всплывающую подсказку (2): у записей на прием — кто их создал, у переносов — кто переносил прием, у отмен — кто отменял прием.


    Вы можете также почитать все имеющиеся комментарии к записям на прием — и завершившимся визитом к врачу (так можно, например, сравнить — какие услуги планировалась оказать пациенту и какие в итоге были ему оказаны), и отмененным (так можно попытаться найти причины отмены).

    Чтобы почитать комментарии, наведите курсор мыши на специальный символ перед временем приема.


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

    При наведении на время, которое фактически занял прием, в подсказке появится:

    • планируемое время приема;
    • когда пациент пришел;
    • фактическое время приема;
    • когда пациент был рассчитан.

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


    Можно нажать правой кнопкой мыши на строке с заинтересовавшим вас событием (1), перейти к приему в расписании (2) и посмотреть: как сдвинутые границы приема повлияли на других пациентов — возможно им пришлось ждать приема, и это могло вызвать недовольство.



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



    История изменений


    Все изменения, совершенные за один раз, отображаются в поле справа: в первом столбце — что было (1), во втором — что стало (2). Над списком изменений в поле справа также отображаются дата и время и фамилия сотрудника (3).







    Читайте также: