![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
структура таблиц [D7, IB6.x]
stud © (2003-09-05 15:59:00)
проблема следующая, необходимо составлять расписание, для мед.учреждения, т.е. со всеми вытекающими)) если у кого есть опыт - может поделится?? ориентировочный вид интерфейса и примерная структура таблицы
stud (2003-09-08 16:35:00) [1]
вариант)))
HSolo (2003-09-08 16:30:00) [2]
Напишите view или процедуру, которая вернет выборку, удобную для отображения
stud (2003-09-08 16:25:00) [3]
у меня сейчас так:
ID INTEGER NOT NULL,
DATEPR TIMESTAMP NOT NULL,
TIMEPR TIMESTAMP NOT NULL,
KOD_VR INTEGER,
KAB INTEGER,
KL INTEGER,
K_USL INTEGER
но такую структуру не удобно отображать на экране
Mirovodin (2003-09-08 15:34:00) [4]
> только примерный алгоритм я описал выше. хотелось бы, чтобы
> и расписание и предварительная запись в одной таблице хранились,
> хотя сейчас у меня это уже реализовано.
Так на эту структуру все хорошо ложится. Можно и предварительную запись пациентов делать, добававив например у каждой записи ParentId и ParentClass Для пациента это будет ID доктора и "DOC".
Выборки на MS SQL делаются элементарно с пом-ю JOIN"в и CASE.
otvet (2003-09-08 13:03:00) [5]
>NickBat ©
Для смеху пишешь?
stud (2003-09-08 12:41:00) [6]
сахранять разумеется надо.
> Mirovodin ©
это здорово. только примерный алгоритм я описал выше. хотелось бы, чтобы и расписание и предварительная запись в одной таблице хранились, хотя сейчас у меня это уже реализовано. единственно неудобно отображать эти данные на экране
Mirovodin (2003-09-08 12:17:00) [7]
Да ObjID - может быть ID пациента, тогда ClssName = "POC"
Mirovodin (2003-09-08 12:15:00) [8]
1) Справочник врачей. (ID врача, номер).
2) Таблица занятия ресурса.
ID ObjID ClassName D1 D2 RaspID TypeID ...
ID автоинкримент
ObjID - ID доктора или врача
ClssName- "DOC", "POC" и т.д.
D1 - начало приема (только время)
D2 - конец приема
RaspID - ссылка на таблицу, где будет создан справочник
когда врач принимает (например ПН, ВТ. и т.д.);
TypeID - тип - ну например можно временно приостанавливать прием врача.
В эту таблицу писать и врачей и пациентов. Структуру для Rasp (RaspID ) можно наращивать. Например сначала сделать чтоб анализировался только день недели, а потом добавить дополнительно месяца, кварталы, и т.д.
Выборки делать очень просто.
NickBat (2003-09-08 12:14:00) [9]
> а зачем вообще пишутся вещи вроде органайзеров и т.п.....
> не хочется изобретать велосипед.
Вот и возми готовый. Тем более, что задача к этому располагает.
Скажи тебе надо сохранять историю расписания или нет?
stud (2003-09-08 12:02:00) [10]
на самом деле задача немного сложнее))
сначала составляется расписание работы врачей в котором определяется в какие дни и в какое время данный врач МОЖЕТ работать. затем исходя из этого составляется реальное распичание работы врача в учреждении т.е. определяется когда он РЕАЛЬНО работает. затем в рабочее время (реальное) добавляются клиенты и т.д.
но фишка собственно вот в чем. на экране это должно выглядеть примерно так:
понед вторник среда четверг .......
11,00 11,00
12,00 12,00
13,00 ............................
и тут например тащиш врача на нужное время
в следующем окне (практически такое же) расставляются кабинеты в которых врачи принимают.
так вот интереснует структура таблицы, чтобы максимально упростить последующую обработку.
Vlad (2003-09-08 11:29:00) [11]
2 stud © (08.09.03 11:22) [13]
Еще раз повторяю. Расписание как таковое составить не сложно.
Т.е. максимум - 2 таблицы. 1-я справочник сотрудников (врачей) с уникальным идентификатором каждого. 2-я - само расписание, примерно с такими полями: ID_VRACHA, DATE_PRIEM, TIME_BEGIN, TIME_END, FIO_BOLNOGO, COMMENT .
Другое дело, что возможно в рамках твоей задачи требуется вести базу клиентов, со всеми их реквизитами, историей посещения, болезней итд. Это уже сложнее.
stud (2003-09-08 11:22:00) [12]
действительно несложно???????
больные уже лечатся, врачи их тоже лечат, осталось, чтобы все происходило по расписанию))))
Vlad (2003-09-08 10:59:00) [13]
Расписание приема врачей составить конечно же несложно. 3-5 полей в таблице.
Но, подозреваю, помимо этого задача требует создания приличной базы клиентов (т.е. больных)?
stud (2003-09-08 10:53:00) [14]
> Я плохо понимаю как база данных может облегчить в этом случае
> жизнь врачу или регистратуре.
а зачем вообще пишутся вещи вроде органайзеров и т.п..... наверное это кому-то нужно.
видиш ли на все есть определенные нормы в том числе и на пациентов. меня интересует именно структура таблицы. т.к. не хочется изобретать велосипед.
NickBat (2003-09-05 18:04:00) [15]
Я плохо понимаю как база данных может облегчить в этом случае жизнь врачу или регистратуре. Обьясните плиз.
Откуда врач знает сколько времени у него уйдет на одного пациента? Если нужны данные только для регистратуры - проще в Экселе табличку слепить.
stud (2003-09-05 17:42:00) [16]
иванов работает с 8 до 20
прием в 13
прием в 14 и т.д.
на основании расписания осуществляется предварительная запись на прием
NickBat (2003-09-05 17:21:00) [17]
> расписание работы и приема врачами пациентов
Все равно не понятно.
Если вида:
Иванов с 8 до 10
Петров с 10 до 12
и т.д.
Так зачем для этого база данных?
Или надо вести учет приема пациентов?
То есть во сколько каждый пациент пришел, что ему назначили?
MsGuns (2003-09-05 17:02:00) [18]
>NickBat © (05.09.03 16:03) [1]
>Что такое "все вытекающие"? Анализ мочи?
Excellent !!!
Так заржал, что перепугал всех женщин в комнате.
stud (2003-09-05 16:58:00) [19]
однако богатая фантазия ........)))
расписание работы и приема врачами пациентов
Vlad (2003-09-05 16:14:00) [20]
Мед. учреждения разные бывают.
МОРГ - тоже мед. учреждение, причем со своим расписанием :)