Fixes #1524 CCDA Warnings, Dependency resolution in modules (#2505)
* Fixes #1524 CCDA Warnings, Dependency resolution
Fixed a bunch of warnings in the CareCoordination module and broken code. We broke the dependency resolution when we made modules load from the database so I fixed that.
It looks like the preview of data in the CCDA import process was broken and quite a few areas just didn't load any data. Improved that significantly so both the review and approve as well as the import process do much more than basic demographics. Detailed breakdown is listed below.
- Fix deprecation, warnings,bugs, in CCDA module.
- Several bug fixes, deprecation, and warning fixes to make the ccda work in modern PHP version.
- Fix count php warning in installer. If you emptied the number of enabled hooks it threw a warning.
- Made it so the rev and approve errors thrown are now fixed in the care coordination and syndromic surveillance code.
- Replaced a number of static calls that use the $this parameter with their instance equivalents. Had to introduce the Documents plugin as a dependency
to CareCoordination which is ok since it was being called statically anyway.
- Fix broken dependency modules.
When we moved the loading of the modules to be database driven the detection of dependencies was no longer working.
It looks like ZH at one point wanted to use an INI file to read those but that wasn't being used at all.
Since we already have a module.config.php file I put the dependencies in the array of that file and key off that
in the InstModuleTable piece since it just returns an array as part of that file.
I originally wanted to go down the route of using the ModuleConfigController but instantiating that in the correct
namespace and everything else was a problem, plus future controllers could have injected dependencies which we can't
know about beforehand. The config file seems to be the best place for this. At some point we may be able to deprecate
the ModuleconfigController class alltogether.
12 files changed: