JavaScript version of the ISNCSCI algorithm written with Google Polymer.

isncsci, algorithm, asia, impairment, scale, polymer, javascript, isncsci-algorithm, typescript
bower install rhi-core-isncsci-algorithm



ISNCSCI algorithm written in TypeScript

What is ISNCSCI?

The International Standards for Neurological Classification of Spinal Cord Injury (ISNCSCI) is an examination used to score the motor and sensory impairment and severity of a spinal cord injury. The American Spinal Injury Association (ASIA).

Demo and documentation

We recommend the use of the usecases.CalculateTotalsUseCase class when performing calculations. Just pass your exam data to the usecases.CalculateTotalsUseCase.execute method. The data must follow implement the interface usecases.iIsncsciExamModel.

import { iIsncsciAppStoreProvider, IsncsciTotals, CalculateTotalsUseCase, iIsncsciExamModel } from '@rhi-isncsci/core';

// Set totals will be called when the calculation has been completed.
// We are following Clean Architecture principles in the implementation of our use cases:
// https://www.linkedin.com/pulse/designing-typescript-todo-list-application-following-clean-eduardo/?lipi=urn%3Ali%3Apage%3Ad_flagship3_profile_view_base_post_details%3Bo8kh9v7zTOuNHXWXrFhT9g%3D%3D
const appStoreProvider = {
    setDermatomeValue: (dermatomeName: string, value: string) => Promise.resolve(),
    setTotals: (totals: IsncsciTotals) => { console.log(`These are the totals produced by the algorithm: ${totals}`); };

// Set you exam's raw data in an object that implements the interface `iIsncsciExamModel`
const examData: iIsncsciExamModel = {
    c5RicghtTouch: '2',
    c5RightPrick: '2',
    // Fully implement the interface

new CalculateTotalsUseCase(<iIsncsciAppStoreProvider>appStoreProvider).execute(examData);

Visit our UI project where we have interface elements which will allow you incorporate the algorithm to your web and hybrid application projects.


Download the package using npm:

npm install --save @rhi-isncsci/core

To download the prerelease version of the package:

npm install --save @rhi-isncsci/core@next

Demo and Development

To view a demo and contribute to this project you can download the project using git:

git clone https://github.com/rhi-isncsci/core.git

or download as a zip file.

Run the unit tests

Install dependencies:

npm install

Run the test:

npm test



Prepare the demo by building and linking package by running the command:

npm run prepare:demo

Then you can run the following command to run the node version of the demo.

npm run start:demo:node

You will see a randomly loaded exam and some of calculated data in the console.


Prepare the demo by building and linking package by running the command:

npm run prepare:demo

Then you can run the following command to start interacting with web version of demo.

npm run start:demo:web

This will open a browser where you can view the implemented code to load random exam and calculate the totals.