Friday, 22 November 2013

Announcing Project Mtuha

I blogged recently about a plan to produce an application based on merging +KwaMoja with Care2x, and I thought it was time to update on progress. Currently the project is called Mtuha.

We have been working on the interface, Registration, Admissions, and Billing modules, but to continue much further with the project we require some form of sponsorship to make it happen. Please let me know if you have any ideas for this.

The interface now looks like this:

The icons along the top left of the toolbar represent different security tokens that the user will have in their login. For information about the security tokens used in KwaMoja see this blog post here
Holding the mouse over one of these icons brings down a menu containing those options allowed for that security token.

Clicking on any of these options loads up that script in the browser.

We have created a minimal framework that enables forms to be designed, and submitted. Also all forms can be edited, and each element in a form can be made mandatory, and it's visibility can be toggled on and off. This can be used for all forms, and converting the current forms in KwaMoja and Care2x to this framework is very easy.

The registration form contains many elements, a few of which can be seen below, but any of these can be hidden, or added, made mandatory, or optional.
There is a stock type of "Registration Items", and any items set up with this category will appear as options at the bottom of the registration screen:
On completion of the registration, the above appears, and any options that user is entitled to perform are shown on the right. Clicking on print, just prints the patient detail label. Mtuha can be setup to use the bar code, so that when the bar code is scanned by a mobile device (phone etc.) you can be taken to a chosen place in Mtuha for that patient.
There is a new patient search facility, which is the same as used throughout Mtuha when a patient number needs to be found. When you start to type in any of the search fields, the list of possible patients automatically updates. At the far right of each patient details there is a small icon. Clicking that icon will bring up a list of options that the particular user can choose to perform on that patient record.

This particular user can only modify the registration details, or admit the patient. If the user was a cashier then they would see options to bill the patient.
Clicking to admit the patient takes you to the admissions form shown here.

Like the registration form it is fully customisable, and all fields can be made optional/mandatory, or be hidden/shown.

As with the registration form, there is a stock type called Admission. Any items setup with this stock type will appear at the bottom of the admissions form. You can select one or many of these billable items, just as with registration.

If the user then logs in as a cashier, and searches for a patient they are then presented with an option to bill the patient, rather than previously seeing the options to register and admit. Selecting that option brings up this screen, showing any unpaid items for that patient.

Clicking on the button prints a bill for this patient. However it also does a lot more. If any of the items are physical stock items then the required stock movements are processed, together with all related General Ledger transactions. Each cashier has a separate cash account set up for them, and processing this bill will debit that account, and credit the profit and loss account with the sale. At the end of their shift there is a report that should be run by the cashier detailing all the cash they should have received. This report is checked against the physical amount of money the cashier has, and is then passed on to the accounts department.

As I said at the beginning of this article, what we really require now is funding to hire more African developers, and pay for my time.