DB_structure - oldmadjackal/DarkMed GitHub Wiki

Тот, кто хочет изменить базу данных…

Вписывает ниже номера задач, в которых подробно описывает желаемое изменение БД:

#111

В таблице MESSAGES добавлено поле DONE VARCHAR(1) - признак обработки.

В таблице REF_MESSAGES_TYPES добавлено значение CLIENT_ACCESS_PAGES - RU - Передача данных

Таблицы модели данных

ACCESS_LIST Реестр управления доступом и ключами
CLIENT_PAGE_MAIN Карточка клиента
CLIENT_PAGES Дополнительные страницы данных клиента
CLIENT_PAGES_EXT Дополнительные блоки данных клиента
CALLBACK_MSG Сообщения обратной связи от пользователей
DISEASES_EXT Дополнительные блоки описания заболеваний
DISEASES_REGISTRY Общий реестр заболеваний
DOCTOR_CERTIFICATES Квалификационные документы врача
DOCTOR_NOTES Заметки врача по пациенту
DOCTOR_PAGES_EXT Дополнительные блоки формуляра врача
DOCTOR_PAGE_MAIN Формуляр врача
MEASUREMENTS Значения контрольных измерений
MESSAGES Сообщения участникам
PRESCRIPTIONS_EXT Дополнительные блоки описания назначений
PRESCRIPTIONS_PAGES Состав назначений пациентам
PRESCRIPTIONS_REGISTRY Общий реестр назначений
RELEASES Список релизов
RELEASES_READ Список прочитанных релизов
SESSIONS Список активных сессий пользователей
SETS_ELEMENTS Список элементов в составе комплексов назначений
SETS_REGISTRY Список комплексов назначений
USERS Реестр пользователей

Справочники

REF_CERT_ISSUERS Перечень «выдавателей» квалификационных документов
REF_CERT_KINDS Перечень видов квалификационных документов
REF_DOCTOR_SPECIALITIES Перечень возможных специальностей врача
REF_MESSAGES_TYPES Перечень возможных типов сообщений
REF_PRESCRIPTIONS_KEYWORDS Перечень ключевых слов назначений
REF_PRESCRIPTIONS_TYPES Перечень категорий назначений

USERS

Реестр пользователей

Поле Тип not Null По ум. Описание
ID int(11) not null auto
LOGIN varchar(32) not null Логин пользователя
PASSWORD varchar(32) not null Первые 2…5 символы MD5-хэша пароля пользователя
EMAIL varchar(128) E-mail пользователя
SIGN_P_KEY varchar(256) Публичный ключ подписи
SIGN_S_KEY varchar(256) Секретный ключ подписи
MSG_KEY varchar(256) Ключ шифрования копий исходящих сообщений
OPTIONS varchar(256) Специальные права доступа (смотри ниже)
EMAIL_CONFIRM varchar(1) N Статус подтверждения по e-mail
CODE_CONFIRM varchar(64) N Код подтверждения, направленный по e-mail
DATE_REG timestamp current timestamp Дата регистрации
Key
Primary Key ID
Unique LOGIN

Options - специальные права доступа - пишутся через ; и заканчиваются на ; (например, “Doctor;Tester;”)

Client Пациент
Doctor Врач
Executor Исполнитель назначений (тренер, медсестра)
Support Техническая поддержка
Tester Тестовый пользователь

SESSIONS

Список активных сессий пользователей

Поле Тип not Null По ум. Описание
ID int(11) not null auto
LOGIN varchar(32) not null Владелец страницы → USERS.LOGIN
SESSION varchar(32) not null Идентификатор сессии
STARTED timestamp current timestamp Дата/время регистрации сессии
Key
Primary Key ID
Unique SESSION

ACCESS_LIST

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

Поле Тип not Null По ум. Описание
ID int(11) not null auto
OWNER varchar(32) not null Владелец страницы → USERS.LOGIN
LOGIN varchar(32) not null Владелец страницы → USERS.LOGIN
PAGE int(5) not null Номер страницы: 0 – главная страница
CRYPTO varchar(128) Ключ шифрования страницы, зашифрованный на пароле LOGIN-пользователя
EXT_KEY varchar(128) Ключ шифрования файлов дополнительных блоков страницы, зашифрованный на пароле LOGIN-пользователя
Key
Primary Key ID
Unique OWNER+PAGE+LOGIN

MESSAGES

Сообщения участникам

Поле Тип not Null По ум. Описание
ID int(11) not null auto
RECEIVER varchar(32) not null Получатель → USERS.LOGIN
SENDER varchar(32) not null Отправитель → USERS.LOGIN
SENT timestamp current timestamp Тайм-штамп отправки
TYPE varchar(32) not null Тип сообщения → REF_MESSAGES_TYPES
TEXT varchar(2048) Текст сообщения
COPY varchar(2048) Копия текста сообщения (шифруется на ключе MSG_KEY отправителя)
DETAILS varchar(2048) Прилагаемая техническая спецификация
READ varchar(1) Метка прочтения
DONE varchar(1) Статус обработки: N-рассматривается, Y-принято, R-отказано
Key
Primary Key ID
Index RECEIVER
Index RECEIVER+TYPE

CLIENT_PAGE_MAIN

Карточка клиента

Поле Тип not Null По ум. Описание
ID int(11) not null auto
OWNER varchar(32) not null Владелец страницы → USERS.LOGIN
CHECK varchar(128) not null Контрольная строка проверки шифрования
NAME_F varchar(128) current timestamp Фамилия
NAME_I varchar(128) Имя
NAME_O varchar(128) Отчество
REMARK varchar(2048) Примечание
ANATOMY varchar(256) Анатомическая схема
Key
Primary Key ID
Index OWNER

CLIENT_PAGES

Дополнительные страницы данных клиента

Поле Тип not Null По ум. Описание
ID int(11) not null auto
OWNER varchar(32) not null Владелец страницы → USERS.LOGIN
PAGE int(5) not null Номер страницы
TYPE varchar(16) not null client Тип страницы: client, prescription
CREATOR varchar(32) not null Создатель страницы → USERS.LOGIN
CHECK varchar(128) not null Контрольная строка проверки шифрования
TITLE varchar(512) not null Заголовок страницы
REMARK varchar(2048) Примечание
PUBLISHED varchar(1) Метка опубликования страницы
PRESENTATION varchar(32) Режим отображения: LIST, TILES
Key
Primary Key ID
Unique OWNER+PAGE

CLIENT_PAGES_EXT

Дополнительные блоки данных клиента

Поле Тип not Null По ум. Описание
ID int(11) not null auto
PAGE_ID int(11) not null Идентификатор страницы → CLIENT_PAGES
ORDER_NUM int(5) not null Порядковый номер
TYPE varchar(16) not null client Тип блока: Text, Image, Link, File
REMARK varchar(2048) Текстовой комментарий
FILE varchar(128) Путь к файлу
SHORT_FILE varchar(128) Путь к файлу сокращенной картинки
WWW_LINK varchar(512) Ссылка на внешнее описание
Key
Primary Key ID
Unique PAGE_ID+ORDER_NUM

DOCTOR_PAGE_MAIN

Формуляр врача

Поле Тип not Null По ум. Описание
ID int(11) not null auto
OWNER varchar(32) not null N Владелец страницы → USERS.LOGIN
CONFIRMED varchar(1) Флаг подтверждения доступа к роли
NAME_F varchar(128) current timestamp Фамилия
NAME_I varchar(128) Имя
NAME_O varchar(128) Отчество
SPECIALITY varchar(256) Специальность (список кодов) → REF_DOCTOR_SPECIALITIES
REMARK varchar(2048) Примечание
PORTRAIT varchar(128) Имя файла портрета
Key
Primary Key ID
Unique OWNER

DOCTOR_CERTIFICATES

Квалификационные документы врача

Поле Тип not Null По ум. Описание
ID int(11) not null auto
OWNER varchar(32) not null Владелец сертификата → USERS.LOGIN
CONFIRMED varchar(1) not null N Флаг подтверждения правомочности
ORDER_NUM int(5) not null Порядковый номер в списке
KIND varchar(128) Специальность → REF_CERT_KINDS
ISSUER varchar(128) Выдавшая организация → REF_CERT_ISSUERS
REQUICITES varchar(32) Серия, номер документа
ISSUE_DATE varchar(16) Дата выдачи
EXP_DATE varchar(16) Срок действия
DESC varchar(1024) Описание
WWW_LINK varchar(512) Ссылка для электронных сертификатов
IMAGE_1 varchar(128) Файл картинки 1
IMAGE_1_S varchar(128) Файл картинки 1, сокращенный вариант
IMAGE_2 varchar(128) Файл картинки 2
IMAGE_2_S varchar(128) Файл картинки 2, сокращенный вариант
Key
Primary Key ID
Index OWNER+ORDER_NUM

DOCTOR_PAGES_EXT

Дополнительные блоки формуляра врача

Поле Тип not Null По ум. Описание
ID int(11) not null auto
PAGE_ID int(11) not null Идентификатор страницы → DOCTOR_PAGE_MAIN
ORDER_NUM int(5) not null Порядковый номер
TYPE varchar(16) not null client Тип блока: Text, Image, Link, File
REMARK varchar(2048) Текстовой комментарий
FILE varchar(128) Путь к файлу
SHORT_FILE varchar(128) Путь к файлу сокращенной картинки
WWW_LINK varchar(512) Ссылка на внешнее описание
Key
Primary Key ID
Index PAGE_ID+ORDER_NUM

DOCTOR_NOTES

Заметки врача по пациенту

Поле Тип not Null По ум. Описание
ID int(11) not null auto
OWNER varchar(32) Владелец страницы → USERS.LOGIN
CLIENT varchar(32) Пациент → USERS.LOGIN
CHECK varchar(128) Контрольная строка проверки шифрования
CATEGORY varchar(128) Категория
REMARK varchar(2048) Примечание
DESEASES varchar(512) Перечень кодов заболеваний → DESEASES_REGISTRY
ANATOMY varchar(256) Анатомическая схема
Key
Primary Key ID
Unique OWNER+CLIENT

PRESCRIPTIONS_PAGES

Состав назначений пациентам

Поле Тип not Null По ум. Описание
ID int(11) not null auto
OWNER varchar(32) not null Владелец страницы → USERS.LOGIN
PAGE int(5) not null Номер страницы
ORDER_NUM int(5) not null Порядковый номер в списке
PRESCRIPTION_ID varchar(512) Идентификатор назначения → PRESCRIPTIONS_REGISTRY.ID
NAME varchar(512) Название назначения
REMARK varchar(512) Примечание
TYPE varchar(32) Тип назначения → PRESCRIPTIONS_REGISTRY.TYPE
REFERENCE int(11) not null 0 Ссылочный идентификатор
Key
Primary Key ID
Index OWNER+PAGE
Index REFERENCE

PRESCRIPTIONS_REGISTRY

Общий реестр назначений

Поле Тип not Null По ум. Описание
ID int(11) not null auto
USER varchar(32) not null Добавивший пользователь → USERS.LOGIN
TYPE varchar(32) not null Тип назначения → REF_PRESCRIPTIONS_TYPES
NAME varchar(128) not null Название
REFERENCE varchar(128) Регистрационный индекс
DESCRIPTION varchar(2048) Основное описание
WWW_LINK varchar(512) Основная ссылка на внешнее описание
DESEASES varchar(512) Перечень кодов заболеваний → DESEASES_REGISTRY
KEYWORDS varchar(128) Список ключевых слов → REF_PRESCRIPTIONS_KEYWORDS
Key
Primary Key ID

PRESCRIPTIONS_EXT

Дополнительные блоки описания назначений

Поле Тип not Null По ум. Описание
ID int(11) not null auto
PRESCRIPTION_ID int(11) not null Идентификатор назначения → PRESCRIPTION_REGISTRY
ORDER_NUM int(5) not null Порядковый номер
USER varchar(32) not null Добавивший пользователь → USERS.LOGIN
TYPE varchar(16) not null client Тип блока: Text, Image, Link, File
REMARK varchar(2048) Текстовой комментарий
FILE varchar(128) Путь к файлу
SHORT_FILE varchar(128) Путь к файлу сокращенной картинки
WWW_LINK varchar(512) Ссылка на внешнее описание
Key
Primary Key ID
Index PRESCRIPTION_ID+ORDER_NUM

SETS_REGISTRY

Список комплексов назначений

Поле Тип not Null По ум. Описание
ID int(11) not null auto
USER varchar(32) not null Пользователь-владелец → USERS.LOGIN
NAME varchar(128) not null Название
DESCRIPTION varchar(2048) Описание
DESEASES varchar(512) Перечень кодов заболеваний → DESEASES_REGISTRY
Key
Primary Key ID
Index USER

SETS_ELEMENTS

Общий реестр заболеваний

Поле Тип not Null По ум. Описание
ID int(11) not null auto
SET_ID int(11) not null Идентификатор набора→ SET_REGISTRY
ORDER_NUM int(5) not null Порядковый номер в списке
PRESCRIPTION_ID varchar(512) not null Идентификатор назначения → PRESCRIPTIONS_REGISTRY.ID
REMARK varchar(512) Примечание
Key
Primary Key ID
Index SET_ID

MEASUREMENTS

Значения контрольных измерений

Поле Тип not Null По ум. Описание
ID int(11) not null auto
PAGE_ID int(11) not null Идентификатор страницы → CLIENT_PAGES
MEASURMENT_ID int(11) not null Идентификатор измерения → PRESCRIPTIONS_PAGES.REFERENCE
CHECKED timestamp not null current timestamp Время/дата измерения
VALUE varchar(64) Значение
Key
Primary Key ID
Index MEASURMENT_ID
Index PAGE_ID

DESEASES_REGISTRY

Общий реестр заболеваний

Поле Тип not Null По ум. Описание
ID int(11) not null auto
USER varchar(32) not null Добавивший пользователь → USERS.LOGIN
TYPE varchar(128) Категория
NAME varchar(128) not null Название
REFERENCE varchar(128) Регистрационный индекс
DESCRIPTION varchar(2048) Основное описание
WWW_LINK varchar(512) Основная ссылка на внешнее описание
Key
Primary Key ID

DESEASES_EXT

Дополнительные блоки описания заболеваний

Поле Тип not Null По ум. Описание
ID int(11) not null auto
DESEASES_ID int(11) not null Идентификатор заболевания → DESEASES_REGISTRY
ORDER_NUM int(5) not null Порядковый номер
USER varchar(32) not null Добавивший пользователь → USERS.LOGIN
TYPE varchar(16) not null client Тип блока: Text, Image, Link, File
REMARK varchar(2048) Текстовой комментарий
FILE varchar(128) Путь к файлу
SHORT_FILE varchar(128) Путь к файлу сокращенной картинки
WWW_LINK varchar(512) Ссылка на внешнее описание
Key
Primary Key ID
Index DESEASES_ID+ORDER_NUM

CALLBACK_MSG

Сообщения обратной связи от пользователей

Поле Тип not Null По ум. Описание
ID int(11) not null auto
CREATED timestamp not null current timestamp Дата создания сообщения
SESSION varchar(32) Сессия→ SESSIONS
USER varchar(32) Пользователь→ USERS.LOGIN
CATEGORY varchar(32) not null Категория сообщения
FORM varchar(32) Имя диалоговой формы
MESSAGE varchar(1024) Текст сообщения
STATUS varchar(32) Статус обработки сообщения
REMARK varchar(1024) Результат обработки сообщения
Key
Primary Key ID

RELEASES

Список релизов

Поле Тип not Null По ум. Описание
ID int(11) not null auto
CREATED timestamp not null current timestamp Дата создания
TYPES varchar(128) Перечень типов пользователей, подлежащих оповещению
TITLE varchar(256) not null Название
NOTES varchar(128) Название файла описания релиза
Key
Primary Key ID

RELEASES_READ

Список прочитанных релизов

Поле Тип not Null По ум. Описание
RELEASE_ID int(11) not null → RELEASES
USER varchar(32) not null Пользователь → USERS.LOGIN
TIME_MARK timestamp not null current timestamp Временная метка
Key
Index RELEASE_ID+USER

REF_CERT_ISSUERS

Перечень «выдавателей» квалификационных документов

Поле Тип not Null По ум. Описание
CODE varchar(32) not null Код «выдавателя»
LANGUAGE varchar(16) not null Язык описания
NAME varchar(128) not null Название
Key
Unique CODE+LANGUAGE
CODE NAME
HE_1MGMU RU Первый Московский государственный медицинский университет имени И.М. Сеченова
HE_MGMSU RU Московский государственный медико-стоматологический университет
HE_RNIMU RU Российский национальный исследовательский медицинский университет имени Н.И. Пирогова

REF_CERT_KINDS

Перечень видов квалификационных документов

Поле Тип not Null По ум. Описание
CODE varchar(32) not null Код вида документа
LANGUAGE varchar(16) not null Язык описания
NAME varchar(128) not null Название
Key
Unique CODE+LANGUAGE
CODE NAME
HE_DIPLOM RU Диплом о высшем образовании

REF_DOCTOR_SPECIALITIES

Перечень возможных специальностей врача

Поле Тип not Null По ум. Описание
CODE varchar(32) not null Код специальности
LANGUAGE varchar(16) not null Язык описания
NAME varchar(128) not null Название
Key
Unique CODE+LANGUAGE
CODE NAME
Cosmetologist RU Косметолог
Nurse RU Медсестра
Physiatrist RU Физиотерапевт
Rehabilitionist RU Реабилитолог
Therapeutist RU Терапевт
Traumatologist RU Травматолог

REF_MESSAGES_TYPES

Перечень возможных типов сообщений

Поле Тип not Null По ум. Описание
CODE varchar(32) not null Код типа сообщения
LANGUAGE varchar(16) not null Язык описания
NAME varchar(128) not null Название
Key
Unique CODE+LANGUAGE
CODE NAME
CHAT_MESSAGE RU Сообщение
CLIENT_ACCESS_INVITE RU Приглашение от пациента
CLIENT_ACCESS_PAGES RU Передача данных
CLIENT_PRESCRIPTIONS_ALERT RU Сделано назначение

REF_PRESCRIPTIONS_KEYWORDS

Перечень ключевых слов назначений

Поле Тип not Null По ум. Описание
CODE varchar(32) not null Код ключевого слова назначения
LANGUAGE varchar(16) not null Язык описания
NAME varchar(128) not null Собственно ключевое слово

REF_PRESCRIPTIONS_TYPES

Перечень категорий назначений

Поле Тип not Null По ум. Описание
CODE varchar(32) not null Код категории назначения
LANGUAGE varchar(16) not null Язык описания
NAME varchar(128) not null Название
ICON varchar(128) not null Файл иконки
Key
Unique CODE+LANGUAGE
CODE NAME ICON
exercise RU Упражнение images/madjackal.gif
exploration RU Исследование images/madjackal.gif
measurement RU Контрольное измерение images/madjackal.gif
operation RU Операция images/madjackal.gif
others RU Прочее images/madjackal.gif
pharmacotherapy RU Лекарственная терапия images/madjackal.gif
test RU Анализ images/madjackal.gif
treatment RU Процедура images/madjackal.gif
unregistered RU Вне Регистра images/madjackal.gif
⚠️ **GitHub.com Fallback** ⚠️