Skip to content

A comprehensive healthcare management system that empowers medical professionals to efficiently track clients, programs, and enrollments with robust security and intuitive design.

dlangkip/health-information-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Health Information System

A comprehensive healthcare management solution designed for healthcare providers to efficiently track clients, health programs, and program enrollments with secure API access.

Version 1.0.0 PHP >=7.4 MySQL 5.7+ License MIT

Overview

The Health Information System (HIS) is designed to help healthcare providers streamline their operational workflows with a focus on client and program management. The system enables healthcare professionals to:

  • Register and manage client information securely
  • Create and manage health program initiatives (TB, Malaria, HIV, etc.)
  • Enroll clients in multiple health programs
  • Track client progress and participation across programs
  • Access client information through a secure RESTful API

Built with security and usability in mind, the system features an intuitive interface and robust security controls to protect sensitive health information.

Key Features

Client Management

  • Comprehensive Client Profiles: Store detailed client information including demographics and contact details
  • Advanced Search Functionality: Find clients quickly using various search parameters
  • Client History Tracking: View complete client program participation history
  • Easy Updates: Maintain accurate client information with simple edit capabilities

Program Management

  • Flexible Program Creation: Define custom health programs with detailed descriptions
  • Enrollment Dashboard: View program statistics and enrolled client details
  • Cross-Program Analytics: Track client participation across multiple programs

Enrollment System

  • Streamlined Enrollment: Simple workflow to add clients to health programs
  • Status Tracking: Monitor client progress with customizable status options (Active, Completed, Withdrawn)
  • Enrollment Notes: Add contextual documentation to enrollment records

User Management

  • Role-Based Access Control: Administrator controls for user management
  • Secure Authentication: Password protection with bcrypt hashing and session security
  • User Profiles: Individual accounts for healthcare staff

API Integration

  • Secure API Access: Token-based authentication for external system integration
  • Comprehensive Endpoints: Access client and program data programmatically
  • Complete Documentation: Detailed API usage guidelines

Data Security

  • Encrypted Data Storage: Protection for sensitive information
  • Access Controls: Restricted permissions based on user roles
  • Audit Trails: Tracking of system activities
  • Session Protection: Guards against session hijacking

Technology Stack

  • Backend: PHP 7.4+
  • Database: MySQL 5.7+
  • Frontend: HTML5, CSS3, JavaScript, Bootstrap 5
  • Security: bcrypt password hashing, prepared statements, CSRF protection
  • API: RESTful architecture with JSON responses
  • Data Visualization: Chart.js
  • UI Components: Font Awesome icons

System Requirements

Server Requirements

  • Web server (Apache 2.4+ or Nginx)
  • PHP 7.4 or higher
  • MySQL 5.7 or higher
  • PHP Extensions:
    • mysqli
    • json
    • session
    • hash
    • PDO

Recommended Server Specifications

  • 1GB RAM (minimum)
  • 5GB disk space
  • Modern CPU with at least 2 cores

Client Requirements

  • Modern web browser (Chrome, Firefox, Safari, Edge)
  • JavaScript enabled
  • Cookies enabled

Installation

Prerequisites

  1. Web server (Apache/Nginx)
  2. PHP 7.4 or higher
  3. MySQL 5.7 or higher
  4. Composer (optional, for future dependencies)

Setup Instructions

  1. Clone the repository:

    git clone https://github.com/dlangkip/health-information-system.git
  2. Set up the web server:

    Configure your web server to point to the project directory. For Apache, ensure that mod_rewrite is enabled.

    Example Apache Virtual Host configuration:

    <VirtualHost *:80>
        ServerName his.example.com
        DocumentRoot /path/to/health-information-system
        
        <Directory /path/to/health-information-system>
            Options -Indexes +FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
        
        ErrorLog ${APACHE_LOG_DIR}/his-error.log
        CustomLog ${APACHE_LOG_DIR}/his-access.log combined
    </VirtualHost>
  3. Import the database schema:

    mysql -u username -p database_name < db_setup.sql
  4. Configure database connection:

    Create a .env file in the config directory with the following contents:

    DB_HOST=localhost
    DB_USERNAME=your_username
    DB_PASSWORD=your_password
    DB_DATABASE=health_info_system
    
  5. Configure application settings:

    Open config/config.php and update the BASE_URL constant:

    define('BASE_URL', 'http://your-domain.com');
  6. Set appropriate file permissions:

    chmod 755 -R /path/to/health_information_system
    chmod 777 -R /path/to/health_information_system/logs
  7. Access the application:

    Navigate to your configured domain in a web browser:

    http://your-domain.com
    

Default Login Credentials

  • Username: admin
  • Password: admin123

Important: Change these credentials immediately after installation for security reasons.

Security Considerations

The system implements several security measures:

  • Data Protection: All passwords are hashed using bcrypt
  • SQL Injection Prevention: Prepared statements for all database queries
  • XSS Protection: Output escaping for user-generated content
  • CSRF Protection: Form tokens for sensitive operations
  • Session Security: HTTP-only cookies and session timeout

API Documentation

Authentication

All API requests require authentication using a bearer token:

Authorization: Bearer YOUR_API_TOKEN

To obtain an API token, navigate to API Settings in the application.

Endpoints

Client Endpoints

1. Get a list of all clients

GET /api/clients
GET /api/clients?limit=50&offset=0

2. Get a specific client by ID

GET /api/clients?id=123

3. Get a specific client by client ID string

GET /api/clients?client_id=CL-202304-0001

4. Search for clients

GET /api/clients?search=search_term

Program Endpoints

1. Get a list of all programs

GET /api/programs

2. Get a specific program

GET /api/programs?id=123

Development Best Practices

When extending or modifying the system:

  • Follow PSR-12 coding style for PHP
  • Use prepared statements for all database queries
  • Implement proper error handling
  • Document your code changes
  • Test thoroughly before deployment

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support and Contact

For issues, questions, or contributions, please contact:

About

A comprehensive healthcare management system that empowers medical professionals to efficiently track clients, programs, and enrollments with robust security and intuitive design.

Resources

Stars

Watchers

Forks

Packages

No packages published