logo
Разработка базы данных " Учет, регистрация пациентов и приемов

5. Описание пользовательской части

Пользовательская часть состоит из станиц, содержащих данные о докторах, пациентах, приемах и выписанных на них рецептах.

Начальной является страница Список пациентов, представленная на Рисунке 5.1

Рисунок 5.1 - Список пациентов

Часть кода, которая выводит данные на страницу Список пациентов представлена в Листинге 1.

Листинг 1 - Вывод данных на страницу Список пациентов

$handle = new mysqli(kyrsovik, mysql, mysql, Poliklinika);

$query = "SELECT Kod_patsiyenta,

Famil_pats,

Imia_pats,

Otch_pats,

№_kartyi,

Adres,

Phone,

№SNILS,

Polis,

Pasp_dan

FROM Patsiyent";

$result = $handle->query($query);

$numresult=$result->num_rows;

echo <table border=1 align=center>;

echo <th>№ карты</th>;

echo <th>Фамилия</th>;

echo <th>Имя</th>;

echo <th>Отчество</th>;

echo <th></th>;

for ($i=0;$i<$numresult;$i++)

{

$row=$result->fetch_assoc();

echo <tr><td>.$row[№_kartyi];

echo </td><td>.$row[Famil_pats];

echo </td><td>.$row[Imia_pats];

echo </td><td>.$row[Otch_pats];

echo </td><td>;

echo <form action="pacprosm.php" method="post">;

echo <input type="hidden" name="Kod_patsiyenta" value=".$row[Kod_patsiyenta].">;

echo <input class="b" type="submit" value="Просмотр">;

echo </form>;

}

echo </table>;

При нажатии на кнопку "Доктора" осуществляется переход на страницу Список докторов, представленную на Рисунке 5.2

Рисунок 5.2 - Список докторов

Часть кода, которая выводит данные на страницу Список докторов представлена в Листинге 2.

Листинг 2 - Вывод данных на страницу Список докторов

$handle = new mysqli(kyrsovik, mysql, mysql, Poliklinika);

$query = "SELECT Kod_doctora,

Famil_doc,

Imia_doc,

Otch_doc,

Profil,

Kabinet,

Kvalifikaciya

FROM Doctor";

$result = $handle->query($query);

$numresult=$result->num_rows;

echo <table border=1 align=center>;

echo <th>ФИО доктора</th>;

echo <th>Профиль</th>;

echo <th>Кабинет</th>;

echo <th>Квалификация</th>;

echo <th></th>;

echo <th></th>;

for ($i=0;$i<$numresult;$i++)

{

$row=$result->fetch_assoc();

echo <tr><td>.$row[Famil_doc];echo .$row[Imia_doc];echo .$row[Otch_doc];

echo </td><td>.$row[Profil];

echo </td><td>.$row[Kabinet];

echo </td><td>.$row[Kvalifikaciya];

echo </td><td>;

echo <form action="podtvudaldoc.php" method="post">;

echo <input type="hidden" name="Kod_doctora" value=".$row[Kod_doctora].">;

echo <input class="b" type="submit" value="Удалить">;

echo </form>;

echo </td><td>;

echo <form action="izdoc.php" method="post">;

echo <input type="hidden" name="Kod_doctora" value=".$row[Kod_doctora].">;

echo <input class="b" type="submit" value="Изменить">;

echo </form>;

}

echo </table>;

При вводе в поиск номера карты пациента или фамилии, выводится карта пациента. Аналогично выводится карта при нажатии на кнопку Просмотр. Карта амбулаторного больного представлена на Рисунке 5.3

Рисунок 5.3 - Карта амбулаторного больного

Часть кода, которая выводит карту амбулаторного больного представлена в Листинге 3.

Листинг 3 - Вывод данных на страницу Карточка пациента

$Kod_patsiyenta = $_POST[Kod_patsiyenta];

$handle = new mysqli(kyrsovik, mysql, mysql, Poliklinika);

$query = "SELECT Kod_patsiyenta,

Famil_pats,

Imia_pats,

Otch_pats,

№_kartyi,

Adres,

Phone,

№SNILS,

Polis,

Pasp_dan

FROM Patsiyent

WHERE Patsiyent.Kod_patsiyenta=$Kod_patsiyenta";

$result = $handle->query($query);

$numresult=$result->num_rows;

$row=$result->fetch_assoc();

echo <table border=0 align=center><tr><td class="d">;

echo <br><b>№ карты: </b>.$row[№_kartyi];

echo <br><br><b>ФИО:</b>.$row[Famil_pats];

echo .$row[Imia_pats];echo .$row[Otch_pats];

echo <br><br><b>Адрес: </b>.$row[Adres];

echo <br><br><b>№ телефона: </b>.$row[Phone];

echo <br><br><b>№ СНИЛС: </b>.$row[№SNILS];

echo <br><br><b>Полис: </b>.$row[Polis];

echo <br><br><b>Паспорные данные: </b>.$row[Pasp_dan];

echo </td></tr>;

echo <tr><td><form action="delpac.php" method="post" align=center>;

echo <input type="hidden" name="Kod_patsiyenta" value=".$row[Kod_patsiyenta].">;

echo <input class="b" type="submit" value="Удалить">;

echo </form>;

echo </td></tr><tr><td><form action="pacorderformedit.php" method="post" align=center>;

echo <input type="hidden" name="Kod_patsiyenta" value=".$row[Kod_patsiyenta].">;

echo <input class="b" type="submit" value="Изменить">;

echo </form>;

echo </td></tr><tr><td><form action="posech.php" method="post" align=center>;

echo <input type="hidden" name="Kod_patsiyenta" value=".$row[Kod_patsiyenta].">;

echo <input class="b" type="submit" value="Приемы">;

echo </form>;

echo </td></tr></table>;

echo </td></tr><tr><td><form action="pac.php" method="post" align=center>;

echo <input type="hidden" name="Kod_patsiyenta" value=".$row[Kod_patsiyenta].">;

echo <input class="b" type="submit" value="Назад">;

echo </form>;

echo </td></tr></table>;

В карте каждого пациента фиксируются приемы. При нажатии на кнопку Приемы выводятся все приемы пациента. Приемы пациента представлены на Рисунке 5.4

Рисунок 5.4 - Приемы пациента

Часть кода, которая выводит информацию о приемах пациента представлена в Листинге 4.

Листинг 4 - Вывод данных на страницу Приемы пациента

$Kod_patsiyenta=$_REQUEST[Kod_patsiyenta];

$handle = new mysqli(kyrsovik, mysql, mysql, Poliklinika);

$query = "SELECT Priyem.Kod_priyema,

Priyem.Diagnoz,

Priyem.Data_vremia,

Priyem.Primech,

Doctor.Famil_doc,

Doctor.Imia_doc,

Doctor.Otch_doc

FROM Priyem, doctor

WHERE Priyem.Kod_patsiyenta=$Kod_patsiyenta and Priyem.Kod_doctora=doctor.kod_doctora";

$result = $handle->query($query);

$numresult=$result->num_rows;

echo <table border=1 align=center>;

echo <th>ФИО доктора</th>;

echo <th>Диагноз</th>;

echo <th>Дата приема</th>;

echo <th>Примечания</th>;

echo <th></th>;

echo <th></th>;

echo <th></th>;

for ($i=0;$i<$numresult;$i++)

{

$row=$result->fetch_assoc();

echo <tr><td>.$row[Famil_doc];echo .$row[Imia_doc];echo .$row[Otch_doc];

echo </td><td>.$row[Diagnoz];

echo </td><td>.$row[Data_vremia];

echo </td><td>.$row[Primech];

echo </td><td>;

echo <form action="recept.php" method="post">;

echo <input type="hidden" name="Kod_priyema" value=".$row[Kod_priyema].">;

echo <input class="b" type="submit" value="Рецепт">;

echo </form>;

echo </td><td>;

echo <form action="delposech.php" method="post">;

echo <input type="hidden" name="Kod_priyema" value=".$row[Kod_priyema].">;

echo <input class="b" type="submit" value="Удалить прием">;

echo </form>;

echo </td><td>;

echo <form action="izposech.php" method="post">;

echo <input type="hidden" name="Kod_priyema" value=".$row[Kod_priyema].">;

echo <input class="b" type="submit" value="Изменить данные">;

echo </form>;

}

echo </table>;

На приемах выписываются рецепты. На Рисунке 5.5 изображена страница с таблицей лекарств, которую мы можем посмотреть при нажатии на кнопку Рецепты.

Рисунок 5.5 - Рецепт

Часть кода, которая выводит информацию о рецепте, выписанном на приеме представлена в Листинге 5.

Листинг 5 - Вывод данных на страницу Информация о рецептах

$Kod_priyema=$_REQUEST[Kod_priyema];

$handle = new mysqli(kyrsovik, mysql, mysql, Poliklinika);

$query = "SELECT Recept.Dozirovka,

Recept.Kyrs,

Preparat.Kod_preparata,

Preparat.Nazvanie_prep,

Preparat.Kategoriya

FROM Recept,Preparat

WHERE Recept.Kod_priyema=$Kod_priyema and Recept.Kod_preparata=Preparat.Kod_preparata";

$result = $handle->query($query);

$numresult=$result->num_rows;

echo <table border=1 align=center>;

echo <th>Название препарата</th>;

echo <th>Категория</th>;

echo <th>Дозировка</th>;

echo <th>Курс</th>;

echo <th></th>;

echo <th></th>;

for ($i=0;$i<$numresult;$i++)

{

$row=$result->fetch_assoc();

echo <tr><td>.$row[Nazvanie_prep];

echo </td><td>.$row[Kategoriya];

echo </td><td>.$row[Dozirovka];

echo </td><td>.$row[Kyrs];

echo </td><td>;

echo <form action="delrecept.php" method="post">;

echo <input type="hidden" name="Kod_priyema" value=".$Kod_priyema.">;

echo <input type="hidden" name="Kod_preparata" value=".$row[Kod_preparata].">;

echo <input class="b" type="submit" value="Удалить рецепт">;

echo </form>;

echo </td><td>;

echo <form action="izrecept.php" method="post">;

echo <input type="hidden" name="Kod_priyema" value=".$Kod_priyema.">;

echo <input type="hidden" name="Kod_preparata" value=".$row[Kod_preparata].">;

echo <input class="b" type="submit" value="Изменить">;

echo </form>;

}

echo </table>;

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

На каждой странице есть кнопка ввода данных и редактирования.

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

При нажатии на кнопку "Изменить" открывается страница редактирования, где можно изменить существующие данные, при этом производится проверка на совпадающие записи. При нажатии на кнопку "Удалить" удаляется запись полностью. При удалении информации о докторах производится проверка на использование этих данных в таблице приемы. Если запись входит в прием, выводится запрос подтверждения удаления.