using Microsoft.EntityFrameworkCore; public class AppDbContext : DbContext { private readonly IPhiEncryptionService? _phiCrypto; public AppDbContext( DbContextOptions options, IPhiEncryptionService? phiCrypto = null) : base(options) { _phiCrypto = phiCrypto; } public DbSet Patients => Set(); public DbSet Encounters => Set(); public DbSet AlertThresholds => Set(); public DbSet Observations => Set(); public DbSet ClinicalAlerts => Set(); public DbSet Orders => Set(); public DbSet OutboxEvents => Set(); public DbSet ReconciliationAlerts => Set(); public DbSet News2Scores => Set(); public DbSet SepsisBundles => Set(); public DbSet SepsisBundleElements => Set(); public DbSet MedicationAdministrations => Set(); public DbSet GcsScores => Set(); public DbSet SofaScores => Set(); public DbSet QsofaEvaluations => Set(); public DbSet ExternalResourceIdentifiers => Set(); public DbSet ClinicalUsers => Set(); public DbSet ClinicalAuditLogs => Set(); public DbSet PhiAccessLogs => Set(); public DbSet ClinicalSites => Set(); public DbSet WardGateways => Set(); public DbSet ClinicalSyncBatches => Set(); public DbSet ClinicalSyncConflicts => Set(); public DbSet AlertFeedbacks => Set(); public DbSet AlertQualityMetrics => Set(); protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.ApplyConfigurationsFromAssembly(typeof(AppDbContext).Assembly); if (_phiCrypto is not null) modelBuilder.ConfigurePhiConverters(_phiCrypto); } }