Consent Service - Smile CDR Documentation

Consent Service

A common concern in building healthcare applications is ensuring that local rules are respected around who can see and change different data. These rules may take many forms. A few examples are presented below:

The list above shows a few examples, but the overall point here is that there is a bottomless list of possible consent rules that might need to be applied.

Architecture

As described in Authorization and Consent, the Authorization Service and the Consent Service play related but distinct roles (and in fact these roles may overlap).

The following diagram shows the interplay between these two systems.

Enabling the Consent Service

The Smile CDR consent service is driven by a user-supplied script that implements the specific consent rules of your application. This script can be simple or very powerful, and has the ability to make decisions based on various kinds of input. Consent scripts are configured in FHIR REST endpoint modules (i.e. FHIR REST Endpoint, FHIR Gateway REST Endpoint, and Hybrid Providers REST Endpoint) and FHIR storage modules. This configuration is found in the Consent Service section.

Note that Hybrid Providers projects must implement the following pointcut calls in order for the consent service to work with a Hybrid Providers REST Endpoint module:

Consent Service implementations may be created using either of the following APIs:

Anonymous Access

Consent Service

Security

Authentication Protocols Authorization and Consent Inbound Security Module Local Inbound Security Module LDAP Inbound Security Module Scripted Inbound Security Module SAML Inbound Security Module Trusted Client Mode Roles and Permissions Callback Scripts Anonymous Access Consent Service Consent Service: JavaScript API Consent Service: Java API Security Recipes Two Factor Authentication Password Hashing Algorithms JWT Signature Algorithms Troubleshooting Security

Consent Service: JavaScript API