initial commit

This commit is contained in:
voltsrage
2026-06-26 04:20:20 +08:00
commit 869006e5e7
64 changed files with 4632 additions and 0 deletions
@@ -0,0 +1,31 @@
public class DigitizationBatch
{
public Guid Id { get; set; }
public BatchStatus Status { get; set; }
public BatchType BatchType { get; set; }
public BatchTrack Track { get; set; }
public Guid? PatientId { get; set; }
public Guid? EncounterDraftId { get; set; }
public string DocumentRef { get; set; } = null!;
public string DocumentSha256 { get; set; } = null!;
public bool EnableRetroactiveAlerts { get; set; }
public Guid? EnteredByUserId { get; set; }
public Guid? VerifiedByUserId { get; set; }
public Guid? ApprovedByUserId { get; set; }
public string? RejectionReason { get; set; }
public DateTimeOffset? PromotedAt { get; set; }
public Guid? PromotionEncounterId { get; set; }
public Guid? SupersedesBatchId { get; set; }
public bool ClinicianAttestation { get; set; }
public DateTimeOffset CreatedAt { get; set; }
public DateTimeOffset UpdatedAt { get; set; }
public User? EnteredByUser { get; set; }
public User? VerifiedByUser { get; set; }
public User? ApprovedByUser { get; set; }
public ScannedDocument? Document { get; set; }
public DraftPatient? DraftPatient { get; set; }
public DraftEncounter? DraftEncounter { get; set; }
public ICollection<DraftObservation> DraftObservations { get; set; } = new List<DraftObservation>();
public ICollection<DigitizationEvent> Events { get; set; } = new List<DigitizationEvent>();
}
@@ -0,0 +1,12 @@
public class DigitizationEvent
{
public Guid Id { get; set; }
public Guid BatchId { get; set; }
public DigitizationEventType EventType { get; set; }
public Guid ActorUserId { get; set; }
public DateTimeOffset OccurredAt { get; set; }
public string? MetadataJson { get; set; }
public DigitizationBatch Batch { get; set; } = null!;
public User Actor { get; set; } = null!;
}
@@ -0,0 +1,15 @@
public class DraftEncounter
{
public Guid Id { get; set; }
public Guid BatchId { get; set; }
public DateTimeOffset? AdmissionDate { get; set; }
public Department? Department { get; set; }
public string? RoomBed { get; set; }
public string? AdmissionReason { get; set; }
public string? DischargeDiagnosis { get; set; }
public string? Status { get; set; }
public DateTimeOffset CreatedAt { get; set; }
public DateTimeOffset UpdatedAt { get; set; }
public DigitizationBatch Batch { get; set; } = null!;
}
@@ -0,0 +1,13 @@
public class DraftObservation
{
public Guid Id { get; set; }
public Guid BatchId { get; set; }
public string ObservationCode { get; set; } = null!;
public decimal Value { get; set; }
public string Unit { get; set; } = null!;
public DateTimeOffset RecordedAt { get; set; }
public string? Note { get; set; }
public DateTimeOffset CreatedAt { get; set; }
public DigitizationBatch Batch { get; set; } = null!;
}
@@ -0,0 +1,18 @@
public class DraftPatient
{
public Guid Id { get; set; }
public Guid BatchId { get; set; }
public string? FullName { get; set; }
public DateOnly? DateOfBirth { get; set; }
public string? Sex { get; set; }
public BloodType? BloodType { get; set; }
public string? EmergencyContact { get; set; }
public string? AllergiesJson { get; set; }
public bool NoKnownAllergies { get; set; }
public string? MedicationsJson { get; set; }
public bool NoActiveMedications { get; set; }
public DateTimeOffset CreatedAt { get; set; }
public DateTimeOffset UpdatedAt { get; set; }
public DigitizationBatch Batch { get; set; } = null!;
}
@@ -0,0 +1,12 @@
public class ScannedDocument
{
public Guid Id { get; set; }
public Guid BatchId { get; set; }
public string ObjectKey { get; set; } = null!;
public string Sha256 { get; set; } = null!;
public string ContentType { get; set; } = null!;
public long FileSizeBytes { get; set; }
public DateTimeOffset UploadedAt { get; set; }
public DigitizationBatch Batch { get; set; } = null!;
}
@@ -0,0 +1,10 @@
public class User
{
public Guid Id { get; set; }
public string Username { get; set; } = null!;
public string PasswordHash { get; set; } = null!;
public string FullName { get; set; } = null!;
public UserRole Role { get; set; }
public bool IsActive { get; set; } = true;
public DateTimeOffset CreatedAt { get; set; }
}