Viewlet Framework
Summary
Developed by eHealth Ontario (now part of Ontario Health), Viewlets are single purpose web applications like SMART apps that can offer pluggable extensions to POS systems that operate within Ontario Viewlet framework. Similar to the SMART apps, they are independent of the implementation technology, however provincially developed Viewlets follow a common UI framework and libraries.
The Ontario Viewlet framework ecosystem includes:
- ONE ID as the central authorization service – ONE ID is the provincial provider authorization and authentication solution offering OAuth2 and OIDC capabilities.
- Integrates with provincial context management service (CMS)
- Follows the Viewlet launch sequence (closely resembles SMART-on-FHIR EHR launch sequences)
- Discoverable by provincial toolbar configuration
Viewlets have been incorporated into certified EMRs in Ontario to offer a number of visual extensions. Current viewlet farmwork is referred as Viewlet Framework v1.
Description
The Viewlets were developed with the aim of:
- Offering a faster channel to access provincial services to end users since the legacy mechanisms take longer deployment cycles.
- Alternative to API based service consumption
- Offer better user experience such as single sign on and in-context launch
- A solution that can easily be adaptable at various deployment settings such as local and ASP based, various levels of FHIR capabilities and for other uses
This solution is influenced by SMART-on-FHIR, it was intentionally kept closer to it in order to minimize the learning curve and easy adoption. However, number of components were introduced to the ecosystem to adopt the SOF pattern to accommodate two environment contexts.
Comparision of viewlets launch capability with the:
SMART Launch | Viewlet Launch |
---|---|
https://app_launch_url?launch=123&iss=https://fhir_server_base_url) | https://viewlet_launch_url?launch=123& iss=https://fhir_sever_base_url[&inheritanceID=454545]) Launch – Hub topic id of the CMS InheritanceID – In case access inheritance is used for authorization |
Access inheritance is Ontario OAuth server extension capability which allows host application’s authorization profile to be inherited to the viewlet. Its an optional parameter that can be used within the viewlet launch that can help easily manage authorizations at each sites centrally.
Improvement opportunities in the current implementation (Viewlet Framework v1):
- Standalone launch is not supported via Viewlet framework.
- Authorization response does not align with SMART on FHIR, such as patient or EHR user is not provided.
- CMS implementation does not fully align with FHIRcast
- Other SMART-on-FHIR applications cannot play in the ecosystem
- Only one way data sharing with provincial assets
Example of Viewlet Framework Conceptual Flow