Общие положения
Разрабатываемое в курсовой работе приложение носит следующие наименование: «Автоматизированная информационная система учёта пациентов поликлиники».
Назначение и цели создания системы
Работа сотрудников регистратуры заключается в ведении карточек пациентов, а также в записи на прием к врачам разных специальностей. Основное назначение разрабатываемого приложения (АИС) это облегчение работы сотрудников регистратуры. Так как большинство операций, особенно по ведению карточек, а также запись на прием осуществляется вручную, а устанавливаемое ПО очень сложно для освоения, для изменения этой ситуации и разрабатывается наше приложение.
Использованные технологии:
- 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 страниц).
admin