Stream: implementers
Topic: Synthea Dutch
Michael van der Zel (Dec 10 2019 at 12:35):
@Jason Walonoski Do you know if anybody created the Dutch localization of the different data files? I am trying to do this, but I run into errors. I think I followed the instructions on the Synthea wiki. Hope you can help me out. Thanks!
java.lang.NullPointerException
at java.util.concurrent.ConcurrentHashMap.putVal(ConcurrentHashMap.java:1011)
at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:1006)
at org.mitre.synthea.world.agents.Person.setProvider(Person.java:525)
at org.mitre.synthea.world.agents.Person.setProvider(Person.java:530)
at org.mitre.synthea.world.agents.Person.getProvider(Person.java:518)
at org.mitre.synthea.world.agents.Person.encounterStart(Person.java:455)
at org.mitre.synthea.modules.EncounterModule.createEncounter(EncounterModule.java:133)
at org.mitre.synthea.modules.EncounterModule.process(EncounterModule.java:64)
at org.mitre.synthea.engine.Generator.generatePerson(Generator.java:343)
at org.mitre.synthea.engine.Generator.lambda$run$2(Generator.java:259)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Jason Walonoski (Dec 10 2019 at 13:31):
@Michael van der Zel Not aware of any publicly available Dutch localizations, but I was under the impression that folks have tried it before. This looks like you have an error in your provider files, or you didn't replace the US providers with providers in the Netherlands. The code dealing with provider selection takes into account latitude and longitude, so if there weren't any provider locations within 2 degrees (which varies, but is about 220 kilometers) of your patient address then Synthea won't be able to find any provider locations and you get that NullPointerException.
Jason Walonoski (Dec 10 2019 at 13:31):
The provider files are here https://github.com/synthetichealth/synthea/tree/master/src/main/resources/providers
Jason Walonoski (Dec 10 2019 at 13:32):
See https://github.com/synthetichealth/synthea/wiki/Provider-Data
Jason Walonoski (Dec 10 2019 at 13:35):
Happy to provide additional guidance if you need it. Let me know.
Jason Walonoski (Dec 10 2019 at 13:39):
If you are not ready to replace the US providers yet, one thing you could try is to edit the generate.providers.maximum_search_distance = 32
property to be 360
and it should pick up the US provider locations across the Atlantic and run.
Jason Walonoski (Dec 10 2019 at 14:17):
Just thought of something else. This is sort of complicated: the "state" listed in the demographics, needs to be the match the "state acronym" in the provider files.
Jason Walonoski (Dec 10 2019 at 14:18):
In the demographics file, this is the STNAME
column.
Jason Walonoski (Dec 10 2019 at 14:18):
In the provider files, this is the state
column.
Jason Walonoski (Dec 10 2019 at 14:22):
You may also have to add an entry in the zipcodes file for whatever Dutch state you are creating... essentially, this is equivalent in Synthea to your provinces, e.g. "North Holland" or "Limburg". (edit: Alternatively, you might want to just consider "Netherlands" as the state, but that will effect how addresses are rendered.)
Jason Walonoski (Dec 10 2019 at 14:23):
This is because before Synthea matches on geographical coordinates, it filters by state.
Jason Walonoski (Dec 10 2019 at 14:25):
We do that because there are a lot of providers across the US and we don't want to load them all into memory.
Jim Steel (Dec 10 2019 at 23:37):
We haven't tried Dutch, but our experience with localizing synthea for Australia has shown that it can get pretty complicated, depending on what kind of data you're trying to synthesize.
Jason Walonoski (Dec 11 2019 at 18:20):
I'm open to ideas about how to make localization easier. Anyone who has attempted this (successfully or otherwise) and has ideas on how to simplify it should let me know.
Jim Steel (Dec 11 2019 at 23:37):
I believe our plan is to have our Australia localisation up on github at some point. I'll post it here when that happens
Last updated: Apr 12 2022 at 19:14 UTC