Sağlık Merkezi Hasta Takip Sistemi - A comprehensive Windows Forms application for managing patient information, medical operations, and healthcare workflows in health centers.
SOHATS is a desktop application designed for primary health centers and clinics to streamline patient management, track medical procedures, manage clinic operations, and generate healthcare reports. Built with C#, Windows Forms, and SQL Server for reliable data management.
Target Users: Health Centers, Clinics, Doctors, Nurses, Clinic Staff
✅ Patient Management - Register, search, and manage patient records with complete medical history
✅ Clinic Operations - Manage departments, appointments, and staff assignments
✅ Medical Procedures - Record procedures, diagnoses, treatments, and vital signs
✅ Patient Discharge - Handle discharge processes with comprehensive reports
✅ Reporting - Generate patient, visit, and clinic performance reports
✅ User Access Control - Role-based authentication and authorization
✅ Medical Referrals - Create and track referrals to specialist clinics
- Windows: Windows 7 SP1 or later
- .NET Framework: 4.0 or higher
- SQL Server: 2012 or later (Express Edition acceptable)
- RAM: 4 GB minimum
- Storage: 2 GB for application and data
git clone https://github.com/Rum-eysa/Health_Center_SOHATS.git
cd Health_Center_SOHATS/Saglik_Ocagi_Hasta_Takip_Sistemi-- Open SQL Server Management Studio
-- Create database
CREATE DATABASE SOHATS;
USE SOHATS;
-- Execute script.sql to create tables
-- Then create default admin userEdit App.config:
<connectionStrings>
<add name="SOHATSEntities"
connectionString="Server=YOUR_SERVER;Database=SOHATS;Integrated Security=true;"
providerName="System.Data.SqlClient" />
</connectionStrings>- Open
SOHATS.slnin Visual Studio - Build solution (Ctrl+Shift+B)
- Run application (F5)
Default credentials (change immediately):
- Username: admin
- Password: password
- Click Patients → New Patient
- Enter patient information (name, ID, contact details)
- Add medical history and allergies
- Click Save
- Find patient in search
- Click New Visit
- Enter visit details (diagnosis, treatment, vital signs)
- Save visit record
- Click Discharge → New Discharge
- Select patient
- Enter discharge information and instructions
- Generate discharge report
- Mark patient as discharged
- Go to Reports
- Select report type (Patient, Visit, Statistics)
- Set date range and filters
- Click Generate
- Admin → Users
- Add/edit user accounts
- Assign role and clinic
- Set permissions
SOHATS/
├── Forms/
│ ├── Login.cs # Authentication
│ ├── AnaForm.cs # Main window
│ ├── HastaBilgileri.cs # Patient info
│ ├── HastaProcess.cs # Patient processing
│ ├── PoliklinikPage.cs # Clinic management
│ ├── KullaniciPage.cs # User management
│ ├── Taburcu.cs # Discharge
│ └── Rapor.cs # Reports
│
├── DB/
│ ├── Model1.Context.cs # EF DbContext
│ ├── hasta.cs # Patient entity
│ ├── kullanici.cs # User entity
│ ├── poliklinik.cs # Clinic entity
│ ├── islem.cs # Procedure entity
│ ├── cikis.cs # Discharge entity
│ └── sevk.cs # Referral entity
│
├── DatabaseControl.cs # Database operations
├── Program.cs # Entry point
├── App.config # Configuration
└── script.sql # Database initialization
| Table | Purpose |
|---|---|
| hasta | Patient records (demographics, contact, medical history) |
| kullanici | User accounts with roles and permissions |
| poliklinik | Clinic/Department information |
| islem | Medical procedures and visits |
| cikis | Patient discharge records |
| sevk | Medical referrals between clinics |
hasta
├── HastaID (Primary Key)
├── TCKimlik (National ID)
├── Ad (First Name)
├── Soyad (Last Name)
├── DogumTarihi (Birth Date)
├── Cinsiyet (Gender)
├── Telefon (Phone)
├── Adres (Address)
├── MailAdresi (Email)
├── SigortaDurumu (Insurance Status)
├── EmerjansiKisiAdi (Emergency Contact)
└── KayitTarihi (Registration Date)
islem
├── IslemID (Primary Key)
├── HastaID (Foreign Key)
├── PoliklinikID (Clinic)
├── DoktorID (Doctor)
├── IslemTarihi (Procedure Date)
├── Tani (Diagnosis)
├── Tedavi (Treatment)
├── VitalIsaret_KanBasinci (Blood Pressure)
├── VitalIsaret_Nabiz (Pulse)
├── VitalIsaret_Sicaklik (Temperature)
└── Notlar (Notes)
| Role | Permissions |
|---|---|
| Admin | Full system access, user management, configuration |
| Doctor | Patient access, procedure recording, diagnosis, referrals |
| Nurse | Vital signs recording, patient data viewing |
| Secretary | Patient registration, appointments, record management |
- Use PascalCase for classes and methods
- Use camelCase for local variables
- Turkish variable names:
hasta,poliklinik,doktor - Add XML documentation for public methods
using (var context = new SOHATSEntities())
{
var patient = context.hasta.FirstOrDefault(p => p.HastaID == id);
return patient;
}- Create feature branch:
git checkout -b feature/YourFeature - Make changes with proper documentation
- Test thoroughly
- Commit:
git commit -m 'feat(module): description' - Push and create Pull Request
- Verify SQL Server is running
- Check connection string in App.config
- Test connection with SQL Server Management Studio
- Check Windows Event Viewer
- Verify .NET Framework 4.0+
- Rebuild solution
- Execute script.sql to create tables
- Verify user exists in database
- Check user is marked as active
- Reset password if needed
- Check user role permissions
- Fork the repository
- Create feature branch:
git checkout -b feature/YourFeature - Make changes and test
- Commit:
git commit -m 'feat: description' - Push:
git push origin feature/YourFeature - Create Pull Request
MIT License - You are free to use, modify, and distribute this software.
Author: Rumeysa (Rum-eysa)
GitHub: @Rum-eysa
Issues: GitHub Issues
Version: 1.0.0 | Last Updated: June 2026
Sağlık Merkezi Hasta Takip Sistemi (SOHATS) - Healthcare management system for patient registration, medical procedures, clinic operations, and reporting. Built with C#, Windows Forms, SQL Server.
Character Count: 160 characters ✓