NIH | National Cancer Institute | NCI Wiki  

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The EVS Report Exporter is a Spring Boot/Vue.js application that makes EVS REST API calls to generate customizable reports of the EVS terminologies.  This application will allow EVS users to extract data out of the NCI Thesaurus (NCIt) triple store database through the EVS REST API. This application provides users a flexible way to download a selected subset of terminologies from NCI Thesaurus.  Users will be able to select entities from the NCIt by entering entity codes into web page, select which properties of that entity to download, select a file format, and download as a file.  A user will be able to enter a list of entity codes or provide a top node of a hierarchy of nodes to resolve.   Hierarchies may be downloaded to a given depth which will be selected by the user up to and including resolving an entire hierarchy.  


It may be required to make deeply recursive method calls requiring plenty of RAM type memory. It is expected to be hosted in a tomcat web application container behind an Apache reverse proxy. The expectation is that an NIH managed Amazon Web Service virtual machine will host the tomcat instance using a war file deployed from a Jenkins track as needed.

...

The architecture will consist of Spring Boot Web Service with a node.js supported Vue.js U.I. The expectation is that this will be hosted on Tomcat with Spring boot Boot and Vue.js wrapped into the war file. If this isn’t possible we may need to use a node.js server to support the UI. No database will be required. We expect the service to have access the EVS API Rest Services which will provide data and API access for much of the functionality.

...

The EVS Report Exporter will have a web user interface to create different formats of reports to export.  These publicly accessed reports will contain user selected selected concepts and concept properties properties as well as the report format type.  Users will be able to select entities from the NCIt by entering entity codes into web page, select which properties of that entity to download, select a file format, and download as a file.  A user will be able to enter a list of entity codes or provide a top node of a hierarchy of nodes to resolve.  Hierarchies may be downloaded to a given depth which will be selected by the user up to and including resolving an entire hierarchy. 

Functional Requirements

#Functional RequirementModuleNotesExpected InputExpected OutputPriority
1Service shall provide ability to return a attributes for a list of valid concept codes.Service
One or more concept codesConcept metadata and properties for each code as limitations of the EVS API allow.  Concept parents will also be expectedHigh
2Service shall provide ability to return a list of concept propertiesService
base URL + /propertiesFiltered list of properties as curated by expert usersHigh
3Service shall provide ability to return a list of export formats available (JSON, CSV, Tab Delimited, Excel)Service
base URL + /<codes>/properties/<format:

JSON,CSV,TABD,EXCEL>/<filename>

Returns file formatted in value indicated by format stringHigh
4Service for Resolved Branch shall provide ability to return a curated list of NCI Thesaurus branch concept codesService
We'll maintain for possible internal use. Not something to be testedN/AN/A
5

Service for Resolved Branch shall provide ability to return entire concepts of a select branch given the following input parameters:

  • NCI Thesaurus branch concept code
  • The number of levels
  • Properties to include
  • Export format (JSON, CSV, Tab Delimited, Excel)
Service
This encompasses and replaces the previous us case.   Expected inputs include base URL /<code>/<properties>/<level>/,<format>/<filename>A flattened version of the branch results including concept metadata, properties and parentsHigh
6

Service for Entity Export shall provide ability to return entities for a list of concept codes given the following input parameters:

  • List of concept codes
  • Properties to include
  • Export format (JSON, CSV, Tab Delimited, Excel)
Service
This is the same requirement and use case as the use case above.  Exception: concept code inputs can be multiple but expected individual outputs are the same.See proceeding columnHigh
7Service for Entity Export shall provide a list of hierarch roots.  These will be the same as those expressed by the EVS API REST serviceService
base URL + /concept/<terminology>/rootsListing of the terminology root concept code and name which will be the same as that expressed by the EVS APIHigh

UI shall be hosted on a public URL available outside the firewallUI


High

UI shall work in the latest versions of Chrome, FireFox, IE, SafariUI


High

UI shall be 508 compliant (https://www.section508.gov/test/web-software)UI


High

UI shall have a header and footer similar to the look and feel and content of the EVS Explorer (https://evsexplore.nci.nih.gov/evsexplore/welcome)UI


Medium

UI shall allow the user to select the type of report they want to export

  • Export Entities Report
  • Export Resolved Branch Report
UI


High

UI Entity Export will allow a user to enter NCI Thesaurus concept codes either manually or paste in a comma delimited list of concept codes.UI


High

UI Entity Export shall allow a user to select what properties that they want associated with the export.  These properties will be a filtered list retrieved from the server.UI


High

UI Entity Export shall allow a user to select the format of the report.  Formats must have a user friendly description. Formats must include:

  • JSON
  • CSV
  • Tab Delimited
  • Excel
UI


High

UI Resolved Branch Export will allow a user to select an NCI Thesaurus top node code.  The user must have the following options for selecting a top node:

  • Enter it manually and have it verified
  • Select it from a curated list of top nodes
  • Present the user with a hierarchical view of the NCI Thesaurus a code to be selected.
    • Do not allow a user to select a leaf node (a node with no children)
UI


High

UI Resolved Branch Export will allow a user to select the number of levels to export.UI


High

UI Resolved Branch shall allow a user to select what properties that they want associated with the export.  These properties will be a filtered list retrieved from the server.UI


High

UI Resolved Branch shall allow a user to select the format of the report.  Formats must have a user friendly description. Formats must include:

  • JSON
  • CSV
  • Tab Delimited
  • Excel
UI


High

UI Resolved Branch shall allow a user to "Export now" or "Export and download later".

  • "Export now"will process the export request and immediately download the file.
  • "Export and download later"will initiate the export process and return a download ID. The user can copy this download ID to retrieve the download later. To retrieve the download, the user will select the Downloads link in the top banner on the right.
UI


High

The Downloads page allows the user to download resolved branch reports that were exported with the Export and download later option. 

When the user selects the Export and download later option and exports, the browser stores the download ID locally and will remember it.

These downloads shall be available for one hour after they are created.  After that, the server will expire the export and it will be removed.

UI


High

On the Downloads page, there will be two tabs:

The Downloads List Tab contains a table of all known Export and download later exports from the current browser. The browser stores a list of the download IDs to display. The Status column can be one of the following status:

  • In Process: The requested resolved branch export is still being processed by the server.
  • Complete: The requested resolved branch export is complete and ready to be exported. There will be a download button visible.

The Downloads Search Tab allows a user search for a download ID that they got when they selected Export and download later. The user can search for their download ID. The three possible respones are:

  • In Process: The requested resolved branch export is still being processed by the server.
  • Complete: The requested resolved branch export is complete and ready to be exported. There will be a download button visible.
  • Expired: The requested resolved branch export has expired and is no longer available.
UI


High

...