Original Research
Frontiers in Imaging ·
Volume 5 - 2026 | https://doi.org/10.3389/fimag.2026.1754419
AI-enabled multi-disease diagnosis using low-cost CBC reports
- Maria Bibi1
- Waqar Khalid Saeed2
- Saima Jabeen3
- Sajid Shah4
- Gauhar Ali4
- Mohammed ELAffendi4
- Maqbool Khan1,5*corresponding author
- 1School of Computing Sciences, Pak-Austria Fachhochschule - Institute of Applied Sciences and Technology, Haripur, Pakistan
- 2Department of Biological and Health Sciences, Pak-Austria Fachhochschule - Institute of Applied Sciences and Technology, Haripur, Pakistan
- 3Department of Technology, College of Technology and Business (CTB), Riyadh Elm University, Riyadh, Saudi Arabia
- 4EIAS Data Science and Blockchain Lab, CCIS, Prince Sultan University, Riyadh, Saudi Arabia
- 5College of Engineering and Computing, American University of Bahrain, Riffa, Bahrain
Abstract
Complete blood count (CBC) reports are widely used in clinical settings to determine hematological disorders at early stages, offering a cost-effective and rapid alternative to expensive, time-consuming disease-specific tests. This study presents an AI-based method for multi-disease classification using CBC report data. We collected real-world paper-based CBC reports from a local hospital in scanned form for digital processing. State-of-the-art OCR models were used to extract only table data by removing patients' demographics. After cleaning and pre-processing, a custom digital dataset comprising 6,500 patients with 12 clinically relevant parameters was constructed. A rule-based algorithm is designed for disease labeling. We tested machine learning models for binary and multi-disease prediction. The experimental results showed that all machine learning models yielded the highest accuracy after hyperparameter tuning. Gradient Boosting and Random Forest outperform on binary and multi-disease prediction. The multi-label classification technique identified multiple probable pathologies from extracted CBC records, providing an efficient and cost-effective substitute for disease prediction. This approach offers significant benefits in healthcare for early disease diagnosis while minimizing delays associated with traditional testing methods.
Keywords
1 Introduction
Medical healthcare data is used to predict epidemics, detect disease, improve quality of life, and avoid early deaths (Lab, 2024). Over the past two eras, Artificial Intelligence (AI) has been increasingly and efficiently applied in every field. Especially in the medical field, AI shows promising performance in clinical analysis. Many healthcare applications have been proposed worldwide for doctors and patient assistance. However, its use in hematology is still partial. The most reliable and cost-effective medical test is the Complete Blood Count (CBC) test, which shows the general status of human health. Most of the population, specifically in developing countries, cannot afford expensive medical tests regularly. CBC is the most cost-effective and reliable test that every person can afford and analyzes his/her general status of health status. CBC includes the most important features that indicate specific conditions in human health. According to Instacare, CBC can minimally measure Infection, Low platelet Count, Inflammation, Cause of a recurring infection, Anemia, and Leukemia (Lab, 2024). It is the most cost-effective test, ranging from 600 to 1000 PKRs. Predictable diseases from CBC factors include anemia, blood cancer, hyperglycemia, postoperative blood coagulation state, thalassemia, levels of anemia (high, mild, and moderate), disease severity in COVID-19 patients, malaria, dengue, sickle cell anemia, Bacteremia, etc. Previous medical Records and the patient's history can also help doctors to examine the patient's health easily, but keeping a record of all reports by the healthcare center and the patient is not possible. There is a need for an automatic system that can take patient report data as input and predict possible diseases from specific tests.
In literature, many researchers worked on data extraction from different documents, medical documents, and CBC reports, and worked on disease prediction by utilizing CBC and other medical reports. In 2021, a study proposed a system of OCR technology for tabular data extraction from printed documents, but they took just 58 documents for an experiment, which is not enough amount of data to test any model (Akpinar et al., 2018). In 2023, researchers performed artificial intelligence techniques and an NLP (Natural Language Processing) pipeline to digitize paper-based laboratory reports with the lowest computational resources and made a web-based application to help doctors and patients in healthcare (Ma et al., 2023). Authors in a study extracted tabular data from tables of 163 reports of CBC and performed result analysis on digitized medical data (Alansari, 2024). Authors in the study (Park et al., 2024) developed an AI system to detect Acute Kidney Injury Disease in burn patients using CBC reports. Hyperglycemia prediction using different clinical tests, including CBC is proposed (Tahir et al., 2024). A machine learning-based system works best for Anemia detection in children under 5 years of age with the help of CBC reports (Haider et al., 2022). Machine learning models can effectively classify Iron Deficiency Anemia (IDA) using the CBC feature with good accuracy cite pullakhandam2024classification. Logistic regression and XGBoost were trained for the detection of hemoglobinopathies using seven CBC parameters of CBC reports in clinical care with higher accuracy (Schipper et al., 2024). We investigated related work done in the past and concluded that there should be an AI-based system to predict multiple diseases that can be possibly detected from the CBC report's features.
CBC information can be an early indicator that tells about health conditions at the lowest cost and in less time.CBC reports have many synonyms used all over the world; some popular names used for CBC are Blood C/E, Blood Picture, Complete Blood Picture, Complete Blood Count, and Complete Blood Profile. We aim to propose an automatic extraction and handling system for CBC reports to predict multiple diseases. Data extraction techniques will help healthcare centers to store and manage patient records. Extracted medical records will be useful in the future for analysis and decision-making. Our objective is to develop an automatic system that can use medical reports for disease prediction. We aim to serve people who are not able to understand their test reports without the help of medical experts and medical doctors who need to save their time on diagnosis. Our main research questions are:
- What would be our data source?
- How to prepare a dataset from lab reports?
- How to perform disease labeling on extracted data?
- How can AI be used for multiple disease prediction by analyzing CBC data?
Early disease diagnosis is also a major problem for doctors because if doctors do not pay full attention to the reports, major issues cannot be determined, and this may cause problems for patients in the future. Our system will be helpful to lessen manual work and time-efficient for doctors and healthcare professionals. If medical reports are in digital form, they can be easily stored, shareable, and managed. We designed a rule-based algorithm for disease prediction and labeling based on thresholds defined by clinical experts. After disease labeling, we applied binary disease prediction using machine learning classifiers. Machine learning plays an important role in the healthcare industry. In 2015, Atomwise, a pharmaceutical company, used supercomputers and machine learning to discover existing drugs for the Ebola virus. Due to machine learning technology, they discovered drugs and treatments in one day instead of spending 1 year (Payal et al., 2022). We also applied multi-label classification. After model implementation, we are also working to integrate our proposed system with an Android application with an interactive interface for more convenience. Our main contributions to this study are:
- Medical data collection and preparation of Pakistan use cases.
- Finding the best OCR technique for data extraction.
- Data cleaning and PreProcessing.
- Rule-based algorithm for automatic disease labeling based on expert-defined ranges.
- AI-based Multi-Disease prediction using CBC features.
The remaining sections of this paper are organized as follows: In Section 2, we discuss related work on OCR techniques for data extraction and AI models for disease prediction. Section 3 details the methodology for our proposed model. Section 4 presents our experimental results and Section 5 concludes the paper.
2 Related work
This chapter includes a detailed analysis of tools and techniques used for data extraction from images and PDFs, especially medical reports, and how medical reports can be used for disease prediction. We reviewed and explored related literature and publications, where we first analyzed techniques used for data extraction from any kind of document, like invoices, bank documents, etc. At the second level, we analyzed techniques used to extract information from medical reports and then techniques of data extraction from CBC reports, which is our requirement. In the final stage, we reviewed the research work on disease prediction using CBC reports with AI.
2.1 Data extraction techniques for images/PDFs
Many researchers worked on data extraction from different kinds of documents, such as bills, receipts, banking documents, and randomly chosen manual reports and images, to overcome the efforts utilized in manual work. Popular techniques and tools used in the literature, such as Tesseract OCR for information extraction (Clausner et al., 2020; Hegghammer, 2022; Ramiah et al., 2015; Kettunen and Koistinen, 2018). Manual record management and sorting require extensive human labor, so to solve this glitch, deep learning techniques such as BiLSTM-CRF, FastText, ELMo, BERT and the ABBY FineReader OCR tool have been proposed for information extraction (Hyde et al., 2025; Jain et al., 2023). Rabbani et al. (2021) developed a SOT (smart OCR for translation) system for the extraction and translation of data for documents written in Hindi and Bangla using the Yendax translator API. Many open-source tools for tabular data extraction, such as Tabula, Camelot, PyPDF2, ABBY FineReader, and Deep-learning models, have been tested on ICDAR 2013, UNLV Table, and Marmot datasets (Akpinar et al., 2018; Kekare et al., 2020). RNN, CRNN, PaddleOCR, and machine learning have been proposed for data extraction and text classification from scanned and printed documents (Li et al., 2023; Du et al., 2020; Katti et al., 2018). Santos (2019) invented Ocreval, an updated version of the ISRI OCR Evaluation Tools to check the accuracy of OCR techniques. Bureš et al. (2020) in a study applied four consecutive modules named image preprocessing, OCR, and data extraction with a Database, and without a Database for the document digitization process of scanned invoice documents.
2.2 Information extraction from medical reports
Deep learning-based techniques for the extraction of information from medical reports and prescriptions, such as VGG-16, CNN, RNN, Fast-CRNN, Text CNN, and OCR tools such as Pillow and OCREAST, have been proposed. Natural Language Processing techniques and Regular Expressions are used for data extraction from pathology reports (Pagad et al., 2022). An OB-CIE system for information extraction using Tesseract OCR, Jortho Tess4J, and OpenNLP was developed by Yehia et al. (2019). Ryu et al. (2020) proposed a technique to categorize unstructured clinical text data from the MT data set, which has 5,000 medical reports. PPOCR, Tesseract, TrOCR, KerasOCR, DocTr, EasyOCR, PyPDF2, Pytesseract, and Googleocr were the major optical character recognition (OCR ) tools used in literature for data extraction from medical reports (Ma et al., 2023; Jain et al., 2023; Kumar et al., 2022; Batra et al., 2024). An automatic system has been proposed to extract data from images (Lee et al., 2018). A unique information extraction system using Protege on 756 abdominal ultrasonography reports was developed with 98% precision (Soysal et al., 2010). An information extraction system using a text mining algorithm from 2000 medical reports was developed by Cassim et al. (2021).
2.3 Feature extraction from CBC and blood reports
Tabular data extraction from 153 CBC reports and results analysis on digitized medical CBC data with 93% accuracy has been achieved using Tesseract OCR software (Alansari, 2024). Computer vision techniques, OCR tools, Non-local algorithms, and regular expressions in NLP have been utilized on 120 medical (CBC) reports with 95% average accuracy (Hinduja et al., 2021). Amazon Textract, Google Vision, and Pytesseract were used for text extraction from handwritten data and 85 scanned CBC reports with 95% accuracy (Kumar et al., 2023). An efficient system to extract the necessary information from CBC reports of Baghdad, Iraq, has been proposed by utilizing Tesseract OCR, the Rabin-Karp algorithm, and string-matching techniques (Abdul-Jabbar et al., 2022). A smart Android application has been developed to help patients understand and interpret their CBC reports and analyze their health conditions (Almaliki and Atlam, 2022). Patient patient-centric programmed medical pathology record-saving and data-commutable system has been proposed with HTML5, CSS, JS, Google-CV API, and Charts.js on 65 medical CBC reports and achieved 89.70% accuracy (Shahriar et al., 2023).
2.4 Disease prediction based on CBC features using AI
Acute kidney injury (AKI) is detected using regular CBC reports in burn patients by using VGAM and Ordinal Logistic Regression (Park et al., 2024). Machine learning techniques were used for Hyperglycemia risk and borderline hyperglycemia risk prediction using CBC reports with 80% accuracy (Tahir et al., 2024). An automatic system is proposed to predict the postoperative blood coagulation state of CHD children in Beijing, China, using 7 CBC parameters (Guo et al., 2021). Anemia levels were diagnosed and classified using 1,000 CBC reports with machine learning models (Vohra et al., 2022). Multi-classification was performed using 375 CBC reports of COVID-19 patients to check COVID severity with 80% to 90.45% accuracy (Rahman et al., 2021). Machine learning algorithms were utilized for disease prediction of MCB, Infection, Anemia, and Bacteremia (Botlagunta et al., 2023; Raghuthaman et al., 2022; Shehab et al., 2023; Lien et al., 2022). Principal component analysis (PCA), Artificial Neural Network (ANN), and Support Vector Machine (SVM) were used for early microscopic leukemia prediction using CBC data (Haider et al., 2022). Anemia disease and its levels of severity can be predicted easily using the CBC report. Machine learning classifiers were utilized for this purpose in literature (Jaiswal et al., 2019; Saputra et al., 2023; Dhakal et al., 2023). However, there is not enough work for multi-disease prediction using CBC parameters. Additionally, none of these approaches offer a clear-cut, simple solution for data extraction with high accuracy without depending on the quality of scanned documents. Two blood disorders, leukemia and anemia, were detected using six machine learning models, including MLP, decision tree, support vector machine, random forest, logistic regression, and gradient boosting machine. The sample size (302 CBC reports) is not satisfactory for training machine learning models. There is a big drop in accuracy from 98% (internal) to 74% (external), which reveals model overfitting, Synthetic data bias, and less generalizability. Data collection duration is recent but not enough for experiments, as just 302 CBC reports were collected (Almaliki and Atlam, 2022). Serological tests like NS1, IgG, and IgM are used for Dengue fever detection, but these tests are more expensive and time-consuming. Delays in disease prediction can cause disease severity and increase the mortality rate. To solve this problem, CBC reports were utilized for Dengue detection, as this is an easily available test and can predict the disease at early stages. Multiple machine learning and deep learning techniques have been used for disease prediction based on CBC features. Data collected from the Bangladesh region consists of 320 patient records. The sample size needs to be increased, as deep learning models are data hungry and perform better on large volumes of data (Riya et al., 2024). The standard influenza diagnosis test is time-consuming, and delays can cause disease severity and increase mortality risk. To avoid this problem CBC test is used for influenza A and B infection detection using machine learning models. A Chinese hospital is the main source of data collection. There was a high class imbalance in the data, which can lead machine learning models to the most negative predictions (Hu et al., 2025). Hematological parameters of the CBC test were applied to machine learning, deep learning, and ensemble models for Dengue fever classification among normal records. The dataset with 301 patient records is not good enough for deep learning models (Rekha and Reddy, 2025). Four anemia types, including Hemoglobin-related anemia (Hgb), Iron-deficiency anemia, Folate-deficiency anemia, and Vitamin B12-deficiency anemia, have been classified using CBC parameters obtained from Kaggle. They integrate ontology with machine learning models for prediction tasks. They reduce features for accurate prediction, but deep learning models are just resource-intensive, and machine learning models perform best on numerical data (Awaad et al., 2025).
Our research is the first of its kind to focus on the unique problem of predicting multiple possible diseases using enough CBC features. We use a large dataset for experiments and model evaluations. We aim to propose an automated, accurate system for extracting and handling CBC reports to predict multiple diseases using AI. We applied multi-disease classification using a new concept of machine learning that is about multi-label classification. By providing solutions to these unique problems in the healthcare industry, our study adds to the existing literature.
3 Research methodology
We design an efficient approach to develop a robust structure for medical data extraction using Complete Blood Count (CBC) reports. After critically analyzing related work in this area, we developed an accurate and novel multi-disease prediction system based on AI. We created a proper pipeline through which we made our data for model implementation. We completed the data collection process, data cleaning and preprocessing, disease labeling, and the AI-model application, aspiring to boost both the' grasping of patients' medical reports' and the productivity of healthcare professionals. Figure 1 presents a detailed working flow of the proposed research methodology.

At the first stage of the experimental pipeline, we collected medical reports from a nearby hospital and then split the PDFs into Images. We tested OCR models on these split images and chose the most accurate data extraction models for data preparation. A rule-based algorithm was designed for data labeling. A prepared dataset was deeply analyzed, cleaned, and then passed to AI models for binary and multi-classification.
3.1 Data description and properties
3.1.1 Data source
The most recent medical CBC (Complete Blood Count) reports of 2023 and 2024 from our nearby hospital in PDF format were collected. Ethical clearance and data permissions were obtained from the hospital, and all patient markers and biographical data were masked to maintain confidentiality. We filter our data by using the Inclusion/Exclusion criteria as shown in Figure 2.

3.1.2 Data size and structure
We process nearly 8,000 reports from the hospital, and after applying the inclusion and exclusion criteria, 6,500 reports were prepared for further processing. The CBC reports format was PDF with the same layout. We have 12 CBC features: WBC (white blood cells count, RBC (Red blood cells count), Hemoglobin, Hematocrit, MCV, MCH, MCHC, Platelets, Neutrophils, Lymphocytes, Monocytes, and Eosinophils extracted for disease prediction.
3.1.3 Field and feature extraction
We applied image cropping to highlight the table area, as the table contains all the necessary information we need for disease prediction. We target four essential parts: feature names, reference range, unit of every feature value, and test values.
3.1.4 Statistical properties
We applied different statistical techniques to find out the data properties in the preprocessing stage, such as noise removal, value distribution for outlier detection, and data cleaning by finding and handling missing or null values.
3.1.5 Ethical clearance
All medical CBC reports were anonymized by subtracting patient demographics and personal information in compliance with data privacy guidelines.
3.2 Feature extraction
OCR (Optical Character Recognition) is an advanced technology used to transform an image or scanned document of text into machine-readable text. Emanuel Goldberg, in 1914, established a machine that read characters and transformed them into standard telegraph codes (Asif et al., 2014). Performance of OCR techniques on CBC reports for data extraction is mentioned in Table 1.
Table 1. Performance comparison of OCR techniques using CER and accuracy.
| OCR technique | CER | Accuracy (%) |
|---|---|---|
| PyMuPDF | 0.16 | 84 |
| OpenCV | 0.16 | 84 |
| pdfMiner | 0.10 | 90 |
| Tesseract | 0.08 | 92 |
| EasyOCR | 0.07 | 93 |
| PaddleOCR | 0.01 | 99 |
In the healthcare field, both patients and healthcare professionals can take advantage of digitized data in terms of report interpretation, medical record keeping of individual patients, disease analysis, decision-making, and disease diagnosis. Our research work was also related to data extraction because we required digital data for multiple disease predictions. we used Tesseract (Smith, 2007), PyMuPDF (PyMupdf, 2024; Nguyen et al., 2023), OpenCV (Yuan et al., 2020), PdfMiner (Zhu and Cole, 2022), EasyOCR (Batra et al., 2024), and PaddleOCR (Majid et al., 2023). We tested each OCR tool on an equal number of CBC reports during the testing phase. We finally chose PaddleOCR for data extraction, using a standardized pipeline ranging from image binarization to text extraction. The description and performance of each tool are shown in Table 1.
3.2.1 Standard workflow of OCR techniques
Data extraction using OCR techniques generally follows a standard pipeline: the OCR model first acquires physical CBC reports in scanned form to gain input data. Input data is cleaned and pre-processed at this phase by removing spots in the image and applying image binarization (conversion to black and white) for noise elimination (Schäfer et al., 2025). Text is detected by identifying text blocks and their spatial boundaries in an image, while non-text parts of the image are removed. The OCR model then recognizes every character by comparing its shape with stored patterns.
3.2.2 Impact of OCR performance on medical data integrity
Machine learning models are reliable in prediction only when the input data is consistent and accurate. In this study, OCR techniques were employed to convert the CBC report data into digital structured data. To evaluate the quality of digital data, we evaluated performance using standard metrics. We evaluated all data extraction techniques using CER (Character Error Rate), as it shows the result by making a difference between the detected character and the original data (ground truth). OCR techniques work on the percentage of confidence for the recognized text. The extracted text was compared with a manual report; medical reports were in a proper structured format, having blood features, numerical values, measurement units, and reference ranges.
CER=I+D+SN(1)
Equation 1 evaluated the Error by dividing the integration of the number of substitutions, insertions, and deletions by the total number of characters in the ground truth. The lower the CER score, the higher the OCR accuracy. We evaluated all data extraction techniques using CER as shown in Equation 2
Accuracy=(1-CER)×100(2)
Since CBC reports were originally in tabular form, we also gave special attention to the correct row and column identification and alignment of features like test name and corresponding value. Any misalignment of value or row and column was manually corrected to ensure data consistency and integrity. Low accuracy of data extraction can lead to poor performance of machine learning models in disease prediction.
3.2.3 PaddleOCR for data preparation
Medical data was first converted into PDFs, and these PDFs have three parts. The first part is about patient demographics, the second part consists of tables with hematological values, and the third part contains the doctor's name, signature, or any declaration. We used PyMuPDF to convert a PDF into an image, as this conversion was necessary for PaddleOCR to operate on the data. During image preprocessing, image noise was removed, skew correction was applied, and image normalization was applied to reduce the text detection and recognition errors. The Gaussian filtering technique was applied to remove high-frequency noise, while impulse noise (salt and pepper noise) in each image was suppressed by median filtering without affecting the sharp edges of characters. For the localization of table boundaries, proper table alignment was required, so we applied the skew correction technique. We applied histogram equalization to redistribute pixel intensities for contrast enhancement. Some redistributed pixel values were too small and too large, and we applied image normalization to rescale these values to a fixed range with the help of MinMax Scaler. PaddleOCR works best with table data, and the most important and useful data in CBC reports are in a table. Table data was selected using the PaddleOCR DB detector model. This model detects table boundaries, rows, columns, and the position of all values. Text detection was performed after table localization. Detected text blocks were passed to the PaddleOCR CRNN-based text recognition model for text data recognition after pattern matching. A model called RARE in PaddleOCR that preserves table structure accordingly to avoid mixing values of one record with those of others. Then, feature mapping was applied to the extracted values. We exported these features in a CSV file for further statistical analysis and model learning. A deep learning model of PaddleOCR is more effective for table data.
3.2.4 Diagnostic use of CBC parameters
There are 12 features derived from the routine CBC test, which are widely used for basic hematological disorders. Each parameter is essential in disease diagnosis, even dengue fever can be predicted precisely and at early stages using CBC features rather than its standard test, like IgM/IgG Antibody Tests. White blood cells (WBCs) function as a primary indicator of acute infection. Hemoglobin (Hb), Red Blood Cell (RBC), and Hematocrit (HCT) collectively work for anemia-related disease diagnosis (Seo and Lee, 2022). Platelet count (PLT) plays an important role in detecting inflammatory and bleeding disorders. RBC indices, including Mean Corpuscular Volume (MCV), Mean Corpuscular Hemoglobin (MCH), and Mean Corpuscular Hemoglobin Concentration (MCHC), reflect the size of red blood cells, hemoglobin content to differentiate among different anemic disorders. Neutrophils (NEUT), Lymphocytes (LYMPH), Monocytes (MONO), and Eosinophils (EOS) reside in WBCs and are used to diagnose bacterial infection, leukemia, bone marrow suppression, and allergies, respectively. These features are well-established hematological markers for the diagnosis of common blood-related disorders (Hyde et al., 2025).
3.3 Clinical interpretation of CBC features
With the help of doctors and medical experts, we define the clinically accepted ranges of all major CBC parameters currently used in routine practice across Pakistan. White Blood Cell Count (WBC) plays a crucial role in fighting infections and other diseases. If the WBC level is less than *4 × 10<sup>6</sup>/L*, the patient may suffer from leukopenia or infection, whereas a value greater than 11 × 106/L indicates leukocytosis or infection. Hemoglobin (Hb) is a protein-based component of red blood cells responsible for transporting oxygen from the lungs to body tissues. Hemoglobin concentration is measured in grams per deciliter (g/dL). If the Hb level is less than 13 g/dL, the individual is likely anemic, while values exceeding 18 g/dL suggest polycythemia. Red Blood Cell (RBC) count represents the number of red blood cells present in the blood and is directly related to hemoglobin levels. RBC counts are commonly reported in different units, including ×106/L, ×106/μL, and ×1012/L. An RBC count below 4.5 × 106/L indicates erythrocytopenia (anemia), whereas values above 6.5 × 106/L suggest erythrocytosis (polycythemia). Hematocrit (HCT) measures the proportion of blood volume occupied by red blood cells and is expressed as a percentage. If the HCT value is less than 38%, the patient is considered anemic, while values greater than 52%** indicate polycythemia.
Mean Corpuscular Volume (MCV) measures the average size of red blood cells and is reported in femtoliters (fL). An MCV value less than 75 fL indicates microcytic anemia, whereas values greater than 95 fL indicate macrocytic anemia. Mean Corpuscular Hemoglobin (MCH) represents the average amount of hemoglobin present in each red blood cell and is measured in picograms (pg). Deviations from the normal range of 26–32 pg may indicate abnormal red blood cell morphology. Mean Corpuscular Hemoglobin Concentration (MCHC) measures the concentration of hemoglobin in red blood cells and is expressed in grams per deciliter (g/dL). It is calculated using the formula MCHC = Hb/HCT. An MCHC value below 30 g/dL suggests hypochromic anemia, whereas values above 35 g/dL indicate hyperchromic anemia. Platelet count (PLT) reflects the number of platelets in the blood and is essential for normal blood clotting. It is measured per microliter (μL). A platelet count below 150/μL indicates thrombocytopenia, while values exceeding 450/μL indicate thrombocytosis.
3.4 Data cleaning and pre-processing
Data cleaning and pre-processing are the most crucial steps if we want to apply machine learning or deep learning models for decision-making. An average machine learning algorithm can work best on cleaned and structured data, while state-of-the-art models can fail due to poor data feed. We analyzed and cleaned our data to improve the quality of the results. First, we converted scanned documents of CBC reports into digital data using OCR techniques and used Python to store data in a Comma-separated Values (CSV) file for further use in decision-making and diagnosis purposes. An exploratory data analysis (EDA) process was applied to clean and examine the data for further processing.
3.4.1 Data inspection
In the data inspection phase, we examined data records and output features (disease and normal records). We examine the type of data, target variables, and input parameters.
Our data has (6,514, 12) records where 1st value indicates the number of records we extracted from the same number of CBC reports, and 2nd value indicates the feature of these records. We have data with multiple input columns, as we aimed to predict all possible minor infections and diseases from 12 CBC features, so we checked the input data distribution as shown in Figure 3. This plot highlights the inherent variability and skewness in hematological parameters, which helps improve machine learning model performance after outliers are detected and removed, if necessary. Some values are higher than others, which is normal in medical data. However, we normalized all features using StandardScaler before applying machine learning. We deeply examine data to find null values, missing values, or duplicate values in the data.

3.4.2 Rule-based algorithm for disease labeling
We have 6,500+ patient records from CBC reports, with 12 features. We designed these thresholds based on verified tagging and labeling of ranges by medical experts at the source hospital. We arranged expert-verified ranges in the data accordingly so we can easily label our entire extracted data, as it was not labeled before. We prepared our extracted data by adding labeled target columns for training supervised machine learning models and predicting results on unseen data. A dictionary of Threshold values regarding each parameter is given in Table 2.
Table 2. CBC measurements and disease associations of given features.
| Feature | Normal range | Unit | Reduction–associated disease (below normal) | Elevation–associated disease (above normal) |
|---|---|---|---|---|
| WBC | 4–11 | 109/L | Leukopenia or infection | Leukocytosis or infection |
| RBC count | 4.5–6.5 | 106/L | Erythrocytopenia (anemia) | Erythrocytosis (polycythemia) |
| Hemoglobin | 13–18 | g/dL | Anemia | Polycythemia |
| Hematocrit | 38–52 | % | Anemia | Polycythemia |
| MCV | 75–95 | fL | Microcytic RBC | Macrocytic RBC |
| MCH | 26–32 | Pg | Anemia | Anemia |
| MCHC | 30–35 | g/dL | Hypochromic RBC (anemia) | Hyperchromic RBC (anemia) |
| Platelets | 150–450 | 109/L | Thrombocytopenia | Thrombocytosis |
| Neutrophils | 40–75 | % | Neutropenia/Infection | Neutrophilia or acute infection |
| Lymphocytes | 20–50 | % | Lymphocytopenia | Lymphocytosis/chronic infection |
| Monocytes | 2–10 | % | – | Monocytosis |
| Eosinophils | 1–6 | % | – | Eosinophilia |
“Reduction” indicates values below the normal range; “Elevation” indicates values above the normal range.
Our proposed algorithm (Algorithm 1) will predict values based on the rules and thresholds. The proposed algorithm will recursively process all data records efficiently and accurately because we provide rules with knowledge engineering through the algorithm.
Algorithm 1 Predict disease labels from CBC features. Pseudocode workflow describing an algorithm to label patient data based on feature values, assigning low or high labels if features are outside normal ranges, or a normal label if no features are abnormal, and returning the labeled dataset.
3.4.3 Exploratory data analysis and label encoding
We applied data analysis by visualizing data and its features from every possible perspective. One feature (PLT) of the CBC identified some outliers in the data as extreme outliers and deviated from the mean; we capped those extreme PLT values using a Z-score threshold while preserving their clinical relevance. We applied a rule-based technique for data labeling, and then we got multiple diseases in a single output column. We made a single column into multiple columns, having all diseases separate. First, we made the final output data into a binary format where 1 is used for disease and 0 for normal records for binary disease prediction with machine learning models. After that, we performed disease labeling for multi-disease prediction with ML models. We analyzed the target columns using visual graphs and maps to check disease distribution, as shown in Figures 4, 5.


3.5 Machine learning models for binary data
Binary classification of disease is performed using machine learning binary classifiers. We labeled our data with the label 0 for records having normal ranges and 1 for all diseases. We applied machine learning Classifiers: Logistic Regression (LR), Decision Tree (DT), Random Forest (RF), Gradient Boosting (GB), and Support Vector Machine (SVM). We compare these models' performances by using multiple evaluation metrics. We tested every model with a set of hyperparameters to select optimal model parameters. Model hyperparameter tuning helps to reduce the overfitting problem, increase the result's generalizability, and performance.
3.6 Machine learning models for multi-label data
When data has multiple labels as predicted values, it falls into a multi-label classification category where we don't try to forecast only with one output label. There are multiple target columns in the data, which is called multi-label data, and we use multi-output classifiers for this classification task (Huang et al., 2019).
3.6.1 Multi-label classification
We made our data appropriate for machine learning by using the transformation technique of multi-labeling (Bellinger et al., 2015). The standard algorithm stimulates the following Equation3:
h:X→Ω(3)
Representing an input space X to its parallel class ω*i*where
ωi∈Ω={ω1,ω2,…,ωl}
Each feature X belongs to one class from the set ω (output space).
ω:0,1or0,1,0,0
The multi-label technique has a distinctive Equation 4 for classification:
h:X→Ω(4)
Mapping input space X to more than one class ω*i* where
Ωi⊂Ω (for each instance)
In biomedical data, when multiple diseases are associated with one record, we apply multi-label classification. As we have CBC data with multiple diseases in the target data, containing more than one disease associated with each record, we adopt an innate approach for the multiple diseases associated with each record. We decompose the target column into multiple columns of binary form where each target disease has yes or no values. SciKit Learn provides a package of multi-output classifiers that enable machine learning classifiers to predict multiple diseases. The multi-output classifier can predict multiple outputs simultaneously.
3.7 Models hyperparameter tuning
There are two common concepts of machine learning model tuning: one is internal tuning with learnable parameters, and the other is external tuning, where we can manually set these parameters before training to get better prediction results. The performance of the Decision tree model depends on how it is tuned with the Non-learnable parameters. Hyperparameter fine-tuning was conducted using the GridSearchCV: as mentioned in Equation 5 integrated with k-fold cross-validation to consistently find optimal parameter values.
CV Score=1k∑i=1kAccuracyi(5)
A range of model parameters was specified for each model, and the optimal set was chosen based on cross-validation results. or the decision tree model, we applied cross-validation grid search using the GridSearchCV module with a maximum length in the range of [10,20,30] to control tree complexity and capture non-linear data patterns. We already have low-dimensional data, so we set the max-feature value to None; it will automatically select all input features available in the training data. We choose the Gini impurity criterion in the Decision Tree for both binary and multi-classification tasks, as it is faster and more stable for numerical data. We set the value of K greater than 2 for multi-classification. Logistic regression is more sensitive to overfitting, so we added regularization techniques, a penalty parameter (L1, L2, and a combination of L1 and L2) to reduce overfitting and increase model generalization. We set the maximum number of iterations to 4,600 for better convergence. Random forest is a combination of multiple decision trees to improve results, but it is more prone to the overfitting problem, so we set the max-feature value to sqrt while node splitting, which will take the square root of the total features. We set the maximum depth of the node to three and the maximum leaf node set to 6 to avoid the overfitting and complexity problem. Gradient boosting sequentially adds decision trees for classification tasks. We set 100 numbers of boosting iterations as an n-estimator to make a prediction. After so many trials, we chose 0.1 as the learning rate, as a small value makes the GB model more robust and efficient. The support vector classifier worked best when we set these three hyperparameters in model training: regularization, kernel function, and coefficient. We set C (margin width) to 3, gamma to scale, and kernel function to nonlinear to handle complex data patterns. All experiments were carried out through Scikit-learn to maintain reliability. All models with their corresponding tested hyperparameter values are given in Table 3.
Table 3. Models hyperparameters fine-tuning with GridSearchCV.
| Model | Hyperparameter | Test value | Final value | CV Score |
|---|---|---|---|---|
| Decision tree | max_depth | [10, 20, 30] | 20 | 0.917 |
| Decision tree | criterion | [gini, entropy] | Gini | 0.915 |
| Decision tree | max_features | [None] | None | 0.911 |
| Logistic regression | penalty | [L1, L2, ElasticNet] | L2 | 0.882 |
| Logistic regression | max_iter | [1000, 2000, 4600] | 4600 | 0.889 |
| Random forest | max_depth | [3, 5, 10] | 3 | 0.928 |
| Random forest | max_features | [sqrt, log2] | sqrt | 0.932 |
| Random forest | max_leaf_nodes | [4, 6, 10] | 6 | 0.930 |
| Gradient boosting | n_estimators | [50, 100, 150] | 100 | 0.942 |
| Gradient boosting | learning_rate | [0.01, 0.1, 0.2] | 0.1 | 0.925 |
| SVC | C | [1, 3, 10] | 3 | 0.925 |
| SVC | gamma | [scale, auto] | scale | |
| SVC | kernel | [linear, rbf, poly] | rbf | 0.988 |
4 Results and discussions
The main task for our research is dataset preparation and disease labeling, so we can apply Artificial Intelligence models for disease prediction tasks. We utilized multiple advanced OCR techniques for data extraction from Complete Blood Count (CBC) reports. Python's latest version was applied for data cleaning, Pre-processing, and disease labeling.
4.1 Experimental arrangements
The main tools and techniques we used for data extraction, pre-processing, cleaning, and model training are given in Table 4.
Table 4. Tools and techniques used in experiment.
| Tools | Details |
|---|---|
| Platform | Python 3.12.2 |
| Operating system | Windows 10 |
| Data source | Complete blood count (CBC) reports via industrial collaborators |
| OCR tool (Best) | PaddleOCR |
| RAM | 16 GB |
| Environment | Anaconda navigator |
| Built-in libraries | Scikit-learn, pandas, NumPy, Tesseract |
| AI models | Machine learning classifiers |
4.2 Training, validation, and testing strategy
The dataset was divided into an 80:20 ratio, where 80% of the data was used for model training, and 20% of the data was used for machine learning model testing. The training set was used for model hyperparameter optimization, while the test set was completely reserved for model evaluation. We applied 10-fold cross-validation to improve prediction and evaluation. In each fold, the model was trained on 90% of the training data and validated on the remaining 10%. We used GridSearchCV to tune model hyperparameters. The final optimized models were applied to the entire 80% training dataset.
4.3 Explainability analysis
We applied explainable AI to improve model transparency. SHAP analysis was applied independently on each disease label to check every single feature's contribution toward disease classification. Overall, the most influential features in the CBC report were identified using SHAP (SHapley Additive Explanations) plots. Results showed that WBC, RBC, Hemoglobin, MCV, Platelets, Hematocrit, MCH, MCHC, and Neutrophils had the highest SHAP values, indicating their influence on binary and multi-disease prediction. SHAP is the most useful framework for enhancing system transparency and trustworthiness in high-impact fields such as healthcare. SHAP plots were used to find out the important and most influential CBC features. SHAP works based on shapley value, which is the score of each feature's contribution toward the model's performance. SHAP plot ranks the most influential features from high to low based on marginal Shapley values. This patient-level interpretability improves clinician trust and supports the practical applicability of the proposed system. Average SHAP values were collected from machine learning models to get the overall CBC feature's influence, as shown in Figure 6.

4.4 Binary-disease classification
We applied five machine-learning models for binary disease classification. Support Vector Machine, Random Forest, and gradient-boosting classifiers performed outclass.
Initially, our data was not prepared for binary disease classification; we had multiple diseases according to defined threshold values, but we labeled our data for binary classification by replacing all diseases with Yes and Normal as No, and then encoded Yes and No as 0 and 1 by using LabelEncoder. First, we trained machine learning models without hyperparameter tuning as shown in Table 5 and then compared the performance of all models after hyperparameter tuning, and we observed a clear difference.
Table 5. Binary disease classification performance using 10-fold cross-validation on the training set (Macro-Level)without hyperparameter tuning (mean ± standard deviation).
| Classifier | Precision (%) | Recall (%) | F1-score (%) | Specificity (%) | ROC-AUC |
|---|---|---|---|---|---|
| Logistic regression | 70.4 ± 2.5 | 69.8 ± 2.4 | 70.1 ± 2.4 | 72.5 ± 2.2 | 0.76 ± 0.03 |
| Decision tree | 67.9 ± 2.8 | 67.2 ± 2.6 | 67.5 ± 2.7 | 69.8 ± 2.5 | 0.73 ± 0.04 |
| Random forest | 72.9 ± 2.2 | 72.1 ± 2.1 | 72.5 ± 2.1 | 74.8 ± 1.9 | 0.78 ± 0.03 |
| Support vector classifier | 71.6 ± 2.3 | 71.0 ± 2.2 | 71.3 ± 2.2 | 73.7 ± 2.0 | 0.77 ± 0.03 |
| Gradient boosting | 74.4 ± 2.0 | 73.8 ± 1.9 | 74.1 ± 1.9 | 76.3 ± 1.8 | 0.80 ± 0.02 |
We tuned each machine learning model using trial-and-error methods and found optimal parameter values, resulting in a significant improvement, as shown in Table 6. Fine-tuned machine learning models were tested on unseen data for both binary and multi-class prediction, as shown in Tables 7, 9. We also compare models' performance in terms of the ROC-AUC curve against binary and multi-disease prediction, as shown in Figure 7.
Table 6. Binary disease prediction (macro-level) with model hyperparameter tuning using GridSearchCV (mean ± standard deviation over 10-fold cross-validation).
| Classifier | Precision (%) | Recall (%) | F1-score (%) | Specificity (%) | ROC-AUC |
|---|---|---|---|---|---|
| Logistic regression | 85.6 ± 1.6 | 84.9 ± 1.5 | 85.2 ± 1.5 | 87.3 ± 1.4 | 0.90 ± 0.02 |
| Decision tree | 81.7 ± 1.9 | 81.1 ± 1.8 | 81.4 ± 1.8 | 83.6 ± 1.7 | 0.88 ± 0.02 |
| Random forest | 88.1 ± 1.4 | 87.5 ± 1.3 | 87.8 ± 1.3 | 89.8 ± 1.2 | 0.92 ± 0.02 |
| Support vector classifier | 86.7 ± 1.5 | 86.1 ± 1.4 | 86.4 ± 1.4 | 88.4 ± 1.3 | 0.91 ± 0.02 |
| Gradient boosting | 89.7 ± 1.2 | 89.2 ± 1.1 | 89.4 ± 1.1 | 91.3 ± 1.0 | 0.94 ± 0.01 |
Table 7. Fine-tuned machine learning models' performance on test-set for binary disease prediction (macro-level).
| Classifier | Precision (%) | Recall (%) | F1-score (%) | Specificity (%) | ROC-AUC |
|---|---|---|---|---|---|
| Logistic regression | 80.7 | 79.6 | 80.1 | 83.9 | 0.85 |
| Decision tree | 86.2 | 85.0 | 85.5 | 88.3 | 0.89 |
| Random forest | 91.7 | 90.9 | 91.3 | 93.6 | 0.94 |
| Gradient boosting | 89.4 | 88.7 | 89.1 | 91.8 | 0.92 |
| Support vector classifier | 82.8 | 81.7 | 82.3 | 85.6 | 0.87 |

4.5 Multi-disease classification
We use multi-label data for multi-disease prediction and threshold values for disease labeling. As we discussed earlier, our data had multiple target variables, so we cannot directly apply machine learning to multi-disease prediction. We first applied a multi-output classifier, which is best for data with multiple interrelated target variables. We applied a transformation method where we do not directly apply machine learning for disease classification, as we have multiple diseases associated with each instance, so we transform our data using the multi-label machine learning classification technique. The ScikitLearn library provides a package that can simultaneously predict all target variables using binarization. This technique places each target disease in a separate column, converts it to binary form, and then applies multi-disease prediction to the data. In our study, each patient record may correspond to multiple disease conditions, defined using clinically validated threshold rules for CBC parameters established by domain experts. Therefore, we applied a Multi-Label-Binarizer to convert each patient record into a binary vector, with 1 indicating the presence of the disease and 0 indicating its absence. There were 17 target disease columns; we generated confusion metrics against each disease for all models, but to show all confusion matrices against each disease per model in the research paper leads to poor readability. We decided to add micro-aggregated results to represent global-level performance across all labels for all machine learning models, as shown in Figures 8, 9. All applied machine learning models with hyperparameter tuning performed more efficiently. Overall, machine learning models achieved high performance on binary and multi-disease classification. Multi-Disease prediction was done using Fine-tuned models, and results of these models on the train dataset at the macro level are mentioned in Table 8, and test results are mentioned in Table 9. A small number of cases were misclassified due to overlapping values. Some patient records with slightly elevated or reduced values do not strongly indicate disease, but models, specifically logistic regression and decision tree, predicted it as disease, while random forest and gradient boosting showed high performance. These cases highlight the challenge of careful assessment of threshold values. Incorporating more features in the input data can enhance model performance.


Table 8. Multi-label disease prediction with model hyperparameter tuning (macro-level) using GridSearchCV (mean ± standard deviation over 10-fold cross-validation).
| Classifier | Precision (%) | Recall (%) | F1-score (%) | Specificity (%) | ROC-AUC |
|---|---|---|---|---|---|
| Logistic regression | 82.0 ± 1.5 | 81.0 ± 1.4 | 81.0 ± 1.4 | 85.0 ± 1.3 | 0.87 ± 0.02 |
| Decision tree | 88.0 ± 1.8 | 87.0 ± 1.7 | 87.0 ± 1.7 | 90.0 ± 1.5 | 0.91 ± 0.02 |
| Random forest | 93.0 ± 1.2 | 92.0 ± 1.1 | 92.0 ± 1.1 | 95.0 ± 1.0 | 0.96 ± 0.01 |
| Gradient boosting | 91.0 ± 1.3 | 90.0 ± 1.2 | 90.0 ± 1.2 | 93.0 ± 1.1 | 0.94 ± 0.01 |
| Support vector classifier | 84.0 ± 1.6 | 83.0 ± 1.5 | 83.0 ± 1.5 | 87.0 ± 1.4 | 0.89 ± 0.02 |
Table 9. Fine-tuned machine learning models' performance on test-set for multi-disease prediction.
| Classifier | Precision (%) | Recall (%) | F1-score (%) | Specificity (%) | ROC-AUC |
|---|---|---|---|---|---|
| Logistic regression | 80.3 | 79.1 | 79.6 | 83.1 | 0.85 |
| Decision tree | 86.4 | 85.5 | 85.8 | 88.5 | 0.89 |
| Random forest | 91.5 | 90.4 | 91.0 | 93.2 | 0.94 |
| Gradient boosting | 89.2 | 88.0 | 88.5 | 91.2 | 0.92 |
| Support vector classifier | 82.5 | 81.3 | 81.8 | 85.0 | 0.87 |
5 Conclusion
Multiple disease prediction using Complete Blood Count (CBC) data is the main goal of our research. We prepared a medical dataset from medical reports using advanced OCR techniques. As the extracted data was not labeled, we designed a rule-based algorithm for disease labeling. We applied binary disease classification as well as multi-disease prediction using machine learning algorithms. We are also working to integrate our proposed AI system with an Android application so patients and doctors can take full advantage of this system. This system may be enhanced further for prescribing supplements and treatments to patients based on predicted disease. OCR methods are not more reliable for data extraction, so hospitals must maintain online repositories for the digitization of medical data so it can be further utilized for healthcare research. CBC data is not enough for diagnosis; there is an area for researchers to work on more medical tests for diagnosis with AI. Our research is limited to the clinical data of a specified region with only 12 CBC parameters, and therefore, model results cannot be generalized to broader regions and populations. The same approach can be applied to multi-central and diverse data with more parameters to improve results. Deep learning models can be used for more efficient results, but the data needs to be large. Moreover, beyond the CBC data, other medical and hematological data with more parameters could be integrated to enhance AI-centered medical analysis. This would facilitate broader utility and more extensive diagnostic support. We also acknowledged that rule-based labeling may not capture complex patterns in real-world diagnosis. For future research, we encourage researchers to work on advanced techniques used for disease labeling, which can be effective in finding complex relationships in data for diagnosis.
Generative AI statement
The author (s) declared that generative AI was not used in the creation of this manuscript.
Any alternative text (alt text) provided alongside figures in this article has been generated by Frontiers with the support of artificial intelligence and reasonable efforts have been made to ensure accuracy, including review by the authors wherever possible. If you identify any issues, please contact us.
Publisher's note
All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.
Footnotes
Edited by: Saqib Qamar, Sohar University, Oman
Reviewed by: Reggie Gustilo, De La Salle University, Philippines
Massimo La Rosa, National Research Council (CNR), Italy
Pooja Saigal, Vivekananda Institute of Professional Studies, India
Vince Hooper, SPJ GLOBAL, United Arab Emirates
Agung Triayudi, Universitas Nasional, Indonesia
Statements
- Conflict of interest
The author (s) declared that this work was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.
- Funding
The author(s) declared that financial support was not received for this work and/or its publication.
- Data availability
The raw data supporting the conclusions of this article will be made available by the authors, without undue reservation.
- Author contributions
MB: Writing – original draft, Methodology, Software, Visualization, Investigation, Formal analysis, Data curation. WS: Conceptualization, Project administration, Supervision, Writing – review & editing, Data curation, Investigation. SJ: Visualization, Validation, Software, Writing – original draft, Data curation. SS: Validation, Funding acquisition, Resources, Methodology, Writing – original draft. GA: Formal analysis, Investigation, Writing – review & editing, Project Administration ME: Writing – review & editing, Funding acquisition, Resources, Conceptualization. MK: Supervision, Writing – review & editing, Software, Conceptualization, Project administration, Resources.
References
- Abdul-Jabbar S. S., Farhan A. K., Abdelhamid A. A., Ghoneim M. E. (2022). Razy: a string matching algorithm for automatic analysis of pathological reports. Axioms 11: 547. doi: doi:10.3390/axioms11100547
- Akpinar M. Y., Emeklıgıl E., Arslan S. (2018). “Extracting table data from images using optical character recognition text,” in 2018 26th Signal Processing and Communications Applications Conference (SIU) (IEEE), 1 – 4. doi: doi:10.1109/SIU.2018.8404746
- Alansari I. S. (2024). Automated extraction and analysis of CBC test from scanned images. J. Softw. Eng. Applic. 17, 129 – 141. doi: doi:10.4236/jsea.2024.172007
- Almaliki M., Atlam E. (2022). “Complete blood analysis: an android OCR-based interpretation,” in Science and Information Conference (Springer), 278 – 293. doi: doi:10.1007/978-3-031-10464-0_18
- Asif A., Hannan S. A., Perwej Y., Vithalrao M. A. (2014). An overview and applications of optical character recognition. Int. J. Adv. Res. Sci. Eng. 3, 261 – 274.
- Awaad A. S., Elbarawy Y. M., Mancy H., Ghannam N. E. (2025). Exploring CBC data for anemia diagnosis: a machine learning and ontology perspective. BioMedInformatics 5: 35. doi: doi:10.3390/biomedinformatics5030035
- Batra P., Phalnikar N., Kurmi D., Tembhurne J., Sahare P., Diwan T. (2024). OCR-MRD: performance analysis of different optical character recognition engines for medical report digitization. Int. J. Inf. Technol. 16, 447 – 455. doi: doi:10.1007/s41870-023-01610-2
- Bellinger C., Amid A., Japkowicz N., Victor H. (2015). “Multi-label classification of anemia patients,” in 2015 IEEE 14th International Conference on Machine Learning and Applications (ICMLA) (IEEE), 825 – 830. doi: doi:10.1109/ICMLA.2015.112
- Botlagunta M., Botlagunta M. D., Myneni M. B., Lakshmi D., Nayyar A., Gullapalli J. S.. (2023). Classification and diagnostic prediction of breast cancer metastasis on clinical data using machine learning algorithms. Sci. Rep. 13: 485. doi: doi:10.1038/s41598-023-27548-w
- Bureš L., Neduchal P., Müller L. (2020). “Automatic information extraction from scanned documents,” in Speech and Computer: 22nd International Conference, SPECOM 2020, St. Petersburg, Russia, October 7–9, 2020, Proceedings 22 (Springer), 87 – 96. doi: doi:10.1007/978-3-030-60276-5_9
- Cassim N., Mapundu M., Olago V., Celik T., George J. A., Glencross D. K. (2021). Using text mining techniques to extract prostate cancer predictive information (Gleason score) from semi-structured narrative laboratory reports in the Gauteng province, South Africa. BMC Med. Inform. Decis. Mak. 21, 1 – 11. doi: doi:10.1186/s12911-021-01697-2
- Clausner C., Antonacopoulos A., Pletschacher S. (2020). Efficient and effective OCR engine training. Int. J. Document Anal. Recogn. 23, 73 – 88. doi: doi:10.1007/s10032-019-00347-8
- Dhakal P., Khanal S., Bista R. (2023). Prediction of anemia using machine learning algorithms. Int. J. Comput. Sci. Inf. Technol. 15, 15 – 30. doi: doi:10.5121/ijcsit.2023.15102
- Du Y., Li C., Guo R., Yin X., Liu W., Zhou J.. (2020). PP-OCR: a practical ultra lightweight OCR system. arXiv preprint arXiv:2009.09941.
- Guo K., Fu X., Zhang H., Wang M., Hong S., Ma S. (2021). Predicting the postoperative blood coagulation state of children with congenital heart disease by machine learning based on real-world data. Transl.Pediatr. 10: 33. doi: doi:10.21037/tp-20-238
- Haider R. Z., Ujjan I. U., Khan N. A., Urrechaga E., Shamsi T. S. (2022). Beyond the in-practice CBC: the research CBC parameters-driven machine learning predictive modeling for early differentiation among leukemias. Diagnostics 12: 138. doi: doi:10.3390/diagnostics12010138
- Hegghammer T. (2022). OCR with tesseract, amazon textract, and Google document AI: a benchmarking experiment. J. Comput. Soc. Sci. 5, 861 – 882. doi: doi:10.1007/s42001-021-00149-1
- Hinduja H., Singh R., Gaonkar G. (2021). Swift medical report analysis using computer vision (SMRA-CV). Int. Res. J. Eng. Technol. 8, 114 – 119. Available online at:
- Hu X., Duan C., Chen H., Li X., Jing Q., Ma Q.. (2025). Development of an early prediction model for risk of influenza a and influenza b based on complete blood count examination. BMC Infect. Dis. 25: 1088. doi: doi:10.1186/s12879-025-11502-4
- Huang M., Zhuang F., Zhang X., Ao X., Niu Z., Zhang M.-L.. (2019). Supervised representation learning for multi-label classification. Mach. Learn. 108, 747 – 763. doi: doi:10.1007/s10994-019-05783-5
- Hyde E., Anthony M., Kennedy S., Vatish M. (2025). Role of complete blood count in the diagnosis of culture-proven neonatal sepsis: a systematic review and meta-analysis. Arch. Dis. Childhood. 110, 811 – 818. doi: doi:10.1136/archdischild-2025-328523
- Jain P. H., Kumar V., Samuel J., Singh S., Mannepalli A., Anderson R. (2023). Artificially intelligent readers: an adaptive framework for original handwritten numerical digits recognition with OCR methods. Information 14: 305. doi: doi:10.3390/info14060305
- Jaiswal M., Srivastava A., Siddiqui T. J. (2019). “Machine learning algorithms for anemia disease prediction,” in Recent Trends in Communication, Computing, and Electronics: Select Proceedings of IC3E 2018 (Springer), 463 – 469. doi: doi:10.1007/978-981-13-2685-1_44
- Katti A. R., Hoehne J., Bickel S., Faddoul J. B. (2018). “Applying sequence-to-mask models for information extraction from invoices,” in 13th IAPR International Workshop on Document Analysis Systems, Short Papers Booklet DAS, Vienna, Austria, 9 – 10.
- Kekare A., Jachak A., Gosavi A., Hanwate P. S. (2020). Techniques for detecting and extracting tabular data from PDFs and scanned documents: a survey. Int. Res. J. Eng. Technol. 7, 415 – 418. Available online at:
- Kettunen K., Koistinen M. (2018). Re-OCR in action-using tesseract to re-OCR finnish fraktur from 19 th and early 20 th century newspapers and journals. VIENNA 2018: 11. doi: doi:10.5617/dhnbpub.11102
- Kumar A., Goyal A., Rai B. K., Sharma S. (2022). “OCR based medical prescription and report analyzer,” in AIP Conference Proceedings (AIP Publishing), 115 – 155. doi: doi:10.1063/5.0081176
- Kumar A., Singh P., Lata K. (2023). “Comparative study of different optical character recognition models on handwritten and printed medical reports,” in 2023 International Conference on Innovative Data Communication Technologies and Application (ICIDCA) (IEEE), 581 – 586. doi: doi:10.1109/ICIDCA56705.2023.10100213
- Lab C. (2024). Instacare. Available online at: (Accessed June 5, 2024).
- Lee J., Song H.-J., Yoon E., Park S.-B., Park S.-H., Seo J.-W.. (2018). Automated extraction of biomarker information from pathology reports. BMC Med. Inform. Decis. Mak. 18, 1 – 11. doi: doi:10.1186/s12911-018-0609-7
- Li M., Lv T., Chen J., Cui L., Lu Y., Florencio D.. (2023). “TrOCR: transformer-based optical character recognition with pre-trained models,” in Proceedings of the AAAI Conference on Artificial Intelligence, 13094–13102. doi: doi:10.1609/aaai.v37i11.26538
- Lien F., Lin H.-S., Wu Y.-T., Chiueh T.-S. (2022). Bacteremia detection from complete blood count and differential leukocyte count with machine learning: complementary and competitive with c-reactive protein and procalcitonin tests. BMC Infect. Dis. 22: 287. doi: doi:10.1186/s12879-022-07223-7
- Ma M.-W., Gao X.-S., Zhang Z.-Y., Shang S.-Y., Jin L., Liu P.-L.. (2023). Extracting laboratory test information from paper-based reports. BMC Med. Inform. Decis. Mak. 23: 251. doi: doi:10.1186/s12911-023-02346-6
- Majid I., Zhang Y. V., Chang R., Wang S. Y. (2023). Extraction of text from optic nerve optical coherence tomography reports. arXiv preprint arXiv:2308.10790.
- Nguyen M., Cornet C., Mattioni L., Bouziat A., Rumbach G. (2023). “Automated extraction of images of interest in document collections: end-to-end workflow and operational case-study,” in Third EAGE Digitalization Conference and Exhibition, volume 2023 (European Association of Geoscientists &Engineers), 1 – 5. doi: doi:10.3997/2214-4609.202332025
- Pagad N. S., N P., Almuzaini K. K., Maheshwari M., Gangodkar D., Shukla P.. (2022). Clinical text data categorization and feature extraction using medical-fissure algorithm and neg-seq algorithm. Comput. Intell. Neurosci. 2022: 5759521. doi: doi:10.1155/2022/5759521
- Park J., Kym D., Kim M., Cho Y. S., Hur J., Chun W.. (2024). Pioneering predictions of aki and akin severity in burn patients: a comprehensive CBC approach. Sci. Rep. 14: 675. doi: doi:10.1038/s41598-024-51253-x
- Payal M., Ananth Kumar T., Suresh Kumar K. (2022). Machine learning in industry 4.0. Int. J. Innov. Res. Sci. Eng. Technol. 11, 5831 – 5840. doi: doi:10.15680/IJIRSET.2022.1105211
- PyMupdf. (2024). Available online at: (Accessed June 17, 2024).
- Rabbani M., Jamil A. M. M., Khan T., Zarif M. I. I. (2021). “Sot: an application-based research for translate natural language from image,” in Advances in Electrical and Computer Technologies: Select Proceedings of ICAECT 2020 (Springer), 171 – 178. doi: doi:10.1007/978-981-15-9019-1_15
- Raghuthaman S., Tatkare J., Pawar P., Kundale J. (2022). “Classification of diseases using CBC,” in Soft Computing and Signal Processing: Proceedings of 3rd ICSCSP 2020 (Springer), 113 – 122. doi: doi:10.1007/978-981-16-1249-7_12
- Rahman T., Khandakar A., Hoque M. E., Ibtehaz N., Kashem S. B., Masud R.. (2021). Development and validation of an early scoring system for prediction of disease severity in COVID-19 using complete blood count parameters. IEEE Access 9, 120422 – 120441. doi: doi:10.1109/ACCESS.2021.3105321
- Ramiah S., Liong T. Y., Jayabalan M. (2015). “Detecting text based image with optical character recognition for English translation and speech using android,” in 2015 IEEE Student Conference on Research and Development (SCOReD) (IEEE), 272 – 277. doi: doi:10.1109/SCORED.2015.7449339
- Riya N. J., Chakraborty M., Khan R. (2024). Artificial intelligence based early detection of dengue using CBC data. IEEE Access 12, 112355 – 112367. doi: doi:10.1109/ACCESS.2024.3443299
- Ryu B., Yoon E., Kim S., Lee S., Baek H., Yi S.. (2020). Transformation of pathology reports into the common data model with oncology module: use case for colon cancer. J. Med. Internet Res. 22: e18526. doi: doi:10.2196/18526
- Santos E. A. (2019). “OCR evaluation tools for the 21st century,” in Proceedings of the Workshop on Computational Methods for Endangered Languages. doi: doi:10.33011/computel.v1i.345
- Saputra D. C. E., Sunat K., Ratnaningsih T. (2023). “A new artificial intelligence approach using extreme learning machine as the potentially effective model to predict and analyze the diagnosis of anemia,” in Healthcare (MDPI), 697. doi: doi:10.3390/healthcare11050697
- Schäfer H., Schmidt C. S., Wutzkowsky J., Lorek K., Reinartz L., Rückert J.. (2025). A multimodal pipeline for clinical data extraction: applying vision-language models to scans of transfusion reaction reports. arXiv preprint arXiv:2504.20220.
- Schipper A., Rutten M., van Gammeren A., Harteveld C. L., Urrechaga E., Weerkamp F.. (2024). Machine learning-based prediction of hemoglobinopathies using complete blood count data. Clin. Chem. 70, 1064 – 1075. doi: doi:10.1093/clinchem/hvae081
- Seo I.-H., Lee Y.-J. (2022). Usefulness of complete blood count (CBC) to assess cardiovascular and metabolic diseases in clinical settings: a comprehensive literature review. Biomedicines 10: 2697. doi: doi:10.3390/biomedicines10112697
- Shahriar S. A., Limon M., Tasnim M. N., Ullah A., Robin K. H. (2023). “AVCPR; web-based tool for extracting data from clinical pathology records to facilitate additional analysis and dynamic visualization,” in Proceedings of the 2023 5th Asia Pacific Information Technology Conference, 1 – 9.
- Shehab E., Khawaga A. (2023). Anemia diagnosis and prediction based on machine learning. Kafrelsheikh J. Inf. Sci. 4, 1 – 9. doi: doi:10.21608/kjis.2023.220945.1014
- Smith R. (2007). “An overview of the tesseract OCR engine,” in Ninth International Conference on Document Analysis and Recognition (ICDAR 2007) (IEEE), 629 – 633. doi: doi:10.1109/ICDAR.2007.4376991
- Soysal E., Cicekli I., Baykal N. (2010). Design and evaluation of an ontology based information extraction system for radiological reports. Comput. Biol. Med. 40, 900 – 911. doi: doi:10.1016/j.compbiomed.2010.10.002
- Rekha and Reddy, P. K.. (2025). Utilizing artificial intelligence for early dengue detection through CBC data. Int. J. Eng. Sci. Adv. Technol. 25, 251 – 261. Available online at:
- Tahir A., Asghar K., Shafiq W., Batool H., Khan D., Chughtai O.. (2024). Fingerprinting hyperglycemia using predictive modelling approach based on low-cost routine CBC and CRP diagnostics. Sci. Rep. 14: 1090. doi: doi:10.1038/s41598-023-44623-4
- Vohra R., Hussain A., Dudyala A. K., Pahareeya J., Khan W. (2022). Multi-class classification algorithms for the diagnosis of anemia in an outpatient clinical setting. PLoS ONE 17: e0269685. doi: doi:10.1371/journal.pone.0269685
- Yehia E., Boshnak H., AbdelGaber S., Abdo A., Elzanfaly D. S. (2019). Ontology-based clinical information extraction from physician's free-text notes. J. Biomed. Inform. 98: 103276. doi: doi:10.1016/j.jbi.2019.103276
- Yuan J., Li H., Wang M., Liu R., Li C., Wang B. (2020). “An opencv-based framework for table information extraction,” in 2020 IEEE International Conference on Knowledge Graph (ICKG) (IEEE), 621 – 628. doi: doi:10.1109/ICBK50248.2020.00093
- Zhu M., Cole J. M. (2022). Pdfdataextractor: a tool for reading scientific text and interpreting metadata from the typeset literature in the portable document format. J. Chem. Inf. Model. 62, 1633 – 1643. doi: doi:10.1021/acs.jcim.1c01198
Citation
Bibi, M., et al. (2026). AI-enabled multi-disease diagnosis using low-cost CBC reports. Frontiers in Imaging, Volume 5. https://doi.org/
- Received
- Accepted
- Published
- Volume
- 5 - 2026
Copyright
Copyright © 2026 Bibi, Saeed, Jabeen, Shah, Ali, ELAffendi and Khan.
License: https://creativecommons.org/licenses/by/4.0/
*Correspondence: Maqbool Khan
Article metrics
- Views
- 0
- Downloads
- 0
- Citations
- 0
- Shares
- 0
