Calculation type
Looks up a percentage value (not a dollar fee) for the charge's code in a fee schedule and applies it directly to the charge's own billed amount.
records = GetFeeScheduleRecords(context, calc.ScheduleType); for i in 1..NumCharges: if !IgnoreCharge(calc,charge,ctx) && records[i]!=null && charge.AmountCharged != 0: detail.SetBase(charge.AmountCharged * records[i].Amount / 100.0M, calc) — records[i].Amount is the schedule's stored percentage figure, not a dollar fee.
| Key | Meaning |
|---|---|
| ScheduleType | Key of the fee schedule to look up, per charge code, a percentage figure (stored in FeeScheduleRecord.Amount) rather than a dollar amount; inherited from ScheduleTypeCalculation. |
Gotchas
No Percentage field and no RuleMultipliers/IHasRuleMultipliers at all on this type (unlike PercentOfFees) — the entire 'percent' concept comes solely from the schedule's per-code record.Amount. The division is raw decimal arithmetic with no Math.Round call, so results can carry more than 2 decimal places unlike every sibling Base type (PercentOfFees/FlatPercentOfCharges round via ApplyMultipliers). CalculationLevel hardcoded to Charge (CustomerDataModel.cs:644). Skipped (left uncalculated) when record is null or charge.AmountCharged == 0 — a legitimate zero-charge line is silently never priced by this calculation.
class · /home/cary/src/mdc/MdClarity/MDClarity/MDClarityCore/Backend/CustomerDataModel.cs:642
dispatch · /home/cary/src/mdc/MdClarity/MDClarity/MDClarityCore/Backend/CalculationEngine.cs:662
CONFIRMED — re-read PercentOfChargesCalculation (CustomerDataModel.cs:642-658), CalculatePercentOfCharges (CalculationEngine.cs:1190-1208), PercentOfChargesCalculationField (CustomerSchema.cs:3246). Draft record was accurate; no changes needed.