Week 5
20 Jun 2014I started the last week by setting up the environment for lpsolve and trying to integrate it into the maven build process. Lpsolve is written in C with wrappers for different programming languages. It turned out, that integration was harder to achieve than expected. One has to place the dynamic C libraries into the java.library.path folder in order to load them at runtime. This path is read only and cannot be modified at runtime (=module start time). So the only solution is to install it in advance or copy it into a directory that is specified in the java.library.path. Shortly after I had went for the copying solution and had solved my UnsatisfiedLinkError, I came across the project OptaPlanner that is written entirely in Java and available under the Apache License 2. For me it seems to be more user friendly. The package ships with a lot of examples and the rules in OptaPlanner are specified within a Drool file that is more or less human readable. The rest of the week I developed a webpage that lists all surgeries for a given patient, as well as a webpage for a surgery itself.
For a bit more information on this topic, please see my post on openmrs talk which includes a youtube screencast.