Общие положения
Разрабатываемое в курсовой работе приложение носит следующие наименование: «Автоматизированная информационная система учёта пациентов поликлиники».
Назначение и цели создания системы
Работа сотрудников регистратуры заключается в ведении карточек пациентов, а также в записи на прием к врачам разных специальностей. Основное назначение разрабатываемого приложения (АИС) это облегчение работы сотрудников регистратуры. Так как большинство операций, особенно по ведению карточек, а также запись на прием осуществляется вручную, а устанавливаемое ПО очень сложно для освоения, для изменения этой ситуации и разрабатывается наше приложение.
Использованные технологии:
- C# + WPF+ WinForms;
- SQLite + Entity Framework;
- Access.
- Visual Studio 2019
Содержание курсового проекта (48 страниц):
1 ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ РАЗРАБОТКИ ПРИЛОЖЕНИЙ С ПОЛЬЗОВАТЕЛЬСКИМ ИНТЕРФЕЙСОМ НА ЯЗЫКЕ C#. 8
1.1 Современные языки программирования. 8
1.2 Язык высокого уровня C#. 9
1.3 Windows Forms или Windows Presentation Foundation. 10
1.4 Особенности работы с дизайном при разработке WPF- приложения. 13
2 РАЗРАБОТКА ПРИЛОЖЕНИЯ С ПОЛЬЗОВАТЕЛЬСКИМ ИНТЕРФЕЙСОМ ДЛЯ РЕГИСТРАТУРЫ ПОЛИКЛИНИКИ.. 18
2.1 Общие положения. 18
2.2 Назначение и цели создания системы.. 18
2.3 Требования и возможности АИС.. 18
2.4 Разработка приложения для регистратуры поликлиники. 19
ЗАКЛЮЧЕНИЕ. 38
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ. 40
ПРИЛОЖЕНИЯ. 42
Приложение А. Форма - Меню программы и её код. 42
Приложение Б. Форма - Картотека и её код. 43
Приложение В. Форма – Запись на прием и её код. 46
Требования и возможности АИС
Данное приложение будет иметь следующие возможности:
- учет карточек пациентов;
- учёт пациентов;
- учёт врачей;
Приложение будет построено на базе двух технологий: Windows Forms и Windows Presentation Foundation.
Windows Presentation Foundation будет использоваться для создания основного графического интерфейса. Будут созданы три окна: Регистрация, Авторизация и Кабинет пользователя. Для хранения учётных данных пользователей будет использоваться база данных Sqllite
Для реализации основной части приложения будет использоваться Windows Forms. Все основные данные будут храниться в базе Access.
Работа системы заключается в следующем. Сотрудник регистратуры заносит в базу данных сведения пациенте, если пациент обращается в поликлинику впервые. После этого определяет врачей, которые будут оказывать пациенту медицинскую помощь.
Фрагмент программного кода (окно авторизации):
using System.Linq;
using System.Windows;
using System.Windows.Media;
namespace Registry
{
/// <summary>
/// Логика взаимодействия для AuthWindow.xaml
/// </summary>
public partial class AuthWindow : Window
{
public AuthWindow()
{
InitializeComponent();
}
private void Button_Auth_Click(object sender, RoutedEventArgs e)
{
string name = textBoxName.Text.Trim();
string login = textBoxLogin.Text.Trim();
string pass = passBox.Password.Trim();
if (name.Length < 5)
{
textBoxName.ToolTip = "Это поле заполнено не корректно!";
textBoxName.Background = Brushes.Gray;
}
else if (login.Length < 5)
{
textBoxLogin.ToolTip = "Это поле заполнено не корректно!";
textBoxLogin.Background = Brushes.Gray;
}
else if (pass.Length < 5)
{
passBox.ToolTip = "Это поле заполнено не корректно!";
passBox.Background = Brushes.Gray;
}
else
{
textBoxName.ToolTip = "";
textBoxName.Background = Brushes.Transparent;
textBoxLogin.ToolTip = "";
textBoxLogin.Background = Brushes.Transparent;
passBox.ToolTip = "";
passBox.Background = Brushes.Transparent;
User authUser = null;
using (AppContext db = new AppContext())
{
authUser = db.Users.Where(b => b.Name == name && b.Login == login && b.Pass == pass ).FirstOrDefault();
}
if (authUser != null)
{
MessageBox.Show("Всё хорошо!!");
UserPageWindow userPageWindow = new UserPageWindow();
userPageWindow.Show();
Hide();
}
else
MessageBox.Show("Вы ввели что-то не так!!!");
}
}
private void Button_Reg_Click(object sender, RoutedEventArgs e)
{
MainWindow mainWindow = new MainWindow();
mainWindow.Show();
Hide();
}
}
}
Фрагмент программного кода (форма Картотека):
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;
namespace Registry
{
public partial class Form2 : Form
{
public static string connectString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Регистратура.mdb"; // создали подключение к БД
private OleDbConnection myConnection; // задали название для подключения
public Form2()
{
InitializeComponent();
myConnection = new OleDbConnection(connectString);
myConnection.Open(); // открыли соединение с БД
}
private void Form2_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу "регистратураDataSet.Картотека". При необходимости она может быть перемещена или удалена.
this.картотекаTableAdapter.Fill(this.регистратураDataSet.Картотека);
}
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
myConnection.Close(); // закрыли подключение
}
private void Button1_Click(object sender, EventArgs e)
{
int kod = Convert.ToInt32(textBox1.Text);
string query = "DELETE FROM Картотека WHERE [Код карточки] =" + kod;
OleDbCommand command = new OleDbCommand(query, myConnection);
command.ExecuteNonQuery();
//MessageBox.Show("Информация о пациенте удалена");
this.картотекаTableAdapter.Fill(this.регистратураDataSet.Картотека);
}
private void Button2_Click(object sender, EventArgs e)
{
int kod = Convert.ToInt32(textBox2.Text);
string query = "UPDATE Картотека SET Пациент ='" + textBox3.Text + "'WHERE [Код карточки]=" + kod;
OleDbCommand command = new OleDbCommand(query, myConnection);
command.ExecuteNonQuery();
//MessageBox.Show("Информация о пациенте изменена");
}
private void Button3_Click(object sender, EventArgs e)
{
int kod = Convert.ToInt32(textBox2.Text);
string query = "UPDATE Картотека SET Врач ='" + textBox4.Text + "'WHERE [Код карточки]=" + kod;
OleDbCommand command = new OleDbCommand(query, myConnection);
command.ExecuteNonQuery();
//MessageBox.Show("Информация о враче изменена");
}
private void Button4_Click(object sender, EventArgs e)
{
int kod = Convert.ToInt32(textBox2.Text);
string query = "UPDATE Картотека SET Диагноз ='" + textBox5.Text + "'WHERE [Код карточки]=" + kod;
OleDbCommand command = new OleDbCommand(query, myConnection);
command.ExecuteNonQuery();
//MessageBox.Show("Информация о диагнозе изменена");
}
private void Button6_Click(object sender, EventArgs e)
{
this.картотекаTableAdapter.Fill(this.регистратураDataSet.Картотека);
}
private void Button7_Click(object sender, EventArgs e)
{
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
textBox4.Text = "";
textBox5.Text = "";
}
private void Button5_Click(object sender, EventArgs e)
{
Form3 f3 = new Form3();
f3.Show();
}
private void Button8_Click(object sender, EventArgs e)
{
Form1 f1 = new Form1();
f1.Show();
Hide();
}
}
}
Структура проекта:

Скриншот архива с проектом:


Содержание архива:
- Исходный проект программы с кодом в Visual Studio на языке C#.
- Пояснительная записа к курсовой работе (48 страниц).
Телеграм
-