By long-standing user request, we’ve launched the @SkycappOfficial channel on YouTube.
In our first 8-minute video, “Introduction to HL7 FHIR Foundry”, you’ll find an all-audiences overview of HL7’s specific objectives, use cases, and policies of the Foundry deployment of Skycapp, with a brief technical demo at the end for “hands on” FHIR adopters of all skill levels.
Transcript
2024 Introduction to HL7 FHIR Foundry for Adopters Transcript
Introduction
Hello, and welcome to HL7 FHIR Foundry. My name is Preston Lee, the architect of the infrastructure behind it.
Foundry launched in May, 2024 as HL7’s hub for the discovery, evaluation, and installation of curated FHIR reference implementations produced by the community, as well as broader software products that are both compliant with FHIR and provide value to the FHIR adopters.
At first glance, Foundry provides a curated catalog of FHIR-oriented products. While true, visual cataloging isn’t the primary objective of the system. Rather, Foundry is about adoptability. It aims to dramatically accelerate FHIR adoption through high-quality RIs, turnkey integration examples, hands-on testing, and reducing barriers of FHIR adoption to the smallest footprint possible. All in a vendor-neutral ecosystem prioritizing standards, interoperability, and cooperation.
Adopter Use Cases
From a FHIR adoption standpoint, let’s take a look at the three tiers of delivering adopter value through Foundry: Discovery, Evaluation, and Deployment.
Discovery
Every “tile” in the Foundry catalog corresponds to a “product” listing. A “product” is a little abstract, but usually correspond to either a single piece of software or content or a collection that is prewired work together to solve a bigger challenge. Curators organize products via badges and searchable metadata. Our favorite submissions have 3 core qualities:
- Actionable those with minimal resources, as opposed to mainly large, profitable healthcare systems able to afford informatics teams.
- Strictly conformant to standards to maximize reusability in a default form, as opposed to publishing something doesn’t work out of the box because it always requiring local modification.
- Compatibility with other easily deployable, standards-based products that fill any implementation gaps required for local adoption, as opposed to requiring the use of a specific 3rd-party product or proprietary platform.
Product listings include any links source code, support, external references to specifications, wiki pages, test reports, project plans, event calendars etc, as well as screenshots and usage instructions. The product definition applies to all builds of a product, and sometimes published prior to any software actually being available, and may remain available after software is removed for security, deprecation, or other reasons.
Evaluation
The most basic of type of interactive product is one hosted under HL7 FHIR Accelerator programs. These are typically RIs that are produced to meet the requirements of the FHIR Implementation Guide balloting process. In most cases, these are shared, public instances run under the hl7.org domain that are featured at Connectathons, Working Group Meetings, and other community events.
These products will have a large Try It Now button that links out to a shared public instance for demo purposes and anonymous access using synthetic data. This is the easiest way to see a RI in action, though because they are shared public instances, may not always function as expected. Also note Foundry does not host every single version of an RI, may be more up to date than their last balloted specification, and are not required to fully implement an IG to be live.
Deployment
The top tier product delivery is preintegrated software stacks that you can download and run on your own computer or cloud environment. This requires developers to meet an incrementally higher level of publication requirements, so it isn’t typically isn’t enabled when a product listing is first published. If you haven’t use containerized software before, we highly recommend starting with Docker Desktop for Windows, macOS, or Linux, and branching out when you feel more comfortable. For Mac users, most products will work on the ARM-based processors that ship with all newer Apple machines using built-in Rosetta technology, though testing on MacOS it’s not a strict requirement for product publication.
To use Foundry’s product distribution features, log in with your HL7 account and make sure you have a platform environment declared. A Foundry runtime platform is just a grouping mechanism or namespace for products you want to deploy as an integrated whole. It could be anything from your local laptop to a large cloud environment. There is no limit to the number you can define, and you can delete and recreate them at any time. Next, use the catalog to find the product or collection to you want to try locally, select a default configuration, and at it to your platform. The system will automatically add any and all underlying product dependencies for you according to the configuration you select. For example, a given FHIR server product may support different versions FHIR, but not at the same time. In this case, you may see different configuration options for the same product to accommodate different use cases. It’s also common to see different configurations that enable or disable certain sets of features. if you don’t like any of the pre-configured options, select the closest one and then customize it in your platform settings.
With your product configurations added to your platform definition, most users will want to download a Docker configuration file that will download and run everything in a single command. Some products may require additional configuration files that must be present in the same directory. If required, they will be listed next to the download buttons.
Assuming you have container, runtime software already installed, his typically a single command to download and start everything immediately on your own computer. With everything running, you can click through the instructions for every individual product for getting started information provided by the product developer. If you yourself are a developer, this is the point where you’ll typically want to disable the prebuilt images you want to work on within the configuration and use your own modified copy instead. For complex these cases involving many moving parts, this is typically the fastest way to get your hands dirty with your own customizations.
One-Click Deployment
The platform also takes things one step further by automating the above deployment steps, functioning as controller to deploy your selection an orchestrated container environments of choice, such as Kubernetes, through a piece of agent software run within that environment. These advanced features are currently disabled and Foundry and will be available in the future.
Data Seeding
All products are required to work out of the box and a reasonable default configuration. However, whether those defaults are reasonable to YOU is a different story. In many cases, this requires the developer to provide seed data, such as a fire bundle, that must be loaded after the software starts up. We prefer the seeding data after application to make it easier for you to customize your own distributions using your own data files. some products may ship with a tool called the stack controller that provides buttons to load seed data files, reset the environment to a default state, and provide links to the software URLs running on your local computer.
Roadmap
Over the coming years, Foundry’s catalog will expand dramatically both in shear number product listing, as well as the capabilities enabled by those listings. Additionally, FHIR-oriented content, be it CQL libraries, knowledge artifacts, resource bundles or other computable artifacts, will begin to trickle in as the baseline distribution features become more established.
Help & Support
For Foundry help and support, the links within the menu system that address many common questions and issues, particularly for developers. For guidance on submitting your own products, start with the guides on how to package your product for distribution, as well as the submission checklist that will be used by the Curation team. Oonce you’re ready to start the submission process, use the self submission form to notify the curators. Self-curation is not enabled at this time. For support, the Foundry channel on Zulip is the best place to start. You may also submit general feedback and questions using the link in the top menu, or feedback specific to a published product using the button within its product page.