CqlToR4Library error: fhirhelpers not found
cmoesel opened this issue · 2 comments
Describe the bug
When running CqlToR4Library on a CQL file that depends on FHIRHelpers, the tooling reports the following error:
java.lang.IllegalArgumentException: Referenced library: fhirhelpers not found
at org.opencds.cqf.tooling.library.r4.LibraryGenerator.processLibrary (LibraryGenerator.java:41)
at org.opencds.cqf.tooling.library.BaseLibraryGenerator.execute (BaseLibraryGenerator.java:66)
at org.opencds.cqf.tooling.cli.Main.main (Main.java:235)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run (ExecJavaMojo.java:279)
at java.lang.Thread.run (Thread.java:829)
I am including FHIRHelpers.cql
in the same directory, and I have also tried various other file names (FHIRHelpers-4.0.1.cql
, fhirhelpers.cql
, fhirhelpers-4.0.1.cql
). No matter what, I cannot get past this error.
To Reproduce
Steps to reproduce the behavior:
- Download and unzip this simple folder of CQL: SimpleLibrary.zip
- Run the following command from this project's
tooling-cli
directory:mvn exec:java -Dexec.mainClass="org.opencds.cqf.tooling.cli.Main" -Dexec.args="-CqlToR4Library -ptcql=/Path/To/SimpleLibrary/SimpleLibrary.cql"
(replacing the path with the correct one for your system) - Observer the error
Expected behavior
It should generate the library for SimpleCQL.cql.
Desktop (please complete the following information):
- OS: Mac OS Ventura
- Java Version: openjdk 11.0.17
Am I doing something wrong? Should this work? Or is it a known bug/limitation?
In BaseLibraryGenerator.execute() after the translateCQLFiles() call, the FHIRHelpers library is contained in the libraryManager.libraries. It is NOT in the translatorMap, which is looped through with LibraryGenerator.processLibrary() called for each library in the translatorMap. libraryManager is not used in processLibrary