Codex Codex commited on
Commit
c394cf5
·
1 Parent(s): 1c301da

Improve lab knowledge graph from common labs PDF

Browse files

Co-authored-by: Codex <chatgpt-codex-connector[bot]@users.noreply.github.com>

kb/cbc_knowledge_graph.json CHANGED
@@ -266,7 +266,7 @@
266
  "category": "Liver",
267
  "unit": "U/L",
268
  "description": "ALT measures liver enzyme released when liver cells are stressed.",
269
- "why_important": "ALT is fairly liver-specific; elevations can follow fatty liver, alcohol, medications, or viral hepatitis. A low ALT is not typically a concern.",
270
  "sex_significance": {
271
  "level": "low",
272
  "summary": "This marker is usually interpreted with age and lab method rather than sex-specific reference intervals.",
@@ -882,7 +882,7 @@
882
  "category": "Liver",
883
  "unit": "U/L",
884
  "description": "AST measures enzyme from liver and muscle cells.",
885
- "why_important": "AST rises with liver stress but also comes from muscle; the AST/ALT pattern helps point to a cause. A low AST is not typically a concern.",
886
  "sex_significance": {
887
  "level": "low",
888
  "summary": "This marker is usually interpreted with age and lab method rather than sex-specific reference intervals.",
@@ -928,6 +928,65 @@
928
  "source_ids": [],
929
  "video_url": "https://www.youtube.com/watch?v=7_-ZtM0TieA"
930
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
931
  {
932
  "id": "bas_absolute",
933
  "display_name": "Absolute Basophil Count",
@@ -1232,7 +1291,7 @@
1232
  "category": "Metabolic",
1233
  "unit": "mmol/L",
1234
  "description": "Bicarbonate measures main blood buffer for acid-base balance.",
1235
- "why_important": "A high bicarbonate may reflect metabolic alkalosis or compensation for lung issues. A low bicarbonate may reflect metabolic acidosis or severe diarrhea.",
1236
  "sex_significance": {
1237
  "level": "low",
1238
  "summary": "This marker is usually interpreted with age and lab method rather than sex-specific reference intervals.",
@@ -1893,6 +1952,66 @@
1893
  "source_ids": [],
1894
  "video_url": "https://www.youtube.com/watch?v=udVccTOnmrM"
1895
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1896
  {
1897
  "id": "complement_c3",
1898
  "display_name": "Complement C3",
@@ -2125,7 +2244,7 @@
2125
  "category": "Cardiac",
2126
  "unit": "U/L",
2127
  "description": "Creatine Kinase measures enzyme from muscle including heart and skeletal.",
2128
- "why_important": "A high CK may reflect muscle injury from exercise, trauma, statins, or heart muscle damage. A low CK is not typically significant.",
2129
  "sex_significance": {
2130
  "level": "low",
2131
  "summary": "This marker is usually interpreted with age and lab method rather than sex-specific reference intervals.",
@@ -3207,6 +3326,62 @@
3207
  "source_ids": [],
3208
  "video_url": "https://www.youtube.com/watch?v=IHaH9mlCdVY"
3209
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3210
  {
3211
  "id": "fructosamine",
3212
  "display_name": "Fructosamine",
@@ -3383,7 +3558,7 @@
3383
  "category": "Liver",
3384
  "unit": "U/L",
3385
  "description": "GGT measures liver enzyme sensitive to bile and alcohol.",
3386
- "why_important": "GGT is sensitive to bile-duct issues and alcohol; it helps clarify whether a high ALP is from the liver. A low GGT is not a concern.",
3387
  "sex_significance": {
3388
  "level": "low",
3389
  "summary": "This marker is usually interpreted with age and lab method rather than sex-specific reference intervals.",
@@ -3493,12 +3668,15 @@
3493
  "Blood Sugar",
3494
  "FBS",
3495
  "RBS",
3496
- "Fasting Blood Sugar"
 
 
 
3497
  ],
3498
  "category": "Metabolic",
3499
  "unit": "mg/dL",
3500
  "description": "Glucose measures blood sugar level.",
3501
- "why_important": "An elevated fasting glucose can indicate prediabetes or diabetes, or simply that the sample was not fasting. A low glucose can cause shakiness or lightheadedness and may relate to fasting, medications, or how the sample was handled.",
3502
  "sex_significance": {
3503
  "level": "low",
3504
  "summary": "This marker is usually interpreted with age and lab method rather than sex-specific reference intervals.",
@@ -3675,7 +3853,8 @@
3675
  "aliases": [
3676
  "A1c",
3677
  "Hemoglobin A1c",
3678
- "Glycated Hemoglobin"
 
3679
  ],
3680
  "category": "Metabolic",
3681
  "unit": "%",
@@ -4226,6 +4405,65 @@
4226
  "source_ids": [],
4227
  "video_url": "https://www.youtube.com/watch?v=_LKdNhF2WhI"
4228
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4229
  {
4230
  "id": "immunoglobulin_a",
4231
  "display_name": "Immunoglobulin A",
@@ -4505,7 +4743,11 @@
4505
  "id": "insulin",
4506
  "display_name": "Insulin",
4507
  "aliases": [
4508
- "Fasting Insulin"
 
 
 
 
4509
  ],
4510
  "category": "Hormone",
4511
  "unit": "uIU/mL",
@@ -5852,7 +6094,8 @@
5852
  "aliases": [
5853
  "Phosphorus",
5854
  "PO4",
5855
- "Inorganic Phosphate"
 
5856
  ],
5857
  "category": "Metabolic",
5858
  "unit": "mg/dL",
@@ -6367,7 +6610,7 @@
6367
  "category": "Hormone",
6368
  "unit": "pg/mL",
6369
  "description": "Parathyroid Hormone measures hormone that regulates blood calcium.",
6370
- "why_important": "A high PTH may drive calcium up in primary hyperparathyroidism or rise appropriately when calcium is low. A low PTH may appear after parathyroid surgery or with high calcium from other causes.",
6371
  "sex_significance": {
6372
  "level": "low",
6373
  "summary": "This marker is usually interpreted with age and lab method rather than sex-specific reference intervals.",
@@ -6420,7 +6663,8 @@
6420
  "RBC",
6421
  "Erythrocyte count",
6422
  "Red cell count",
6423
- "Erythrocytes"
 
6424
  ],
6425
  "category": "CBC",
6426
  "unit": "10^6/uL",
@@ -7966,7 +8210,9 @@
7966
  "aliases": [
7967
  "25-OH Vitamin D",
7968
  "25-Hydroxyvitamin D",
7969
- "Vit D"
 
 
7970
  ],
7971
  "category": "Vitamin",
7972
  "unit": "ng/mL",
@@ -8083,7 +8329,8 @@
8083
  "Leukocytes",
8084
  "WBC Count",
8085
  "TLC",
8086
- "Total Leucocyte Count"
 
8087
  ],
8088
  "category": "CBC",
8089
  "unit": "10^3/uL",
@@ -8212,18 +8459,22 @@
8212
  "anti_ccp_antibodies": "Rheumatoid arthritis overview; anti-CCP is correlated through RA evaluation.",
8213
  "anti_mullerian_hormone": "Fertility hormone-testing overview includes AMH and ovarian-reserve timing.",
8214
  "ast": "AST/ALT lab-values video covers AST directly alongside ALT.",
 
8215
  "beta_hcg": "Reproductive-cycle overview is a broad pregnancy/reproductive hormone context; beta-hCG is not the primary topic.",
8216
  "beta_hydroxybutyrate": "Diabetes/DKA overview covers ketone production; beta-hydroxybutyrate is not the only focus.",
8217
  "ca_125": "Tumor-marker overview covers CA-125 with other markers.",
8218
  "ca_15_3": "Direct CA 15-3 blood-test video; marker is for monitoring context rather than diagnosis.",
8219
  "cea": "Tumor-marker overview covers CEA with other markers.",
8220
  "ceruloplasmin": "Trace-mineral/copper overview; ceruloplasmin is linked to copper interpretation.",
 
8221
  "copper": "Trace-mineral lab overview covering copper among other minerals.",
8222
  "free_t3": "Free T3/Free T4 video focuses on free thyroid hormones together.",
 
8223
  "fructosamine": "Diabetes overview; fructosamine is a shorter-term glycemic marker and is not the primary topic.",
8224
  "gra_absolute": "WBC differential overview; granulocyte absolute combines neutrophils, eosinophils, and basophils.",
8225
  "hct": "Hemoglobin/Hematocrit lab-values video covers hematocrit directly alongside hemoglobin.",
8226
  "hdl_cholesterol": "HDL/LDL cholesterol video focuses on HDL in direct lipid-marker context.",
 
8227
  "immunoglobulin_m": "IgG/IgM antibody-testing video covers IgM directly alongside IgG.",
8228
  "mcv": "Anemia interpretation video uses MCV directly; also discusses MCH context.",
8229
  "mpv": "FBC/CBC guide covers platelets; MPV is not discussed in detail.",
 
266
  "category": "Liver",
267
  "unit": "U/L",
268
  "description": "ALT measures liver enzyme released when liver cells are stressed.",
269
+ "why_important": "ALT is usually interpreted as a liver enzyme, but it can also rise with skeletal muscle injury; fatty liver, alcohol, medications, viral hepatitis, CK, AST, and GGT help provide context. A low ALT is not typically a concern.",
270
  "sex_significance": {
271
  "level": "low",
272
  "summary": "This marker is usually interpreted with age and lab method rather than sex-specific reference intervals.",
 
882
  "category": "Liver",
883
  "unit": "U/L",
884
  "description": "AST measures enzyme from liver and muscle cells.",
885
+ "why_important": "AST rises with liver stress but also comes from skeletal muscle; CK and GGT can help separate muscle from liver or bile-duct patterns. A low AST is not typically a concern.",
886
  "sex_significance": {
887
  "level": "low",
888
  "summary": "This marker is usually interpreted with age and lab method rather than sex-specific reference intervals.",
 
928
  "source_ids": [],
929
  "video_url": "https://www.youtube.com/watch?v=7_-ZtM0TieA"
930
  },
931
+ {
932
+ "id": "band_neutrophils_percent",
933
+ "display_name": "Band Neutrophils Percent",
934
+ "aliases": [
935
+ "Band Neutrophil %",
936
+ "Band Neutrophils",
937
+ "Band %",
938
+ "Bands",
939
+ "Stab Neutrophils"
940
+ ],
941
+ "category": "CBC",
942
+ "unit": "%",
943
+ "description": "Band Neutrophils Percent measures percentage of immature neutrophils in the white-cell differential.",
944
+ "why_important": "A high band neutrophil percentage may suggest a left shift, often seen when the marrow is releasing immature neutrophils during infection, inflammation, or physiologic stress. A low band neutrophil percentage is usually expected and not clinically significant on its own.",
945
+ "sex_significance": {
946
+ "level": "low",
947
+ "summary": "This marker is usually interpreted with age and lab method rather than sex-specific reference intervals.",
948
+ "pipeline_guidance": "Use the age-group interval unless the lab report provides a sex-specific range."
949
+ },
950
+ "instructions_to_improve": {
951
+ "food": [
952
+ "Support healthy blood production with balanced protein, iron, B12, folate, and vitamin C from whole foods.",
953
+ "Stay well hydrated unless a clinician advises fluid restriction."
954
+ ],
955
+ "exercises": [
956
+ "Use moderate activity as tolerated when blood counts are stable.",
957
+ "Avoid intense training if anemia, infection, or bleeding symptoms are present until evaluated."
958
+ ],
959
+ "supplements": [
960
+ "Discuss iron, B12, or folate supplementation only when testing supports a deficiency.",
961
+ "Do not start blood-building supplements without clinician guidance."
962
+ ]
963
+ },
964
+ "statistics_per_group_age": {
965
+ "child": {
966
+ "minimal_value": 0,
967
+ "normal_value": 3.0,
968
+ "maximum_value": 6
969
+ },
970
+ "teenager": {
971
+ "minimal_value": 0,
972
+ "normal_value": 3.0,
973
+ "maximum_value": 6
974
+ },
975
+ "adult": {
976
+ "minimal_value": 0,
977
+ "normal_value": 3.0,
978
+ "maximum_value": 6
979
+ },
980
+ "elder": {
981
+ "minimal_value": 0,
982
+ "normal_value": 3.0,
983
+ "maximum_value": 6
984
+ }
985
+ },
986
+ "related_tests": [],
987
+ "source_ids": [],
988
+ "video_url": "https://www.youtube.com/watch?v=AvVnjqShhWE"
989
+ },
990
  {
991
  "id": "bas_absolute",
992
  "display_name": "Absolute Basophil Count",
 
1291
  "category": "Metabolic",
1292
  "unit": "mmol/L",
1293
  "description": "Bicarbonate measures main blood buffer for acid-base balance.",
1294
+ "why_important": "A high bicarbonate or total CO2 may reflect metabolic alkalosis or compensation for lung/respiratory issues. A low bicarbonate or total CO2 may reflect metabolic acidosis, severe diarrhea, or other acid-base stress.",
1295
  "sex_significance": {
1296
  "level": "low",
1297
  "summary": "This marker is usually interpreted with age and lab method rather than sex-specific reference intervals.",
 
1952
  "source_ids": [],
1953
  "video_url": "https://www.youtube.com/watch?v=udVccTOnmrM"
1954
  },
1955
+ {
1956
+ "id": "coenzyme_q10",
1957
+ "display_name": "Coenzyme Q10",
1958
+ "aliases": [
1959
+ "CoQ10",
1960
+ "Coenzyme Q 10",
1961
+ "Total Coenzyme Q10",
1962
+ "Total Coenzyme Q 10",
1963
+ "CoQ10 Profile",
1964
+ "Total CoQ10"
1965
+ ],
1966
+ "category": "Vitamin",
1967
+ "unit": "mcg/L",
1968
+ "description": "Coenzyme Q10 measures mitochondrial electron-transport cofactor and antioxidant.",
1969
+ "why_important": "A high CoQ10 level is most often supplement-related and may also track with lipoprotein levels. A low CoQ10 level may reflect nutritional status, medication context such as statins, or mitochondrial/neuromuscular evaluation context.",
1970
+ "sex_significance": {
1971
+ "level": "low",
1972
+ "summary": "This marker is usually interpreted with age and lab method rather than sex-specific reference intervals.",
1973
+ "pipeline_guidance": "Use the age-group interval unless the lab report provides a sex-specific range."
1974
+ },
1975
+ "instructions_to_improve": {
1976
+ "food": [
1977
+ "Correct deficiencies first with food sources such as fortified grains, dairy, eggs, fish, legumes, and leafy greens.",
1978
+ "Pair nutrient-dense meals with safe sun exposure for vitamin D when appropriate."
1979
+ ],
1980
+ "exercises": [
1981
+ "Use weight-bearing and muscle-strengthening activity to support bone and metabolic health.",
1982
+ "Adjust activity if deficiency symptoms such as fatigue or neuropathy are present."
1983
+ ],
1984
+ "supplements": [
1985
+ "Supplement only after testing confirms deficiency or insufficiency.",
1986
+ "Use clinician-guided dosing, especially for iron, vitamin A, and fat-soluble vitamins."
1987
+ ]
1988
+ },
1989
+ "statistics_per_group_age": {
1990
+ "child": {
1991
+ "minimal_value": 433,
1992
+ "normal_value": 982.5,
1993
+ "maximum_value": 1532
1994
+ },
1995
+ "teenager": {
1996
+ "minimal_value": 433,
1997
+ "normal_value": 982.5,
1998
+ "maximum_value": 1532
1999
+ },
2000
+ "adult": {
2001
+ "minimal_value": 433,
2002
+ "normal_value": 982.5,
2003
+ "maximum_value": 1532
2004
+ },
2005
+ "elder": {
2006
+ "minimal_value": 433,
2007
+ "normal_value": 982.5,
2008
+ "maximum_value": 1532
2009
+ }
2010
+ },
2011
+ "related_tests": [],
2012
+ "source_ids": [],
2013
+ "video_url": "https://www.youtube.com/watch?v=cy1LhxV6jHs"
2014
+ },
2015
  {
2016
  "id": "complement_c3",
2017
  "display_name": "Complement C3",
 
2244
  "category": "Cardiac",
2245
  "unit": "U/L",
2246
  "description": "Creatine Kinase measures enzyme from muscle including heart and skeletal.",
2247
+ "why_important": "A high CK may reflect skeletal muscle injury from exercise, trauma, statins, or neuromuscular disease; it can also rise with heart muscle damage in the right context. A low CK is not typically significant.",
2248
  "sex_significance": {
2249
  "level": "low",
2250
  "summary": "This marker is usually interpreted with age and lab method rather than sex-specific reference intervals.",
 
3326
  "source_ids": [],
3327
  "video_url": "https://www.youtube.com/watch?v=IHaH9mlCdVY"
3328
  },
3329
+ {
3330
+ "id": "free_testosterone",
3331
+ "display_name": "Free Testosterone",
3332
+ "aliases": [
3333
+ "Free T",
3334
+ "Free Testosterone Level"
3335
+ ],
3336
+ "category": "Hormone",
3337
+ "unit": "ng/dL",
3338
+ "description": "Free Testosterone measures unbound testosterone available to tissues.",
3339
+ "why_important": "A high free testosterone may reflect androgen exposure or increased androgen production; interpretation depends strongly on sex, age, symptoms, and SHBG. A low free testosterone may relate to hypogonadism, pituitary signaling, chronic illness, steroid exposure, or high SHBG.",
3340
+ "sex_significance": {
3341
+ "level": "low",
3342
+ "summary": "This marker is usually interpreted with age and lab method rather than sex-specific reference intervals.",
3343
+ "pipeline_guidance": "Use the age-group interval unless the lab report provides a sex-specific range."
3344
+ },
3345
+ "instructions_to_improve": {
3346
+ "food": [
3347
+ "Support hormone health with adequate protein, healthy fats, fiber, and micronutrients.",
3348
+ "Avoid extreme dieting or rapid weight changes unless medically supervised."
3349
+ ],
3350
+ "exercises": [
3351
+ "Use resistance training and sleep regularity to support hormonal balance.",
3352
+ "Adjust training load during symptomatic hormone disorders."
3353
+ ],
3354
+ "supplements": [
3355
+ "Avoid unsupervised hormone-boosting products.",
3356
+ "Use prescribed hormone therapies only under endocrine or reproductive specialist guidance."
3357
+ ]
3358
+ },
3359
+ "statistics_per_group_age": {
3360
+ "child": {
3361
+ "minimal_value": 5.25,
3362
+ "normal_value": 12.97,
3363
+ "maximum_value": 20.7
3364
+ },
3365
+ "teenager": {
3366
+ "minimal_value": 5.25,
3367
+ "normal_value": 12.97,
3368
+ "maximum_value": 20.7
3369
+ },
3370
+ "adult": {
3371
+ "minimal_value": 5.25,
3372
+ "normal_value": 12.97,
3373
+ "maximum_value": 20.7
3374
+ },
3375
+ "elder": {
3376
+ "minimal_value": 5.25,
3377
+ "normal_value": 12.97,
3378
+ "maximum_value": 20.7
3379
+ }
3380
+ },
3381
+ "related_tests": [],
3382
+ "source_ids": [],
3383
+ "video_url": "https://www.youtube.com/watch?v=yLuB8X8d_8o"
3384
+ },
3385
  {
3386
  "id": "fructosamine",
3387
  "display_name": "Fructosamine",
 
3558
  "category": "Liver",
3559
  "unit": "U/L",
3560
  "description": "GGT measures liver enzyme sensitive to bile and alcohol.",
3561
+ "why_important": "GGT is sensitive to bile-duct issues and alcohol; it helps clarify whether a high ALP is liver-related, while a normal GGT with high ALP can point more toward bone or skeletal sources. A low GGT is not a concern.",
3562
  "sex_significance": {
3563
  "level": "low",
3564
  "summary": "This marker is usually interpreted with age and lab method rather than sex-specific reference intervals.",
 
3668
  "Blood Sugar",
3669
  "FBS",
3670
  "RBS",
3671
+ "Fasting Blood Sugar",
3672
+ "Random Glucose",
3673
+ "Non-Fasting Glucose",
3674
+ "Glucose Random Non-Fasting"
3675
  ],
3676
  "category": "Metabolic",
3677
  "unit": "mg/dL",
3678
  "description": "Glucose measures blood sugar level.",
3679
+ "why_important": "An elevated fasting or random glucose can indicate prediabetes or diabetes, or simply that the sample timing and recent food intake matter. A low glucose can cause shakiness or lightheadedness and may relate to fasting, medications, or how the sample was handled.",
3680
  "sex_significance": {
3681
  "level": "low",
3682
  "summary": "This marker is usually interpreted with age and lab method rather than sex-specific reference intervals.",
 
3853
  "aliases": [
3854
  "A1c",
3855
  "Hemoglobin A1c",
3856
+ "Glycated Hemoglobin",
3857
+ "HgbA1C"
3858
  ],
3859
  "category": "Metabolic",
3860
  "unit": "%",
 
4405
  "source_ids": [],
4406
  "video_url": "https://www.youtube.com/watch?v=_LKdNhF2WhI"
4407
  },
4408
+ {
4409
+ "id": "igfbp_3",
4410
+ "display_name": "IGF Binding Protein-3",
4411
+ "aliases": [
4412
+ "IGFBP-3",
4413
+ "IGFBP3",
4414
+ "IGFbp3",
4415
+ "Insulin-Like Growth Factor Binding Protein 3",
4416
+ "Insulin-like Growth Factor-binding Protein 3"
4417
+ ],
4418
+ "category": "Hormone",
4419
+ "unit": "mcg/mL",
4420
+ "description": "IGF Binding Protein-3 measures major carrier protein for IGF-1 and marker of growth-hormone activity.",
4421
+ "why_important": "A high IGFBP-3 can accompany increased growth-hormone activity but must be interpreted with age, puberty stage, IGF-1, and lab method. A low IGFBP-3 may support reduced growth-hormone activity or malnutrition when it matches IGF-1 and growth history.",
4422
+ "sex_significance": {
4423
+ "level": "low",
4424
+ "summary": "This marker is usually interpreted with age and lab method rather than sex-specific reference intervals.",
4425
+ "pipeline_guidance": "Use the age-group interval unless the lab report provides a sex-specific range."
4426
+ },
4427
+ "instructions_to_improve": {
4428
+ "food": [
4429
+ "Support hormone health with adequate protein, healthy fats, fiber, and micronutrients.",
4430
+ "Avoid extreme dieting or rapid weight changes unless medically supervised."
4431
+ ],
4432
+ "exercises": [
4433
+ "Use resistance training and sleep regularity to support hormonal balance.",
4434
+ "Adjust training load during symptomatic hormone disorders."
4435
+ ],
4436
+ "supplements": [
4437
+ "Avoid unsupervised hormone-boosting products.",
4438
+ "Use prescribed hormone therapies only under endocrine or reproductive specialist guidance."
4439
+ ]
4440
+ },
4441
+ "statistics_per_group_age": {
4442
+ "child": {
4443
+ "minimal_value": 3.1,
4444
+ "normal_value": 5.5,
4445
+ "maximum_value": 7.9
4446
+ },
4447
+ "teenager": {
4448
+ "minimal_value": 3.1,
4449
+ "normal_value": 5.5,
4450
+ "maximum_value": 7.9
4451
+ },
4452
+ "adult": {
4453
+ "minimal_value": 3.1,
4454
+ "normal_value": 5.5,
4455
+ "maximum_value": 7.9
4456
+ },
4457
+ "elder": {
4458
+ "minimal_value": 3.1,
4459
+ "normal_value": 5.5,
4460
+ "maximum_value": 7.9
4461
+ }
4462
+ },
4463
+ "related_tests": [],
4464
+ "source_ids": [],
4465
+ "video_url": "https://www.youtube.com/watch?v=qV2rkofqK1I"
4466
+ },
4467
  {
4468
  "id": "immunoglobulin_a",
4469
  "display_name": "Immunoglobulin A",
 
4743
  "id": "insulin",
4744
  "display_name": "Insulin",
4745
  "aliases": [
4746
+ "Fasting Insulin",
4747
+ "Free Insulin",
4748
+ "Total Insulin",
4749
+ "Insulin Free",
4750
+ "Insulin Total"
4751
  ],
4752
  "category": "Hormone",
4753
  "unit": "uIU/mL",
 
6094
  "aliases": [
6095
  "Phosphorus",
6096
  "PO4",
6097
+ "Inorganic Phosphate",
6098
+ "Phosphorous"
6099
  ],
6100
  "category": "Metabolic",
6101
  "unit": "mg/dL",
 
6610
  "category": "Hormone",
6611
  "unit": "pg/mL",
6612
  "description": "Parathyroid Hormone measures hormone that regulates blood calcium.",
6613
+ "why_important": "A high PTH may drive calcium up in primary hyperparathyroidism or rise appropriately when calcium is low, phosphate is shifted, or vitamin D is low. A low PTH may appear after parathyroid surgery or with high calcium from other causes.",
6614
  "sex_significance": {
6615
  "level": "low",
6616
  "summary": "This marker is usually interpreted with age and lab method rather than sex-specific reference intervals.",
 
6663
  "RBC",
6664
  "Erythrocyte count",
6665
  "Red cell count",
6666
+ "Erythrocytes",
6667
+ "Total RBC Count"
6668
  ],
6669
  "category": "CBC",
6670
  "unit": "10^6/uL",
 
8210
  "aliases": [
8211
  "25-OH Vitamin D",
8212
  "25-Hydroxyvitamin D",
8213
+ "Vit D",
8214
+ "25 OH Vit D",
8215
+ "25 Hydroxyvitamin D"
8216
  ],
8217
  "category": "Vitamin",
8218
  "unit": "ng/mL",
 
8329
  "Leukocytes",
8330
  "WBC Count",
8331
  "TLC",
8332
+ "Total Leucocyte Count",
8333
+ "Total WBC Count"
8334
  ],
8335
  "category": "CBC",
8336
  "unit": "10^3/uL",
 
8459
  "anti_ccp_antibodies": "Rheumatoid arthritis overview; anti-CCP is correlated through RA evaluation.",
8460
  "anti_mullerian_hormone": "Fertility hormone-testing overview includes AMH and ovarian-reserve timing.",
8461
  "ast": "AST/ALT lab-values video covers AST directly alongside ALT.",
8462
+ "band_neutrophils_percent": "Direct video on segmented versus band neutrophils.",
8463
  "beta_hcg": "Reproductive-cycle overview is a broad pregnancy/reproductive hormone context; beta-hCG is not the primary topic.",
8464
  "beta_hydroxybutyrate": "Diabetes/DKA overview covers ketone production; beta-hydroxybutyrate is not the only focus.",
8465
  "ca_125": "Tumor-marker overview covers CA-125 with other markers.",
8466
  "ca_15_3": "Direct CA 15-3 blood-test video; marker is for monitoring context rather than diagnosis.",
8467
  "cea": "Tumor-marker overview covers CEA with other markers.",
8468
  "ceruloplasmin": "Trace-mineral/copper overview; ceruloplasmin is linked to copper interpretation.",
8469
+ "coenzyme_q10": "CoQ10 overview; closest available educational video for the CoQ10 marker rather than a lab-result-only lecture.",
8470
  "copper": "Trace-mineral lab overview covering copper among other minerals.",
8471
  "free_t3": "Free T3/Free T4 video focuses on free thyroid hormones together.",
8472
+ "free_testosterone": "Direct free-versus-total testosterone video; marker interpretation still depends on sex, age, SHBG, and symptoms.",
8473
  "fructosamine": "Diabetes overview; fructosamine is a shorter-term glycemic marker and is not the primary topic.",
8474
  "gra_absolute": "WBC differential overview; granulocyte absolute combines neutrophils, eosinophils, and basophils.",
8475
  "hct": "Hemoglobin/Hematocrit lab-values video covers hematocrit directly alongside hemoglobin.",
8476
  "hdl_cholesterol": "HDL/LDL cholesterol video focuses on HDL in direct lipid-marker context.",
8477
+ "igfbp_3": "Direct IGFBP-3 blood-test video.",
8478
  "immunoglobulin_m": "IgG/IgM antibody-testing video covers IgM directly alongside IgG.",
8479
  "mcv": "Anemia interpretation video uses MCV directly; also discusses MCH context.",
8480
  "mpv": "FBC/CBC guide covers platelets; MPV is not discussed in detail.",
kb/knowledge_base.py CHANGED
@@ -110,6 +110,11 @@ KB: dict[str, MarkerKB] = {
110
  low="A low basophil count is usually not significant.",
111
  questions=("Is this a persistent finding worth rechecking?",),
112
  ),
 
 
 
 
 
113
  "Reticulocyte Count": MarkerKB(
114
  high="A high reticulocyte count means the marrow is making extra red cells, often after blood loss or hemolysis.",
115
  low="A low reticulocyte count in anemia suggests the marrow is not keeping up with red-cell need.",
@@ -132,7 +137,7 @@ KB: dict[str, MarkerKB] = {
132
  ),
133
  # --- Metabolic panel ---
134
  "Glucose": MarkerKB(
135
- high="An elevated fasting glucose can indicate prediabetes or diabetes, or simply that the sample was not fasting.",
136
  low="A low glucose can cause shakiness or lightheadedness and may relate to fasting, medications, or how the sample was handled.",
137
  questions=("Was this a fasting sample?", "Should we confirm with an HbA1c?"),
138
  ),
@@ -187,8 +192,8 @@ KB: dict[str, MarkerKB] = {
187
  questions=("Does the albumin/globulin ratio need follow-up?",),
188
  ),
189
  "Bicarbonate": MarkerKB(
190
- high="A high bicarbonate may reflect metabolic alkalosis or compensation for lung issues.",
191
- low="A low bicarbonate may reflect metabolic acidosis or severe diarrhea.",
192
  questions=("Does this fit with my other electrolytes and symptoms?",),
193
  ),
194
  "Anion Gap": MarkerKB(
@@ -204,7 +209,7 @@ KB: dict[str, MarkerKB] = {
204
  "Phosphate": MarkerKB(
205
  high="A high phosphate may relate to kidney disease, low parathyroid activity, or cell breakdown.",
206
  low="A low phosphate may relate to malnutrition, alcohol, or overcorrection of vitamin D.",
207
- questions=("Does this fit with my calcium and kidney results?",),
208
  ),
209
  "Uric Acid": MarkerKB(
210
  high="A high uric acid is associated with gout and kidney stones and may rise with diet, alcohol, or kidney disease.",
@@ -293,22 +298,22 @@ KB: dict[str, MarkerKB] = {
293
  ),
294
  # --- Liver enzymes ---
295
  "ALT": MarkerKB(
296
- high="ALT is fairly liver-specific; elevations can follow fatty liver, alcohol, medications, or viral hepatitis.",
297
  low="A low ALT is not typically a concern.",
298
  questions=("Could a medication or fatty liver explain this?", "Should we recheck in a few weeks?"),
299
  ),
300
  "AST": MarkerKB(
301
- high="AST rises with liver stress but also comes from muscle; the AST/ALT pattern helps point to a cause.",
302
  low="A low AST is not typically a concern.",
303
  questions=("Does the AST/ALT ratio suggest a specific cause?",),
304
  ),
305
  "ALP": MarkerKB(
306
  high="A high alkaline phosphatase can come from the liver/bile ducts or from bone; growth and pregnancy also raise it.",
307
  low="A low ALP is uncommon and rarely significant.",
308
- questions=("Is this from my liver or my bones?",),
309
  ),
310
  "GGT": MarkerKB(
311
- high="GGT is sensitive to bile-duct issues and alcohol; it helps clarify whether a high ALP is from the liver.",
312
  low="A low GGT is not a concern.",
313
  questions=("Does my GGT help explain my ALP?",),
314
  ),
@@ -455,6 +460,11 @@ KB: dict[str, MarkerKB] = {
455
  low="A low vitamin E level may occur with fat malabsorption and can affect nerves and red cells.",
456
  questions=("Could fat absorption or supplements explain this?",),
457
  ),
 
 
 
 
 
458
  "HbA1c": MarkerKB(
459
  high="A high HbA1c reflects higher average blood sugar over ~3 months and is used to screen for prediabetes and diabetes.",
460
  low="A low HbA1c is generally not a concern.",
@@ -564,9 +574,9 @@ KB: dict[str, MarkerKB] = {
564
  questions=("Was chest pain or pressure present when this was drawn?",),
565
  ),
566
  "Creatine Kinase": MarkerKB(
567
- high="A high CK may reflect muscle injury from exercise, trauma, statins, or heart muscle damage.",
568
  low="A low CK is not typically significant.",
569
- questions=("Did I exercise heavily before the blood draw?", "Am I on a statin?"),
570
  ),
571
  "CK-MB": MarkerKB(
572
  high="A high CK-MB raises concern for heart-muscle injury when troponin is also elevated.",
@@ -594,6 +604,11 @@ KB: dict[str, MarkerKB] = {
594
  low="A low testosterone may cause fatigue, low libido, or muscle loss in men.",
595
  questions=("Could symptoms match my testosterone level?",),
596
  ),
 
 
 
 
 
597
  "Estradiol": MarkerKB(
598
  high="A high estradiol may relate to ovarian function, obesity, or hormone therapy.",
599
  low="A low estradiol may relate to menopause, ovarian failure, or low body weight.",
@@ -620,7 +635,7 @@ KB: dict[str, MarkerKB] = {
620
  questions=("What day of my cycle was this drawn?",),
621
  ),
622
  "Parathyroid Hormone": MarkerKB(
623
- high="A high PTH may drive calcium up in primary hyperparathyroidism or rise appropriately when calcium is low.",
624
  low="A low PTH may appear after parathyroid surgery or with high calcium from other causes.",
625
  questions=("How does PTH fit with my calcium and vitamin D?",),
626
  ),
@@ -659,6 +674,11 @@ KB: dict[str, MarkerKB] = {
659
  low="A low IGF-1 may reflect growth-hormone deficiency or malnutrition.",
660
  questions=("Are height, hands, or jaw changes relevant?",),
661
  ),
 
 
 
 
 
662
  # --- Oncology / screening ---
663
  "PSA": MarkerKB(
664
  high="A high PSA may come from prostate enlargement, infection, recent procedures, or less commonly cancer.",
 
110
  low="A low basophil count is usually not significant.",
111
  questions=("Is this a persistent finding worth rechecking?",),
112
  ),
113
+ "Band Neutrophils Percent": MarkerKB(
114
+ high="A high band neutrophil percentage may suggest a left shift, often seen when the marrow is releasing immature neutrophils during infection, inflammation, or physiologic stress.",
115
+ low="A low band neutrophil percentage is usually expected and not clinically significant on its own.",
116
+ questions=("Does this fit with my total WBC and absolute neutrophil count?",),
117
+ ),
118
  "Reticulocyte Count": MarkerKB(
119
  high="A high reticulocyte count means the marrow is making extra red cells, often after blood loss or hemolysis.",
120
  low="A low reticulocyte count in anemia suggests the marrow is not keeping up with red-cell need.",
 
137
  ),
138
  # --- Metabolic panel ---
139
  "Glucose": MarkerKB(
140
+ high="An elevated fasting or random glucose can indicate prediabetes or diabetes, or simply that the sample timing and recent food intake matter.",
141
  low="A low glucose can cause shakiness or lightheadedness and may relate to fasting, medications, or how the sample was handled.",
142
  questions=("Was this a fasting sample?", "Should we confirm with an HbA1c?"),
143
  ),
 
192
  questions=("Does the albumin/globulin ratio need follow-up?",),
193
  ),
194
  "Bicarbonate": MarkerKB(
195
+ high="A high bicarbonate or total CO2 may reflect metabolic alkalosis or compensation for lung/respiratory issues.",
196
+ low="A low bicarbonate or total CO2 may reflect metabolic acidosis, severe diarrhea, or other acid-base stress.",
197
  questions=("Does this fit with my other electrolytes and symptoms?",),
198
  ),
199
  "Anion Gap": MarkerKB(
 
209
  "Phosphate": MarkerKB(
210
  high="A high phosphate may relate to kidney disease, low parathyroid activity, or cell breakdown.",
211
  low="A low phosphate may relate to malnutrition, alcohol, or overcorrection of vitamin D.",
212
+ questions=("Does this fit with my calcium, PTH, vitamin D, and kidney results?",),
213
  ),
214
  "Uric Acid": MarkerKB(
215
  high="A high uric acid is associated with gout and kidney stones and may rise with diet, alcohol, or kidney disease.",
 
298
  ),
299
  # --- Liver enzymes ---
300
  "ALT": MarkerKB(
301
+ high="ALT is usually interpreted as a liver enzyme, but it can also rise with skeletal muscle injury; fatty liver, alcohol, medications, viral hepatitis, CK, AST, and GGT help provide context.",
302
  low="A low ALT is not typically a concern.",
303
  questions=("Could a medication or fatty liver explain this?", "Should we recheck in a few weeks?"),
304
  ),
305
  "AST": MarkerKB(
306
+ high="AST rises with liver stress but also comes from skeletal muscle; CK and GGT can help separate muscle from liver or bile-duct patterns.",
307
  low="A low AST is not typically a concern.",
308
  questions=("Does the AST/ALT ratio suggest a specific cause?",),
309
  ),
310
  "ALP": MarkerKB(
311
  high="A high alkaline phosphatase can come from the liver/bile ducts or from bone; growth and pregnancy also raise it.",
312
  low="A low ALP is uncommon and rarely significant.",
313
+ questions=("Is this from my liver or my bones, and does GGT help clarify it?",),
314
  ),
315
  "GGT": MarkerKB(
316
+ high="GGT is sensitive to bile-duct issues and alcohol; it helps clarify whether a high ALP is liver-related, while a normal GGT with high ALP can point more toward bone or skeletal sources.",
317
  low="A low GGT is not a concern.",
318
  questions=("Does my GGT help explain my ALP?",),
319
  ),
 
460
  low="A low vitamin E level may occur with fat malabsorption and can affect nerves and red cells.",
461
  questions=("Could fat absorption or supplements explain this?",),
462
  ),
463
+ "Coenzyme Q10": MarkerKB(
464
+ high="A high CoQ10 level is most often supplement-related and may also track with lipoprotein levels.",
465
+ low="A low CoQ10 level may reflect nutritional status, medication context such as statins, or mitochondrial/neuromuscular evaluation context.",
466
+ questions=("Am I taking CoQ10 or statin therapy?", "Is this being monitored for a mitochondrial or neuromuscular reason?"),
467
+ ),
468
  "HbA1c": MarkerKB(
469
  high="A high HbA1c reflects higher average blood sugar over ~3 months and is used to screen for prediabetes and diabetes.",
470
  low="A low HbA1c is generally not a concern.",
 
574
  questions=("Was chest pain or pressure present when this was drawn?",),
575
  ),
576
  "Creatine Kinase": MarkerKB(
577
+ high="A high CK may reflect skeletal muscle injury from exercise, trauma, statins, or neuromuscular disease; it can also rise with heart muscle damage in the right context.",
578
  low="A low CK is not typically significant.",
579
+ questions=("Did I exercise heavily before the blood draw?", "Am I on a statin?", "Is there known muscle disease or weakness?"),
580
  ),
581
  "CK-MB": MarkerKB(
582
  high="A high CK-MB raises concern for heart-muscle injury when troponin is also elevated.",
 
604
  low="A low testosterone may cause fatigue, low libido, or muscle loss in men.",
605
  questions=("Could symptoms match my testosterone level?",),
606
  ),
607
+ "Free Testosterone": MarkerKB(
608
+ high="A high free testosterone may reflect androgen exposure or increased androgen production; interpretation depends strongly on sex, age, symptoms, and SHBG.",
609
+ low="A low free testosterone may relate to hypogonadism, pituitary signaling, chronic illness, steroid exposure, or high SHBG.",
610
+ questions=("How does this compare with total testosterone, SHBG, LH, and FSH?",),
611
+ ),
612
  "Estradiol": MarkerKB(
613
  high="A high estradiol may relate to ovarian function, obesity, or hormone therapy.",
614
  low="A low estradiol may relate to menopause, ovarian failure, or low body weight.",
 
635
  questions=("What day of my cycle was this drawn?",),
636
  ),
637
  "Parathyroid Hormone": MarkerKB(
638
+ high="A high PTH may drive calcium up in primary hyperparathyroidism or rise appropriately when calcium is low, phosphate is shifted, or vitamin D is low.",
639
  low="A low PTH may appear after parathyroid surgery or with high calcium from other causes.",
640
  questions=("How does PTH fit with my calcium and vitamin D?",),
641
  ),
 
674
  low="A low IGF-1 may reflect growth-hormone deficiency or malnutrition.",
675
  questions=("Are height, hands, or jaw changes relevant?",),
676
  ),
677
+ "IGF Binding Protein-3": MarkerKB(
678
+ high="A high IGFBP-3 can accompany increased growth-hormone activity but must be interpreted with age, puberty stage, IGF-1, and lab method.",
679
+ low="A low IGFBP-3 may support reduced growth-hormone activity or malnutrition when it matches IGF-1 and growth history.",
680
+ questions=("Does this match IGF-1 and growth-pattern concerns?",),
681
+ ),
682
  # --- Oncology / screening ---
683
  "PSA": MarkerKB(
684
  high="A high PSA may come from prostate enlargement, infection, recent procedures, or less commonly cancer.",
kb/marker_videos.json CHANGED
@@ -18,6 +18,7 @@
18
  "apolipoprotein_b": "https://www.youtube.com/watch?v=V7ywq_s7ATk",
19
  "aptt": "https://www.youtube.com/watch?v=uiFicYWMZL0",
20
  "ast": "https://www.youtube.com/watch?v=7_-ZtM0TieA",
 
21
  "bas_absolute": "https://www.youtube.com/watch?v=sRIjKEkjWmU",
22
  "bas_percent": "https://www.youtube.com/watch?v=VUAVvLkcN0M",
23
  "beta_2_microglobulin": "https://www.youtube.com/watch?v=i2-_4wk30po",
@@ -35,6 +36,7 @@
35
  "ceruloplasmin": "https://www.youtube.com/watch?v=42kduAhoYlw",
36
  "chloride": "https://www.youtube.com/watch?v=5Fuav99clbE",
37
  "ck_mb": "https://www.youtube.com/watch?v=udVccTOnmrM",
 
38
  "complement_c3": "https://www.youtube.com/watch?v=r_f5cvxwS6w",
39
  "complement_c4": "https://www.youtube.com/watch?v=r_f5cvxwS6w",
40
  "copper": "https://www.youtube.com/watch?v=42kduAhoYlw",
@@ -57,6 +59,7 @@
57
  "folate": "https://www.youtube.com/watch?v=dO0aUSqZ_bs",
58
  "free_t3": "https://www.youtube.com/watch?v=oz8HFUqwDgw",
59
  "free_t4": "https://www.youtube.com/watch?v=IHaH9mlCdVY",
 
60
  "fructosamine": "https://www.youtube.com/watch?v=tXW-qGeTNFk",
61
  "fsh": "https://www.youtube.com/watch?v=UL0PFu5fPKA",
62
  "g6pd": "https://www.youtube.com/watch?v=iTh-hUU5mxE",
@@ -72,6 +75,7 @@
72
  "homocysteine": "https://www.youtube.com/watch?v=XbX9K1OtFFs",
73
  "hs_crp": "https://www.youtube.com/watch?v=eRNFtwzyyCo",
74
  "igf_1": "https://www.youtube.com/watch?v=_LKdNhF2WhI",
 
75
  "immunoglobulin_a": "https://www.youtube.com/watch?v=pkn3qA7s-NI",
76
  "immunoglobulin_e": "https://www.youtube.com/watch?v=z95-fg7bzLA",
77
  "immunoglobulin_g": "https://www.youtube.com/watch?v=d_3VZ5vDiHI",
@@ -147,18 +151,22 @@
147
  "anti_ccp_antibodies": "Rheumatoid arthritis overview; anti-CCP is correlated through RA evaluation.",
148
  "anti_mullerian_hormone": "Fertility hormone-testing overview includes AMH and ovarian-reserve timing.",
149
  "ast": "AST/ALT lab-values video covers AST directly alongside ALT.",
 
150
  "beta_hcg": "Reproductive-cycle overview is a broad pregnancy/reproductive hormone context; beta-hCG is not the primary topic.",
151
  "beta_hydroxybutyrate": "Diabetes/DKA overview covers ketone production; beta-hydroxybutyrate is not the only focus.",
152
  "ca_125": "Tumor-marker overview covers CA-125 with other markers.",
153
  "ca_15_3": "Direct CA 15-3 blood-test video; marker is for monitoring context rather than diagnosis.",
154
  "cea": "Tumor-marker overview covers CEA with other markers.",
155
  "ceruloplasmin": "Trace-mineral/copper overview; ceruloplasmin is linked to copper interpretation.",
 
156
  "copper": "Trace-mineral lab overview covering copper among other minerals.",
157
  "free_t3": "Free T3/Free T4 video focuses on free thyroid hormones together.",
 
158
  "fructosamine": "Diabetes overview; fructosamine is a shorter-term glycemic marker and is not the primary topic.",
159
  "gra_absolute": "WBC differential overview; granulocyte absolute combines neutrophils, eosinophils, and basophils.",
160
  "hct": "Hemoglobin/Hematocrit lab-values video covers hematocrit directly alongside hemoglobin.",
161
  "hdl_cholesterol": "HDL/LDL cholesterol video focuses on HDL in direct lipid-marker context.",
 
162
  "immunoglobulin_m": "IgG/IgM antibody-testing video covers IgM directly alongside IgG.",
163
  "mcv": "Anemia interpretation video uses MCV directly; also discusses MCH context.",
164
  "mpv": "FBC/CBC guide covers platelets; MPV is not discussed in detail.",
 
18
  "apolipoprotein_b": "https://www.youtube.com/watch?v=V7ywq_s7ATk",
19
  "aptt": "https://www.youtube.com/watch?v=uiFicYWMZL0",
20
  "ast": "https://www.youtube.com/watch?v=7_-ZtM0TieA",
21
+ "band_neutrophils_percent": "https://www.youtube.com/watch?v=AvVnjqShhWE",
22
  "bas_absolute": "https://www.youtube.com/watch?v=sRIjKEkjWmU",
23
  "bas_percent": "https://www.youtube.com/watch?v=VUAVvLkcN0M",
24
  "beta_2_microglobulin": "https://www.youtube.com/watch?v=i2-_4wk30po",
 
36
  "ceruloplasmin": "https://www.youtube.com/watch?v=42kduAhoYlw",
37
  "chloride": "https://www.youtube.com/watch?v=5Fuav99clbE",
38
  "ck_mb": "https://www.youtube.com/watch?v=udVccTOnmrM",
39
+ "coenzyme_q10": "https://www.youtube.com/watch?v=cy1LhxV6jHs",
40
  "complement_c3": "https://www.youtube.com/watch?v=r_f5cvxwS6w",
41
  "complement_c4": "https://www.youtube.com/watch?v=r_f5cvxwS6w",
42
  "copper": "https://www.youtube.com/watch?v=42kduAhoYlw",
 
59
  "folate": "https://www.youtube.com/watch?v=dO0aUSqZ_bs",
60
  "free_t3": "https://www.youtube.com/watch?v=oz8HFUqwDgw",
61
  "free_t4": "https://www.youtube.com/watch?v=IHaH9mlCdVY",
62
+ "free_testosterone": "https://www.youtube.com/watch?v=yLuB8X8d_8o",
63
  "fructosamine": "https://www.youtube.com/watch?v=tXW-qGeTNFk",
64
  "fsh": "https://www.youtube.com/watch?v=UL0PFu5fPKA",
65
  "g6pd": "https://www.youtube.com/watch?v=iTh-hUU5mxE",
 
75
  "homocysteine": "https://www.youtube.com/watch?v=XbX9K1OtFFs",
76
  "hs_crp": "https://www.youtube.com/watch?v=eRNFtwzyyCo",
77
  "igf_1": "https://www.youtube.com/watch?v=_LKdNhF2WhI",
78
+ "igfbp_3": "https://www.youtube.com/watch?v=qV2rkofqK1I",
79
  "immunoglobulin_a": "https://www.youtube.com/watch?v=pkn3qA7s-NI",
80
  "immunoglobulin_e": "https://www.youtube.com/watch?v=z95-fg7bzLA",
81
  "immunoglobulin_g": "https://www.youtube.com/watch?v=d_3VZ5vDiHI",
 
151
  "anti_ccp_antibodies": "Rheumatoid arthritis overview; anti-CCP is correlated through RA evaluation.",
152
  "anti_mullerian_hormone": "Fertility hormone-testing overview includes AMH and ovarian-reserve timing.",
153
  "ast": "AST/ALT lab-values video covers AST directly alongside ALT.",
154
+ "band_neutrophils_percent": "Direct video on segmented versus band neutrophils.",
155
  "beta_hcg": "Reproductive-cycle overview is a broad pregnancy/reproductive hormone context; beta-hCG is not the primary topic.",
156
  "beta_hydroxybutyrate": "Diabetes/DKA overview covers ketone production; beta-hydroxybutyrate is not the only focus.",
157
  "ca_125": "Tumor-marker overview covers CA-125 with other markers.",
158
  "ca_15_3": "Direct CA 15-3 blood-test video; marker is for monitoring context rather than diagnosis.",
159
  "cea": "Tumor-marker overview covers CEA with other markers.",
160
  "ceruloplasmin": "Trace-mineral/copper overview; ceruloplasmin is linked to copper interpretation.",
161
+ "coenzyme_q10": "CoQ10 overview; closest available educational video for the CoQ10 marker rather than a lab-result-only lecture.",
162
  "copper": "Trace-mineral lab overview covering copper among other minerals.",
163
  "free_t3": "Free T3/Free T4 video focuses on free thyroid hormones together.",
164
+ "free_testosterone": "Direct free-versus-total testosterone video; marker interpretation still depends on sex, age, SHBG, and symptoms.",
165
  "fructosamine": "Diabetes overview; fructosamine is a shorter-term glycemic marker and is not the primary topic.",
166
  "gra_absolute": "WBC differential overview; granulocyte absolute combines neutrophils, eosinophils, and basophils.",
167
  "hct": "Hemoglobin/Hematocrit lab-values video covers hematocrit directly alongside hemoglobin.",
168
  "hdl_cholesterol": "HDL/LDL cholesterol video focuses on HDL in direct lipid-marker context.",
169
+ "igfbp_3": "Direct IGFBP-3 blood-test video.",
170
  "immunoglobulin_m": "IgG/IgM antibody-testing video covers IgM directly alongside IgG.",
171
  "mcv": "Anemia interpretation video uses MCV directly; also discusses MCH context.",
172
  "mpv": "FBC/CBC guide covers platelets; MPV is not discussed in detail.",
scripts/expand_lab_knowledge_graph.py CHANGED
@@ -29,6 +29,7 @@ MARKER_IDS: dict[str, str] = {
29
  "Absolute Monocyte Count": "mon_absolute",
30
  "Absolute Eosinophil Count": "eos_absolute",
31
  "Absolute Basophil Count": "bas_absolute",
 
32
  "Reticulocyte Count": "reticulocyte_count",
33
  "Haptoglobin": "haptoglobin",
34
  "G6PD": "g6pd",
@@ -98,6 +99,7 @@ MARKER_IDS: dict[str, str] = {
98
  "Ceruloplasmin": "ceruloplasmin",
99
  "Selenium": "selenium",
100
  "Vitamin E": "vitamin_e",
 
101
  "Prothrombin Time": "prothrombin_time",
102
  "INR": "inr",
103
  "aPTT": "aptt",
@@ -124,6 +126,7 @@ MARKER_IDS: dict[str, str] = {
124
  "Cortisol": "cortisol",
125
  "Insulin": "insulin",
126
  "Testosterone": "testosterone",
 
127
  "Estradiol": "estradiol",
128
  "Prolactin": "prolactin",
129
  "FSH": "fsh",
@@ -137,6 +140,7 @@ MARKER_IDS: dict[str, str] = {
137
  "Beta-hCG": "beta_hcg",
138
  "SHBG": "shbg",
139
  "IGF-1": "igf_1",
 
140
  "PSA": "psa",
141
  "CEA": "cea",
142
  "CA-125": "ca_125",
@@ -153,11 +157,12 @@ EXTRA_ALIAS_UPDATES: dict[str, list[str]] = {
153
  "mon_absolute": ["AMC", "Absolute Monocyte Count", "Abs Monocytes", "Monocytes Absolute"],
154
  "eos_absolute": ["AEC", "Absolute Eosinophil Count", "Abs Eosinophils", "Eosinophils Absolute"],
155
  "bas_absolute": ["ABC", "Absolute Basophil Count", "Abs Basophils", "Basophils Absolute"],
 
156
  "mpv": ["Mean Platelet Volume"],
157
  "reticulocyte_count": ["Retic Count", "Retics"],
158
  "bun": ["BUN", "Urea Nitrogen", "Blood Urea Nitrogen"],
159
  "egfr": ["GFR", "Estimated GFR"],
160
- "hba1c": ["A1c", "Hemoglobin A1c", "Glycated Hemoglobin"],
161
  "aptt": ["PTT", "APTT", "Activated Partial Thromboplastin Time"],
162
  "pth": ["PTH", "Intact PTH", "Parathyroid Hormone"],
163
  "hs_crp": ["High-Sensitivity CRP", "High Sensitivity C-Reactive Protein"],
 
29
  "Absolute Monocyte Count": "mon_absolute",
30
  "Absolute Eosinophil Count": "eos_absolute",
31
  "Absolute Basophil Count": "bas_absolute",
32
+ "Band Neutrophils Percent": "band_neutrophils_percent",
33
  "Reticulocyte Count": "reticulocyte_count",
34
  "Haptoglobin": "haptoglobin",
35
  "G6PD": "g6pd",
 
99
  "Ceruloplasmin": "ceruloplasmin",
100
  "Selenium": "selenium",
101
  "Vitamin E": "vitamin_e",
102
+ "Coenzyme Q10": "coenzyme_q10",
103
  "Prothrombin Time": "prothrombin_time",
104
  "INR": "inr",
105
  "aPTT": "aptt",
 
126
  "Cortisol": "cortisol",
127
  "Insulin": "insulin",
128
  "Testosterone": "testosterone",
129
+ "Free Testosterone": "free_testosterone",
130
  "Estradiol": "estradiol",
131
  "Prolactin": "prolactin",
132
  "FSH": "fsh",
 
140
  "Beta-hCG": "beta_hcg",
141
  "SHBG": "shbg",
142
  "IGF-1": "igf_1",
143
+ "IGF Binding Protein-3": "igfbp_3",
144
  "PSA": "psa",
145
  "CEA": "cea",
146
  "CA-125": "ca_125",
 
157
  "mon_absolute": ["AMC", "Absolute Monocyte Count", "Abs Monocytes", "Monocytes Absolute"],
158
  "eos_absolute": ["AEC", "Absolute Eosinophil Count", "Abs Eosinophils", "Eosinophils Absolute"],
159
  "bas_absolute": ["ABC", "Absolute Basophil Count", "Abs Basophils", "Basophils Absolute"],
160
+ "band_neutrophils_percent": ["Band Neutrophil %", "Band Neutrophils", "Band %", "Bands", "Stab Neutrophils"],
161
  "mpv": ["Mean Platelet Volume"],
162
  "reticulocyte_count": ["Retic Count", "Retics"],
163
  "bun": ["BUN", "Urea Nitrogen", "Blood Urea Nitrogen"],
164
  "egfr": ["GFR", "Estimated GFR"],
165
+ "hba1c": ["A1c", "HgbA1C", "Hemoglobin A1c", "Hemoglobin A1C", "Glycated Hemoglobin"],
166
  "aptt": ["PTT", "APTT", "Activated Partial Thromboplastin Time"],
167
  "pth": ["PTH", "Intact PTH", "Parathyroid Hormone"],
168
  "hs_crp": ["High-Sensitivity CRP", "High Sensitivity C-Reactive Protein"],
src/markers.py CHANGED
@@ -55,9 +55,9 @@ MARKERS: tuple[Marker, ...] = (
55
  # --- Complete blood count ---
56
  Marker("Hemoglobin", "g/dL", 11.9, 17.7, "CBC", "oxygen-carrying protein in red blood cells", ("Hgb", "HGB", "Hb")),
57
  Marker("Hematocrit", "%", 35, 52, "CBC", "fraction of blood made up of red cells", ("Hct", "HCT", "PCV")),
58
- Marker("White Blood Cell Count", "10^3/uL", 3.7, 10.5, "CBC", "immune cells that fight infection", ("WBC", "Leukocytes", "WBC Count", "TLC", "Total Leucocyte Count")),
59
  Marker("Platelet Count", "10^3/uL", 150, 400, "CBC", "cell fragments that help blood clot", ("Platelets", "PLT")),
60
- Marker("Red Blood Cell Count", "10^6/uL", 4.0, 6.2, "CBC", "number of oxygen-carrying red cells", ("RBC", "Erythrocytes")),
61
  Marker("MCV", "fL", 82, 99, "CBC", "average size of red blood cells", ("Mean Corpuscular Volume",)),
62
  Marker("MCH", "pg", 25, 35, "CBC", "average hemoglobin per red blood cell", ("Mean Corpuscular Hemoglobin",)),
63
  Marker("MCHC", "g/dL", 32, 36, "CBC", "average hemoglobin concentration in red cells", ("Mean Corpuscular Hemoglobin Concentration",)),
@@ -68,12 +68,13 @@ MARKERS: tuple[Marker, ...] = (
68
  Marker("Absolute Monocyte Count", "10^3/uL", 0.2, 0.8, "CBC", "count of cleanup and immune white cells", ("AMC", "Monocytes Absolute", "Abs Monocytes")),
69
  Marker("Absolute Eosinophil Count", "10^3/uL", 0, 0.5, "CBC", "count of allergy and parasite-related white cells", ("AEC", "Eosinophils Absolute", "Abs Eosinophils")),
70
  Marker("Absolute Basophil Count", "10^3/uL", 0, 0.2, "CBC", "count of histamine-related white cells", ("ABC", "Basophils Absolute", "Abs Basophils")),
 
71
  Marker("Reticulocyte Count", "%", 0.5, 2.5, "CBC", "young red cells recently released from bone marrow", ("Retic Count", "Retics")),
72
  Marker("Haptoglobin", "mg/dL", 30, 200, "CBC", "protein that binds free hemoglobin after red-cell breakdown", ("HP",)),
73
  Marker("G6PD", "U/g Hb", 5.5, 20.5, "CBC", "red-cell enzyme that protects against oxidative stress", ("Glucose-6-Phosphate Dehydrogenase", "G6PDH")),
74
  Marker("Erythropoietin", "mIU/mL", 4, 27, "CBC", "kidney hormone that stimulates red-cell production", ("EPO",)),
75
  # --- Metabolic panel ---
76
- Marker("Glucose", "mg/dL", 70, 99, "Metabolic", "blood sugar level", ("Fasting Glucose", "GLU", "Blood Sugar", "FBS", "RBS", "Fasting Blood Sugar")),
77
  Marker("Creatinine", "mg/dL", 0.7, 1.3, "Metabolic", "kidney-function waste product", ("Cr", "Serum Creatinine")),
78
  Marker("eGFR", "mL/min/1.73m2", 90, None, "Metabolic", "estimated kidney filtration rate", ("GFR", "Estimated GFR")),
79
  Marker("Blood Urea Nitrogen", "mg/dL", 7, 20, "Metabolic", "kidney-function waste product", ("BUN", "Urea Nitrogen")),
@@ -87,7 +88,7 @@ MARKERS: tuple[Marker, ...] = (
87
  Marker("Bicarbonate", "mmol/L", 22, 28, "Metabolic", "main blood buffer for acid-base balance", ("CO2", "Bicarb", "Total CO2", "Carbon Dioxide")),
88
  Marker("Anion Gap", "mEq/L", 7, 13, "Metabolic", "calculated gap from electrolytes suggesting acid-base issues", ("AG",)),
89
  Marker("Magnesium", "mg/dL", 1.7, 2.2, "Metabolic", "electrolyte for nerves, muscle, and heart rhythm", ("Mg", "Mg++")),
90
- Marker("Phosphate", "mg/dL", 2.5, 4.5, "Metabolic", "mineral for bones, energy, and cell membranes", ("Phosphorus", "PO4", "Inorganic Phosphate")),
91
  Marker("Uric Acid", "mg/dL", 3.5, 7.2, "Metabolic", "breakdown product of purines; linked to gout", ("UA", "Urate")),
92
  Marker("Serum Iron", "mcg/dL", 60, 170, "Metabolic", "circulating iron available for red-cell production", ("Iron", "Fe", "Iron, Serum")),
93
  Marker("TIBC", "mcg/dL", 250, 450, "Metabolic", "blood's capacity to bind and transport iron", ("Total Iron Binding Capacity", "Iron Binding Capacity")),
@@ -133,7 +134,7 @@ MARKERS: tuple[Marker, ...] = (
133
  Marker("TSH Receptor Antibodies", "IU/L", None, 1.75, "Thyroid", "antibodies that can stimulate or block the TSH receptor", ("TRAb", "TSH-R Ab")),
134
  Marker("Thyroglobulin Antibodies", "IU/mL", None, 4, "Thyroid", "antibodies against thyroglobulin", ("TgAb", "Anti-Thyroglobulin Antibodies")),
135
  # --- Vitamins / iron ---
136
- Marker("Vitamin D", "ng/mL", 30, 100, "Vitamin", "vitamin for bone and immune health", ("25-OH Vitamin D", "25-Hydroxyvitamin D", "Vit D")),
137
  Marker("Vitamin B12", "pg/mL", 200, 900, "Vitamin", "vitamin for nerves and red-cell production", ("B12", "Cobalamin")),
138
  Marker("Ferritin", "ng/mL", 30, 400, "Vitamin", "stored-iron protein", ("FERR",)),
139
  Marker("Zinc", "mcg/dL", 60, 130, "Vitamin", "trace mineral involved in immunity and wound healing", ("Zn",)),
@@ -141,7 +142,8 @@ MARKERS: tuple[Marker, ...] = (
141
  Marker("Ceruloplasmin", "mg/dL", 20, 35, "Vitamin", "copper-carrying protein made by the liver", ("CP",)),
142
  Marker("Selenium", "mcg/L", 70, 150, "Vitamin", "trace mineral used in antioxidant and thyroid-related enzymes", ("Se",)),
143
  Marker("Vitamin E", "mg/L", 5.5, 17, "Vitamin", "fat-soluble antioxidant vitamin", ("Alpha-Tocopherol", "Tocopherol")),
144
- Marker("HbA1c", "%", 4.0, 5.6, "Metabolic", "average blood sugar over ~3 months", ("A1c", "Hemoglobin A1c", "Glycated Hemoglobin")),
 
145
  # --- Coagulation ---
146
  Marker("Prothrombin Time", "seconds", 11, 13.5, "Coagulation", "time for the clotting cascade to form fibrin", ("PT",)),
147
  Marker("INR", "ratio", 0.9, 1.1, "Coagulation", "standardized prothrombin time for warfarin monitoring", ("International Normalized Ratio",)),
@@ -170,8 +172,9 @@ MARKERS: tuple[Marker, ...] = (
170
  Marker("Myoglobin", "ng/mL", 25, 72, "Cardiac", "oxygen-binding muscle protein released with muscle injury", ("Mb",)),
171
  # --- Hormones ---
172
  Marker("Cortisol", "mcg/dL", 6, 18, "Hormone", "stress hormone from the adrenal glands", ("AM Cortisol", "Serum Cortisol")),
173
- Marker("Insulin", "uIU/mL", 2.6, 24.9, "Hormone", "hormone that lowers blood sugar", ("Fasting Insulin",)),
174
  Marker("Testosterone", "ng/dL", 300, 1000, "Hormone", "androgen sex hormone", ("Total Testosterone",)),
 
175
  Marker("Estradiol", "pg/mL", 15, 350, "Hormone", "primary estrogen sex hormone", ("E2", "Estrogen")),
176
  Marker("Prolactin", "ng/mL", None, 20, "Hormone", "pituitary hormone for lactation and more", ("PRL",)),
177
  Marker("FSH", "mIU/mL", 1.5, 12.4, "Hormone", "pituitary signal for egg and sperm production", ("Follicle Stimulating Hormone",)),
@@ -185,6 +188,7 @@ MARKERS: tuple[Marker, ...] = (
185
  Marker("Beta-hCG", "mIU/mL", None, 5, "Hormone", "pregnancy-associated hormone also used in some tumor monitoring", ("β-hCG", "Human Chorionic Gonadotropin", "hCG")),
186
  Marker("SHBG", "nmol/L", 10, 80, "Hormone", "protein that binds sex hormones in the blood", ("Sex Hormone Binding Globulin",)),
187
  Marker("IGF-1", "ng/mL", 115, 355, "Hormone", "growth factor reflecting growth-hormone activity", ("Insulin-Like Growth Factor 1", "Somatomedin C")),
 
188
  # --- Oncology / screening ---
189
  Marker("PSA", "ng/mL", None, 4.0, "Oncology", "prostate-specific protein used in screening", ("Prostate Specific Antigen",)),
190
  Marker("CEA", "ng/mL", None, 3.0, "Oncology", "tumor marker often followed in colorectal and other cancers", ("Carcinoembryonic Antigen",)),
 
55
  # --- Complete blood count ---
56
  Marker("Hemoglobin", "g/dL", 11.9, 17.7, "CBC", "oxygen-carrying protein in red blood cells", ("Hgb", "HGB", "Hb")),
57
  Marker("Hematocrit", "%", 35, 52, "CBC", "fraction of blood made up of red cells", ("Hct", "HCT", "PCV")),
58
+ Marker("White Blood Cell Count", "10^3/uL", 3.7, 10.5, "CBC", "immune cells that fight infection", ("WBC", "Leukocytes", "WBC Count", "Total WBC Count", "TLC", "Total Leucocyte Count")),
59
  Marker("Platelet Count", "10^3/uL", 150, 400, "CBC", "cell fragments that help blood clot", ("Platelets", "PLT")),
60
+ Marker("Red Blood Cell Count", "10^6/uL", 4.0, 6.2, "CBC", "number of oxygen-carrying red cells", ("RBC", "Total RBC Count", "Erythrocytes")),
61
  Marker("MCV", "fL", 82, 99, "CBC", "average size of red blood cells", ("Mean Corpuscular Volume",)),
62
  Marker("MCH", "pg", 25, 35, "CBC", "average hemoglobin per red blood cell", ("Mean Corpuscular Hemoglobin",)),
63
  Marker("MCHC", "g/dL", 32, 36, "CBC", "average hemoglobin concentration in red cells", ("Mean Corpuscular Hemoglobin Concentration",)),
 
68
  Marker("Absolute Monocyte Count", "10^3/uL", 0.2, 0.8, "CBC", "count of cleanup and immune white cells", ("AMC", "Monocytes Absolute", "Abs Monocytes")),
69
  Marker("Absolute Eosinophil Count", "10^3/uL", 0, 0.5, "CBC", "count of allergy and parasite-related white cells", ("AEC", "Eosinophils Absolute", "Abs Eosinophils")),
70
  Marker("Absolute Basophil Count", "10^3/uL", 0, 0.2, "CBC", "count of histamine-related white cells", ("ABC", "Basophils Absolute", "Abs Basophils")),
71
+ Marker("Band Neutrophils Percent", "%", 0, 6, "CBC", "percentage of immature neutrophils in the white-cell differential", ("Band Neutrophil %", "Band Neutrophils", "Band %", "Bands", "Stab Neutrophils")),
72
  Marker("Reticulocyte Count", "%", 0.5, 2.5, "CBC", "young red cells recently released from bone marrow", ("Retic Count", "Retics")),
73
  Marker("Haptoglobin", "mg/dL", 30, 200, "CBC", "protein that binds free hemoglobin after red-cell breakdown", ("HP",)),
74
  Marker("G6PD", "U/g Hb", 5.5, 20.5, "CBC", "red-cell enzyme that protects against oxidative stress", ("Glucose-6-Phosphate Dehydrogenase", "G6PDH")),
75
  Marker("Erythropoietin", "mIU/mL", 4, 27, "CBC", "kidney hormone that stimulates red-cell production", ("EPO",)),
76
  # --- Metabolic panel ---
77
+ Marker("Glucose", "mg/dL", 70, 99, "Metabolic", "blood sugar level", ("Fasting Glucose", "Random Glucose", "Non-Fasting Glucose", "Glucose Random Non-Fasting", "GLU", "Blood Sugar", "FBS", "RBS", "Fasting Blood Sugar")),
78
  Marker("Creatinine", "mg/dL", 0.7, 1.3, "Metabolic", "kidney-function waste product", ("Cr", "Serum Creatinine")),
79
  Marker("eGFR", "mL/min/1.73m2", 90, None, "Metabolic", "estimated kidney filtration rate", ("GFR", "Estimated GFR")),
80
  Marker("Blood Urea Nitrogen", "mg/dL", 7, 20, "Metabolic", "kidney-function waste product", ("BUN", "Urea Nitrogen")),
 
88
  Marker("Bicarbonate", "mmol/L", 22, 28, "Metabolic", "main blood buffer for acid-base balance", ("CO2", "Bicarb", "Total CO2", "Carbon Dioxide")),
89
  Marker("Anion Gap", "mEq/L", 7, 13, "Metabolic", "calculated gap from electrolytes suggesting acid-base issues", ("AG",)),
90
  Marker("Magnesium", "mg/dL", 1.7, 2.2, "Metabolic", "electrolyte for nerves, muscle, and heart rhythm", ("Mg", "Mg++")),
91
+ Marker("Phosphate", "mg/dL", 2.5, 4.5, "Metabolic", "mineral for bones, energy, and cell membranes", ("Phosphorus", "Phosphorous", "PO4", "Inorganic Phosphate")),
92
  Marker("Uric Acid", "mg/dL", 3.5, 7.2, "Metabolic", "breakdown product of purines; linked to gout", ("UA", "Urate")),
93
  Marker("Serum Iron", "mcg/dL", 60, 170, "Metabolic", "circulating iron available for red-cell production", ("Iron", "Fe", "Iron, Serum")),
94
  Marker("TIBC", "mcg/dL", 250, 450, "Metabolic", "blood's capacity to bind and transport iron", ("Total Iron Binding Capacity", "Iron Binding Capacity")),
 
134
  Marker("TSH Receptor Antibodies", "IU/L", None, 1.75, "Thyroid", "antibodies that can stimulate or block the TSH receptor", ("TRAb", "TSH-R Ab")),
135
  Marker("Thyroglobulin Antibodies", "IU/mL", None, 4, "Thyroid", "antibodies against thyroglobulin", ("TgAb", "Anti-Thyroglobulin Antibodies")),
136
  # --- Vitamins / iron ---
137
+ Marker("Vitamin D", "ng/mL", 30, 100, "Vitamin", "vitamin for bone and immune health", ("25-OH Vitamin D", "25-Hydroxyvitamin D", "25 OH Vit D", "25 Hydroxyvitamin D", "Vit D")),
138
  Marker("Vitamin B12", "pg/mL", 200, 900, "Vitamin", "vitamin for nerves and red-cell production", ("B12", "Cobalamin")),
139
  Marker("Ferritin", "ng/mL", 30, 400, "Vitamin", "stored-iron protein", ("FERR",)),
140
  Marker("Zinc", "mcg/dL", 60, 130, "Vitamin", "trace mineral involved in immunity and wound healing", ("Zn",)),
 
142
  Marker("Ceruloplasmin", "mg/dL", 20, 35, "Vitamin", "copper-carrying protein made by the liver", ("CP",)),
143
  Marker("Selenium", "mcg/L", 70, 150, "Vitamin", "trace mineral used in antioxidant and thyroid-related enzymes", ("Se",)),
144
  Marker("Vitamin E", "mg/L", 5.5, 17, "Vitamin", "fat-soluble antioxidant vitamin", ("Alpha-Tocopherol", "Tocopherol")),
145
+ Marker("Coenzyme Q10", "mcg/L", 433, 1532, "Vitamin", "mitochondrial electron-transport cofactor and antioxidant", ("CoQ10", "Coenzyme Q 10", "Total Coenzyme Q10", "Total Coenzyme Q 10", "CoQ10 Profile", "Total CoQ10")),
146
+ Marker("HbA1c", "%", 4.0, 5.6, "Metabolic", "average blood sugar over ~3 months", ("A1c", "HgbA1C", "Hemoglobin A1c", "Hemoglobin A1C", "Glycated Hemoglobin")),
147
  # --- Coagulation ---
148
  Marker("Prothrombin Time", "seconds", 11, 13.5, "Coagulation", "time for the clotting cascade to form fibrin", ("PT",)),
149
  Marker("INR", "ratio", 0.9, 1.1, "Coagulation", "standardized prothrombin time for warfarin monitoring", ("International Normalized Ratio",)),
 
172
  Marker("Myoglobin", "ng/mL", 25, 72, "Cardiac", "oxygen-binding muscle protein released with muscle injury", ("Mb",)),
173
  # --- Hormones ---
174
  Marker("Cortisol", "mcg/dL", 6, 18, "Hormone", "stress hormone from the adrenal glands", ("AM Cortisol", "Serum Cortisol")),
175
+ Marker("Insulin", "uIU/mL", 2.6, 24.9, "Hormone", "hormone that lowers blood sugar", ("Fasting Insulin", "Free Insulin", "Total Insulin", "Insulin Free", "Insulin Total")),
176
  Marker("Testosterone", "ng/dL", 300, 1000, "Hormone", "androgen sex hormone", ("Total Testosterone",)),
177
+ Marker("Free Testosterone", "ng/dL", 5.25, 20.7, "Hormone", "unbound testosterone available to tissues", ("Free T", "Free Testosterone Level")),
178
  Marker("Estradiol", "pg/mL", 15, 350, "Hormone", "primary estrogen sex hormone", ("E2", "Estrogen")),
179
  Marker("Prolactin", "ng/mL", None, 20, "Hormone", "pituitary hormone for lactation and more", ("PRL",)),
180
  Marker("FSH", "mIU/mL", 1.5, 12.4, "Hormone", "pituitary signal for egg and sperm production", ("Follicle Stimulating Hormone",)),
 
188
  Marker("Beta-hCG", "mIU/mL", None, 5, "Hormone", "pregnancy-associated hormone also used in some tumor monitoring", ("β-hCG", "Human Chorionic Gonadotropin", "hCG")),
189
  Marker("SHBG", "nmol/L", 10, 80, "Hormone", "protein that binds sex hormones in the blood", ("Sex Hormone Binding Globulin",)),
190
  Marker("IGF-1", "ng/mL", 115, 355, "Hormone", "growth factor reflecting growth-hormone activity", ("Insulin-Like Growth Factor 1", "Somatomedin C")),
191
+ Marker("IGF Binding Protein-3", "mcg/mL", 3.1, 7.9, "Hormone", "major carrier protein for IGF-1 and marker of growth-hormone activity", ("IGFBP-3", "IGFBP3", "IGFbp3", "Insulin-Like Growth Factor Binding Protein 3", "Insulin-like Growth Factor-binding Protein 3")),
192
  # --- Oncology / screening ---
193
  Marker("PSA", "ng/mL", None, 4.0, "Oncology", "prostate-specific protein used in screening", ("Prostate Specific Antigen",)),
194
  Marker("CEA", "ng/mL", None, 3.0, "Oncology", "tumor marker often followed in colorectal and other cancers", ("Carcinoembryonic Antigen",)),