FHIR Chat · Profiled bulk data generation using FSH · shorthand

Stream: shorthand

Topic: Profiled bulk data generation using FSH


view this post on Zulip Richard Stanley (May 20 2021 at 00:53):

Hi folks. I'd like to create 1000s of fake patients with immunization records using an IG. But, Synthea doesn't support creating profiled bulk data. Could that be done with FSH? I can see how it could be done with the generated JSON, but I'm curious if folks have tried programmatic editing of FSH in bulk, e.g. bringing the Antlr into [insert fave programming language]? @Carl Leitner

view this post on Zulip Jose Costa Teixeira (May 20 2021 at 07:14):

is this preliminary discussion related?
https://chat.fhir.org/#narrow/stream/215610-shorthand/topic/Feature.20request.20-.20data.20lookup

view this post on Zulip Richard Kavanagh (May 20 2021 at 07:16):

My understanding is that yes it can.

You can use the existing profiles (even if they are not in FSH) and then create your code to generate instance files using FSH. As long as you declare in the instance which profile the instance is using when you run it through SUSHI it will validate the instances and output the actual FHIR instances.

That's my understanding at least :-)

view this post on Zulip Chris Moesel (May 20 2021 at 12:35):

I think I do recall some people generating FSH files from a script (I'm remembering @Keith Boone, but I'm not positive about that) -- and as @Jose Costa Teixeira pointed out above, others have discussed approaches for generating FSH from tables of data and such.

I still think that to generate FSH instances from profiles would be a fair amount of work, however. Someone still has to write the code that understands profiles well enough to generate FSH code that conforms to them. I think that will require some investment. As @Richard Kavanagh pointed out above, SUSHI does provide some help, in that it does some high-level validation (mainly cardinality and type-checking) -- but it's worth noting that SUSHI does not do full validation. SUSHI also does help some by automatically setting required fixed values (but it does not do this for optional fixed values).

Also, in full disclosure, it's worth mentioning that SUSHI currently doesn't perform well with thousands of instances. I've recently heard of a project with almost 2500 instances that takes SUSHI about 40-45 minutes to chug through. We'd like to address that and get down to a more reasonable time, but that's where it sits right now.


Last updated: Apr 12 2022 at 19:14 UTC