This presentation was used for the Final session on FHIR Basics education series which deliberated on FHIR implementation considerations and next steps
2. Acknowledgements & Credits
This Presentation borrows from the content of presentations by
➢Grahame Grieve
➢Lloyd McKenzie
➢Ewout Kramer
➢David Hay
➢Michel Rutten
➢ and other members of HL7 FHIR Community.
12-June-2021
Presentation by Kumar Satyam
4. FHIR India Community
• Open community of HL7 FHIR & Interoperability enthusiasts.
• #fhirIndia – social media tag.
• https://fhirindia.zulipchat.com/ - Discussion forum
• https://www.linkedin.com/groups/13932672/ - LinkedIn Group
• https://github.com/HL7India/ - Github
10K by Dec 2021.
12-June-2021
Presentation by Kumar Satyam
5. Glimpse of some of the community activities
✓Review and feedback digital healthcare initiatives like NDHB
✓FHIR India Connectathon – July 2020
✓NDHM FHIR Profiles
✓Concept papers
✓Education & Implementer support
✓FHIR Basics
✓Connect with global community
✓Projects of common interest
✓LOINC Mapping
12-June-2021 Presentation by Kumar Satyam
10. Instance Level
Allows a client to retrieve the current content of a
resource, to update the content to a new state, to
delete the resource, or to see its modification
history
Type Level
Allows a client to search through the existing
resources that already exist, create a new instance
of a resource, or get the history of all changes to
resource of the type.
System Level
Allows a client to determine what functionality is
provided by the system, perform batches and
transactions across multiple resource types, and
get the history of all changes to all resources.
12-June-2021 Presentation by Kumar Satyam
FHIR Base Services
11. Resources in FHIR
• “Resources” are:
• Small logically discrete units of exchange
• Defined behavior and meaning
• Known identity / location
• Smallest unit of transaction
A resource is an entity that:
• has a known identity (a URL) by which it can be addressed
• identifies itself as one of the types of resource defined in this specification
• contains a set of structured data items as described by the definition of the resource
type
• has an identified version that changes if the contents of the resource change
12-June-2021
Presentation by Kumar Satyam
14. The FHIR Manifesto
• Focus on Implementers.
• Target support for common scenarios.
• Leverage cross- industry web technologies.
• Require human readability as base level of interoperability.
• Make content freely available.
• Support multiple paradigms & architectures
Source : Principles of Health Interoperability_ SNOMED CT, HL7 and FHIR 3rd edition
12-June-2021
Presentation by Kumar Satyam
16. Focus on Implementers
❑Open License
❑FHIR maturity model – Focus on adoption
❑Reference implementations & libraries.
❑Public testing servers.
❑Community
❑Connectathons
12-June-2021
Presentation by Kumar Satyam
17. Implementers
FHIR is a platform standard
multiple disparate architectures
widely varying purposes
• FHIR Implementers are from different backgrounds.
• Exposure to previous HL7 standards or other Interoperability standards
• Constrained by existing architecture ( mostly )
12-June-2021
Presentation by Kumar Satyam
18. Guiding principles
• Test using public servers
• Choose a reference implementation – if possible.
• Writing client is easy – Server way harder
• Code generation from schema – Be aware of limitations
• Healthcare is complex – Check implementers safety checklist
12-June-2021
Presentation by Kumar Satyam
19. 5-5-5 Rule
• 5 secs to find the specification on the web
• 5 mins to understand what it is
• 5 hours to have some working code
• And
• 5 years to understand healthcare application development.
12-June-2021
Presentation by Kumar Satyam
21. FHIR Formats
• Systems SHALL declare which format(s) they support in their Capability
Statement
• Clients and servers can choose what syntax(s) to implement.
• In the interests of interoperability, servers SHOULD support both the XML and
JSON formats.
• Turtle (RDF) & bulk data formats
http://hl7.org/fhir/formats.html
12-June-2021
Presentation by Kumar Satyam
22. Client & Server
• Client & Server - FHIR Restful APIs
• Clients
• Lightweight applications
• Issue crud(e) requests to server
• Response & User interface
• Servers
deal with security, threading, multiple representations, searching and indexing, and
persistence.
12-June-2021
Presentation by Kumar Satyam
23. Implementing a Server
• Choose what services to Offer
• Minimally Server must support
Conformance Statement
Decide what resources to support
Read: Get/Search – Should always be provided for resources supported
Write: Create/Update ?
Delete ?
Versioning ?
Remember : APIs are external interface ; how they are implemented is internal is
irrelevant for exchange
12-June-2021
Presentation by Kumar Satyam
24. Implementing a Server
• Fresh ground up FHIR server- Speaking FHIR natively – Rare
• FHIR usually implemented as bolt-on interface to existing legacy services and
data
• Generally following strategies are seen
• Use of Middleware – Convert FHIR operations & formats like HL7 V2.x
• FHIR facades – Convert and expose internal data directly as FHIR
• CDR – data from internal system -> a general purpose database -> expose as FHIR
• Gradual adoption of FHIR by components
• FHIR Create and read – resource may differ.
http://hl7.org/fhir/updates.html
12-June-2021
Presentation by Kumar Satyam
25. Implementing a Server
• Storage Choice
• Applications can use the resources defined by FHIR by storing them natively in a database or
persistent store
http://hl7.org/fhir/storage.html
12-June-2021
Presentation by Kumar Satyam
26. Implementer safety Checklist
• Conformance Related Safety Checks
• E.g.
• I've reviewed the Modifier elements
• My system checks for modifierExtension elements
• my system handles the full Life cycle (status codes, currency issues, and erroneous entry status)
• Complete list : https://www.hl7.org/fhir/safety.html#conformance
• Security Related Safety Checks
• Basic Context : time sync
• Communications: encryption
• Authentication/Authorization:
• Access Control:
• Integrity:
https://www.hl7.org/fhir/safety.html#security-framework
All implementers should run through safety checklist before and after implementation
12-June-2021
Presentation by Kumar Satyam
Many more
27. Tools for Implementers
• Public Test Servers
• https://confluence.hl7.org/display/FHIR/Public+Test+Servers
• Validation Tools
• Java validator
• OpenSource reference implementations
• HAPI
• .Net
• Others
• FHIR Registry – simplifier.net
• Notepad++ plugin
Lot of useful links maintained here: https://fhirindia.zulipchat.com/#narrow/stream/270736-general/topic/Useful.20Links
12-June-2021
Presentation by Kumar Satyam
29. SMART on FHIR
12-June-2021
Presentation by Kumar Satyam
Smart on FHIR open specifications.
Adds to FHIR to integrate with existing health systems :
• A set of scopes and permissions agreed between
client and server that are specific to the app
context.
• Login & authorization
• Oauth2 & OIDC
• Consistent UI integration between client and server.
• Interactive decision support between user, server,
and decision support systems.
“Substitutable Medical Apps, Reusable Technology”
31. What Next
• Participate in connectathons
• Tryout some fhir starter projects
• Map requirements to FHIR – Clinfhir
• Tryout the tools
• Join the implementer community
Try- learn- implement – share
12-June-2021
Presentation by Kumar Satyam