/// /// Site-level configuration controlling workflow routing per batch type. /// ClinicalApprovalRequired maps BatchType DB strings to whether a clinical /// approver must sign off after verification before the batch can be approved. /// public class SiteConfigOptions { public const string Section = "SiteConfig"; /// /// Maps batch type DB string (e.g. "LAB_RESULTS") to whether clinical /// approval is required after verification. If a batch type is not listed, /// clinical approval is NOT required (defaults to false). /// public Dictionary ClinicalApprovalRequired { get; set; } = new(); /// /// Returns true if the given batch type requires clinical approval after /// verification. Batch types not present in the dictionary default to false. /// public bool RequiresClinicalApproval(BatchType batchType) { var key = batchType.ToDbString(); return ClinicalApprovalRequired.TryGetValue(key, out var required) && required; } }