我正在从包含医疗图表审核细节的表格中构建报告。重要的列是:
[ProcedureCode] char(5) = Procedure / service performed
[ModifierCode1] varchar(2) = Indicator of non-standard delivery of procedure
[AuditIssueId] int = what was wrong with the use of the procedure and/or modifier code
每个图表可能有0行或多行。两个AuditIssueIds用于:
报告将AuditIssue的结果按提供者的子组分组,然后审查每个过程或修改器代码(查找所有图表/问题的计数/百分比)。这是第一个获取图表计数的查询:
var providerCharts =
from ad in db.AuditDetails
join p in providers on ad.ProviderId equals p.ProviderId
where ad.ReviewDate >= startDate && ad.ReviewDate <= endDate
&& (filterSpecialtyId == 0 || p.Specialty.SpecialtyId == filterSpecialtyId)
group ad by new { ad.ProviderId, ad.ProcedureCode } into grpIssue
select new
{
ProviderId = grpIssue.Key.ProviderId,
ProcedureCode = grpIssue.Key.ProcedureCode,
ChartCount = grpIssue.Count()
};
除了一个AuditIssue - “不正确的修饰符代码”之外,这很有效。此代码显示图表中每个过程的计数,但应按修饰符分组。
我试图在我的分组中插入这样的条件而没有运气:
(i.AuditIssueId == AuditIssueIds.IncorrectModifierCode)
? ad.ModifierCode1 : ad.ProcedureCode
我是否需要进行两次查询并将它们联合起来,还是有一种方法可以实现这种类型的动态分组?
谢谢, 斯科特