Skip to content

Latest commit

 

History

129 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Medical

Medical is an open-source health platform designed to give patients a complete, unified view of their own medical history. It's built for people managing long-term conditions who need their health information to be accessible and organized — something that's increasingly hard to come by in a healthcare system where medical staff are stretched thin and overworked.

Technical Overview

Built with: C#, Blazor, Entity Framework, Bootstrap, and Microsoft SQL Server (SQL Express)

The app runs on Blazor Web App, supporting both client-side and server-side rendering. Most data currently lives on the server, so the app talks directly to the database instead of routing everything through a separate API layer. Data is stored locally using SQL Express for now.

The system includes full authentication and role-based authorization, so access is controlled both at the login level and by user role. Core functionality — like tracking symptoms per patient — is handled through standard create, read, update, and delete operations.

Why I Built This

This project grew out of a deeply personal experience — walking through my wife's cancer diagnosis and treatment alongside her. Even at a strong regional hospital with a genuinely good care team, we constantly ran into communication gaps and information silos, simply because the system itself was overburdened and large organizations naturally create friction.

My goal with Medical is to give patients better visibility into their own care, cut down on the communication breakdowns that add stress to an already difficult situation, and ease some of the documentation burden on medical teams who are already stretched too thin.

What's Implemented

Core Features

  • Built on an MVVM architecture
    • Model (database entities like Symptom and ApplicationUser)
    • ViewModel (logic in Razor files, commands, and service interfaces)
    • View (Razor components and HTML templates)
  • Account registration with full form validation and error handling
  • Full CRUD functionality against the SQL Server database
    • Symptoms
    • Notes
  • ASP.NET Core Identity for authentication and authorization
  • User-aware session handling so each person sees their own data
  • Appointment scheduling via Syncfusion, viewable in multiple calendar formats
  • A doctor-facing dashboard for looking up patients by name and viewing or editing their records

Smaller Implementation Details

  • Models built with backing fields and constructors
  • Symptom data managed through a list collection accessed via interface
  • A hard-coded list of doctors
  • Form validation logic that enables or blocks submission based on model state
  • Handling for empty collections, async operations, and JavaScript-driven UI feedback (e.g. when deleting a symptom)
  • Base model classes for shared object structure
  • Service interfaces that keep components loosely coupled and support async operations
  • Foreign key relationships in the SQL Server schema
  • Role-based access restrictions on specific pages and components
  • Dashboard population driven by the current authenticated user's data
  • Automatic database seeding for admin accounts, roles, and required setup in any new environment

Planned Improvements

  • Expanding client-side rendering to more features
  • Adding chat functionality
  • Moving to cloud-based storage
  • Integrating Azure Cognitive Search
  • Adding OpenAI integration

What I Took Away From This

Building Medical taught me how to bring C#, Blazor, Entity Framework, and SQL Server together into a real full-stack application — covering everything from application architecture and dependency injection to authentication, authorization, and relational database design with primary and foreign keys.

It also reinforced how much good architecture matters. Designing components to be loosely coupled made the codebase easier to debug and let me work on one part of the system without risking the rest.

More importantly, the biggest lesson was this: there's the technical side of a project — how it's built — and there's the functional side — how it actually feels to use. The real challenge, and the real skill, is connecting the two.

About

Medical is a health platform giving long-term patients a unified view of their medical history. Built with C#, Blazor, Entity Framework, and SQL Server, it addresses communication gaps in overburdened healthcare systems through secure, role-based access to symptoms, notes, and care data.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages