Basic Hospital Information Management Application

Bhima is a free, open source accounting and hospital information management system (HIMS) tailored for rural hospitals in Africa. We are an international team based in the Democratic Republic of the Congo.

Deploying BHIMA on DigitalOcean

NOTE: these steps have been adapted from ODK Aggregate’s instructions found here.


To use this setup, you must able to link a domain name to the machine’s IP address. If you don’t own a domain, services such as FreeDNS offer free sub-domains under a range of domains.


If you have not already created a DigitalOcean account, use ODK’s referral link to do so.

DigitalOcean will give you $100 of credit to spend during the first 60 days so that you can try things out. Once you have spent $25 with them, ODK will get $25 to put towards their hosting costs. They are a fantastic tool set we depend on and would be honored if you supported them.

Create your Droplet

  1. Log into DigitalOcean and create a new Droplet.

  2. Select the distribution for your new Droplet: Select the option 18.04.x x64 from the Ubuntu box.

Choose VM

  1. Select a size fit for your intended usage. The $5 Standard Droplet should be enough for light BHIMA use. If you find yourself needing more, DigitalOcean makes it easy to resize to a bigger Droplet.

  2. If you would like automatic weekly backups, enable them.

  3. You will not need block storage.

  4. Select a datacenter region physically close to where you are.

  5. Under Select additional options, check the User data checkbox. Copy and paste the contents of this cloud-init script.

Add User Data

  1. In the Choose a hostname section, enter the domain name (e.g., your.domain). This hostname will be used by the Cloud-Config script to configure your server’s HTTPS support.

  2. You will not need to add public SSH keys (unless you know what that is and you want to).

  3. Click on the Create button. The Droplet takes a few seconds, the actual BHIMA installation will take up to 10 minutes to complete.

Set up your domain


DigitalOcean Droplets use IP addresses which can change if you destroy the machine. To ensure your BHIMA install will always be reachable using the same IP address, use a Floating IP by following these instructions.

  1. Once the Droplet is running, take note of its public IP address (e.g., and set a DNS A record pointing to it.
    • If you own a domain, check your domain registrar’s instructions. If you don’t own a domain, we recommend using FreeDNS to get a free sub-domain.
    • Your domain’s TTL setting will affect to how much time you will have to wait until you can proceed to the next step. If your provider gives you the option of setting a TTL, use the lowest value you can.
  2. Open a web browser, and periodically check the domain until you see the BHIMA website. You won’t be able to continue the install until you see the website load.

Enable HTTPS

  1. From the DigitalOcean Control Panel, click the name of your droplet, then select Access from the left navigation. Click the Launch Console button to open a web-based console session.

  2. When the console opens, click the console screen, and at the login prompt, enter the user: root. Your password will be the root password that DigitalOcean emailed you.
    • If you do not have the root password, click the name of your droplet, select Access from the left navigation and choose Reset the root password so that a password gets emailed to you.
    • You may also login over SSH using the ssh root@your.domain.
  3. Once you are logged in, run:
      sudo certbot run --nginx --non-interactive --agree-tos -m $YOUR_EMAIL --redirect -d $YOUR_DOMAIN

Launch BHIMA in the browser

  1. Go to https://your.domain and check that BHIMA is running.

  2. You can now start setting up your enterprise information by clicking the button install after choosing your language.