...
- Download the logic omod file from the module repository: https://modulesaddons.openmrs.org/#/modulesshow/vieworg.openmrs.jsp?module=.logic
- View/download the source code from git: https://github.com/CHIRDL-Openmrs-Modules/logic
...
- in the 1.8.x line: any version after 1.8 Beta (from revision 17709)
- in the 1.7.x line: from 1.7.2 (from revision 17710)
- in the 1.6.x line: from 1.6.3 (from revision 17711 – use this custom version, identical to the one in the module repository but with a more relaxed require_version.)
User-visible changes
Ticket | Description |
---|---|
Implement asOf() operator for LogicCriteria | |
Edit / Remove Logic Token | |
Make logic module compatible with 1.6+ and replace Derived Concept with LogicRule | |
Patient data source of patient identifier is not implemented | |
PersonDataSource should let you access ther person's name | |
Tokens should be case-preserving case-insensitive | |
Better UI for managing logic tokens and rules | |
Groovy rules |
Under-the-hood changes
Ticket | Description |
---|---|
Logic Module contains antlr-2.7.6 in its lib folder | |
Logic Rule Token needs a uuid | |
LogicDataSources have their names defined in XML | |
LogicService.eval(..., String, ...) should treat the String as an expression, not a token | |
LogicContext's indexDate operates as a date+time, but it should just operate as a date | |
Logic cache never has any cache hits | |
Rename LogicRuleToken to TokenRegistration | |
Introduce a RuleProvider interface so modules can consistently provide and register rules | |
Allow modules to register LanguageHandlers via Spring | |
Allow users to change names of tokens, while still allowing RuleProviders to access their rules | |
Call afterStartup methods of RuleProviders after the logic module starts up | |
TokenService should cache rules it gets from RuleProviders, so they don't have to be recompiled every time | |
Rules have access to a full Patient, but LogicDataSources don't |
...
0.4.1
Ticket | Description | Author |
---|---|---|
LogicService.parse(String) on a badly-formed expression may run forever | djazayeri |