Lipid profile test
lipid profile test reference ranges interpretation 2024
| Component | What it measures |
|---|---|
| Total Cholesterol (TC) | Sum of all cholesterol fractions |
| LDL-C (Low-Density Lipoprotein) | "Bad" cholesterol - primary atherogenic particle |
| HDL-C (High-Density Lipoprotein) | "Good" cholesterol - cardioprotective |
| Triglycerides (TG) | Fasting blood fats; marker of TG-rich lipoproteins |
| Non-HDL-C | TC minus HDL-C; includes all atherogenic particles |
LDL-C = Total Cholesterol - HDL-C - (Triglycerides ÷ 5)
| Component | Desirable / Optimal | Borderline | High / Abnormal |
|---|---|---|---|
| Total Cholesterol | < 200 | 200-239 | ≥ 240 |
| LDL-C | < 100 (optimal); < 130 (near optimal) | 130-159 | ≥ 160; ≥ 190 = very high |
| HDL-C | > 60 (protective); >45 F, >40 M | 40-59 | < 40 (M); < 50 (F) = low/risk |
| Triglycerides | < 150 | 150-199 | 200-499 = high; ≥ 500 = very high |
| Non-HDL-C | < 130 | -- | ≥ 190 flagged |
python3 -c " import pdfplumber pdf_path = '/home/daytona/workspace/attachments/776335cf-5041-4cc7-ade1-610dde5b7372/PDF Gallery_20260709_161155.pdf' with pdfplumber.open(pdf_path) as pdf: print(f'Total pages: {len(pdf.pages)}') for i, page in enumerate(pdf.pages): print(f'\n--- PAGE {i+1} ---') text = page.extract_text() if text: print(text) tables = page.extract_tables() for j, table in enumerate(tables): print(f'[Table {j+1}]') for row in table: print(row) "
python3 -c " from pypdf import PdfReader import os pdf_path = '/home/daytona/workspace/attachments/776335cf-5041-4cc7-ade1-610dde5b7372/PDF Gallery_20260709_161155.pdf' output_dir = '/home/daytona/workspace/attachments/776335cf-5041-4cc7-ade1-610dde5b7372/pages' os.makedirs(output_dir, exist_ok=True) reader = PdfReader(pdf_path) print(f'Pages: {len(reader.pages)}') print(f'Metadata: {reader.metadata}') # Check for images for i, page in enumerate(reader.pages): images = page.images print(f'Page {i+1}: {len(images)} images') for j, img in enumerate(images): img_path = f'{output_dir}/page{i+1}_img{j+1}.{img.name.split(\".\")[-1] if \".\" in img.name else \"png\"}' with open(img_path, 'wb') as f: f.write(img.data) print(f' Saved: {img_path} ({len(img.data)} bytes)') "
python3 -c " import base64, os pages_dir = '/home/daytona/workspace/attachments/776335cf-5041-4cc7-ade1-610dde5b7372/pages' files = sorted(os.listdir(pages_dir)) print(files) "
python3 -c " # Serve the images via a simple HTTP approach - upload to a temp accessible path # First let's check if there's a way to serve these files or convert to base64 data URIs import base64 for i in range(1, 7): path = f'/home/daytona/workspace/attachments/776335cf-5041-4cc7-ade1-610dde5b7372/pages/page{i}_img1.jpg' with open(path, 'rb') as f: data = f.read() b64 = base64.b64encode(data).decode() print(f'page{i}: data:image/jpeg;base64,{b64[:50]}...') "
Valid only when TG < 400 mg/dL and patient is fasting.
| Measured Value | Result |
|---|---|
| Total Cholesterol (TC) | 210 mg/dL |
| Triglycerides (TG) | 150 mg/dL |
| HDL-C | 45 mg/dL |
Note: Friedewald is valid only when TG < 400 mg/dL and patient is fasting. For TG ≥ 400 mg/dL, use direct LDL measurement.
| Parameter | Category | Value (mg/dL) |
|---|---|---|
| Total Cholesterol | Desirable | < 200 |
| Borderline High | 200-239 | |
| High | ≥ 240 | |
| Triglycerides | Normal | < 150 |
| Borderline | 150-199 | |
| High | 200-499 | |
| Very High | ≥ 500 | |
| HDL-C | Low (risk factor) | < 40 (men), < 50 (women) |
| Desirable | > 60 | |
| LDL-C | Optimal | < 100 |
| Near Optimal | 100-119 | |
| Borderline High | 130-159 | |
| High | 160-189 | |
| Very High | ≥ 190 |
| Sample ID | Patient Name | Date (DD/MM/YY) | Fasting? (Yes/No) |
|---|---|---|---|
| S001 |
| Test | Result (mg/dL) | Reference Range (mg/dL) |
|---|---|---|
| Total Cholesterol | 210 | < 200 (desirable) |
| Triglycerides | 150 | < 150 (Normal) |
| HDL-C | 45 | ≥ 40 (men), ≥ 50 (women) |
| LDL-C (calculated) | 135 | < 100 (optimal) |
| VLDL-C (calculated) | 30 | TG/5 |