Context
FHIR® – Fast Healthcare Interoperability Resources (hl7.org/fhir) – is the next generation standards framework created by HL7 International. FHIR combines the best features of HL7's v2 , HL7 v3 and CDA product lines while leveraging the latest web standards and applying a tight focus on implementability.
While the standards is still in its infancy, not having reached Normative status yet, there is an increasing number of early adopters that are rushing in to capitalize on its promise - easier and faster integration. There is ample written material on the web that both praises FHIR and warns against reckless adoption practices. This site will attempt to collect the most relevant factual arguments in an effort to bring some clarity and alignment for Canadian implementers.
Executive overview - Grant
As healthcare delivery becomes more complex and increasingly digital, and as patients become more mobile, their personal health information needs to be more readily available to facilitate timely and quality diagnosis and care.
The health informatics community in Canada is actively working to support this availability through the use of FHIR (Fast Healthcare Interoperability Resources) so that health information is appropriately structured and standardized to facilitate its automated exchange and other related machine-based processing. So, what is FHIR?
FHIR is a rapidly emerging information standard informed by years of lessons around requirements, successes, challenges and lessons learned. FHIR describes data formats and elements (known as "Resources") and an Application Programming Interface (API) for exchanging personal health information.
An open specification, FHIR has four principal elements:
- A Comprehensive Data Model for defining personal health information and administrative data.
- An API-Based Mechanism that simplifies the preparation and handling of information and data using ReST-ful (Representational State Transfer) protocols.
- Open Source Tools to implement and test FHIR applications.
- FHIR-Configured Servers that interact with the APIs to facilitate the information availability.
Through these four elements, FHIR aims to simplify and facilitate implementation without sacrificing information integrity. It leverages existing logical and theoretical models to provide a consistent, easy-to-implement yet rigorous mechanism for exchanging data between healthcare systems.
A further advantage of FHIR is that it can be used alone, but also in partnership with existing widely used standards. The FHIR specification is also in-line with the rapidly emerging mobile and web-based exchange of health information. Widely adopted, FHIR has the potential to reduce the risk, timeline and cost of developing the next generation of healthcare applications.
Strengths - Anne
What is it that makes FHIR great? Listing it's core strengths will help define best practices to capitalize on them.
- Modern, web development paradigms for information exchange (RESTful, JSON, XML) and access control (OAuth) accelerating adoption.
- Easy to retrieve, human and machine readable Resources.
- Easy PoS integration to solutions exposing properly formed ImplementationGuides.
- Core model closed and governed by an SDO leading to predictable and controlled growth.
- Extensibility, core design element of the Standard.
Challenges - Anne
Known and foreseeable obstacles raising threats to successful adoption. Some of the considerations that inform the audience on the immediate challenges faced when developing or implementing with FHIR.
Things to consider:
- Significant degree of structural change for most Resources caused by an overall low maturity level - FHIR defines a Resource's maturity level on a scale of 0 - 5, lowest to highest. Backwards compatibility is only guaranteed for levels 4 and 5, consequently, early implementers should expect disruptive upgrade paths for their implementations.
- High level of version variation for Resources - increases in early adoption of the Standard which in itself is evolving at a very high pace are expected to flood the market with a large number of profiles developed on different FHIR builds. Direct effects are incompatibilities in rendering and/or exchange.
- Unbound proliferation of like Resource profiles and Extensions - FHIR makes it all too easy to define a StructureDefinition (aka profile) or an Extension for any particular Resource and then use these in an implementation. Uncontrolled and ungoverned growth resulting from the overuse of this paradigm will inevitably grind FHIR interfaces to a halt because no two Resources will ever be the same. A Patient is not a Patient is not a Patient.
- Lack of tooling supporting the entire life cycle of FHIR implementations.
- Deployment models - a large number of early FHIR solutions are using the RESTful paradigm, however, FHIR also supports the Document, Messaging and Services models. There is little experience in the field using these latter models, early implementers should exercise caution in design and adoption.
- Insufficient formal guidance on modelling using FHIR Resources - the complexity of the healthcare domain did not disappear with the advent of FHIR. Proper solution design is still an absolute requirement to successful proliferation of solutions using the standard. There is a significant gap in training and guidance on modelling using FHIR Resources that could threaten large scale adoption.
- Lack of a mature international marketplace for sharing - there is a recognition in the international standards community that ungoverned growth of FHIR implementations could lead to an overwhelming variability of solutions, significantly hurting large scale interoperability. There are thoughts about establishing FHIR solution registries at national or even more desirable, international level to encourage reuse of Profiles and Extensions. In these early days however, these resources are still lacking making solution discovery and reuse problematic at best.
Best practices - Igor
This is the place to draw on collective wisdom and list what it is that the recommended best approach is for FHIR development to lead to predictable and scalable adoption. We may even be able to break this down per stakeholder category.
- Upfront consideration should be given to short and long term technological needs. Examples are web and mobile apps, cloud services, API based integration for vendors of EMR and other health apps, support for innovative solutions by startups, etc. FHIR exposes native support for modern web technologies making it a very good candidate.
- Large-scale project should consider level of complexity, learning curve and cost of implementation for future adopters, not just project participants. Considerations of future adopters' (e.g. small vendors, healthcare organizations with small IT departments, etc.) limited budgets and resources require shifting the complexity as much as possible to the implementation side (e.g. server/backend) making integration work as simple and inexpensive as possible. FHIR, along with a well-defined architecture can offer a good fit..
- FHIR implementations employing incremental agile approach with frequent delivery and feedback iterations over traditional waterfall approach are more likely to be successful.
- Microservices models with modular architecture exposing well-defined APIs should be chosen over large monolithic systems. FHIR RESTful architecture offers direct support for this approach.
- Optimize database and data services of your FHIR based system for front-end performance and move all the complex data preparation and calculations to the offline back-end processes.
- Employing reusable FHIR components such as open source libraries, tools, models and reference implementations will lead to faster, less expensive implementation. There is an increasingly growing number of supporting resources to utilize (e.g. Furore Forge and IG Publisher to create FHIR specs, ClinFHIR to communicate FHIR models with clinical/business teams, HAPI & FHIR.js libraries for the actual back-end & front-end coding, Simplifier.net - adopted FHIR resources, etc.). Get educated in availability and usability or various tools and components.
- It is recommended to execute test and validation cycles of FHIR resources against open FHIR servers (e.g. Grahame Grieve test server, UHN (James Agnew) test server, Spark and others).
- Getting engaged and consulting work done in Canada and internationally: InfoAPI, US Core, Argonauts project, NHS, Australia, large vendors (e.g. Epic, Cerner, etc.) and others.
- Utilize the FHIR support community, which is a great asset to any project: FHIR chat (most questions answered in minutes), forum, Infoway’s forum.
- Participate in FHIR connectathons, both Canada and Internationally.
- For early adopters designing systems around draft (non-normative) FHIR resources, a recommended pattern could be to define a JSON store as a set of name/value pairs rather than directly adopt FHIR data element names, since all data element and resource names are subject to change until FHIR becomes normative.
- When adopting a draft (non-normative) version of FHIR, choice should be given to a stable version (e.g. official DSTU2 or STU3) over interim versions (e.g. 2016 September STU3 candidate). Many open source libraries and tools would offer no or very limited support for interim versions. If necessary, new data elements should be temporarily pre-adopted as extensions.
- Participate in community engagement for creating and reusing FHIR artifacts such that successful models become ubiquitous rather than redefined over and over again leading to very poor if not impossible semantic interoperability
- Guidance and training activities are very important for creating properly formed, complete FHIR solutions
- Stimulate solution sharing by posting to and adopting from registries of reusable FHIR artifacts
- Find practical means of solving for frequent problems (e.g. URI, ValueSets, Top Canadian Profiles, Top Canadian Extensions, etc.) and properly represent those in developer guides
- Strive towards creating a longitudinal record of the FHIR implementation projects (Business Requirements to Specifications) – such that stakeholders can understand what your solution offers - key ingredient for reuse
The stakeholder perspective - Attila
While FHIR brought along a much needed innovation to the HIT standards space, it is undeniable that the promised benefits and interests look very different depending on the stakeholder category one belongs to. The table below highlights typical stakeholder areas of interest, teasing out where the true value of FHIR is realized.
Stakeholder/Focus area | Investment Definition | Project Definition | Technology | Solution Build & Integration | FHIR Resource | Implementation |
---|---|---|---|---|---|---|
Government | Discovery, Normalization & Reuse | Policies, Strategies | ||||
Project Sponsors | RFP support | Discovery, Solution Reuse | Future Proofing | |||
Technical/Architecture | Integration | System Design, Component Reuse | Conformance Statement | |||
Modellers/Implementers | Module Design, Resource Reuse | Semantic Interoperability | ||||
PoS Integrators/Vendors | Product Design | Connectivity, Conformity Assessment |
FHIR Eco-system - Attila
Successful scaling and adoption of FHIR based solution is predicated on semantically interoperable components. A couple of strategies to achieving this include reuse and solution interfacing. To illustrate this consider the following diagram:
The greatest benefit of FHIR is in the ease of information exchange. For this to work however, the exchanged information needs to be semantically correct and predictable. FHIR models that ensure that this is so are the CapabilityStatement, StructureDefinition, ImplementationGuide. Using these constructs core resource profiles can be set up for reuse or as extensions. This great flexibility can lead to an unbound proliferation of semantically divergent resource models making the solution integrator's job a living nightmare. One way to curb this uncontrolled expansion is by providing FHIR registries of existing solutions where through discovery, FHIR resource definitions can be repackaged and interacted with through standardized programmatic interfaces. The following pictures illustrate this:
FHIR Registry - list of services | FHIR Registry - internal architecture |
Supporting networks and resources - Attila
A place to collect useful information for stakeholders and maybe exploring a roadmap of how all of this could evolve in the future.
We are aware of a number of places and tools that early adopters are using when it comes to FHIR. A classification, description and link to them could help build solution stacks to serve the stakeholder perspectives listed above.
Reference: HL7 International, FHIR.org, FHIR Foundation for international release content, InfoScribe for links to Canadian assets
Modelling: XML editors, Excel Spreadsheets, JSON editors, IGuide build tool, Forge profile editor, Art Decor, Trifolia
Project publishing: InfoScribe
Technical Publishing: IGuide build export, Simplifier.net, Canadian solutions - InfoScribe, project websites
Know-how: FHIR.org zulup, InfoCentral FHIR WG and forum
Discovery: Simplifier.net, InfoAPI for known Canadian interfaces
APIs: HAPI-FHIR (UHN), InfoAPI (roadmap item - client code)
Supporting systems: Terminology Gateway, URI registry (identified roadmap item)
Testing: Grahame Grieve test server, UHN test server, Spark, Aegis, InfoAPI
Platforms: SMART on FHIR, Argonaut
Solution showcase space - Shamil, Igor
Medication Dispenses
Read only FHIR interface for hospital information systems, physicians’ EMRs, regional viewers. The project included conversion of two legacy systems databases into FHIR resources. One of these systems collects claims from pharmacies for patients, whose drugs are covered by one of the provincial programs. Another system collects narcotics dispenses information.
The next phase of this project is to get direct feeds from pharmacies as FHIR POST transactions.
Immunizations
A FHIR based web interface for public, e.g. parents, to retrieve all immunization records of their children, virtual yellow card (the immunizations paper) and to submit missing immunizations. The second phase for the project is to build a FHIR interface for healthcare providers to access and submit immunizations. This part is based on FHIR API which allows EMR and pharmacy vendors to retrieve and submit information directly from their products.
...
Conclusion
This should be no longer that 2-3 paragraphs and it should draw out the essence of what those considering getting involved in FHIR should know.