mekomsolutions / openmrs-module-initializer

The OpenMRS Initializer module is an API-only module that processes the content of the configuration folder when it is found inside OpenMRS' application data directory.
MIT License
23 stars 79 forks source link
csv initialization metadata openmrs

OpenMRS Initializer module

(Table of contents generated with markdown-toc)

Introduction

The Initializer module is an API-only module that processes the content of the configuration folder when it is found inside OpenMRS' application data directory:

.
├── modules/
├── openmrs.war
├── openmrs-runtime.properties
├── ...
└── configuration/

The configuration folder is subdivided into domain subfolders:

configuration/
  ├── addresshierarchy/
  ├── ampathforms/
  ├── ampathformstranslations/
  ├── appointmentspecialities/
  ├── appointmentservicedefinitions/
  ├── appointmentservicetypes/
  ├── attributetypes/
  ├── autogenerationoptions/
  ├── bahmniforms/
  ├── billableservices/
  ├── cashpoints/
  ├── cohorttypes/
  ├── cohortattributetypes/
  ├── conceptclasses/
  ├── conceptsources/
  ├── concepts/
  ├── conceptsets/
  ├── datafiltermappings/
  ├── drugs/
  ├── encountertypes/
  ├── encounterroles/
  ├── fhirconceptsources/
  ├── fhirpatientidentifiersystems/
  ├── globalproperties/
  ├── htmlforms/
  ├── idgen/
  ├── jsonkeyvalues/
  ├── liquibase/
  ├── locations/
  ├── locationtagmaps/
  ├── locationtags/
  ├── messageproperties/
  ├── metadatasetmembers/ 
  ├── metadatasets/ 
  ├── metadatasharing/ 
  ├── metadatatermmappings/
  ├── ocl/
  ├── orderfrequencies/
  ├── ordertypes/
  ├── paymentmodes/
  ├── patientidentifiertypes/ 
  ├── personattributetypes/ 
  ├── privileges/ 
  ├── programs/ 
  ├── programworkflows/
  ├── programworkflowstates/
  ├── providerroles/
  ├── queues/
  ├── relationshiptypes/
  └── roles/

Each domain-specific subfolder contains OpenMRS metadata configuration files that pertains to the domain.

Goals

Supported domains and default loading order

We suggest to go through the following before looking at the specifics for each supported domain:

This is the list of currently supported domains in their loading order:

  1. Liquibase Changelog (XML file)
  2. Localization Message Properties (.properties files)
  3. Generic JSON key-values (JSON files)
  4. Metadata Sharing Packages (ZIP files)
  5. Visit Types (CSV files)
  6. Patient Identifier Types (CSV files)
  7. Relationship Types (CSV files)
  8. Location Tags (CSV files)
  9. Privileges (CSV files)
  10. Encounter Types (CSV files)
  11. Encounter Roles (CSV files)
  12. Roles (CSV files)
  13. Global Properties (XML files)
  14. Attribute Types (CSV files)
  15. Provider Roles (CSV files)
  16. Locations (CSV files)
  17. Location Tag Maps (CSV files)
  18. Address Hierarchy (XML, CSV, .properties files)
  19. Bahmni Forms (JSON Files)
  20. Concept Classes (CSV files)
  21. Concept Sources (CSV files)
  22. Open Concept Lab (ZIP Files)
  23. Concepts (CSV files)
  24. Billable Services (CSV files)
  25. Cash Points (CSV files)
  26. Payment Modes (CSV files)
  27. Concept Sets and Answers (CSV files)
  28. Programs (CSV files)
  29. Program Worklows (CSV files)
  30. Program Worklow States (CSV files)
  31. Person Attribute Types (CSV files)
  32. Identifier Sources (CSV files)
  33. Autogeneration Options (CSV files)
  34. Drugs (CSV files)
  35. Order Frequencies (CSV files)
  36. Order Types (CSV files)
  37. Bahmni Appointment Specialities (CSV files)
  38. Bahmni Appointment Service Definitions (CSV files)
  39. Bahmni Appointment Service Types (CSV files)
  40. Queues (CSV files)
  41. Data Filter Entity-Basis Mappings (CSV files)
  42. Metadata Sets (CSV files)
  43. Metadata Set Members (CSV files)
  44. Metadata Term Mappings (CSV files)
  45. Cohort Types (CSV files)
  46. Cohort Attribute Types (CSV files)
  47. FHIR Concept Sources (CSV files)
  48. FHIR Patient Identifier Systems (CSV Files)
  49. AMPATH Forms (JSON files)
  50. AMPATH Forms Translations (JSON files)
  51. HTML Forms (XML files)

Try it out

Build the master branch and install the built OMOD to your OpenMRS instance:

git clone https://github.com/mekomsolutions/openmrs-module-initializer/tree/master
cd openmrs-module-initializer
mvn clean package

Runtime compatibility

Test your OpenMRS configs

See the Initializer Validator README page.

Finer control of domains loading at runtime

See the documentation on Initializer's runtime properties.

Setting up and controlling logging

See the documentation on Initializer's logging properties.

Get in touch


Releases notes

Version 2.8.0

Version 2.7.0

Version 2.6.0

Version 2.5.2

Version 2.5.1

Version 2.5.0

Version 2.4.0

Version 2.3.0

Version 2.2.0

Version 2.1.0

Version 2.0.0

Version 1.1.0

Version 1.0.1