FHIR Chat · Open Source Javascript implementations · javascript

Stream: javascript

Topic: Open Source Javascript implementations


view this post on Zulip Grahame Grieve (Nov 14 2018 at 13:07):

ok: http://wiki.hl7.org/index.php?title=Open_Source_FHIR_implementations#Javascript - please edit and fill this out

view this post on Zulip Grahame Grieve (Nov 14 2018 at 13:09):

view this post on Zulip Robert Winterbottom (Dec 19 2018 at 15:06):

Hey everyone, just wanted to share some news with the community. I am proud to say we (asymmetrik) have open sourced several more JavaScript related FHIR tools. These are individual tools we have developed in our open source secure JavaScript server. We pulled them out of the server and made them standalone modules. This makes them easier to test, develop, and version.

We plan to integrate these back into all of our open source servers (node-fhir-server-core, node-fhir-server-mongo, and graphql-fhir) in the next month or two. They are currently available in a monorepo at https://github.com/Asymmetrik/phx-tools. You can click into the packages directory to see all the tools.

We have GraphQL schema utils (fhir-gql-schema-utils), Smart on FHIR GraphQL authentication module (sof-graphql-invariant), Smart on FHIR scope checker (sof-scope-checker) which is useful for building custom middleware, and Smart on FHIR passport strategy (sof-strategy). All of these are already published on NPM and ready for use.

We have a parameter sanitizer in early beta but it will be changing so it is not published yet and will be adding some more tools in the near future.

view this post on Zulip Grahame Grieve (Dec 19 2018 at 22:03):

how do/should these relate to other open source js code?

view this post on Zulip David Hay (Dec 20 2018 at 00:12):

I notice that the server is 'bound' to US Code: - how extensible is that? ie ie you wanted to support other profiles or 'ad hoc' extensions for example...

(I guess I could just look at the code - I'm being lazy :) )

view this post on Zulip Robert Winterbottom (Dec 20 2018 at 13:19):

@Grahame Grieve These are designed to help others build javascript based facade server's of their own or make it easier for others to contribute to the tools that will be used in our open source server's. In my experience in the open source world, people can often shy away from making contributions to larger projects, but smaller individual modules lowers that barrier. Currently their is 4 open source JS modules and we plan to add more coming soon, possibly even some client side ones since these at the moment are all intended for node.js. We would love to see others contribute or pull these into their own projects.

@David Hay Thats a good question. The code generated in node-fhir-server-core and graphql-fhir is generated from structure definitions and only performs structural validation. Full validation is a fairly high priority item on the roadmap. We are internally working on updating that to cover extensions, custom profiles, newer versions, and much more. Most of the generated code also generically allows extensions and modifierExtensions defined in structure definitions to be passed in. So if you pass one of those in on your resource, we won't block it, but we aren't validating it. Im not positive where that tool is going to land (open source vs free service vs premium service), but that would allow the server's to be extended to whatever they need. Plus, anyone could always fork it and add more customizations on top of that if needed.

We are trying to develop things in a pluggable manner so it could adapt to whatever you need. Some of the code we published may be specific to certain profiles or extensions, but we would love to make them more generic where it makes sense or even add more modules specific to other profiles so they can be easily swapped in to various projects.


Last updated: Apr 12 2022 at 19:14 UTC