help@rskworld.in +91 93305 39277
RSK World
  • Home
  • Development
    • Web Development
    • Mobile Apps
    • Software
    • Games
    • Project
  • Technologies
    • Data Science
    • AI Development
    • Cloud Development
    • Blockchain
    • Cyber Security
    • Dev Tools
    • Testing Tools
  • Blog
  • About
  • Contact

Theme Settings

Color Scheme
Display Options
Font Size
100%
Back to Project
RSK World
healthcare-patients
RSK World
healthcare-patients
Healthcare Patients Dataset - Medical Analytics + Healthcare Data Science + Patient Data Analysis
healthcare-patients
  • visualizations
  • .gitignore785 B
  • ADVANCED_FEATURES.md5.8 KB
  • FILES_SUMMARY.md2.8 KB
  • GITHUB_PUSH_SUMMARY.md3.4 KB
  • IMAGE_DESCRIPTION.md1.6 KB
  • LICENSE1.2 KB
  • PROJECT_INFO.md2.2 KB
  • PROJECT_SUMMARY.md5.7 KB
  • QUICKSTART.md1.7 KB
  • README.md5.4 KB
  • RELEASE_NOTES.md7.4 KB
  • advanced_analysis.py13.7 KB
  • advanced_analysis_report.txt2.3 KB
  • analyze_patients.py13.8 KB
  • export_to_excel.py6 KB
  • export_to_json.py3.5 KB
  • healthcare_patients.csv6.5 KB
  • healthcare_patients.json27.2 KB
  • healthcare_patients.xlsx14.6 KB
  • index.html26 KB
  • requirements.txt578 B
  • validate_data.py6 KB
validate_data.py
validate_data.py
Raw Download
Find: Go to:
"""
Healthcare Patient Dataset - Data Validation Script
===================================================
This script validates the healthcare patient dataset for data quality,
completeness, and consistency.

Author: RSK World
Website: https://rskworld.in
Email: help@rskworld.in
Phone: +91 93305 39277
"""

import pandas as pd
import numpy as np

def validate_dataset(csv_file='healthcare_patients.csv'):
    """
    Validate the healthcare patient dataset.
    
    Parameters:
    csv_file (str): Path to the CSV file
    
    Returns:
    dict: Validation results
    """
    print("\n" + "="*60)
    print("DATASET VALIDATION")
    print("="*60)
    print("Author: RSK World")
    print("Website: https://rskworld.in")
    print("Email: help@rskworld.in")
    print("Phone: +91 93305 39277")
    print("="*60 + "\n")
    
    try:
        df = pd.read_csv(csv_file)
        print(f"✓ Dataset loaded: {len(df)} records, {len(df.columns)} columns\n")
        
        validation_results = {
            'total_records': len(df),
            'total_columns': len(df.columns),
            'missing_values': {},
            'data_types': {},
            'validation_passed': True,
            'issues': []
        }
        
        # Check for missing values
        print("--- Missing Values Check ---")
        missing = df.isnull().sum()
        for col, count in missing.items():
            if count > 0:
                validation_results['missing_values'][col] = count
                validation_results['issues'].append(f"Missing values in {col}: {count}")
                print(f"⚠ {col}: {count} missing values")
            else:
                print(f"✓ {col}: No missing values")
        
        # Check data types
        print("\n--- Data Type Check ---")
        for col, dtype in df.dtypes.items():
            validation_results['data_types'][col] = str(dtype)
            print(f"✓ {col}: {dtype}")
        
        # Validate specific fields
        print("\n--- Field Validation ---")
        
        # Patient ID uniqueness
        if df['patient_id'].is_unique:
            print("✓ Patient IDs are unique")
        else:
            print("✗ Duplicate patient IDs found")
            validation_results['validation_passed'] = False
            validation_results['issues'].append("Duplicate patient IDs")
        
        # Age validation
        if (df['age'] >= 0).all() and (df['age'] <= 120).all():
            print("✓ Age values are valid (0-120)")
        else:
            print("✗ Invalid age values found")
            validation_results['validation_passed'] = False
            validation_results['issues'].append("Invalid age values")
        
        # Length of stay validation
        if (df['length_of_stay'] > 0).all():
            print("✓ Length of stay values are positive")
        else:
            print("✗ Invalid length of stay values")
            validation_results['validation_passed'] = False
            validation_results['issues'].append("Invalid length of stay")
        
        # Charges validation
        if (df['charges'] >= 0).all():
            print("✓ Charges values are non-negative")
        else:
            print("✗ Negative charges found")
            validation_results['validation_passed'] = False
            validation_results['issues'].append("Negative charges")
        
        # Date validation
        try:
            df['admission_date'] = pd.to_datetime(df['admission_date'])
            df['discharge_date'] = pd.to_datetime(df['discharge_date'])
            if (df['discharge_date'] >= df['admission_date']).all():
                print("✓ Discharge dates are after admission dates")
            else:
                print("✗ Some discharge dates are before admission dates")
                validation_results['validation_passed'] = False
                validation_results['issues'].append("Invalid date ranges")
        except Exception as e:
            print(f"✗ Date validation error: {str(e)}")
            validation_results['validation_passed'] = False
            validation_results['issues'].append(f"Date validation error: {str(e)}")
        
        # Outcome values validation
        valid_outcomes = ['Recovered', 'Improved', 'Stable']
        if df['outcome'].isin(valid_outcomes).all():
            print("✓ Outcome values are valid")
        else:
            print("✗ Invalid outcome values found")
            validation_results['validation_passed'] = False
            validation_results['issues'].append("Invalid outcome values")
        
        # Summary
        print("\n" + "="*60)
        print("VALIDATION SUMMARY")
        print("="*60)
        
        if validation_results['validation_passed'] and len(validation_results['issues']) == 0:
            print("✓ All validations passed!")
        else:
            print("⚠ Validation completed with issues:")
            for issue in validation_results['issues']:
                print(f"  - {issue}")
        
        print(f"\nTotal Records: {validation_results['total_records']}")
        print(f"Total Columns: {validation_results['total_columns']}")
        print(f"Missing Value Fields: {len(validation_results['missing_values'])}")
        print(f"Issues Found: {len(validation_results['issues'])}")
        print("="*60 + "\n")
        
        return validation_results
        
    except FileNotFoundError:
        print(f"✗ Error: File '{csv_file}' not found")
        return None
    except Exception as e:
        print(f"✗ Error during validation: {str(e)}")
        return None

def main():
    """
    Main function to run validation.
    """
    results = validate_dataset()
    
    if results and results['validation_passed']:
        print("Dataset is ready for use! ✓\n")
    else:
        print("Please review the issues above before using the dataset.\n")

if __name__ == "__main__":
    main()

165 lines•6 KB
python

About RSK World

Founded by Molla Samser, with Designer & Tester Rima Khatun, RSK World is your one-stop destination for free programming resources, source code, and development tools.

Founder: Molla Samser
Designer & Tester: Rima Khatun

Development

  • Game Development
  • Web Development
  • Mobile Development
  • AI Development
  • Development Tools

Legal

  • Terms & Conditions
  • Privacy Policy
  • Disclaimer

Contact Info

Nutanhat, Mongolkote
Purba Burdwan, West Bengal
India, 713147

+91 93305 39277

hello@rskworld.in
support@rskworld.in

© 2026 RSK World. All rights reserved.

Content used for educational purposes only. View Disclaimer