begin: PHI Column Encryption

This commit is contained in:
voltsrage
2026-06-22 21:18:36 +08:00
parent 518cc5b99a
commit 46db694820
21 changed files with 3177 additions and 6 deletions
+12 -1
View File
@@ -2,7 +2,14 @@ using Microsoft.EntityFrameworkCore;
public class AppDbContext : DbContext
{
public AppDbContext(DbContextOptions<AppDbContext> options) : base(options) { }
private readonly IPhiEncryptionService? _phiCrypto;
public AppDbContext(
DbContextOptions<AppDbContext> options,
IPhiEncryptionService? phiCrypto = null) : base(options)
{
_phiCrypto = phiCrypto;
}
public DbSet<Patient> Patients => Set<Patient>();
public DbSet<Encounter> Encounters => Set<Encounter>();
@@ -21,9 +28,13 @@ public class AppDbContext : DbContext
public DbSet<ExternalResourceIdentifier> ExternalResourceIdentifiers => Set<ExternalResourceIdentifier>();
public DbSet<ClinicalUser> ClinicalUsers => Set<ClinicalUser>();
public DbSet<ClinicalAuditLog> ClinicalAuditLogs => Set<ClinicalAuditLog>();
public DbSet<PhiAccessLog> PhiAccessLogs => Set<PhiAccessLog>();
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.ApplyConfigurationsFromAssembly(typeof(AppDbContext).Assembly);
if (_phiCrypto is not null)
modelBuilder.ConfigurePhiConverters(_phiCrypto);
}
}