The public project started with the first release of the beta version 1.0.0. in the internet on May 2002.
The infrastructure in the beginning consisted of the web and download sites provided at the sourceforge.net, and the information website at the care2x.com. There was no other means of communication back then except the email address that I provided at the websites.
Basically, I had no or very little knowledge how to start and manage such an open-source project. So I tried to gather as much information about it as possible. One of the things I tried was to post so-called "job offerings" at the main site of sourceforge.net.
I decided to name the application "Care 2002" based on the year of its first release. At that time I was already aware of the implied life cycle of this name so I chose to register the www.care2x.com domain to make it more or less generic.
1 week later, up to 3 persons emailed and notified me of their interest in the project. The first beta was also downloaded up to around 20 times. So I thought this is good. 2 weeks later I had to reduce my time for the project to go to holidays. During the 2 weeks of my absence, several more people sent emails to me but I could not answer them. A project's co-admin tried to answer them temporarily. When I came back, I noticed that more than half of these people have lost interest in the project. I thought that this could be due to fact that I replied too late. The first down phase of the project. But those few people who decided to stay proved to be among those very useful and valuable to the project. One of them was a student from Indonesia who offered to translate the GUI to indonesian. This prompted me to redesign the application framework to accomodate new language versions. This also started the task of foreign translations.
In the succeding months a lot more people joined.
3 months later, there was already a substantial number of people in the project. At this time, the communication was quite limited. The members were communicating directly to me but not with each other and the load on me grew with an alarming rate. Luckily, Nino Novak, a german project member suggested the use of the mailing list. This moved the load away from me and to the mailing list provided by sourceforge.net.
The number of developer registrations grew steadily from zero on May 2002 to more than 300 today. This is the current number of subscribers of the developer mailing list. The number of development team members listed at the sourceforge site is however lower than that. Currently, there are a little more than 100 members. This also shows the difference in the members' level of participation in the project. Many of the registered subscribers can be considered as "listen only" members. Some participate on the discussion level only. While others do a lot more like translations, debugging, bug hunting and the likes. Several others submitted additional codes.
They all come from more than 20 nations. Most of the members come from European and asian countries. Several come from south american and middle eastern countries and a few come from north american countries.
Several domain names and servers were also added to the project. Several of these domains and servers are being financed by private persons and commercial companies. Two commercial companies are continuously supporting the project financially. Though this support is being done indirectly through maintenance of the domains and physical servers.
The monthly page views show the steady growth of the project's popularity. The highest hit was 8,000 views in September 2003. Even the downloads statistics show steady growth. The highest download hit was 2,400 in November 2003.
Here are some current totals statistics. The downloads figure show the total of all packages available for download including the presentation files.
Downloads: 17,000+ (as of 2004-03-05)
Release packs: 21
Release files: 52
Release size: 200 MB
CVS commits: 1,415
CVS adds: 1,762
Another measure of the project's health status is the number of mailing list subscribers. The graph shows a steady increase of subscribers.
Currently the CVS of the project has several branches. The most important for now are shown. The G2_SMARTY branch is intended for the ongoing development of the smarty templates. We are planning to free the GUI portion of the application totally free from the logic code. This would enable developers to create their own GUI design. When several GUI templates are available, we will implement the feature of selecting the GUI design by run time.
The second important branch is the G2_POSTGRE. This is the branch of the ongoing revisions of the sql queries to make them work for the postgreSQL database. The Care2x currently uses an abstraction layer that is supposed to make the application independent of the type of database being used. However, due to past errors of using non-standard practices, many sql queries work only with mySQL. Thus the need of a development branch to revise for postgreSQL.
The third important branch is the G2_PM. This branch is intended for the Practice management version of Care2x. PM (or practice management) version is one of the important parts of the second generation of the project.
The current infrastructure of the project is built upon several important services. The technical backbone is the project's site at the sourceforge which provides the release manager, CVS and mailing list managers among others. The various domains and websites do the important work of information dessimination, marketing and press relation. The servers also do the crucial function of hosting the online demo installations.
Several auxillary applications like FAQ, bugtraq, forum , otrs, and archive reinforce the administration of the project.
It is worth extra mentioning that the care2x.de german group headed by Dr. Gödert has started two projects that aims to improve Care2x. These are the Care2x-CD based on Knoppix and the Care2x-Plugins hosted at the sourceforge.net.
The most active task in adding "real" code to the application is the language translation. At the present, there are 17 language translations in different stages of completion. The most complete are the English and German versions, followed closely by Arabic, Italian and Spanish versions. Unfortunately some of the translation works are in the sleeping status most notably the Polish and Romanian versions. We are hoping that the initial translators will continue with their work or some other else will pick up where it stopped.
The application architecture is built upon several stable and long proven applications. Basically, Care2x needs an apache webserver, php enterpreter engine and a database. Currently, Care2x is tested to work with mySQL showing stable performance. The work on cleaning the sql queries to make it work with other databases that adhere to the sql standards (e.g. postgreSQL) is ongoing and a major part of the application is already running with postgresql.
Around the 2nd quarter of 2003, I started to convert the mysql specific commands to generic commands of the adodb abstraction layer. After about 3-4 months of code rewrite, the application was converted to exploit the benefits of a database abstraction layer. Theoritically, Care2x should be able to access several different types of databases other than MySQL for example postgreSQL, DB2, Oracle and some other more. Well, in practice, this turned out to be inaccurate because I used some non-standard elements in the sql queries which prohibited the code to actually work effectively with databases other than mySQL. This led to a new development subtask of revising the sql queries with non-standard elements. This task is on-going and should be finished soon. The good thing in this task is that the program logic does not need to be reformulated nor rewritten. Only minor revisions in some sql queries are needed. Most sql queries do not even need to be revised and most of those needing revision has to be rewritten changing only the double quotes to single quotes.
In the middle of 2003, I started writing the object classes that should work as the API of the application. By the end of the 3rd quarter, the major portion of the API is finished and is functioning and is being used by the program. Some scripts or modules however were not totally converted to use API calls exclusively but still access the database directly without the API.
In the last quarter of 2003, I started writing the API documentation. It was finally published in November 2003.
Most manuals that are being developed and updated regularly are published with the use of a wiki system. The wiki system is being hosted at the care2x.net domain. Currently, there are manuals for the users, administrators, technical data and developers.
Currently, the problem areas which can be considered more or less immediate are the following:
There are, of course, many other problem areas, but past discussions among the project members mostly focussed on the above stated areas.
Financial functionalities, billing, pricing, and financial reporting. Physicians reporting functionalities and integrating workflows which are unique to physician's work. Statistics of all possible data combinations and its display and presentation. Inventory system both for central warehouse and local depots.
The current priorities of the project are the
completion of the revision work to make Care2x truely usable for different database types, releasing a first beta of the PM application, releasing a demo cd using the Knoppix package, and making initial real installations in hospitals
Report by: Elpidio Latorilla (2004-03-05)