Directory Structure

The Standalone Vitalsigns system deployment resides on vitalsigns3.smrttouch.com in the vitalsigns user home directory - /home/vitalsigns. In /home/vitalsigns there exists a folder for each client application configured - Etech , Fusion (Tier3 Labs), and Diamond Resorts.

Etech - /home/vitalsigns/etech

Fusion - /home/vitalsigns/Tier3Labs

Diamond Resorts - /home/vitalsigns/diamondResorts

The superset of sub-folders under each clients' top level folder is described in this section:

/input

This folder is the input location for all input files that are to be loaded.

/archive

This folder is the archive location for all input files that have successfully processed.

/archiveZip

This folder is the archive location for all archived files that have been compressed and removed from the /archive folder.

/dbBackup

This folder contains database backups (either Mongo or Posgtres) typically used for initializing a development environment in anticipation of making meta-data modifications. Prior to making modifications to a Vitalsigns meta-data store, it is typical to create a backup of the Postgres meta-data database, restore it to a development environment, make the modifications in the development environment and test them there. Once testing confirms the changes, import the changes back into the production Postgres meta-data repository.

/stage

This folder is used to stage data files for reloading. Sometimes, reloading of previously loaded data files is necessary. Restoring the data files to this folder first, then moving them to the input folder provides a measure of control over the load placed on the dataloader process.

/scripts

This folder contains a set of Unix shell scripts that are useful in maintaining the Vitalsigns application.

/acctMaint

This folders' contents are employed whenever the client requests a significant number of new Vitalsigns user accounts. The client can supply a .csv file containing the following fields:

userName - the Vitalsigns user account name for the account to be created.
dataRole - the Vitalsigns data role to be assigned to this account.
functionalRole - the Vitalsigns functional role to be assigned to this account.
firstName - the first name of the account holder.
lastName - the last name of the account holder.
organization - the organization the account holder belongs to.
disabled - Y or N. Y = the named account is to be disabled.

The createUsers.sh script, when executed, will look for a file in the input sub-folder named etechAccounts_yyyymmdd.csv which contains the records described above. It will create a Vitalsigns account for each record in the file with an N in the disabled field. It will disable each named account in the file with a Y in the disabled field. If a username to be created is already in use, the record is skipped and the existing user account is unchanged. dataRole and functionalRole values must match existing Data and Functional roles already defined in the system or the account will not be created.

Once the accounts are created, a .csv file containing the newly created accounts, a 2nd .csv file containing all acounts, each with the accounts' original password is generated and emailed to the client.

The original input file and the created files are reposed in the archive sub-folder.

Etech Input Data

Etech provides all of their input data in ready to process .csv files. Etech transfers their data files via Secure FTP (sftp) to /home/etech/sftproot. The shell script - /home/vitalsigns/etech/scripts/etechEtlJob.sh - moves the files from the sftp input folder to the Vitalsigns input folder, executes the Vitalsigns dataloader to load the files, checks for error files, and sends an email to the client and numinary support if an error file exists.

The script is scheduled via the cron daemon to execute every 15 minutes throughout each day.

Fusion (Tier3Labs) Input Data

Fusion maintains all of their input data in a local data warehouse. Vitalsigns pulls the data from this data warehouse utilizing a node.js javascript engine. This utility and its' configuration files are located in /home/vitalsigns/nd5dbextract. The utility supports the extraction of data from an MS SQL database.

SQL Extract Utility

/home/vitalsigns/nd5dbextract/configtier3.js contains configuration parameters for the SQL Extract utility.

/home/vitalsigns/nd5dbextract/tier3queries.js contains the SQL queries executed to pull each data set from the Fusion data warehouse. These queries are provided by Fusion.

/home/vitalsigns/nd5dbextract/extractMSSQLData.js is the javascript extract utility. This utility is called by several unix shell scripts to pull the data. These unix shell scripts are executed by the cron daemon on a scheduled basis.

Diamond Resorts Input Data

Diamond Resorts Vitalsigns application is only partially implemented. There is currently no data coming from the client. This application is on hold til further notice from the client. At the point where the client resumes this project, it will be completed in a similar fashion to Etech.