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.
Info |
---|
The KenyaEMR module is not designed to be stopped and started independently of OpenMRS even though this possible using the regular OpenMRS admin UI |
Loading
...
content
The CoreContext component class in KenyaCore is responsible for loading all EMR content. The KenyaCore module does not initiate this action itself. Rather it is left to KenyaEMR to fetch this component and call its refresh() method during its startup.
...
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 | Regimens | 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 | |
ReportManager | 80 | Reports and their builders | Builds and persists all report definitions | |
ChoreManager | 90 | Chores |
...
Performs all chores not already performed |
Performance
Startup time is dependent on the state and size of the database.
- Metadata loading includes synchronization of all locations with a copy of the MFL. If locations in the database are up to date then no database updates are required so this will only take a few seconds. On a clean database, it will require the saving of ~9500 new locations which may take 1-2 minutes.
- Chores are only one performed once, so none of these will be performed on a up to date database.
Typical startup times for an up to date database are 30-50 seconds.