Giter Club home page Giter Club logo

raptor_fork's Introduction

RAPTOR_FORK

THIS CODE IS AVAILABLE AS A SNAPSHOT HERE WITHOUT ANY ACTIVE MAINTENANCE AND IS NOT INTENDED FOR DEPOYMENT USE. REFERENCE THE OFFICIAL VA REPO AT https://github.com/VHAINNOVATIONS/RAPTOR IF YOU WILL DEPLOY.

Radiology Protocol Tool Recorder

RAPTOR is an automated, electronic tool for capturing data that is needed by radiologists to optimize advanced medical imaging protocols including CT, MRI and nuclear medicine. RAPTOR helps to optimize advanced medical imaging protocols at the Veterans Health Administration (VHA) by automating an existing paper-based, error-prone manual process that can take weeks to complete. RAPTOR improves upon the existing system by capturing medical device data automaticall from Veterans Health Information Systems and Technology Architecture (VistA).

Dependencies

  • Apache2/IIS
  • MySQL
  • PHP5
    • php-soap
    • php-dom
    • php-xml
    • mbstring
  • Drupal 7
    • omega theme
      • selectivizr.min.js
      • html5shiv.min.js
      • html5shiv-printshiv.min.js
      • respond.min.js
      • raptor_omega theme
  • Node.js
  • EWD.js
  • Intersystems Cache'
  • VistA
    • Raptor specific KIDs builds
    • EWD integration

Prerequisites

Installation for Production

https://github.com/VHAINNOVATIONS/RAPTOR/blob/automate/installation/README.md

Installation for Demonstration and Development

This automated installation process will create a RAPTOR system on a Linux-based virtual machine.

  • Open your terminal application such as a shell under Linux, Command Prompt under Windows, or Terminal.app on Mac.
  • Clone this repository: git clone https://github.com/VHAINNOVATIONS/RAPTOR.git
  • Use the cd command to go to the root folder of the repository
  • Type the following command to build RAPTOR:
vagrant up

To provision in AWS adjust your environment variables or modify the 'aws' section of the Vagrantfile and execute:

To provision with AWS as your provider you will need to adjust line 25 of provision/cache/parameters.isc to contain the username you are using in AWS:

security_settings.manager_user: vagrant

~By default the username is set to 'vagrant'

If you change this, you need to understand that everywhere in this document where the username 'vagrant' is used, your new username would be used instead.

To change the name you will need to run the following where 'ec2-user' is your preferred username:

sed -i -e 's/vagrant/ec2-user/' /vagrant/provision/cache/parameters.isc

Afterwards, you can build the machine in AWS as follows:

vagrant up --provider=aws

To connect to roll and scroll VistA to install VEFB KIDS build for RAPTOR

vagrant ssh
csession cache

at prompt enter credentials with username: vagrant and password: innovate

D ^%CD

at namespace prompt enter:

VISTA

Type the following to get a prompt for access/verify code:

D ^ZU

Enter access/verify code pair: CPRS1234/CPRS4321$

Select Systems Manager Menu <TEST ACCOUNT> Option: ^^load a distribution
Enter a Host File: /srv/mgr/VEFB_1_2.KID

KIDS Distribution saved on Sep 28, 2015@08:20:31
Comment: RAPTOR KIDS

This Distribution contains Transport Globals for the following Package(s):
   VEFB 1.2
Distribution OK!

Want to Continue with Load? YES//
Loading Distribution...

   VEFB 1.2
Use INSTALL NAME: VEFB 1.2 to install this Distribution.


Select Systems Manager Menu <TEST ACCOUNT> Option: ^^install package

INSTALL NAME : VEFB 1.2

Then select defaults (hit enter) till KIDS installation is complete.

EWDJS and EWD Federator

EWDJS and FEDERATOR resides within the /opt/ewdjs folder

To manually start it you can use this command:

cd /opt/ewdjs
./startEverything.sh

To stop it use this:

cd /opt/ewdjs
./killEverything.sh

Important EWD Links on RAPTOR Development VM

EWD Monitor: http://192.168.33.11:8082/ewd/ewdMonitor/index.html password: innovate EWD: http://192.168.33.11:8082/ewdjs/EWD.js ewdBootstrap3.js EWD Federator: http://192.168.33.11:8081/RaptorEwdVista/raptor/ echo password: innovate

Cache Links on RAPTOR Development VM

CSP is here: http://192.168.33.11:57772/csp/sys/UtilHome.csp username: vagrant password: innovate

Now EWD is running and you should try to log into the RAPTOR application using a user such as:

1radiologist/radiologist1

Credentials

Raptor Site (default site is 500) http://192.168.33.11/RSite500/ username: admin password: raptor1!

  • Resident access/verify: 1radiologist/radiologist1
  • Radiologist access/verify: radio1234/Rad12345!
  • Scheduler access/verify: cprs1234/cprs4321$

Configuration

The following values may be changed to suit your environment:

If you have a vista system with a very long workload listing, this value can be adjusted to make the worklist more managable:

OLDEST_WORKLIST_TICKET_ID = 30000

VistA Terminal Session

csession cache -U VISTA "^ZU"

username: cprs1234 password: cprs4321$

Troubleshooting

Cache

ERROR MESSAGE:

Crash on D ^ZU

VistA logon (the ZU program) displays "** TROUBLE ** - ** CALL IRM NOW! **" if the number of available jobs drops below 3. For those of us with small Cache licenses, this is a permanent condition, so you may decide to edit the ZU program to change the threshold.

Caused by not having a valid license key with enough seats.

ref: https://www.mail-archive.com/[email protected]/msg01755.html

ERROR MESSAGE:

{"code":"RESTError","message":"ewdfederator is not authorised for Web Service access"}

This means that the ewdfederator user has not been set up.

To fix this error see the /opt/ewdjs/RegisterEWDFederator.js script that contains the credentials for the federator to use.

var ewdGlobals = require('./node_modules/ewdjs/node_modules/globalsjs');
var interface = require('cache');
var db = new interface.Cache();
var ok = db.open({
  path: '/srv/mgr',
  username: '_SYSTEM',
  password: 'innovate',
  namespace: 'VISTA'
});

ewdGlobals.init(db);

var ewd = {
  mumps: ewdGlobals
};

var zewd = new ewd.mumps.GlobalNode('%zewd', []);
zewd._setDocument({
  "EWDLiteServiceAccessId": {
    "ewdfederator": {
      "secretKey": "$keepSecret!",
      "apps": {
        "raptor": true
      }
    }
  }
});

db.close();

The startFederator.js script must match these credentials as well.

var federator = require('ewd-federator');

var params = {
  //FEDERATOR
  restPort: 8081,
  poolSize: 2,
  traceLevel: 3,
      database: {
        type: 'cache',
        //path:"c:\\InterSystems\\Cache\\Mgr",
        path:"/srv/mgr",
        username: "_SYSTEM",
        password: "innovate",
        namespace: "VISTA"
      },
  server: {

    RaptorEwdVista: {
      host: '127.0.0.1',  // if federator installed on same physical machine as EWD.js / VistA
	  //EWDVISTA
      port: 8082,
      ssl: false,
      ewdjs: true,
      accessId: 'ewdfederator',  // change as needed
      secretKey: '$keepSecret!'  // change as needed
    }
  },

  service: {
    raptor: {
      module: 'raptor',
      service: 'parse',
      contentType: 'application/json'
    }
  }

};

federator.start(params);

raptor_fork's People

Contributors

frankfont avatar alexpodlesny avatar jasonalun avatar bciv avatar adgedenkers avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.