feat: implement Mistral OCR document parsing with fuzzy matching and frontend integration
This commit is contained in:
245
backend/ocr_schema.json
Normal file
245
backend/ocr_schema.json
Normal file
@@ -0,0 +1,245 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"name": "LabReport",
|
||||
"description": "Extract biomarker data from a medical lab report",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"patient_name": {
|
||||
"type": "string",
|
||||
"description": "Full name of the patient"
|
||||
},
|
||||
"patient_age": {
|
||||
"type": "integer",
|
||||
"description": "Age of the patient in years"
|
||||
},
|
||||
"patient_gender": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"male",
|
||||
"female",
|
||||
"other"
|
||||
],
|
||||
"description": "Gender of the patient"
|
||||
},
|
||||
"lab_name": {
|
||||
"type": "string",
|
||||
"description": "Name of the laboratory"
|
||||
},
|
||||
"test_date": {
|
||||
"type": "string",
|
||||
"description": "Date when the sample was collected (YYYY-MM-DD format if possible)"
|
||||
},
|
||||
"report_id": {
|
||||
"type": "string",
|
||||
"description": "Report ID, barcode, or reference number"
|
||||
},
|
||||
"biomarkers": {
|
||||
"type": "array",
|
||||
"description": "List of biomarker test results",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"description": "Name of the biomarker/test",
|
||||
"enum": [
|
||||
"ARSENIC",
|
||||
"CADMIUM",
|
||||
"MERCURY",
|
||||
"LEAD",
|
||||
"CHROMIUM",
|
||||
"BARIUM",
|
||||
"COBALT",
|
||||
"CAESIUM",
|
||||
"THALLIUM",
|
||||
"URANIUM",
|
||||
"STRONTIUM",
|
||||
"ANTIMONY",
|
||||
"TIN",
|
||||
"MOLYBDENUM",
|
||||
"SILVER",
|
||||
"VANADIUM",
|
||||
"BERYLLIUM",
|
||||
"BISMUTH",
|
||||
"SELENIUM",
|
||||
"ALUMINIUM",
|
||||
"NICKEL",
|
||||
"MANGANESE",
|
||||
"GLYCOSYLATED HEMOGLOBIN (HbA1c)",
|
||||
"AVERAGE BLOOD GLUCOSE (ABG)",
|
||||
"FASTING BLOOD SUGAR (GLUCOSE)",
|
||||
"INSULIN FASTING",
|
||||
"FRUCTOSAMINE",
|
||||
"BLOOD KETONE (D3HB)",
|
||||
"ERYTHROCYTE SEDIMENTATION RATE (ESR)",
|
||||
"ANTI CCP (ACCP)",
|
||||
"ANTI NUCLEAR ANTIBODIES (ANA)",
|
||||
"HEMOGLOBIN",
|
||||
"HEMATOCRIT (PCV)",
|
||||
"TOTAL RED BLOOD CELL COUNT (RBC)",
|
||||
"MEAN CORPUSCULAR VOLUME (MCV)",
|
||||
"MEAN CORPUSCULAR HEMOGLOBIN (MCH)",
|
||||
"MEAN CORP. HEMO. CONC (MCHC)",
|
||||
"RED CELL DISTRIBUTION WIDTH - SD (RDW-SD)",
|
||||
"RED CELL DISTRIBUTION WIDTH (RDW-CV)",
|
||||
"TOTAL LEUCOCYTE COUNT (WBC)",
|
||||
"NEUTROPHILS PERCENTAGE",
|
||||
"LYMPHOCYTES PERCENTAGE",
|
||||
"MONOCYTES PERCENTAGE",
|
||||
"EOSINOPHILS PERCENTAGE",
|
||||
"BASOPHILS PERCENTAGE",
|
||||
"IMMATURE GRANULOCYTE PERCENTAGE (IG%)",
|
||||
"NUCLEATED RED BLOOD CELLS %",
|
||||
"NEUTROPHILS ABSOLUTE COUNT",
|
||||
"LYMPHOCYTES ABSOLUTE COUNT",
|
||||
"MONOCYTES - ABSOLUTE COUNT",
|
||||
"BASOPHILS ABSOLUTE COUNT",
|
||||
"EOSINOPHILS ABSOLUTE COUNT",
|
||||
"IMMATURE GRANULOCYTES (IG)",
|
||||
"NUCLEATED RED BLOOD CELLS",
|
||||
"PLATELET COUNT",
|
||||
"MEAN PLATELET VOLUME (MPV)",
|
||||
"PLATELET DISTRIBUTION WIDTH (PDW)",
|
||||
"PLATELET TO LARGE CELL RATIO (PLCR)",
|
||||
"PLATELETCRIT (PCT)",
|
||||
"VITAMIN A",
|
||||
"VITAMIN E",
|
||||
"VITAMIN K",
|
||||
"VITAMIN B1 (THIAMIN)",
|
||||
"VITAMIN B2 (RIBOFLAVIN)",
|
||||
"VITAMIN B3 (NIACIN/NICOTINIC ACID)",
|
||||
"VITAMIN B5 (PANTOTHENIC ACID)",
|
||||
"VITAMIN B6 (PYRIDOXAL-5-PHOSPHATE)",
|
||||
"VITAMIN B7 (BIOTIN)",
|
||||
"VITAMIN B9 (FOLIC ACID)",
|
||||
"VITAMIN B12 (COBALAMIN)",
|
||||
"VITAMIN D TOTAL",
|
||||
"VITAMIN D2",
|
||||
"VITAMIN D3",
|
||||
"CORTISOL",
|
||||
"CORTICOSTERONE",
|
||||
"ANDROSTENEDIONE",
|
||||
"ESTRADIOL",
|
||||
"TESTOSTERONE",
|
||||
"PROGESTERONE",
|
||||
"17-HYDROXYPROGESTERONE",
|
||||
"DEHYDROEPIANDROSTERONE (DHEA)",
|
||||
"DHEA - SULPHATE (DHEAS)",
|
||||
"DEOXYCORTISOL",
|
||||
"ALPHA-1-ANTITRYPSIN (AAT)",
|
||||
"HOMOCYSTEINE",
|
||||
"TROPONIN I",
|
||||
"HIGH SENSITIVITY C-REACTIVE PROTEIN (HS-CRP)",
|
||||
"LIPOPROTEIN (A) [Lp(a)]",
|
||||
"LIPOPROTEIN-ASSOCIATED PHOSPHOLIPASE A2 (LP-PLA2)",
|
||||
"CYSTATIN C",
|
||||
"BLOOD UREA NITROGEN (BUN)",
|
||||
"UREA (CALCULATED)",
|
||||
"CREATININE - SERUM",
|
||||
"UREA / SR.CREATININE RATIO",
|
||||
"BUN / SR.CREATININE RATIO",
|
||||
"CALCIUM",
|
||||
"URIC ACID",
|
||||
"ESTIMATED GLOMERULAR FILTRATION RATE (eGFR)",
|
||||
"TOTAL CHOLESTEROL",
|
||||
"HDL CHOLESTEROL - DIRECT",
|
||||
"LDL CHOLESTEROL - DIRECT",
|
||||
"TRIGLYCERIDES",
|
||||
"VLDL CHOLESTEROL",
|
||||
"NON-HDL CHOLESTEROL",
|
||||
"TC / HDL CHOLESTEROL RATIO",
|
||||
"LDL / HDL RATIO",
|
||||
"HDL / LDL RATIO",
|
||||
"TRIG / HDL RATIO",
|
||||
"APOLIPOPROTEIN - A1 (APO-A1)",
|
||||
"APOLIPOPROTEIN - B (APO-B)",
|
||||
"APO B / APO A1 RATIO",
|
||||
"IRON",
|
||||
"TOTAL IRON BINDING CAPACITY (TIBC)",
|
||||
"% TRANSFERRIN SATURATION",
|
||||
"FERRITIN",
|
||||
"UNSAT. IRON-BINDING CAPACITY (UIBC)",
|
||||
"ALKALINE PHOSPHATASE",
|
||||
"BILIRUBIN - TOTAL",
|
||||
"BILIRUBIN - DIRECT",
|
||||
"BILIRUBIN (INDIRECT)",
|
||||
"GAMMA GLUTAMYL TRANSFERASE (GGT)",
|
||||
"ASPARTATE AMINOTRANSFERASE (SGOT)",
|
||||
"ALANINE TRANSAMINASE (SGPT)",
|
||||
"SGOT / SGPT RATIO",
|
||||
"PROTEIN - TOTAL",
|
||||
"ALBUMIN - SERUM",
|
||||
"SERUM GLOBULIN",
|
||||
"SERUM ALB/GLOBULIN RATIO",
|
||||
"SODIUM",
|
||||
"POTASSIUM",
|
||||
"CHLORIDE",
|
||||
"MAGNESIUM",
|
||||
"TOTAL TRIIODOTHYRONINE (T3)",
|
||||
"TOTAL THYROXINE (T4)",
|
||||
"TSH ULTRASENSITIVE",
|
||||
"SERUM COPPER",
|
||||
"SERUM ZINC",
|
||||
"AMYLASE",
|
||||
"LIPASE",
|
||||
"URINARY MICROALBUMIN",
|
||||
"CREATININE - URINE",
|
||||
"URI. ALBUMIN/CREATININE RATIO",
|
||||
"URINE COLOUR",
|
||||
"URINE APPEARANCE",
|
||||
"URINE SPECIFIC GRAVITY",
|
||||
"URINE PH",
|
||||
"URINARY PROTEIN",
|
||||
"URINARY GLUCOSE",
|
||||
"URINE KETONE",
|
||||
"URINARY BILIRUBIN",
|
||||
"UROBILINOGEN",
|
||||
"BILE SALT",
|
||||
"BILE PIGMENT",
|
||||
"URINE BLOOD",
|
||||
"NITRITE",
|
||||
"LEUCOCYTE ESTERASE",
|
||||
"MUCUS",
|
||||
"URINE RBC",
|
||||
"URINARY LEUCOCYTES (PUS CELLS)",
|
||||
"EPITHELIAL CELLS",
|
||||
"CASTS",
|
||||
"CRYSTALS",
|
||||
"BACTERIA",
|
||||
"YEAST",
|
||||
"PARASITE",
|
||||
"WEIGHT",
|
||||
"HEIGHT",
|
||||
"BODY MASS INDEX (BMI)",
|
||||
"HEART RATE",
|
||||
"BLOOD PRESSURE SYSTOLIC",
|
||||
"BLOOD PRESSURE DIASTOLIC",
|
||||
"OXYGEN SATURATION (SpO2)",
|
||||
"BODY TEMPERATURE",
|
||||
"STEPS",
|
||||
"CALORIES BURNED"
|
||||
]
|
||||
},
|
||||
"value": {
|
||||
"type": "number",
|
||||
"description": "Observed/measured value"
|
||||
},
|
||||
"value_string": {
|
||||
"type": "string",
|
||||
"description": "Value as string if non-numeric (e.g., 'Negative', 'Trace', '> 65')"
|
||||
},
|
||||
"unit": {
|
||||
"type": "string",
|
||||
"description": "Unit of measurement"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"biomarkers"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user