VII.  Начальная установка базы данных

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

Для уникальной идентификации объектов базы данных, каждая таблица использует внешний "ключ", который может быть известен пользователям. Кроме того, большинство таблиц также имеют внутренний или суррогатный ключ, скрытыйоб большинства пользователей, который используется для организации ссылок одного объекта на другой. Из-за такой двойственности внешний ключ может иметь любое значение, которое может быть полезным. Более того, если значение внешнего ключа может быть произвольно изменено без изменения внутренних ссылок между данными.

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

В этой главе описываются связи таблиц ИСЗ и даются рекомендации для выбора внешних ключей и правил определения для обеспечения последовательности и полезности..

Зависимости базы данных

На рисунке I дана диаграмма, показывающая зависимости для главных таблиц, представленные прямоугольниками. Сплошная линия, соединяющая таблицы, показывает обязательную зависимость, то есть, данные должны быть сначала введены в подчиненную таблицу. Пунктирная линия отражает дополнительную зависимость. Таблицы программ (pgmtbl), иммунизаций (immtbl) и текстов (testtbl), присутствуют на рисунке, несмотря на то, что не показаны зависимости от них. Эти три таблицы удовлетворяют зависимости в данных контактов. В таблице I описаны таблицы и причины существования всех зависимостей.

Рисунок. 1 &ndash Диаграмма зависимостей для основных таблиц


Таблица I &ndash Описания таблиц и их зависимостей
Таблица Описание и зависимости
citytbl Зоны обслуживания пациентов, могутсодержать регион в здравоохранении (cr) или район (cd)
codetbl Коды с соответствующими им метками
depttbl Отделения, которые могут существовать в учреждении (df), где обслуживаются пациенты
disttbl Участки
drugtbl Лекарства, выписанные пациентам, которые могут быть распределены по названию поставщика (ds) и у которых может быть классификация лекарств (dk) и код элемента "drugclass" (класс лекарств)
factbl Учреждения обслуживающие или направляющие пациентов, которые живут в данной зоне обслуживания (fc)
fldtbl Поля, на которые ссылается программа "Ввод данных исследования", и у которых должны быть текстовые метки (fk)
immtbl Тип иммунизации и связанный с ней план иммунизации
pgmtbl Связанные с диагнозом программы укрепления здоровья
prvtbl Медицинские работники "основного" медицинского учреждения (pf), у которых могут быть специализации (ps) и которые принимают или направляют пациентов
regtbl Регионы в здравоохранении
roletbl Роли пользователей, которые определяют прикладные программы, вводимые в меню каждого пользователя
spectbl Специализация медицинского работника
suplrtbl Поставщики, включая поставщиков лекарств
testtbl Диагностические процедуры
usrtbl Пользователи, которые могут войти в ИСЗ и которые должны иметь присвоенную роль (ur) и учреждение (uf)
wardtbl Отделения в медицинском учреждении (wf), куда госпитализируются пациенты

Роли (roletbl), зоны обслуживания (citytbl), учреждения (factbl), и начальный контролирующий пользователь (usrtbl) должны быть введены в указанной последовательности до того, как пользователям может быть дан доступ к любой программе, работающей с контактами, такой как программа "Госпитализации, выписки и переводы". Хотя в начале таблицы не должны бытьзаполнены, в них должны быть введены учреждения, использующие сервер. Так как ввод не возможен без первоначально определенного пользователя, тов системе всегда существует специальный пользователь с именем "administrator" и паролем "sysadmin". Кроме того,если система клонирована, то существует еще один пользователь с именем "admin". У этих пользователей очень ограниченное меню, которое не может быть изменено. Пароли к этим счетам должен меняться сразу после установки системы..

Выбор внешних ключей

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

Выбор идентификатора пациента

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

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

Правила ввода данных

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

Есть еще одно важно соображение, наложенное ИСЗ, по поводу числовых данных: не разницы между нулем и пустым полем. То есть введенное нулевое значение может быть спутано с отсутствием ввода.

Некоторое число правил должно быть соблюдено при вводе текста.

Текст должен просматриваться для выявления и исправления плохой работы и исправления неправильных данных. Например, если имя или описание какого-то кода постоянно переносится или обрывается, то такое название должно быть сокращено.


(c) J. McDaniel & Canadian Society for International Health, 2005