A lot happens when you startup KenyaEMR so this page is an attempt to explain the details to help developers and admins debug any problems that might arise.
...
All of the existing content managers gather up components defined in the application context. This makes it easy for add-on modules to provide new content to KenyaEMR. An add-on module can even provide new content managers, and by configuring the value returned by ContentManager.getPriority(), determine when in the loading process those content managers will be refreshed.
The existing content managers are as follows (listed in the order in which they are refreshed)
Manager | Priority | Manages | On refresh |
---|---|---|---|
RequirementManager | 0 | External requirements | Checks each requirement, throws UnsatisfiedRequirementException if one fails |
MetadataManager | 10 | Metadata bundles | Installs all registered bundles |
LabManager | 20 | Lab test catalogs | Loads all lab test catalogs |
RegimenManager | 30 | Regimen definitions | Loads all regimen definitions from XML resource |
IdentifierManager | 40 | Identifiers | |
CalculationManager | 50 | Calculation classes and patient flags | |
ProgramManager | 60 | Programs | |
FormManager | 70 | Forms | Saves form resources for XML content of all forms and registers custom tags |
ReportManager | 80 | Reports and their builders | Builds and persists all report definitions |
ChoreManager | 90 | Chores | Performs all chores not already performed |
...