Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

проведенні загальної реєстрації пацієнтів; веденні історії хвороби пацієнтів кожним лікарем; веденн

Работа добавлена на сайт samzan.net: 2016-03-30

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 30.4.2024

ПОБУДОВА БАЗ ДАНИХ МЕДИЧНИХ ЗАКЛАДІВ

Короткі теоретичні відомості

Проблема обробки великих обсягів інформації вже давно є однією з найболючіших проблем організації системи охорони здоров'я України. У структурі майже кожного лікувального закладу існує низка центрів, куди надходить інформація, яку слід зберігати та обробляти. Для прикладу розглянемо звичайний лікувальний заклад районного рівня. Тут питання обробки та зберігання великого обсягу інформації виникають, наприклад, при:

- проведенні загальної реєстрації пацієнтів;

- веденні історії хвороби пацієнтів кожним лікарем;

- веденні архіву лікувального закладу.

Тривалий час вважалося, що подібні питання складно механізувати. Як носій інформації використовували папір, як обробник інформації - великий інтелектуальний потенціал працівників лікувальних закладів. Реєстратура з величезними стелажами та картотеками стала одним із символів лікувального закладу. Та ось на початку 90-х років XX ст. у лікувальних закладах України з'явилися перші ПК. Одне з перших завдань, над яким вони працювали, - це оптимізація роботи реєстратури. Для його реалізації використовували системи управління базами даних (СУБД). Не можна сказати, що на сьогодні завдання організації реєстратури, як і довільне інше завдання баз даних у структурі лікувального закладу, розв'язане остаточно. Тому знання теорії баз даних та відповідні навички розробки реляційної моделі баз даних майбутнього лікаря спрямовані на вирішення актуальних проблем вибору оптимальних способів зберігання та обробки великих обсягів даних у роботі лікувального закладу.

Отже, база даних є набором записів і файлів, організованих спеціальним чином. Іншими словами, інформація в базах даних зберігається в структурованому вигляді.

Серед існуючих типів моделей даних (ієрархічна, мережева і реляційна) розглянемо лише реляційну структуру організації даних. Реляційна модель даних припускає презентацію даних лише в один спосіб, а саме у вигляді таблиць. Кожний рядок таблиці містить інформацію, що стосується деякого конкретного об'єкта. Ця інформація є набором фактів, при цьому в стовпчику (його називають полем) міститься конкретний факт. Стовпчики мають заголовки (імена). Оскільки порядок стовпчиків вважається невизначеним, то їх імена є єдиним засобом доступу до відповідного факту. Зазвичай СУБД не в змозі відстежувати порушення сенсу інформації. Єдине, що може перевірити система при введенні інформації, - це тип даних, які вводяться, оскільки для кожного стовпчика тип даних визначається при створенні таблиці. При спробі ввести інформацію, тип якої не сумісний з типом даних стовпчика, буде отримано повідомлення про помилку перетворення типу.

Технологію організації, ведення та обробки медичних даних засобами реляційної бази даних MS Access розглянемо на конкретному прикладі.

Демонстраційний приклад

Створимо базу даних «Облік пацієнтів» медичного центру «Надія».

База даних має забезпечити виконання таких завдань:

- введення і редагування інформації про пацієнтів, які звертаються за медичною допомогою;

- оформлення медичних карток пацієнтів;

- реєстрація надання медичних послуг пацієнтам (із зазначенням виду послуги, дати, вартості (якщо послуга платна) та лікарів, які супроводжують пацієнтів);

- друк звітів про надання послуг та отриманий прибуток, прайсів тощо;

- візуалізація результатів діяльності медичного центру у вигляді діаграм і графіків;

- автоматизація звітних операцій (наприклад, формування звітів про прийом і надання послуг пацієнтам за певний період, категорії хворих, обстеження тощо);

- забезпечення захисту від введення неправильних даних (зокрема, дат у різних форматах), випадкових помилок.

Спочатку створимо нову базу даних «Облік пацієнтів».

При створенні бази даних на екрані з'являється головне її вікно (рис. 1). Головне вікно бази даних має низку вкладок, кожна з яких містить відповідні об'єкти бази даних (форми, звіти, запити тощо) і стандартні кнопки Открыть, Конструктор, Создать. Крім цих кнопок безпосередньо у вікні наявні кілька гіперпосилань для швидшого вибору команди створення об'єкта. Як правило, це створення об'єкта за допомогою майстра та режиму конструктора. На рис. 1 у вікні бази даних відкрита вкладка Таблицы, тому після натискання на одну з цих кнопок або гіперпосилання виконуватиметься відповідна операція для таблиці.

Для створення таблиці бази даних у вікні бази даних перейдемо до вкладки Таблицы, виберемо гіперпосилання Создание таблицы в режиме конструктора.

Рис. 1. Головне вікно бази даних

Вікно конструктора таблиць зображене на рис. 2. Це вікно розбите на дві частини. У верхній частині вікна в стовпчику Имя поля вводимо імена полів (до 64 символів з урахуванням пропусків), у сусідньому стовпчику зі списку вибираємо Тип данных. У стовпчику Описание можна ввести пояснювальний текст.

У нижній частині вікна конструктора таблиць можна задати (або змінити) властивості полів.

Рис. 2. Вибір типу даних поля в таблиці

Визначення ключових полів

Завершимо знайомство з конструктором таблиць визначенням ключових полів. Щоб створити поле первинного ключа, потрібно виділити рядок (або декілька рядків) з ім'ям цього поля в режимі конструктора таблиць і виконати команду Правка/ Ключевое поле. Щоб анулювати первинний ключ, виконайте цю команду ще раз. Ключове поле завжди індексоване, причому повтори не допускаються.

Поле зовнішнього (або вторинного) ключа утворюється при зв'язуванні полів двох таблиць. Поля, за якими виконується зв'язування таблиць, мають бути такими ж. Не можна, наприклад, встановити зв'язок між числовим і текстовим полем. Якщо при встановленні зв'язку використовується поле з типом даних Счетчик, то пов'язуване з ним поле має бути числовим, для якого властивість Размер матиме значення Длинное целое. З двох таблиць, які зв'язуються, одна є головною, а інша - підлеглою.

Щоб встановити зв'язки між таблицями, потрібно виконати команду Сервис/Схема данных. Потім за допомогою контекстного меню або меню Связи/Добавить таблицу додаємо до макета схеми даних усі необхідні таблиці. Вказівником миші перетягуємо поле з головної таблиці на відповідне йому поле підлеглої таблиці. У діалоговому вікні, що з'явилося (рис. 3), слід відзначити, чи потрібно забезпечити цілісність даних. Якщо так, то зазначити характер цілісності даних, після чого натиснути на ОК.

Рис. 3. Вікно зміни зв'язків головної та підлеглої таблиць

Тип відношення «один до багатьох» означає, що кожному запису, який визначається первинним ключем, відповідає довільна кількість записів зв'язаної таблиці (зокрема, і жодного). Наприклад, на рис. 3 подано зв'язок між таблицями Співробітники і Пацієнти, що означає наявність для одного співробітника довільної кількості записів, які фіксують у базі даних інформацію про пацієнтів цього співробітника.

Тип відношення «один до одного» означає, що одному запису з основної таблиці відповідає один запис або жодного в підлеглій таблиці.

Забезпечення цілісності даних забороняє зберігати в підлеглій таблиці додані або редаговані записи, для яких відсутнє відповідне значення в ключовому полі головної таблиці. Нагадаємо, що така цілісність називається посилальною.

Якщо встановлено підтримку цілісності даних (прапорець Обеспечение целостности данных; див. рис. 3), користувач має можливість вказати, чи слід автоматично виконувати для зв'язаних записів операції каскадного оновлення і каскадного видалення. Якщо встановити відповідні прапорці, стануть можливими операції видалення і оновлення, які інакше будуть заборонені умовами цілісності даних. Тут йдеться про видалення запису з головної таблиці (каскадне видалення) або зміну значення поля, що бере участь у зв'язку, в основній таблиці (каскадне оновлення).

Залежно від установки прапорців каскадних операцій реалізуються два способи підтримки посилальної цілісності при модифікації даних в основній таблиці. Якщо встановлено прапорець каскадного видалення, то при видаленні запису з головної таблиці будуть також видалені всі зв'язані записи з підлеглої таблиці. При каскадному оновленні зміна значення поля зв'язку в головній таблиці приводить до відповідної зміни значення зовнішнього ключа в підлеглій таблиці.

Другий спосіб підтримки посилальної цілісності полягає в забороні каскадних операцій (відповідні прапорці не встановлено). Не можна видалити запис з головної таблиці, якщо в підлеглій таблиці є пов'язані з ним записи. Аналогічно не можна буде змінити значення ключового поля в головній таблиці. Для того щоб все ж таки видалити запис із головної таблиці, потрібно спочатку видалити з підлеглої таблиці пов'язані з нею записи, а потім видалити запис із головної таблиці.

Для прикладу наведемо режим конструктора для таблиці «Пацієнти» (рис. 4).

Рис. 4. Режим конструктора для таблиці «Пацієнти»

Зв'язки між таблицями, які забезпечують посилальну цілісність даних, наглядно представлено на схемі даних (команда меню Сервис/Схема данных (рис. 5).

Усі таблиці бази даних нормалізовані. Це зумовлено тим, що кожна з них має простий первинний ключ, тобто ключ, який складається з одного поля, і всі неключові поля залежать тільки під цього ключа.

Рис. 5. Встановлення зв'язків між таблицями. Схема даних

ПРОЕКТУВАННЯ СИСТЕМИ ОБРОБКИ ДАНИХ. ЗАСОБИ РОБОТИ З ДАНИМИ

Короткі теоретичні відомості

Проектування запитів

При роботі з таблицями у нас є можливість проглянути всі дані в будь-якій таблиці. Що робити, якщо існує необхідність лише у даних з певних полів або якщо потрібно одночасно бачити дані про пацієнтів і обстеження, які вони проходили, а містяться вони и різних таблицях? Для цього створюється запит. Існує декілька типів запитів, що виконують різноманітні функції. Розглянемо найпоширеніший тип запитів - запит на вибірку. Разом з таблицею запит може слугувати джерелом даних для форми і звіту.

У MS Access, можна одночасно проглядати зв'язані дані безпосередньо в таблицях. Для цього потрібно відкрити головну таблицю, після чого відповідні записи підлеглої таблиці з'являються на екрані, якщо натиснути на значок «+» зліва від необхідного. На рис.6 зображено таблицю «Пацієнти», відкриту в режимі таблиці їй підпорядковується таблиця «Співробітники», яка у цьому разі буде підтаблицею (використовується за замовчуванням, оскільки між таблицями встановлено зв'язок за зовнішнім ключем).

Рис. 6. Перегляд зв'язаних записів за допомогою підтаблиць

Збереження запитів у базі даних здійснюється аналогічно збереженню інших об'єктів. Проте, якщо запит використовується для одноразового виконання деякого завдання, його можна після виконання цього завдання не зберігати.

Для створення запиту на вкладці Запросы вікна бази даних натиснемо на кнопку Создать. Як і при створенні інших об'єктів, MS Access пропонує скористатися послугами майстра. На рис. 7 зображено діалогове вікно, що з'являється на екрані після натискання на Создать.

Як бачимо, для створення запиту крім майстра створення запитів передбачено режим конструктора, який дає змогу візуальними засобами самостійно розробити запит. У цьому режимі можна створити необхідний запит практично будь-якого рівня складності. Крім того, за допомогою конструктора можна внести зміни до вже наявного запиту. Для цього потрібно виділити ім'я запиту у вікні бази даних і натиснути на Конструктор.

Рис. 7. Діалогове вікно створення нового запиту

При створенні запиту для медичної картки скористаємося конструктором запитів: у діалоговому вікні, зображеному на рис. 7, виберемо пункт Конструктор і натиснемо на ОК. На екрані з'явиться вікно конструктора запитів і діалогове вікно для додавання таблиць у вікно конструктора запиту (рис. 8).

Рис. 8. Додавання таблиці або запиту у вікні запиту

Для того щоб додати таблиці в запит, потрібно їх виділити і клацнути на кнопці Добавить. Після додавання всіх потрібних таблиць натискаємо Закрыть.

Якщо між таблицями бази даних встановлено зв'язки за допомогою схеми даних, ці зв'язки успадковуються при додаванні зв'язаних таблиць до запиту. Проте ці зв'язки в запиті можна видалити, як можна і встановити зв'язок за іншими полями. Для видалення в запиті зайвого зв'язку потрібно виділити його клацанням миші (в зоні лінії зв'язку) і в контекстному меню вибрати команду Удалить. Встановлюють зв'язок як у схемі даних.

Як видно з рис. 9, вікно конструктора запитів складається з двох частин. У верхній частині містяться таблиці, які використовуються у запиті. Тут можна додавати і видаляти таблиці, встановлювати і видаляти зв'язки між ними, а також задавати властивості, загальні для всього запиту.

У нижній частині бланка вміщено потрібні поля (у рядку Поле), встановлено порядок сортування; тут формулюються умови відбору записів, а також, залежно від типу запиту, вводиться додаткова інформація. При цьому в запиті на вибірку є можливість виведення або всіх полів з таблиць, або тільки вміщених у нижню частину вікна.

Рис.9. Вікно конструктора запитів

Передбачено декілька способів розміщення полів у нижній частині бланка запиту. Так, для виведення всіх полів однієї з таблиць досить виконати подвійне натискання на значок «*» у першому рядку списку полів кожної таблиці у верхній частині бланка запиту. Подвійне натискання на ім'я поля таблиці розміщує його в нижню частину бланка запиту в перший справа вільний стовпчик. Можна також перетягнути поле таблиці в потрібний стовпчик; якщо при цьому з'ясується, що стовпчик зайнятий, він і решта всіх стовпчиків справа пересунуться, звільняючи місце переміщуваному полю. Зрештою, можна в рядку Имя таблицы нибрати зі списку одну з таблиць запиту, а потім також зі списку вибрати ім'я поля в рядку Поле.

Обчислювані поля в запиті

У наший базі даних зберігається інформація про надані пацієнту послуги, а також їх вартість. Окрім цієї інформації у картці необхідно вказувати також сумарну вартість отриманих пацієнтом послуг. Можна було передбачити в базі даних поле для зберігання цього значення. Проте в цьому немає потреби, оскільки можна використовувати обчислювані поля, які допускаються не тільки на формах, а й у запитах і звітах.

Якщо запит використовується як джерело даних для декількох форм і/або звітів, то бажано ввести обчислюване поле саме в запиті. У результаті ми зможемо використовувати це поле в кожній формі або звіті, для якого цей запит є джерелом даних, а не будувати його для кожної такої форми або звіту.

Щоб створити обчислюване поле в запиті, потрібно ввести в рядок Поле бланка запиту ім'я цього поля (не збігається з наявними у запиті іменами полів). Після імені поставити двокрапку і набрати формулу без знаку «=», що реалізовує потрібні обчислення. Як приклад розглянемо обчислюване поле Сума послуг, яке ми використовуватимемо для підрахунку загальної вартості послуг, наданих кожному пацієнту (рис. 10).

Рис.10. Вікно конструктора запиту. Загальна вартість

Відповідно до вищесказаного введемо у вільний стовпчик такий текст:

Сума послуг: Sum(тбл Журнал прийому!Ціна). У формулі підсумовується зміст поля для кожного запису, внаслідок чого поле Сума послуг міститиме загальну кількість послуг, отриманих кожним пацієнтом. Зверніть увагу на те, що для полів Пацієнт, Адреса, Номер Картки і НомерІсторХвор використовується групова операція Группировка. Це пов'язано з тим, що пацієнт може отримувати кілька послуг, але нас цікавить не вартість кожної послуги, а загальна вартість послуг.

Використання будівника виразів

При введенні з клавіатури неминучі помилки, пов'язані, як правило, із неправильним записом імен полів і таблиць. Уникнути помилок при наборі складних формул дає змогу Будівник виразів - сервісна програма, яка забезпечує доступ до всіх об'єктів бази даних і пропонує візуальні засоби побудови будь-яких виразів.

Щоб запустити цю програму, достатньо в контекстному меню вибрати команду Построить. Після закінчення роботи з будівником створений вираз буде записаний у тому місці, де розташовувався курсор у момент викликання будівника виразів.

Продемонструємо роботу з будівником на прикладі наведеної вище формули. Вікно будівника виразів наведено на рис. 11.

Рис.11. Вікно будівника виразів

Сам вираз будується у верхній частині вікна будівника. Це текстова область, тому тут допускається введення з клавіатури. Часто використовувані оператори можна вставити у вираз за допомогою кнопок, розташованих під цією областю. Нижня частини вікна містить три списки. У лівому списку в структурованому вигляді представлено всі об'єкти бази даних. Щоб вибрати конкретний об'єкт, потрібно виконати подвійне клацання по папці відповідної категорії, а потім виділити потрібний об'єкт. Наприклад, щоб дістати доступ до полів таблиці «Журнал прийому», потрібно двічі клацнути по папці Таблицы, після чого виділити цю таблицю. Після цього в середньому списку з'являться елементи об'єкта, вибраного в лівому списку. Нарешті, якщо який-небудь елемент середнього списку сам містить інші елементи, то при виборі цього елемента в правий список виводитимуться його елементи. Так, якщо потрібно помістити у вираз одну із вбудованих функцій MS Access, при виборі об'єкта Вбудовані функції в середній список заносяться категорії функцій. Конкретна ж функція вибирається з правого списку після зазначення потрібної категорії (рис. 12). Слід зазначити, що якщо ви не знаєте, у якій з категорій розміщена потрібна функція, можна вибрати елемент <Все>; тоді в правий список будуть виведені імена всіх наявних функцій.

Рис.12. Вибір функції в будівнику виразів

Щоб побудувати потрібний нам вираз, спочатку введемо в область побудови виразів ім'я поля з двокрапкою (Сума послуг:). Виберемо в лівому списку Функции, а потім Встроенные функции. Після цього в середньому списку вибираємо категорію Статистические, а в правому списку - функцію Sum і натискаємо Вставить (замість цього можна виконати подвійне натискання на ім'я функції). Далі вибираємо таблицю «Журнал прийому» і в ній поле Ціна й аналогічно вставимо цей операнд замість виразу в дужках; щоб повернутися у вікно конструктора запитів, слід клацнути на ОК. Уже перебуваючи в конструкторі запитів, не забудьте натиснути клавішу <Enter>, щоб виконати компіляцію побудованого виразу. Якщо синтаксис виразу помилковий, з'явиться повідомлення про помилку, після чого можна буде повернутися в будівник і виправити її.

Поточний об'єкт бази даних, тобто той, з якого викликали будівник виразів, завжди розташовують у верхньому рядку лівого списку. Щоб його елементи (наприклад, поля запиту) були доступні в будівнику виразів, його слід заздалегідь зберегти в базі даних.

Побудова виразів супроводжується підказками типу Вираз, що вводяться безпосередньо у формулу. Ці підказки говорять про те, що в цьому місці очікується вираз. Такі підказки слід замінювати фактичними операторами або аргументами функцій і процедур.

Вікно будівника виразів має кнопку Справка. За допомогою цієї кнопки можна отримати довідку про те, як користуватися будівником. Проте її можна використовувати і для отримання довідкової інформації про вбудовані функції, якщо заздалегідь виділити потрібну функцію, що міститься у виразі.




1. symmetric Digitl Subscriber Line асимметричная цифровая абонентская линия модемная технология в которой доступная п
2. исторические предпосылки возникновения философии в древней Греции
3. Філософські аспекти кохання, часу і вічності, смерті та безсмертя в сонетах Шекспіра
4. Ликург
5. Реферат- Как эффективно организовать телефонные контакты с потребителями
6. шрамана палийское саманна ~ подвижник каждая из которых выступила со своей программой достижения в.html
7. Антоновские яблоки ИАБунин
8. Литература - Социальная медицина (понятие и основные критерии образа жизни)
9. тема України складається з державного бюджету та місцевих бюджетів
10. Верхний центральный показатель некоторой линейной системы
11. Подготовка и разработка экскурсии
12. тема зеркало вешалка
13. лекция медицинских рефератов историй болезни литературы обучающих программ тестов
14. К выводу о том что обучение получение образования неизобежно оказывает неблагоприятное воздействие на з.
15. Психолого-педагогическая диагностика- методологические основы, типы данных
16. Способы нанесения лакокрасочных покрытий [4] 1
17. Государство развивает далее начатый Платоном разговор о роли философов в идеальном государстве в котором р
18. тема 37 Управление финансами малых предприятий Исполнитель Студентка 6 курса группы ФиК
19. А 4301 Сычева Надежда Анатольевна 2 Русс
20. Тема- Компьютерная интерактивная обучающая тренинг система эмуляции компьютерных сетей.