powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / проектирование БД по учету больных в поликлинике
35 сообщений из 35, показаны все 2 страниц
проектирование БД по учету больных в поликлинике
    #35823026
Здравствуйте все!
Начал проектировать БД под Access. Сейчас кратко поясню предметную область:

Сущности:
Код: plaintext
1.
2.
Врач. Данные врачей и младших медработников поликлиники, в т.ч. регистраторов. 
Атрибуты сущности: Фамилия, Имя, Отчество, Дата рождения, 
Образование, Специальность, Учебное заведение, Должность, Адрес, Телефон.

Код: plaintext
1.
2.
3.
Пациент. Данные пациентов поликлиники.  Атрибуты сущности: Дата регистрации, Фамилия, Имя, Отчество, Пол, Дата рождения, 
Образование, Социальный статус, Паспортные данные, 
Номер мед. полиса, Дата выдачи и Фирма, 
Место работы. Адрес, Телефон, Мобильный телефон, Врач (регистратор).

Код: plaintext
1.
Специализация. Список специализаций врачей и младших медработников (терапевт, ЛОР, стоматолог и д.р.). 
Атрибуты сущности: Обозначение, Название, Описание. 

Код: plaintext
Болезнь. Список болезней. Атрибуты сущности: Название, Описание признаков, Методы лечения.

Код: plaintext
1.
Процедура. Список видов обслуживания пациента.  
Атрибуты сущности: Код, Наименование (прием у врача, УВЧ, перевязка, анализ крови и т.д.). 

Код: plaintext
1.
2.
История болезни. Данные состояния пациентов на моменты приемов, назначенные лечения, проведенные процедуры, результаты анализов.  
Атрибуты сущности:   Дата и Время, Пациент, Процедура, Кабинет, Врач, Описание жалоб,
 Состояние (описание осмотра пациента или результатов анализа), Болезнь, Назначение.

вроде бы структура не очень сложная, но все равно возник ряд вопросов:
1) таблица "Специализация" к чему относится? Сейчас на схеме БД(см. рис) она висит особняком как неприкаянная, это же неверно? Или это можно отнести к должности врачей?

2) анализ быстродействия сказал, что улучшать нечего, но мне кажется что можно еще вынести в отдельную таблицу "Социальный статус" в таблице "Пациент"?

3) создал отдельную таблицу для Образования, т к это могут быть фиксированные значения: высшее, среднее, незаконеченное высшее и прочее

4) в целом покритикуйте БД, сделайте замечания и пожелания по структуре

но самое важное, это конечно понять, что делать с таблицей "Специализация".

Нужно так спроектировать БД, чтобы потом без особых сложностей можно было выполнить:
1) Регистрация нового пациента, прием пациента. В операции регистрации создается новая запись таблицы Пациент. В операции приема пациента создается новая запись таб-лицы История болезни.

2) Анализ посещений. Операция должна определять и выводить на экран количество посещений пациентами врачей заданных специализаций и количество пациентов, посе-тивших этих врачей (количество одновременно указываемых в диалоговом окне специа-лизаций – 5).

3) Вывод истории болезни заданного пациента. Операция должна выбирать из таблицы История болезни все записи, относящиеся к заданному пациенту и выводить их содержи-мое в виде отчета.

4) Вывод списка посещений заданного пациента. Операция должна определять и выво-дить в окно список врачей разных специализаций, которых посещал пациент и количество этих посещений.

5) Итоги работы поликлиники. Операция должна определять количество пациентов, принятых каждым из врачей поликлиники за год и выводить эти данные в виде таблицы и диаграммы на экран.
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35823083
ддддд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Врачи тоже иногда могут быть пациентами...
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35823092
Фотография Mr Marmelad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллега, аттрибут Специальность врача по всей видимости и будет сноской на Вашу табличку "Специализация" . Хотя конечно тут вопрос такой. По общемедицинской практике например в США квалифицированный врач имеет общую специализацию и узконаправленную. То есть все они MD - доктора медицины. Все имеют Общую Специализацию - например терапия и могут иметь и узкую специализацию - педиатрия, терапия геронтологических заболеваний, терапия аллергических заболеваний и так далее. вам я бы порекомендовал определить зависимость этой иерархии специализаций и может быть даже развести М:М сущности - Доктор - Специализация.
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35823115
авторКоллега, аттрибут Специальность врача по всей видимости и будет сноской на Вашу табличку "Специализация" .
я почему то думаю, что "Специальность" больше относится к специальности, которую он получил после окончания университета, коледжа и прочее? может я ошибаюсь конечно.

еще не совсем понимаю должность врача? это например старший врач, помощник и т. д. ? думал, что должность, это и есть терапевт, гинеколог, ЛОР и прочее?

по поводу создания М : М доктор : специализация, нужно подумать, насколько это усложнит реализацию функций? скорее всего оставлю М : 1.
что скажете Mr Marmelad?
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35823120
авторВрачи тоже иногда могут быть пациентами
теоретически да, да и практически довольно часто бывает наверное. Ну и что, не вижу проблем.
Пускай будет врач ЛОР Иванов Петр Игнатович, допустим он заболее туберкулезом, тогда будет создан новый пациент как Иванов Петр Игнатович. В чем проблема? Или вы считаете что будет избыточность данных? скорее всего нет, т к у них разные логические направления.
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35823235
Фотография Mr Marmelad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проектировщикс,

Должность Врача - это эго иерархия в конкретной клинике. Он может быть Зав Отделением, Старшим / младшим, приходящим-замещающим (контрактором) , регистратором, техником - акушером и так далее. Это относится к должностям. Относится к должностной сетке клиники как организации. А вот квалификационные стандарты - терапефт, ЛОР, Хирург, Акушер-гинеколог, дантист, педиатр, - ето всё специальности по диплому у конкретного лица - В клинике как мы знаем могут работать не только врачи. Там будут и техники - рентгенологи, зубные протезисты, бухгалтеры, Инженеры системотехники.... В Зависимости от квалификации по диплому то или иное лицо будет определено на ту или иную позицию в должностной иерархии клиники.
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35823244
Фотография Mr Marmelad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проектировщикс,

Почему я рекомендую сделать М:М разноску в Доктор - Специальность.

1. Много Докторов может иметь специальность Терапевт
2. Один Доктор может иметь два и более дипломов - Он и Терапевт (1995) и ЛОР (1998) и дантист (2004) почему бы и нет? Но должность занимает Терапевта. И (основная) его специальность - терапевт
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35823255
Mr Marmelad, теперь все понятно, спасибо большое.
начинаю доделывать БД.
P.S. все таки связь оставлю между доктором и специализацией М : 1.
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35823268
в итоге схема БД приняла такой окончательный вид, надеюсь все верно сейчас:
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35823288
Фотография BULK INSERT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проектировщикснадеюсь все верно сейчас:

нет, все неверно... начиная с сабжекта топика "БД по учету больных в поликлинике"

курсовик?
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35823294
все таки добавил таблицу для социального статуса пациента и получил теперь надеюсь точно окончательный вариант:
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35823309
Фотография BULK INSERT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проектировщикси получил теперь надеюсь точно окончательный вариант:

это очень слабенькая схема.

не говоря уже о том, что социального статуса пациента не существует.
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35823322
авторне говоря уже о том, что социального статуса пациента не существует.

ну почему же, вот например примитвная иерархия:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Код	Социальный статус
 1 	Ребенок
 2 	Школьник
 3 	Студент
 4 	Аспирант
 5 	Рабочий
 6 	Офисный работник
 7 	Директор
 8 	Безработный
 9 	Государственный чиновник
 10 	Президент
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35823332
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проектировщикс,

кхе-кхе... вообще-то...

1) эта иерархия не отностися к сущности "пациент"
2) это вообще ни какая не иерархия
3) это вообще не социальные статусы

атрибут "социальный статус" может относиться к сущности "person" и транзитивно отображаться на сущность "пациент"
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35823338
Фотография BULK INSERT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проектировщикс[quot автор]не говоря уже о том, что социального статуса пациента не существует.[/quo]ну почему же, вот например примитвная иерархия:

директор запросто может быть офисным работником а президент государственным чиновником (по крайней мере один из них <президенов> уж точно государственный чиновник)
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35823538
П-Л
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если это не учебный пример, а попытка сделать нечто для реального медицинского заведения, то схема БД в самом нулевом приближении должна содержать несколько дюжин таблиц-сущностей. Более-менее работающая система - далеко за сотню.
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35823544
Фотография Mr Marmelad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
П-ЛЕсли это не учебный пример, ....

От себя добавлю - не делайте ЭТО на MS Access - не надо... Болезней не хватит - табличка не выдержит...Если это РЕАЛЬНЫЙ Проект
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35823602
Уважаемый Mr Marmelad, давайте подведем итог данной БД:
1) конечно это не боевая БД, или все издеваются. Я прекрасно понимаю, что здесь упущены все нюансы
2) что еще нужно внести фундаментального в БД или все в принципе нормально?
3) это лабораторная по Access 2003 и не более того

как только вы дадите добро, я отобью чекПоинт и начну реализацию интерфейса для данной программы и начну мучать ветку по Access вопросами!
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35823630
Фотография alex_ll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Связь доктор-специальность 1:м - самое неправильное допущение. У меня в организации есть гинеколог и есть гинеколог-эндокринолог. В соседней один и тот же человек работает на пол ставки психотерапевтом и на четверть ставки диетологом. Если это называется учет больных - то от пациента плясать наверное правильно, а если поликлиника - то лучше от штатного расписания, где по мимо врачей есть и кочегары-вахтеры. Но поскольку у Вас лаба, то первое на что стоит обратить внимане - это дотошность преподователя и Ваши обоснования именно такого выбора схемы БД

P.S. Да глав. врач это административная должность, на человеческий можно перевести как директор поликлиники. И он если кого и лечит, то только в том случае, когда совмещает должность глав. врача с окулистом например.
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35825322
Фотография Mr Marmelad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проектировщикс,

Коллега если Вам надо моё ДОБРО - можете не сомневаться - Я Вам его уже дал. Мне Ваш проект вполне нравится...
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35825476
expla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mr Marmeladпроектировщикс,

Почему я рекомендую сделать М:М разноску в Доктор - Специальность.

1. Много Докторов может иметь специальность Терапевт
...

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

То же самое можно сказать про специализацию врача.

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

Кроме того врач может совмещать работу на двух и более позициях в штате.

Если вас волнуют эти вопросы, нужно доработать схему БД, т.е. добавить некий штатный учёт, а не только кадровый.
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35825666
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
expla
Должность сотрудника по штатному расписанию это вообще говоря не свойство сотрудника, это связь между сотрудником и позицией в штате, т.е. некий внешний объект.

ну... вообще-то

"сотрудник" это "персона" назначенная на "должность" в "штате"...

tblEmployees

EmployeeID PK
--------------
PersonID FK
PositionID FK
-------------
AssignmentDate
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35825692
expla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
proposed amendment,

а как же внештатный сотрудник?
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35825723
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
explaproposed amendment,

а как же внештатный сотрудник?


надо в штат внештатные должности включать
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35825878
expla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
proposed amendment,

ДальСотрудник
-ница, соучастник в трудах, помощник в деле, в работе, сотоварищ по трудам.

Никакого отношения к штатному расписанию это понятие не имеет. Отсюда и прикручивание в штатное расписание внештатных должностей.
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35826011
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я в курсе... employee <> сотрудник
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35830125
Фотография shelsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Воспользуйтесь поиском и найдите:
1) Справочники и классификаторы используемые в медицине (сразу увидите что уйдет в таблицы-классификаторы)
2) Примеры подобных вашей систем, где-то даже был их сравнительный анализ
3) В том числе и на этом форуме и форуме "Разработка ИС" обсуждалась структура этих систем

По крайней мере если не модернизируете свою структуру БД найдете хорошие фразы для диплома. курсовика Ж))))




______________________________________________________
Давайте считать обступившее нас со всех строн коричневое море шоколадным
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35832199
__Avenger__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дддддВрачи тоже иногда могут быть пациентами...

+1.

Не стоит делить сущность клиенты на клиенты и докторы.
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35832387
alexdr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наверное, во многом повторю то, что Вам в этой ветке уже написали.
проектировщикся почему то думаю, что "Специальность" больше относится к специальности, которую он получил после окончания университета, коледжа и прочее? может я ошибаюсь конечно.
Ошибаетесь. В дипломе у врача чаще всего стоит специальность "лечебное дело".
проектировщиксеще не совсем понимаю должность врача? это например старший врач, помощник и т. д. ?
Должность - это, напр., завотделением, ординатор, медсестра, старшая медсестра и т.п. Впрочем, об этом уже написали.
проектировщиксдумал, что должность, это и есть терапевт, гинеколог, ЛОР и прочее?
Mr MarmeladВ Зависимости от квалификации по диплому то или иное лицо будет определено на ту или иную позицию в должностной иерархии клиники.Строго говоря, это не так.
По сути это можно назвать специализацией или как-то там еще. Для выполнения соответствующих, Вами перечисленных функций, врач должен иметь сертификат с конкретной специализацией. Речь идет не о разных дипломах, а разных сертификатах. Сертификаты имеют срок действия, после истечения которого, если сертификат не продлен, врач теряет право на занятие данной деятельностью. Существуют еще и иные ограничения, но они, по-видимому, лежат вне "видимости" этого проекта.
проектировщикспо поводу создания М : М доктор : специализация, нужно подумать, насколько это усложнит реализацию функций? скорее всего оставлю М : 1.
Как Вы планируете выходить из ситуации, когда врач имеет несколько сертификатов и может вести прием, скажем, как терапевт и как рентгенолог, напр., при внутреннем совместительстве?
проектировщиксИли вы считаете что будет избыточность данных? скорее всего нет, т к у них разные логические направления.Будет. Как Вы собираетесь, напр., обновлять, напр., дату рождения или какой иной атрибут, когда в разных ролях выступает одна и та же личность? В двух местах?
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35832423
alexdr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Совершенно не нравится в Вашей схеме сущность Болезнь и все что с ней связано. Каждый человек болеет как правило не одной болезнью, а многими. Каждая болезнь имеет целую массу методов лечения, которые замучаетесь моделировать в БД. Что-то мне подсказывает, что нет никакого смысла в сущности Болезнь описывать ее "признаки". Каждая запись в истории болезни не обязательно означает процедуру. Записи в истории болезни могут оставлять не только лечащие врачи. Существуют записи, которые "подписывает" не один врач, а несколько, причем не только врачей. Напр., протокол операции, где фигурирует хирург, его ассистенты, опер. сестра, анестезиолог и анестезист и т.п. Та же проблема может возникать с оформлением консилиумов, различных комиссий. Не понятно, почему атрибутом каждой записи истории болезни является кабинет? А если речь идет о записи, сделанной врачом по результатам вызова на дом? В Вашей БД насколько я понимаю, вообще нет реальной информации о том, что именно было обнаружено, исследовано или сделано для Вашего пациента отсутствует протокол "процедуры", результаты осмотра т.п. Ну, и еще масса всяких вещей, делающих эту БД практически бесполезной как для врача, так и для пациента. Замучился писать. Если интересно, можно будет потом углубляться в каждую отдельную проблему, или озвучить еще целую кучу.

PS. Существует еще такая вещь, как диагнозы. Диагнозы живут своей жизнью, они имеют разные типы: предварительный, клинический, окончательный и т.д. и т.п. Диагнозы появляются с течением времени и могут сниматься.
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35836475
схема БД уже определена и реализован больший функционал, поэтому доделки возможны, но не значительные, поскольку ядро БД уже спроектировано!

возникли непреодолимые сложности с решением последнего вопроса из 5, а именно:

Код: plaintext
1.
2.
 2 ) Анализ посещений. Операция должна определять и выводить на экран количество 
посещений пациентами врачей заданных специализаций и количество пациентов, посетивших 
этих врачей (количество одновременно указываемых в диалоговом окне специа-лизаций –  5 ).

понимаю как получить количество посещений пациентами врачей всех специализаций, НО КАК В ЭТОМ ЖЕ ЗАПРОСЕ ПОЛУЧИТЬ КОЛИЧЕСТВО ПАЦИЕНТОВ, ПОСЕТИВШИХ ЭТИХ ВРАЧЕЙ? Также пока проблемы с указанием 5 специалиаций, но об этом попозже можно поговорить будет.

например имеются такие данные:
пациент Иванов, Сидоров, Петров.
врач: Малахов, Нагиев, Жванецкий.
Иванов был у всех по два раза например.
Сидоров был только у Нагиева 3 раза.
Петров был у Нагиева 1 раз и 2 раза у Жванецкого.

какой будет ответ в по этим данным:
Фамилия врача | Кол посещений | Кол пациентов
Малахов | 2 |1
Нагиев | 6 |3
Жванецкий |4 |2

возможно ли получить такой запрос исходя и приведенной выше схемы данных?
спасибо за помощь!!!
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35836483
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проектировщикспоскольку ядро БД уже спроектировано!

нифигасе!


проектировщиксвозможно ли получить такой запрос исходя и приведенной выше схемы

да, это обычный запрос с группировками
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35836546
авторэто обычный запрос с группировками
это хорошо что можно!!
может как нибудь формализуете его! я сам могу только первую часть, а вторую нет!
спасибо
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35844781
почти построил подобный запрос:
Код: plaintext
1.
2.
3.
4.
5.
SELECT HistoryIllness.IDdoctor, Count(HistoryIllness.IDpatient) AS [Количество посещений], 
Count(HistoryIllness.IDpatient) AS [Количество пациентов], Doctor.specialnost
FROM Specialization INNER JOIN (Patient INNER JOIN 
(Doctor INNER JOIN HistoryIllness ON Doctor.IDdoctor = HistoryIllness.IDdoctor) ON 
Patient.IDpatient = HistoryIllness.IDpatient) ON Specialization.IDspecialization = Doctor.specialnost
GROUP BY HistoryIllness.IDdoctor, Doctor.specialnost;

но необходимо добавить distinct в
Код: plaintext
Count(distinct HistoryIllness.IDpatient) AS [Количество пациентов]
чтобы получить без повторов, однако выдается сообщение об ошибке:
ошибка синтаксиса (пропущен оператор)

можно ли ее как нибудь победить?
...
Рейтинг: 0 / 0
проектирование БД по учету больных в поликлинике
    #35851349
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проектировщиксможно ли ее как нибудь победить?

купите книжку по SQL
...
Рейтинг: 0 / 0
35 сообщений из 35, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / проектирование БД по учету больных в поликлинике
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]