IMViewer Specification

From Discovery Data Service
Jump to navigation Jump to search

Overview

The Information Model Viewer is an openly public-accessible application which allows its users to view the Discovery Information Model in its entirety. Due to the Information Models size and complexity, the viewer is broken down into a number of individual contextualised sub-modules, all accessed from a top level main page. Each sub-module will open in its own individual browser tab to allow the user to be able to quickly switch between contexts without losing their previous position.

Authentication & security

AWSCognito.png

Whilst the application is openly public-accessible, a simple single-factor authentication mechanism is provided to help prevent abuse of the application. Registration is fully automated, requiring only a username, password and email address, via which an email validation code will be provided. Authentication is provided via the AWS Cognito authentication service.

Login

The Login form is a standard username, password text entry fields plus a login button. On successful login, an authentication token is received from AWS Cognito and passed to all subsequent API calls (Authorization: Bearer). An additional Create Account button allows a new user to self-register.

Registration

The registration form also contains username and password, plus an additional E-mail field that is used to send the user a code to verify their email address. On registration, AWS Cognito is called to start the registration process by creating a unconfirmed user and generating and sending a confirmation code to the email address supplied.

Confirmation

The confirmation form is presented immediately after the registration form is completed, and also presented if a user attempts to logon using an unconfied user account. On entering a valid confirmation code, the user account is fully created/enabled and the user is returned to the login form.

Front end security

If the authentication token is found to be invalid, or if the API returns a 401 Unauthorised response, then the user should be immediately logged out and returned to the login screen.

API

All application API calls should be suitably secured by first validating, then verifying the access token with AWS Cognito. If the token fails then a 401 Unauthorised response should be returned and no further processing of the call attempted.

Application modules

Main page

The main page should provide introductory text describing, in brief, the Information Model and its contents. Further sections should be displayed, one per sub-module, with a brief description of its content/function and an option to launch that module. NOTE: each sub-module should open in a new browser tab/window and not require the user to login again.

Functionality common to all modules

All sub-modules should include the following core functionality: -

  • Text based search function
  • Tree navigation (progressive loading for large trees)
  • Direct-to-concept URL support
  • Concept summary display
  • Cross navigation to other modules (where appropriate) , in context e.g. a value set in VM Viewer to definition in ontology and data model property range to value set etc
  • Access to download area to download the information model in CSV, Discovery Syntax, and various OWL syntaxes

Ontology module

The ontology module allows the search and display of all concepts within the Information Model from the perspective of their semantic meaning.

Functionality

  • OWL Definition display

Data model module

The data model module allows the search and display of the subset of concepts in the Information Model from the perspective of the model of health care data, its structure, and its linked content.

Functionality

  • Data model properties display

Data model maps module

The data model maps module allows the search and display of the subset of concepts in the Information Model from the perspective of the transformation and mapping of the Data Model to a particular database.

Functionality

  • Data model maps display

Value set module

The value set module allows the search and display of the subset of concepts in the Information Model that relate to value sets, ranging from defining a data set according to a set of recorded concepts, indicating the expected range of a property in a health record, or testing the presence of a feature in a patient record.

Functionality

  • Value set definition display
  • Evaluation of definition & display or resulting members

Data set module

The data set module allows the search and display of the subset of concepts in the Information Model that relate to the rules and filters that can be applied to a data model.