-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
concurrent support for multiple fhir versions #29
Comments
Timely question. My plan was to:
Thoughts? |
@bkaney, @jec, @dlanphear9, @wesrich, @johncalvinyoung -- we've discussed this approach internally.. were there other problems that I haven't listed? |
@olbrich some responses...
|
Yes, we've had a number of discussions around that -
|
We will need to support FHIR 3.0.0 pretty soon, since that was recently released and we are starting to see some implementations pop up in the wild. Unless people have been actively working on multi-version models and see that landing here soon, we'll just update this gem from 1.8.0 to the new version in the same way we've done in the past. fyi @olbrich @dlanphear9 @wesrich |
@arscan We are working on a multi fhir version, but it's not ready yet. |
You may be too far down the road to pivot at this point, but have you considered a factory pattern? Here's an example interface that might appear in config/initializers/fhir.rb
In this case, the FHIRFactory would return an object whose child constants would support the correct version. I hadn't thought this through, but you could probably use const_missing to default FHIR to whatever you thought was the most appropriate version... though on further thought, it would probably be better to force users to be explicit. This keeps things relatively simple for the 80% case -- applications that support one format. And it makes it also pretty easy for those that support multiple formats. They would just come up with a different constant name. |
@mustmodify the approach we are taking would allow for something similar. |
Great! I appreciate the work you are doing. Since that could really affect new users' experiences, make sure the README is explicit. I'd be happy to "beta test" your instructions. Thanks again! |
It's not unusual to be working in an environment where multiple FHIR endpoints are used and it is unlikely that all of them will be able to upgrade to the latest version of the standard at the same time.
How can we support multiple versions of FHIR at the same time?
@jawalonoski What are your thoughts on how to implement this?
The text was updated successfully, but these errors were encountered: