extend support to synthea 3.0 release
fdefalco opened this issue · 5 comments
+1
I am also unable to run nor build Synthea 2.7.0, due to obscure Java issues. Therefore I can't use ETL-Synthea at all.
@fabkury - You can download the 2.7 release JAR from the Synthea releases and then run Synthea with the 2.7 release JAR without having to compile.
If you take a look through this gist you'll see ways of overcoming some of the weird Java issues I've also experienced.
https://gist.github.com/fdefalco/35b7844626a9d8808d99bf5990e46ed2
Thanks, @fdefalco .
I went through your gist and tried many variations of all options mentioned (--illegal-access=permit --exporter.fhir.transaction_bundle false --exporter.csv.export true --exporter.practitioner.fhir.export false --exporter.hospital.fhir.export false --exporter.fhir.export false --exporter.years_of_history 20...), and using the java.exe binaries from Java 8 JDK and Java 18 JDK, but I keep getting very obscure errors:
java.lang.NoClassDefFoundError: Could not initialize class org.mitre.synthea.export.CSVExporter$SingletonHolder
java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.util.concurrent.atomic.AtomicLong java.util.Random.seed accessible: module java.base does not "opens java.util" to unnamed module @80503
Kind regards.
A bit late from your post @fabkury , but if still helpful I made a quick Docker image that can run the older Synthea version using the older Java version. If you run the container interactively with a host mount, can easily get the data out:
- Code: https://dev.azure.com/acomphealth/OpsForInformatics/_git/synthea-docker
- Public container registry: acomphealth.azurecr.io/synthea:v2.7.0
Example command that starts the Docker container interactively and mounts a host volume. Once running, can execute the Synthea application and then exit the container once records are created.
docker run -it -v /host/path/for/output:/synthea/output datasci/synthea:2.7.0 /bin/bash
java -jar synthea-with-dependencies.jar -p 10000 --exporter.csv.export true
exit
Thank you, Wade.