Showing posts with label hospitals. Show all posts
Showing posts with label hospitals. 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.

Tuesday, 14 October 2014

New demo for KwaMoja-Medical

Following on from this post regarding our hospital extensions for KwaMoja I have created an online demo for the KwaMoja-Medical branch. This demo can be found here.

This demo has a separate module called "Hospitals" (maybe this should say Medical??) and includes facilities for registering patients, dispensing and billing for pharmaceuticals, billing for Radiology and Laboratory tests any other medical services a hospital needs.

It also now has the facilities write notes on a particular patient, and to review a patients entire history, including notes in one screen.

At the moment the intended audience for this is smaller clinics and hospitals where a fully fledged HIS is not really applicable. However as time goes on and more functionality gets added then who knows......

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.

Tuesday, 14 January 2014

Sustainability and Corruption in donor funded projects.

I wrote this article a couple of days ago and it attracted a lot of comments. Many of the comments focused on these two issues which I didn't go into in much detail, but they are very important to donor funded ICT projects.

These are somewhat controversial subjects so again I will keep from naming specifics.

Any donor funded project should be sustainable. That is it should continue to function when the donor leaves. Sounds obvious I know, but most people would be amazed at just how few do carry on working. Anybody who has like me, worked and traveled extensively in Africa will be able to recount stories of when this has failed. Here are just a few of mine:
  • Water pumps that cannot be maintained when they break down because there are no spare parts, no money or means to get them, nobody trained to fit them if they were available. 
  • Fields full of farm machinery (Tractors, Canadian sized combine harvesters etc) rotting away. Why? No spare parts, and nobody trained to maintain them.
  • I once visited a large hospital in East Africa which had a modern but non-functioning CT scanner. Again the reason given for its lack of functionality was that it had broken down and nobody could repair it. The hospital was losing considerable income from its not working. This income could easily have paid for a maintenance contract but nobody had arranged it. Lives were being lost in that area of East Africa because the only hospital with a CT scanner had no plan to maintain the scanner once it broke down. The hospital director told me that eventually somebody would donate a new one and the old one would be thrown away.
I am not finger pointing here, this is a story you will hear throughout Africa. In order for projects to be sustainable they have to generate some income, and that income has to be put back into the project in order to provide for the maintenance. For instance I saw a very good scheme in rural Tanzania where the donors had paid for a water pipeline bringing fresh water from a mountain spring many miles away. The local towns people were charged a few shillings (one shilling equals 0.00037 British pounds at current exchange rate) for the water. This money was used to pay local towns people to maintain the pipeline. The money stayed within the local community, and the water continues to flow to this day. Why can't a similar model be used for the above mentioned pumps?

I have seen projects providing hospitals with software. The hospitals were led to believe that the software was free, so no provision was made to support the system once it was installed. When bugs were found in the system there was nobody to fix them, and the software fell into misuse. However this software made the hospitals more efficient, improved their income, that income should have been used to fund local support for that software.

This is one of the reasons why billions of dollars in aid money floods into Africa but things never get better for its citizens.

The other reason is the corruption that follows these projects. I have over the years had conversations with people who have been found to have taken money from projects.  The common theme is always that they do not see it as stealing, or as something wrong. The best analogy I have is that aid money is seen like a river flowing down the mountain, and if you divert a little to irrigate your own field, then the water doesn't stop flowing, and you get a better harvest. The flaw with this argument is that the supply of money is finite and the river does stop flowing.

The best solution I have for this is closer and more rigorous scrutiny of the project by onsite managers who are appointed by the project donors to supervise the use of the money. Just the same as would be done with any commercial company when a budget is allocated to a project.

International aid is not working, but it can. It needs a change of attitude from both the donors and the receivers of the aid.

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!!

Tuesday, 3 December 2013

Banned for trying to help African hospitals improve services

This page is written in response to the lies that +Phil Daintree has written about me, and spread on the internet. Despite years of searching he has been unable to find anything I have written that is untrue, and he has had to resort to vague generalities, faked emails, and badly fabricated screenshots (you can see the joins if you zoom in using any bit mapped image editor). +Phil Daintree  is welcome to make any comments to these pages, as he has done in the past. If I agree with what he says I will amend my writings, if I do not agree I have allowed his comments to stand next to mine so that people can make their own judgements. I have every confidence in the intelligence of readers to make a sensible judgement based on the facts. +Phil Daintree will not allow me the right of reply to any of the lies he has told about me. It seems to me significant that he realises that if people see both sides of the argument they will see through his lies.

Earlier today I politely asked +Phil Daintree if I could mention Project Mtuha on the webERP forum and mailing list. The KwaMoja code is descended from webERP and so there is a great deal of webERP code in Project Mtuha. I asked him if he could come up with a form of words that was acceptable and I would use that  wording. Unfortunately not only did he say no, he has again banned me from helping webERP users on the forums and mailing lists, in order to stop me from mentioning our integrating our open source hospital for Africa.

The exact text of my email to him was :

"Subject: Project Mtuha

 Phil,

I would like to publicise this project on webERP. I realise you will
find a lot of things sensitive about it, so I am asking if you have
any ideas how this can be done to our mutual satisfaction?

Thanks
Tim"


I think it is clear that I was trying to be conciliatory, and at no point did I threaten to publicise the hospital system without the permission of +Phil Daintree  .


It is most disappointing that he should try to punish the webERP user base in this way.

It is also very strange as +Phil Daintree frequently uses the forums and mailing lists to promote his own commercial proprietary projects, while denying me the chance to put forward our open sourced free solution for African hospitals.

I thought we had moved past such silly behaviour when we spoke recently on the phone, but it seems Phil was not telling the truth. This is not the first time he has made such an agreement verbally and then reneged on it a short time later. It seems any agreement with him cannot be trusted!

It is typical of the way that +Phil Daintree works to make vague allegations and then when pressed for details he changes the subject. His tactics are to throw mud around and hope that some of it sticks. He has been proven again and again to be a liar and to be untrustworthy.

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.

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.