Package Structure

Two main packages:

  • org.cidrz.project
  • org.cidrz.webapp

The core app, most of which is in the web app package, can support multiple projects or uses. Any code that is project specific should go in the project/projectname package. For example, ZEPRS-specific reports are in the projects/zeprs package. If there was an implementation of ZEPRS for an ARV system, arv-related reports could go in projects/arv package.

Source code relating to the persistence of encounters (EncounterData, gen/*) are also in project.

It sounded like a good idea at the time, but is over-complicated since there's only one project (zeprs) using the ZEPRS core. Perhaps if Zephyr, the Eclipse RCP interface to ZEPRS, evolves, it will use project/zephyr.