COMMUNITY Brave GNU World

The monthly GNU Column Brave GNU World n this monthly column we bring you Welcome to another issue of the Brave GNU World.We the news from within the GNU Iproject. We aim to give you an insight may always have suspected it, but this issue presents some into the programs and some of their philosophies. In this issue we will look at proof: is good for your health! BY GEORG C. F. GREVE the ways Free Software is helping in the world of medicine and health. After that It must, for instance, be sure that the conscientious physicians have fewer we take a look at another alternative to confidentiality and security of patient problems when moving to Free Software, .NET and then finally onto some strategy data is upheld. This requires a certain which should be taken into considera- games to take your mind off work. transparency, which is best secured tion for practical reasons. through a Free development process. Currently the project, which consists Debian-Med Also safety from data-loss can be very of Andreas and about 70 more interested Like many areas, the area of medical important, because some tests are a people, looks to find a solution for every applications has a large quantity of hazard to health and so sometimes common problem and to make it install- projects which are sometimes quite cannot be repeated. If data gets lost, this ready. advanced, but it is beyond the skills of is clearly reducing the quality of the The mid-term perspective is to present any “normal” user to assemble them or medical service. At the same time it will Debian-Med as a real alternative to integrate them into a solution. To solve normally cause a loss of trust by a physicians and create a demonstration this, Andreas Tille began the Debian- patient concerning the physician. live CD. Med [5] project in early 2002, which Therefore this area requires a secure, Areas in most need of help are aims at customizing the Debian trustworthy and stable fundament documentation and translation, but a distribution for users in the medical and (the ) with similar logo is also still missing. Andreas has microbiological fields and seeks to applications. Using Free Software is been thinking about a combination of integrate software in these areas. more and more becoming a necessity for Debian logo and snake for this. Frequent readers of the Brave GNU every conscientious physician. The license status of the whole project World might be reminded of the Debian- Not surprisingly, privacy, protection of is determined by the individual software Jr. [7] project introduced in issue #23, data, trustworthiness and security are at licenses, of course. Free Software under [6] and in fact the idea for Debian-Med the top of the list of Debian-Med’s aims. a Debian Free Software Guidelines was inspired by that project. Other core issues are ease of use, easy (DFSG) approved license is preferred. Software which needs to interact with installation and administration. Unfortunately the project also plans the private and the very intimate spheres The program is easy to use thus packaging proprietary software that is of human life – as is the case for doctors preventing both errors and frustration distributable at no cost, creating a – has to fulfil certain basic criteria, which would work against the patient’s weakness for the mid- and long-term which currently only Free Software can interests. Also easy installation and perspectives. But if enough people hope to fully satisfy. administration makes sure that express their wish to think in the long-term here, I’m sure that this decision is not carved in stone. Bringing Free Software into the medical area is something that I always considered to be quite important and if you are looking for a useful project to engage yourself in, Debian-Med will most likely be a good choice. Gnumed Among the programs used within Debian-Med is Gnumed, [8] an official GNU project designed for a paperless medical practice. The project was born in Australia, Figure 1: Gnumed prescription dialog where a heated discussion about the

88 October 2002 www.-magazine.com Brave GNU World COMMUNITY

the Gnumed team. information about them; although it In the Gnumed team would of course also be possible to use it there are many for invoices, deliveries or accounts. physicians from The OIO-library is a metadata many different repository, which allows exchanging fields, who know metadata like plug-and-play web forms what they want, but or project descriptions between server often not how to and client. implement it. An OIO user can create or modify Therefore some forms through a web browser, which is more experienced then immediately available to be used developers would be for data collection over the web. a very welcome Later forms can be exported as XML- addition to the data to be transferred into a metadata Gnumed team. repository like the OIO library or Gnumed, which uploaded to another OIO server. seeks to have an Of course it is also possible to easy, ergonomic and assemble data from different forms into a Figure 2: Gnumed summary screen highly configurable single dataset that can then be GUI, support for searched/queried over the web with help dangers of proprietary software in the different languages and health systems, of logical operations. health sector took place in March 2000. as well as relative platform independence Although OIO has been used for some Physicians refused to base their in the end, is published as Free Software time, development is not complete. decisions on non-transparent algorithms. under the GNU General Public License. Among the planned features for future Within this discussion Hors Herb was If you wish to get active in this sector, releases is support for wireless PDAs. accused of unconstructive criticism, Gnumed is surely a project to help with. Plug-and-play protocols will also be which he took as a trigger to start supported. Most helpful at the moment working on Gnumed. OIO would be more users, more feedback and After a first working alpha-release was The “Open Infrastructure for Outcomes” better packaging. presented at the MedInfo2001 in London, (OIO) [9] is called the “Search for the At least with the last point Debian- the international interest in Gnumed holy grail” of data portability by its Med should be able to help. made an total redesign of the internal author, Andrew Ho. Nandalal Gunaratne, structure necessary. Implementing this Alesander Chelnokov and others Res Medicinae new structure is currently the main task accompany him on this quest. Res Medicinae [10] by Christian Heller is for the project co-ordinations Horst Herb OIO was used for production at the also used by the Debian-Med project. and Karsten Hilbert, who work on this Harbor-UCLA Medical Center in March Together with Karsten Hilbert he works together with about 17 other developers 2001 before being published as Free on making Res Medicinae an extensive and many volunteers. Software under the GNU General Public software solution in the medical area. After completing a minimal version, License in August. By September it was To achieve maximum portability, Res which they hope to already be useful, it managing data of more than 1000 Medicinae is based on Java (API/ is planned to make Gnumed a complete patients and since February 2002, it is Swing, Servlets/JSP, JDBC) with some medical solution which should include being used as a decision support. hospital-wide infor- The problems that Gnumed faces on mation system. So it is the way to this is a lack of free safe to say that OIO pharmaceutical databases, different has proven itself health systems with different already in daily use. regulations, lack of data formats, transfer The primary standards and standardised messaging components of OIO protocols, as well as lack of a system to include the server, create a globally unique ID for a patient. which is accessed via Programming languages used in this anybrowser through project are Python and C/C++ on the HTML and the OIO client side, PgSql, C and Python on the library. The server is a server side, with reliability and security flexible, web-based being the most important paradigms; data management both of which are not adequately treated system, which manages in proprietary solutions in the opinion of users, patients and Figure 3: Viewing a complete form

www.linux-magazine.com October 2002 89 COMMUNITY

CORBA/IDL and SOAP/XML. This already shows the largest problem of this Free Software project under the GNU General Public License and GNU Free Documentation License, because lacking a full-featured Free Software Java implementation, the freedom of the project is in danger. But freedom was a major motivational factor for Christian to begin working on Res Medicinae. He wants to overcome the very expensive and proprietary scene of medical information systems and give users in less privileged countries access to a free, stable, secure, platform independent and extensive system. The project is still rather young. According to the plans, at the end of 2002, the ResMedLib framework should be consolidated and prototypes for two complete modules should be available. In 2003, the administrative module, Figure 5: JavaRisk preparing to battle printing forms and generating reports should work. a BSD license and the already mentioned lems following. The situation around Afterwards, an image processing and a Gnumed project to achieve full Java suffers from this effect. management tool as well as a billing and project interoperability. The answer is clear: We need a Free statistical module should be added. A That should be enough health for standard with a Free implementation. training module as well as a decision today, if there are other projects in this This is what Romance seeks to provide. support module will then finish the area, I would like to present them in a The first part – and beginning of whole project. later issue. An email [1] would be the development – is Rose, the “Romance So you should probably not try to use appropriate way to get this going. Object System rosE.” Rose provides a the project in your daily life, but those protocol, which allows for the sharing who are interested to bring medical Romance of objects between the different competence, language translations, Java Romance [11] is the attempt by Bertrand programming languages. programming or webpage design into the Lamy and Jean-Baptiste Lamy, to give The next step of development will be project, will receive a warm welcome in Free Software a real, Free alternative to WiSe, the “Romance Widget Server.” It Res Medicinae. Microsoft’s .NET. will be available as a GUI/toolkit library As far as the authors know, Res According to Bertrand, their to all Romance applications through the Medicinae is currently the only Java motivation is that Ximian will not be Romance server. based GPL project in the medical area able to deliver a Free implementation of The paradigm employed in WiSe is and they plan to work together with .NET. That Microsoft has already that all widgets remain the property of OpenEMed, a similar Java project under promised to fight all Free the WiSe process, and not of the alternatives using different applications. That should allow software patents Romance to make sharing of widgets does indeed make very fast and simple. this a plausible sce- Since Bertrand and Jean-Baptiste nario. believe that 75% of all desktop Also standards applications should be written in script controlled by those languages, they have concentrated on companies without supporting Python, Guile and C first. any Free reference According to their plans, Rose will also implementation support Perl, Ruby, Lisp, Scheme and always have the other dynamic languages in the future. advantage that the There are many examples how company is several Romance can be used. steps ahead, while For large applications, it is often a the Free projects good idea to define an expansion Figure 4: Res Medicinae forms aid open source doctors have many prob- language. Instead of choosing one

90 October 2002 www.linux-magazine.com Brave GNU World COMMUNITY

language, a group of objects could be display/front-end capabilities in order to made available through Romance, which display different types of boards in allows scripting the application in any . The second part allows language supported by Romance. communication with different Networked applications often require a engines like GNU Chess and Crafty. The communication protocol, which can be third part is a library for positions and supplied by Romance. Since it is lighter games including a validity checker for than CORBA, supports more languages moves and game-database management. than Java RMI and works with dynamic, Among the very neat features of non-static objects, Romance offers Emacs Chess is that the Emacs IRC Client several advantages in this regard. (ERC) [15] supports Emacs Chess, so it is Romance can also act as “glue” possible to start a game with somebody between different parts of a program Figure 6: Using XPM chess pieces from Xboard. in IRC if that person also uses Emacs written in different programming The tarball includes 30 different sets Chess and ERC. languages, providing an alternative to Since the IRC chess protocol is based SWIG. Being dynamic, Romance When he noticed the game, he on CTCP, it is possible to implement a automatically makes sure that the immediately loved it. He suggested that compatible functionality in other clients. interface is available in all of the they should write an artificial As Emacs can also run on a console, “Romantic” languages. intelligence for the game as their 5th Emacs Chess also provides a nice Chess Through WiSE, Romance also provides semester student project. Also, since he front-end for vision-impaired users, who widgets for a , is a fan of everything Asian, he asked can have moves announced in a “knight which can be shared in a lean and them to implement small animated takes a4” form. Of course non vision- efficient manner between different Samurai-fighters to be displayed when- impaired people may also use this very processes. This makes linking against ever China or Japan are being attacked. neat feature. graphical toolkits unnecessary and Currently Christian, Sebastian and People not using Emacs will probably allows the user to choose the look & feel Andreas are working on a new version of not start doing so because of Emacs of all applications through Romance. JavaRisk, which will have more Chess, but it should truly be a worth a While offering all these possibilities, resemblance with a strategic war game try for all of Emacs friends. Rose is very small, it has less than 500 like Empire. JavaRisk v2 will support Emacs Chess is written in Emacs-Lisp lines of code in Python/Scheme. networked play right from the start. and published under the GNU General Although this project, which is Public License as betatest software, so released under the GNU General Public EmacsChess you may expect some minor bugs. License, is most relevant to developers, it Also in reaction to issue #39, Mario Lang should also give non-developers some wrote to me and recommended writing End interesting perspectives for the future. about the Emacs Chess [14] project by Enough Brave GNU World for this John Wiegley. month. Ideas, suggestions and JavaRisk Emacs Chess consists of three major comments for interesting projects are as As an add-on to issue #39, [12] in which parts. The first part contains the always welcome to the usual address. ■ some Risk clones were presented, I would like to introduce JavaRisk [13] by INFO Christian Domsch, Sebastian Kirsch and [1] Send ideas,comments and questions to Brave GNU World:column@brave--world.org Andreas Habel. [2] Home page of the GNU Project:http://www.gnu.org/ JavaRisk is an implementation of the well-known board game Risk in Java [3] Home page of Georg’s Brave GNU World:http://brave-gnu-world.org under the GNU General Public with the [4] “We run GNU”initiative:http://www.gnu.org/brave-gnu-world/rungnu/rungnu.en.html rules based entirely on the German [5] Debian-Med home page:http://www.debian.org/devel/debian-med/index.en.html version of the game. Despite JavaRisk [6] Brave GNU World issue #23:http://brave-gnu-world.org/issue-23.en.html being a computer game, the authors did [7] Debian-Jr. home page:http://www.debian.org/devel/debian-jr/index.de.html not implement any network support or [8] Gnumed home page:http://www.gnumed.org/ artificial intelligence. [9] “Open Infrastructure for Outcomes”home page:http://www.txoutcome.org/ It has outstanding graphics, though, which are so good that the game J-TEG [10]Res Medicinae home page:http://resmedicinae.sourceforge.net introduced in issue #39 implemented [11] Romance home page:http://savannah.gnu.org/projects/romance/ them as a theme. [12] Brave GNU World issue #39:http://brave-gnu-world.org/issue-39.en.html JavaRisk is a typical student project, [13] JavaRisk home page:http://sourceforge.net/projects/javarisk which means that the three authors did [14] Emacs Chess home page:http://emacs-chess.sourceforge.net not stop playing while their professor [15] Emacs IRC Client home page:http://sourceforge.net/projects/erc/ was around.

www.linux-magazine.com October 2002 91