Improve dynamic question learning loop
This commit is contained in:
@@ -16,6 +16,14 @@ public sealed class DynamicQuestionBlueprint
|
||||
public string Discipline { get; set; } = "";
|
||||
public string PerformanceCategory { get; set; } = "";
|
||||
public string PhysicianTask { get; set; } = "";
|
||||
public string EncounterFrame { get; set; } = "";
|
||||
public string SiteOfCare { get; set; } = "";
|
||||
public double BlueprintWeight { get; set; }
|
||||
public List<string> ConceptIds { get; set; } = [];
|
||||
public List<string> PrerequisiteConceptIds { get; set; } = [];
|
||||
public DateTime? MedicallyReviewedUtc { get; set; }
|
||||
public DateTime? MedicalReviewExpiresUtc { get; set; }
|
||||
public string MedicalReviewer { get; set; } = "";
|
||||
public int Difficulty { get; set; } = 3;
|
||||
public int QualityStandardVersion { get; set; } = 1;
|
||||
public string CorrectConceptId { get; set; } = "";
|
||||
@@ -115,6 +123,8 @@ public sealed class DynamicAnswerTemplate
|
||||
public string Id { get; set; } = "";
|
||||
public string TextTemplate { get; set; } = "";
|
||||
public string ExplanationTemplate { get; set; } = "";
|
||||
public string MisconceptionId { get; set; } = "";
|
||||
public List<string> RemediationConceptIds { get; set; } = [];
|
||||
}
|
||||
|
||||
public sealed class DynamicGenerationClaims
|
||||
@@ -130,6 +140,9 @@ public sealed class DynamicGenerationClaims
|
||||
public string DifficultyTier { get; set; } = "";
|
||||
public int EffectiveAbilityElo { get; set; }
|
||||
public int FamilyElo { get; set; }
|
||||
public bool IsScheduledReview { get; set; }
|
||||
public string ReviewItemId { get; set; } = "";
|
||||
public int ReviewStage { get; set; }
|
||||
public DateTime ExpiresUtc { get; set; }
|
||||
}
|
||||
|
||||
@@ -183,6 +196,9 @@ public sealed class DynamicAttemptResponse
|
||||
public string ObjectiveId { get; set; } = "";
|
||||
public int ObjectiveElo { get; set; }
|
||||
public int RatingChange { get; set; }
|
||||
public string SelectedMisconceptionId { get; set; } = "";
|
||||
public bool IsScheduledReview { get; set; }
|
||||
public DateTime? NextReviewUtc { get; set; }
|
||||
}
|
||||
|
||||
public sealed class DynamicReportRequest
|
||||
@@ -199,6 +215,19 @@ public sealed class DynamicQuestionStatusResponse
|
||||
public int AttemptedObjectives { get; set; }
|
||||
public int TotalAttempts { get; set; }
|
||||
public int AverageObjectiveElo { get; set; } = 1000;
|
||||
public int ReviewsDue { get; set; }
|
||||
public List<DynamicCoverageSummary> SystemCoverage { get; set; } = [];
|
||||
public List<DynamicCoverageSummary> PhysicianTaskCoverage { get; set; } = [];
|
||||
}
|
||||
|
||||
public sealed class DynamicCoverageSummary
|
||||
{
|
||||
public string Id { get; set; } = "";
|
||||
public int PublishedObjectives { get; set; }
|
||||
public int AttemptedObjectives { get; set; }
|
||||
public int Attempts { get; set; }
|
||||
public double CoveragePercent { get; set; }
|
||||
public int AverageElo { get; set; } = 1000;
|
||||
}
|
||||
|
||||
public sealed class DynamicQuestionAttempt
|
||||
@@ -218,10 +247,36 @@ public sealed class DynamicQuestionAttempt
|
||||
public string ChoiceId { get; set; } = "";
|
||||
public bool IsCorrect { get; set; }
|
||||
public bool IsSkip { get; set; }
|
||||
public string SelectedMisconceptionId { get; set; } = "";
|
||||
public bool IsScheduledReview { get; set; }
|
||||
public int DurationSeconds { get; set; }
|
||||
public DateTime CreatedUtc { get; set; } = DateTime.UtcNow;
|
||||
}
|
||||
|
||||
public static class DynamicReviewStates
|
||||
{
|
||||
public const string Pending = "pending";
|
||||
public const string Mastered = "mastered";
|
||||
}
|
||||
|
||||
public sealed class DynamicReviewItem
|
||||
{
|
||||
[BsonId]
|
||||
[BsonRepresentation(BsonType.ObjectId)]
|
||||
public string? Id { get; set; }
|
||||
public string UserId { get; set; } = "";
|
||||
public string ObjectiveId { get; set; } = "";
|
||||
public string BlueprintExternalId { get; set; } = "";
|
||||
public int BlueprintVersion { get; set; }
|
||||
public string MisconceptionId { get; set; } = "";
|
||||
public string State { get; set; } = DynamicReviewStates.Pending;
|
||||
public int Stage { get; set; }
|
||||
public int ReviewCount { get; set; }
|
||||
public DateTime DueUtc { get; set; }
|
||||
public DateTime CreatedUtc { get; set; } = DateTime.UtcNow;
|
||||
public DateTime UpdatedUtc { get; set; } = DateTime.UtcNow;
|
||||
}
|
||||
|
||||
public sealed class DynamicObjectiveMastery
|
||||
{
|
||||
[BsonId]
|
||||
|
||||
Reference in New Issue
Block a user