Jump to content
Судебная медицина от Forens.ru
Forensic medical forum
Судебно-медицинский форум

АНТ's блог

  • entries
    2
  • comments
    5
  • views
    34,778

База данных для бюро СМЭ


Темы на форуме, в которых обсуждались базы данных и "электронные журналы":

Программа заполнения свидетельств о смерти на базе MS Access

Использование «MICROSOFT ACCESS» в работе Бюро СМЭ

Электронные журналы

Отчетная и рабочая документация в Exel

Системные программные продукты для бюро судебно-медицинской экспертизы

Как создать базу данных отделения?

 

Форма для заполнения нового МСС - это одна из первых попыток создания базы данных. Что любопытно, - более 100 скачиваний и только один отзыв ТМВ. И все-таки можно предположить, что посетители форума темой интересуются и этот продукт кому-то из скачавших пригодился.

 

Разработка локальной базы данных для собственных нужд продолжалась и продолжается с переменным успехом несколько лет, вплоть до полного "забивания". Основным сдерживающим фактором была и остается необходимость ведения бумажных журналов и нежелание делать двойную работу. Но количество отчетов и всевозможных аналитических справок с каждым годом растет, цифровой архив (акты, заключения, фото, и др.) также разрастается, что требует структуризации данных.

 

Предлагаемая база данных создана и редактируется с помощью приложения LibreOffice Base, входящего в пакет LibreOffice. Это программное обеспечение с открытым исходным кодом, распространяется свободно и бесплатно.

Снимок экрана от 2014-12-06 19:53:10.png

 

Те, кто предпочитает продукты Microsoft, могут дальше не читать...

 

Немного теории.

 

Любая база данных (БД) - это структурированное хранение информации. Простейшей структурной единицей БД является таблица. Мы привыкли к таблицам в виде строк, столбцов и ячеек. В таблицах БД главными элементами являются поля.

 

Таблицы - основные объекты любой БД, в которых хранятся все данные и сама структура базы (поля, их типы и свойства). Разновидностью таблиц являются представления - это объединенные таблицы, состоящие из полей ранее созданных таблиц.

 

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

 

Формы - средства для ввода, редактирования и просмотра данных, предоставляющие пользователю необходимые для заполнения поля. В них можно разместить специальные элементы управления (счетчики, раскрывающиеся списки, переключатели, флажки и прочее) для автоматизации ввода. Пример, заполнение определенных полей бланка. При выводе данных с помощью форм можно применять специальные средства их оформления.

 

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

 

Для создания структуры БД, наполнения ее содержанием, редактирования содержимого и визуализации информации применяются системы управления базами данных (СУБД). В этой БД такой системой управления является приложение LibreOffice Base.

 

Пока достаточно теории, желающие могут свободно найти ее в интернете.

 

База данных SMEBASE «заточена» в первую очередь под районное отделение.

 

1. Устанавливаем пакет LibreOffice. Открываем файл базы данных «SMEBASE.odb» в приложении LibreOffice Base. Откроется страница с формами:

Снимок экрана от 2014-12-06 19:52:12.png Открываем форму "Сотрудники" и вносим данные в поля. Для начала работы достаточно будет заполнить поля "ФИО кратко" и "Долж. кр." Снимок экрана от 2014-12-11 19:51:33.png

 

2. Рабочий день обычно начинается с просмотра направлений. Открываем форму «Сведения из направлений» и начинаем заполнять поля. Форма связана с одноименной таблицей. Имеются несколько записей для образца. Каждая запись имеет свой уникальный индекс, который вносится в поле «ID». Номер записи (в нижнем левом углу страницы, где находится панель навигации) должен соответствовать номеру поля «ID» (см. фото). Переход по полям формы осуществляется последовательно с помощью клавиш «Tab» или «Enter». Сначала заполняем поле «ID», затем «№ по Ж. ум.» (соответствует № в бумажном Журнале регистрации умерших, надеюсь, что хотя бы в 22 веке их не станет). Заполняем последовательно все поля. В полях со списками работает автозаполнение: можно выбрать из списка, но можно вносить и свои значения. В полях с датами для удобства встроен календарь. Поля времени имеют формат 00:00, их можно оставлять и пустыми, если время события неизвестно. Для этого в поле достаточно поставить один «0» и нажать «Enter».

Снимок экрана от 2014-12-06 20:11:32.png Снимок экрана от 2014-12-06 20:12:21.png Снимок экрана от 2014-12-06 20:16:56.png Снимок экрана от 2014-12-06 20:15:01.png

3. Все формы используют данные из вспомогательных таблиц. Необходимо в таблицу «Области» добавить «свою» область и она будет отображаться в выпадающем списке. «Свои» районы, населенные пункты, улицы, фамилии и должности правоохранителей также необходимо ввести в соответствующие таблицы. Специальных форм для заполнения этих таблиц в базе нет. Для начала работы будет достаточно одной "своей" области, 1-3 своих районов и 20 населенных пунктов.

Снимок экрана от 2014-12-10 17:22:19.png Снимок экрана от 2014-12-10 17:31:09.png Снимок экрана от 2014-12-10 17:36:56.png

 

4. Форма «Паспортные данные и причины смерти» состоит из двух частей. Верхняя часть — это главная форма в виде таблицы, заполняется в соответствии с данными паспорта. Некоторые поля формы с автозаполнением (например: при введении буквы «я» в поле «МР» форма выдаст «январь», жмем «Enter» и переходим с следующему полю); нижняя часть — субформа для заполнения причин смерти по образцу из бумажного МСС.

Снимок экрана от 2014-12-09 22:39:32.png

 

5. После окончания исследования вносим в поля субформы основное заболевание, осложнения, НПС, шифруем их по МКБ и т.д.

 

6. Далее заполняем формы "Сведения об исследованиях умерших" Снимок экрана от 2014-12-11 17:02:31.png и "МСС" Снимок экрана от 2014-12-11 20:56:18.png

 

7. После получения результатов лаборатории заполняем соответствующую форму Снимок экрана от 2014-12-11 20:55:58.png

 

8. В некоторых бюро оказываются ритуальные услуги. Есть и такая форма: Снимок экрана от 2014-12-12 15:06:28.png

 

9. По живым лицам данных требуется вводить гораздо меньше, поэтому хватило одной формы, хотя она кажется несколько громоздкой: Снимок экрана от 2014-12-11 18:26:14.png

 

10. Не смог отказать в удовольствии руководству бюро. По запросу "Кто в бюро бездельник?" база выдает, что в декабре 2014 года за всех работал Пушкин А.С. Снимок экрана от 2014-12-10 20:51:38.png По запросу "Кто не выполняет план Путина по снижению ССЗ?" всплывают два нерадивых эксперта. Снимок экрана от 2014-12-10 20:52:21.png Пушкину простительно, т.к. он не бездельник, а Васильеву коэффициент качества нужно срезать :)

 

База предлагается as is, то есть как она есть, с минимальным количеством элементов управления. За "сиреневенький" дизайн прошу не пинать. Академиев не заканчивали :) Начинал с чистого листа, маленькими шажками добрался до серверных вариантов БД, один из которых уже год тестируется на сервере MySQL. Например, чтобы узнать про "план Путина" необходимо написать SQL-запрос. А выглядит он примерно так 8(

SELECT "Диагнозы" "а)МКБ", "Диагнозы" "б)МКБ", "Сведения об  исследованиях умерших" "ФИО врача" FROM "Сведения об  исследованиях умерших", "Диагнозы" WHERE "Сведения об  исследованиях умерших" "ID" = "Диагнозы" "ID" AND "Диагнозы" "а)МКБ" >= 'I00.0' AND "Диагнозы" "а)МКБ" <= 'I99.0' AND "Диагнозы" "б)МКБ" >= 'I00.0' AND "Диагнозы" "б)МКБ" <= 'I99.0'

:)

 

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

 

Продолжение следует...

 

PS: Спасибо всем прочитавшим!

"А где же собственно база?!" - спросит читатель. Отвечаю: "Дед Мороз с подарками обычно приходит на Новый Год". А пока смотрим "трейлер" и решаем нужно ли нам такое "кино". Вопросы, отзывы, критика и пожелания не останутся без внимания.

 

С Новым Годом, коллеги! SMEBASE.ZIP

5 Comments


Recommended Comments

ws_K

Posted

“Беда, коль пироги начнет печи сапожник,

А сапоги тачать пирожник…“

 

Я. Л. Крылов и, солидарный с ним, ws_K.

АНТ

Posted

Сочувствуете или критикуете? Предлагаете довериться в этих вопросах лебедю, раку и щуке?

ws_K

Posted

Конечно, сочувствую. Тем более что между раками, лебедями и щуками, как они не садятся, согласия, увы, нет.

Мне кажется, система не приживется. Она слишком сложна для понимания перечисленными животными, и слишком трудоемка для зав. районными отделениями. Мне кажется, что задача отчетности не может быть решена «снизу». Скорее всего, какой-нибудь приказ, вроде № 346, должен регламентировать список запросов, с которыми любая щука может обращаться к администрации БСМЭ. Тогда, может быть, зав. отделением будет избавлен от необходимости заносить в БД, например, домашний адрес человека, который уже практически «прописан» на кладбище.

Мне кажется, Ваша система «электронизирует» (в сущности, дублирует) сложившуюся систему «бумагооборота», и в этом смысле, лишь усложняет жизнь. Кроме того, система требует от судебного медика немыслимого – знания инструкций и клауз Structured Query Language. Не подорвет ли это его психическое здоровье?

АНТ

Posted

Добрый вечер! С удовольствием прочел! Чувствуется взгляд человека со стороны. В РФ имеется приказ Минздрава, прямо запрещающий выдачу неутвержденных форм отчетности. И лОжили местные департаменты на этот приказ, т.к. бюро подчиняется и финансируется из областных бюджетов. Ежемесячно каждый район в наших пенатах отправляет в область 20 обязательных сводных таблиц, ежеквартально добавляются еще по четыре. Не думаю, что в других регионах РФ этих отчетов меньше.

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

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

SQL, конечно, не подарок, но осилить можно. 15 лет назад сам PC был куда более жутким зверем. Будем пробовать...

ws_K

Posted

Добрый вечер! Искренне продолжаю Вам сочувствовать, и сожалею, что кроме сочувствия, ничем иным помочь не могу.

 

Идея «соцсоревнования» живет и процветает, и «живее всех живых». Между тем, у Администрации Бюро всегда имеется выбор: либо самой стать раком, либо проявить «политическую» волю, и вежливо, со ссылкой на приказ № 385 (о внедрении формы Ф-42 отраслевой статистической отчетности), попытаться умерить любопытство местных леблядей (по-моему, в последнем слове какая-то досадная грамматическая ошибка, прошу простить).

 

Не исключено, в последнем случае, сама собой отпадет техническая проблема, связанная с ограничениями SQL.

Если не отпадет: ее решают, обычно, путем создания поисковых форм, отображающих пустые поля одной или нескольких таблиц БД. Пользователь заполняет поля поискового шаблона (возможно – в некотором диапазоне дат, численных значений, упорядоченных по алфавиту слов или текстовых выражений) и нажимает кнопку «Найти». Дальнейшее зависит от того, какой язык программирования Вы используете. На VBA, например, программно формируется текстовая строка, содержащая инструкцию SELECT со всеми необходимыми клаузами (FROM, WHERE, проч.), метками-заполнителями объектов БД и т.п. Контекст строки, разумеется, зависит от типа запроса. В VC++ существует несколько классов таких поисковых форм. Еще проще задача решается в среде Microsoft Axapta.

 

При всех обстоятельствах – успехов.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...