Showing posts with label care2x. Show all posts
Showing posts with label care2x. Show all posts

Friday 29 July 2016

A call for developers, translators, documenters and medical professionals

Care2x (http://www.care2x.org) is a fully featured open source hospital information system (HIS). It is used in many hospitals all around the world. However in recent years for various reasons activity on the project has slowed and has practically come to a standstill. Another problem is that there are a number of different versions of Care2x around.

However the code did not run at all on PHP 7.0 and as more and more server operating systems are distributed with PHP 7.0 the project was in danger of dying. This would have been a major shame as it is a great application, and the developers have done amazing job in the past.

A few of us decided we didn't want this to happen so have been working on bringing the code base up to date. Our work so far can be seen here (https://care2x.kwamoja.org/) The user name/password is admin/kwamoja. This server is running PHP 7.0 and the code should now work on both PHP 5.x and 7.x versions. The very latest code can be downloaded from here (https://github.com/care2x/care2x/archive/master.zip). Please note this is still being updated very regularly and is for testing purposes.

I have been working on integrating this code with the medical branch of the KwaMoja open source ERP (https://medical.kwamoja.org). If this integration is not required then both will run fine as standalone applications.

We have now reached the point where we need help. In no particular order we need:

1. Developers: Care2x is written using PHP/MySQL/Javascript. If you know any of these, or just want to learn, then go to github, clone the repository and get coding. There is a mailing list for developers that you can subscribe to here (https://lists.sourceforge.net/lists/listinfo/care2002-developers) where you can ask questions and get any advice you need to get going.

2. Translators: Translation files are stored under the language/ subdirectory. Each language is then stored under a two letter sub-directory denoting the language. So language/en for English, language/de for German etc. Each of these files contains variable assignments such as this from language/en/lang_en_departments.php:
 $LDHeadlines='Headlines'; 
Then there should be a corresponding entry
$LDHeadlines='Nachrichten';    
in language/de/lang_de_departments.php and in each of the other translations. What is required is that people check that the files contain the same variables (at the moment they don't) for each translation, and where they don't new variables with appropriate translations are done. If somebody wishes to create a new language translation they just need to create a new subdirectory under the language and get translating.

3.Documenters: Like most open source projects Care2x could always do with improved documentation. There is an old wiki here (http://wiki.care2x.org/index.php?title=Main_Page). We need people to read this documentation, update with regard to the new code, and add new documentation.

4. Medical Professionals: Care2x is intended to be used by medical professionals. It would be great if such people can use care2x, especially with regard to the work flow, and make any suggestions (though we don't make any promises on implementation!). Any suggestions can be logged on github here (https://github.com/care2x/care2x/issues). This includes any bugs that are found. As said previously this code is still being developed so will contain bugs. Please try to put an appropriate label to each issue to help us resolve them.

Friday 11 July 2014

KwaMoja / webERP hospital extensions

I am pleased to announce that we have brought our hospital extensions in line with the latest code, and that it is now available for testing. It can be downloaded from my github site at https://github.com/timschofield/KwaMoja/tree/KwaMoja-Medical.

This code by itself can be used in small clinics where it is just necessary to track what treatment a patient has had, and do the financials, or it can be used together with Care2x (http://www.care2x.org).

On installation you should find that you have another module called "Hospitals" installed. 

This module contains all the options for billing patients, dealing with the insurance companies, and reporting on the hospitals activities.

Using these extensions will provide a great help in tightening up a hospitals financial activities, and considerably help to reduce fraud. A brief description of how this works is given below.

Each cashier has a petty cash account that is just for their use, and which can be restricted to just them and a senior accountant/cashier to use. 

The Hospitals module contains options to bill from various hospital departments.

When a patient presents themselves at the cashier for say, the Laboratory, the cashier just has to select the option for "Billing For Laboratory Tests". They will then see a screen for helping them find the patient:
This is the same for whichever billing option the cashier chooses. As can be seen the cashier can search on many different ways, including the name, address, phone number to establish the right patient. Once the patient has been selected the cashier will see the billing screen:
If the link to Care2x is active then all the unbilled laboratory tests for that patient
will be shown, together with the total amount to be paid, so that all the cashier has to do is to collect the cash from the patient, and click on "Make Payment".
If the Care2x link is not activated then the patient should present the cashier with a document to show what Laboratory test they have been prescribed. The cashier then selects this as follows.
When the lab test is selected the price for that test is automatically pulled from the system. This depends on what price list was selected for that patient. Any number of price lists can be setup and selected for the patient. The cashier can select as many tests as needed, and the total amount payable is automatically entered in the "Amount Received" box.

When the cashier clicks on the "Make Payment" button all accounting and stock transactions related to this payment are automatically done using pre determined parameters.

At the end of the shift the cashier prints out a transactions report for their cash account, and the total of that list must agree with the total amount of cash that the cashier has collected. This list together with the cash is then taken to the chief accountant/cashier who verifies that the cash agrees with the report, and then does a transfer of cash from the cashiers account to the main account, which makes the balance of the cashiers account zero, in preparation for their next shift.

The chief accountant, or other authorised person then produces a report of any laboratory tests that were prescribed but have not been billed, and any items shown on this report need to be analysed to see why they have not been billed.

 There are various other reports and configuration options available which there isn't space to go into right now, and I will try to publish another article on these.

Tuesday 15 April 2014

Med-e-Tel in Luxembourg

Thanks to the sponsorship of Advanz of Luxembourg we had a great time at Med-e-Tel 2014.
The major aim of our presence was to promote the use of our open source solutions in developing countries. It was great to see other open source health systems present as well to help promote the concept of open source in hospitals.

There was  stand devoted to open source solutions, which was very well attended all week.

We had a lot of interest all week from all corners of the globe. We presented a paper on an implementation of Care2x in a large tertiary hospital. You can read the full paper here.


The presentation was part of the open source in health care session of the conference, and was very well attended with much interest in the various open source solutions for health care being presented.

I came away from the conference with the belief that we are on the right track with our solutions, and that open source really is the future for ICT in health care.

I have come away with renewed vigour to push forward with Project Mtuha and KwaMoja/Care2x solutions, despite the attempts by some to wreck the projects.

Again, much thanks to Advanz for their sponsorship and support without which our presence at the conference would not have been possible.

Saturday 11 January 2014

ICT Aid projects in Africa - Why so many failures?

Before I start this article let me make a couple of statements:

Firstly my experience of donor funded ICT projects is limited to Africa, so by necessity any anecdotes in this article refer to projects in Africa. This isn't meant to indicate that any of the points I make are special to the continent of Africa, and are quite probably true of similar aid projects throughout the rest of the world.

Secondly I will mention no names of people, or institutions. This is an article about what I perceive as issues in many of the projects I have witnessed, either as an observer or as a participant, and is not intended as an indictment of any person, or institution.

Failure of ICT projects is not an uncommon thing. Most statistics seem to show a failure rate of between 50% and 70%. So Africa is not on its own in having these failures. However from my observations I have noticed specific areas in donor funded projects that seem to make these projects more liable to failure:
  • "We are a donor funded organisation so we shouldn't use for-profit companies". I have heard this a lot from the donor organisations. This means that they use charitable or religious organisations in order to do the ICT work. This means that local skilled people who happen to work in the commercial sector will not be able to participate in the project. For-profit companies tend to have a better understanding of the importance of meeting deadlines, and they have a reputation to keep up, which means that a successful completion of the project is to their advantage. Non-profit organisations tend to react more slowly and worry less about deadlines. This is a curious decision from the donor organisations as they are happy to hand over money to Toyota for their vehicles, Microsoft/Apple/Dell etc for IT products etc. but when it comes to the most important aspect of the project they limit themselves to the non-profits.
  • "The project should be staffed and managed by local people, and not by outsiders". This is a laudable intention, but does it make sense in this sort of project? As pointed out in the above point many of the quality project manager staff will be in the private industry. Also the fact that ICT projects are a newer idea in Africa than in the west, there is a limited number of qualified local project managers available.
  • Project employees are more interested in perpetuating the project than completing it. Donor funded projects generally pay much better in local terms than other employers. As the project is run by a local project manager, with local staff, then the major interest of these people is to make sure that the money continues to flow, rather than in getting the project completed. In fact, completing the project often goes against their personal interests. I know of several projects where the donors are taken on periodic "stage managed" tours to show that the work is really being done.
  • Projects encourage "cronyism". Too often have I seen projects staffed by the family and relations of the senior members of the non-profit institution charged with the running of the project. I even know of one project that is supposed to be writing software that doesn't employ a programmer as part of it's large staff.
  • Project aims are often too vague. I know of projects where the aim is to do something vague, such as "design and implement software for schools". Project aims should be specific, and the time scale should be set down at the start. 
My experience shows that projects should:
  1. Be managed by an external person employed by the donor organisation charged with meeting targets.
  2. Use the best resources available to them regardless of whether they are non-profit or for-profit.
  3. Set definite targets at the start, both in timescale and project goals. The project manager should be the person held accountable.
  4. Donor organisations should be firmer in their dealings on the ground. Too often I see donor organisations that take a far too "charitable" view of bad work. The project should be run as a commercial project. The original donors of the money deserve nothing less.
These thoughts are based on many years of watching the failings of such projects in Africa. Donor organisations need a radical change in how they view such projects.

Not all projects fail, there have been some outstanding successes but the failure rate is way too high.

Friday 27 December 2013

Project Mtuha on android.

Am very happy to announce that an android client for Project Mtuha our new open sourced health information system for Africa is being developed. Here is a preview of this client working on android device:


This fantastic app is being developed by Firas Ataya, Firas Tanan, Ammar Aranjy and Mostafa Natafji of the University of Damascus in Syria. We hope to have some very exciting news related to this project very soon.

Stay tuned!!

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.

Wednesday 16 October 2013

Help required!!

I have had a plan bubbling away for sometime to take care2x and KwaMoja and merge them together as one complete integrated package. I have written before about how KwaMoja and Care2x have been used in African hospitals, using the KwaMoja api to communicate between the two applications. Now my idea is to create a single open sourced application with a unified interface and a single login that can be rolled out across hospitals all over the continent.

However this requires resources which as ever are in short supply. To get good African programmers who can work full time on this project requires money.

My idea to raise this is to start a Kickstarter project to generate the funding. However I need some help, as a lot of this stuff requires marketing skills that I do not possess. For instance they say a promotional video is more or less essential to a successful project, but I do not have the first idea of how to create one.

There is no money to pay for these services up front, but if someone wants to volunteer (remember that KwaMoja and Care2x have been written by volunteers down the years) I could look to recompensing them later if and when the project gets funded, as a promotional video could be useful in pushing the final software to hospitals. Obviously anybody helping would also gain a lot of publicity for their skills.

If anyone is interested in helping this in any way, then please send me an email on tim.schofield1960@gmail.com.

Thanks in advance!!

Tuesday 3 September 2013

KwaMoja as it is used in African hospitals

People always talk about the use of +KwaMoja  in manufacturing, and distribution businesses, but +KwaMoja  also plays a big part in the administration of several hospitals.

We have written some extensions to +KwaMoja  that enable it to link seamlessly with an open source health information system project Care2x. All the financial and inventory transactions are delegated to +KwaMoja , and Care2x deals with the clinical information side.

When a patient is admitted in Care2x, +KwaMoja  Care2x will send this information to +KwaMoja  and if the patient is not already setup as a customer they will be setup. The interface with Care2x uses customer branches to indicate who will be paying the bill. If the patient pays in cash then they will get a branch with a code of CASH setup. If they are an insurance customer then they get a branch with an identical code to the customer code for that insurance company.

When any transaction occurs in Care2x which affects the financial status of the hospital then that information is sent to +KwaMoja.

So, when as in this example the doctor prescribes drugs for a patient in Care2x the transaction will be sent to +KwaMoja.

The cashier, who uses +KwaMoja will search for this patient and will be shown a list of all unpaid transactions for that patient, as can be seen here.

Once the items are paid for then the cashier will give the patient a receipt, which they can then exchange for the drugs, or test, or whatever the item is for.

If the item is a physical item, such as drugs as in this case +KwaMoja will automatically deduct the amount from the stock held. +KwaMoja will also do all the double entry bookkeeping for this transaction behind the scenes.

At the end of the cashiers shift, they can produce a report of all monies that they have taken, which should tally with the physical amount of money they have. This is transferred both physically and within +KwaMoja to a central cash account.

Using +KwaMoja the hospital can gain greater efficiency. It can also gain greater security against fraud, and as +KwaMoja is web based if there are remote funders of the hospital, such as a western charity, or central government, they get greater visibility on how the hospital is performing. All this leads to better health care for the people, and +KwaMoja is playing a central part in this.