Code covered by the BSD License  

Highlights from
Estimate LDL cholesterol

Estimate LDL cholesterol

by

 

Estimate LDL cholesterol based on measured total cholesterol (TC), HDL, and triglycerides (TG).

estimateLDL(TC, HDL, TG, InputUnits)
function eLDL = estimateLDL(TC, HDL, TG, InputUnits)
%estimateLDL: estimate LDL cholesterol 
%   
% For most cases, the classical formula by Friedewald, Levy, and Fredrickson 
% dated back to 1972 [1] (usually called the Friedewald formula) is used.
% For low triglycerides, the recent (2008) formula by Ahmadi et al. [2] is used.
%
% INPUT:
%   TC - total measured cholesterol as listed in the blood test,
%   HDL - measured HDL cholesterol as listed in the blood test,
%   TG - total triglycerides as listed in the blood test,
%   InputUnits - 'conventional' (mg/dL) or 'SI' (mmol/L).
%
% OUTPUT (rounded as in usual blood test reports):
%   eLDL.mg - estimated LDL [mg/dL], rounded to integers
%   eLDL.mmol - estimated LDL [mmol/L], rounded to two decimal places.
%
% REFERENCES:
% [1] Friedewald WT, Levy RI, Fredrickson DS: 
%     "Estimation of the Concentration of Low-Density Lipoprotein
%     Cholesterol in Plasma, Without Use of the Preparative
%     Ultracentrifuge". Clinical Chemistry, vol.18, no.6, 1972, pp.499-502.
%     PUBMED record: http://www.ncbi.nlm.nih.gov/pubmed/4337382
%     ORIGINAL: http://www.clinchem.org/content/18/6/499.full.pdf
% 
% [2] Ahmadi SA, Boroumand MA, Gohari-Moghaddam K, Tajik P, Dibaj SM:
%     "The Impact of Low Serum Triglyceride on LDL-Cholesterol Estimation".
%     Archives of Iranian Medicine, vol.11, no.3, 2008, pp.318-321.
%     PUBMED record: http://www.ncbi.nlm.nih.gov/pubmed/18426324
%     ORIGINAL: http://www.ams.ac.ir/aim/08113/0014.pdf
%
%
% EXAMPLE 1 (more or less standard triglycerides; conventional units):
%     > LDL = estimateLDL(210, 36, 236, 'conventional')
%     LDL = 
%           mg: 127
%         mmol: 3.2800
%
% EXAMPLE 2 (low triglycerides; SI units):
%     > LDL = estimateLDL(5.8, 1.48, 0.68, 'SI')
%     LDL = 
%           mg: 130
%         mmol: 3.3600
% 
% Copyright (C) 2012 Igor Podlubny (igor.podlubny@tuke.sk).


if strcmpi(InputUnits, 'conventional')
   % conventional units [mg/dL] are used; leave as is.
elseif strcmpi(InputUnits, 'SI')
   % SI units [mmol/L] are used; convert. 
   TC = TC/0.0259; HDL = HDL/0.0259; TG = TG/0.0113;
else
   % wrong units
   error('estimateLDL:: Wrong InputUnits. Allowed options are: ''conventional'' or ''SI''');
end

if TG < 100
    % use Ahmadi et al. formula [2]:
    eLDL.mg = TC/1.19 + TG/1.9 - HDL/1.1 - 38;
else
    % use Friedewald-Levy-Fredrickson formula [1]:
    eLDL.mg = TC - HDL - 0.2*TG;
end
eLDL.mmol = eLDL.mg * 0.0259;

% Round the output values as in usual blood test reports:
eLDL.mg = round(eLDL.mg);
eLDL.mmol = round(100*eLDL.mmol)*0.01;
end

Contact us