• Как спроектировать базу данных?

    @Sadus Автор вопроса
    xmoonlight, А можете на счёт скриншота выше подсказать. Как всё таки лучше связать таблицу экспертизы (1 или 2 уровня), критерии и значения критериев?
  • Как спроектировать базу данных?

    @Sadus Автор вопроса
    xmoonlight, левела только 2, это всегда. Есть экспертиза и реэкспертиза, ре-реэкспертизы не бывает)
  • Как спроектировать базу данных?

    @Sadus Автор вопроса
    xmoonlight, уважаемый, я конечно извиняюсь, но в упор не получается последовать Вашим рекомендациям:

    1. [users] 1<-8 [expertise_main]
    2. [criterias] 1<-8 [coefficients] 8->1 [expertise_main]
    3. [expert_level] 1<-8 [coefficients]

    Если 1 сделал, то 2 застопорило. Зачем нам связывать таблицу коэф. с главной таблицей? Ведь данные о критериях и коэф. хранятся в таблицах expertise_X_lvl
  • Как спроектировать базу данных?

    @Sadus Автор вопроса
    xmoonlight, набор критериев, или иной подход к подсчёту результатов не требуется когда проводится ре экспертиза - по сути, это та же самая экспертиза (1lvl) только проводится более высокой должностью.
  • Как спроектировать базу данных?

    @Sadus Автор вопроса
    xmoonlight,

    1) про соль понял. уже реализовал хранение пароля в закрытом виде, до соли пока еще не добрался(
    2) duration - нужна будет сортировка, статистика по продолжительности случаев заболевания, я не думаю, что хорошей идеей потом будет вычислять всё в СУБД - мне казалось лучше сохранить это поле сразу и не парится. Или я не прав?
    3)Чуть ниже уже есть разделение на 2 уровня экспертиз
    4) А чем обосновано деление full_name на first_name, last_name и т.д? Есть какие то положительные стороны такого подхода в производительности или удобстве?
    5) У меня из ролей только оператор (он же эксперт 1 уровня) и главный врач (только он эксперт 2 уровня). Поэтому делить то особо нечего, я буду разграничивать роли по статусу "таблица status"
  • Как спроектировать базу данных?

    @Sadus Автор вопроса
    Подумал еще над логикой, и понял, что нужно сделать отдельную таблицу для экспертизы 1 уровня и экспертизы 2 уровня. Ведь эксперты в этом случае разные. И связывать два уровня в одной сводной таблице.
    5b5d93216239e283603063.png
    Единственное что смущает, это связь между уровнем экспертизы - критерием - значением критерия. какая то дублирующая связь получается.
  • Как спроектировать базу данных?

    @Sadus Автор вопроса
    xmoonlight, Как считаете, можно ли еще нормализовать что то? БД будет наполнятся из C# приложения, вроде как запрограммировать адекватное наполнение можно.
  • Как спроектировать базу данных?

    @Sadus Автор вопроса
    Полученная схема данных выглядит так:
    5b5d78ad80c83773749831.png

    Примерный вывод экспертной карты. К сожалению она ввиду 15 записей (по количеству критериев) - но работает:
    5b5d793c8fe75822345083.png
  • Как спроектировать базу данных?

    @Sadus Автор вопроса
    xmoonlight, Вы не совсем понимаете контроль качества. То каким образом лечили пациента роли не играет. Есть определённый ряд критериев, которым должен соответствовать случай заболевания. Ряд критериев для всех случаев одинаковый абсолютно, нет разницы какое было заболевание, когда оно началось или когда оно закончилось. И даже, по сути, нет разницы умер пациент, или нет (в рамках данной таблицы). Его смерть, это просто будет минут бал, жирный конечно, но по сути просто бал.

    Так вот, есть ряд критериев, есть пациент, есть врач, есть сама карта контроля. Вот "таблицы". Надо каким нибудь образом смоделировать БД, что бы в случае изменения набора критериев (может МинЗдрав решит избавится от какого-либо критерия) я не менял структуру таблицы "карта контроля".
  • Как спроектировать базу данных?

    @Sadus Автор вопроса
    xmoonlight, Лечение произошло. Симптоматика уже не важна. Важен факт - как пациент пролечен. И собственно это "как" формируется из набора коэффициентов (среднее по всем).
    Можно подробнее про наборы. Как это создать в схеме БД?
  • Как спроектировать базу данных?

    @Sadus Автор вопроса
    Если честно, не совсем понял. Карта контроля качества содержит в себе и так диагноз - симптомов нет. Для всех диагнозов перечень критериев контроля качества одинаков. Просто они сами по себе могут взять и изменится.
    Я рассматривал вариант, создания простой таблицы, где каждый из критериев это отдельное поле. Но как то топорно.