Skip to content

Commit

Permalink
added all
Browse files Browse the repository at this point in the history
  • Loading branch information
ridz1208 committed Nov 17, 2017
1 parent 20e6ecc commit 13aa15a
Show file tree
Hide file tree
Showing 80 changed files with 13,223 additions and 0 deletions.
179 changes: 179 additions & 0 deletions config.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--
NB: because study and sites elements get merged in a recursive and
overwriting manner, any time when multiple elements of the same type
(such as <item/> <item/>) occurs in the study or sites tree, the
sites tree will overwrite the element entirely instead of simply
merging - i.e., if the multiple elements are branches, the sites
branch in its entirely will override the study branch.
-->
<config>
<include>lorisDB.xml</include>
<!-- set to 1 if development environment -->
<dev>
<sandbox>1</sandbox>
</dev>

<!-- MINC TOOLS PATH -->
<MINCToolsPath>/opt/minc/</MINCToolsPath>

<CouchDB>
</CouchDB>

<!-- study variables -->
<study>
<PSCID>
<!-- PSCID (Study Center ID) generation method possible options: sequential/random/user -->
<generation>random</generation>
<structure>
<seq type="siteAbbrev"/>
<seq type="numeric" length="3" min='100' max='999'/> <!-- Ex: AAA1-->
</structure>
</PSCID>

<ExternalID>
<generation>random</generation>
<structure>
<seq type="siteAbbrev"/>
<seq type="numeric" length="3" min='100' max='999'/>
</structure>
</ExternalID>
<!--Header table is diplayed on top of instrument list page and instrument pages -->
<HeaderTable>
<!--Specify the table as the tag and the field to query as the value inside the tag -->
<parameter_candidate>candidate_comment</parameter_candidate>
<candidate>ProbandDoB</candidate>
<parameter_session>MRI_Done</parameter_session>
</HeaderTable>
<!-- defines how visit labels are assigned -->
<visitLabel subprojectID="1">
<!-- generation can have either 'user' or 'sequence' to denote user entered or a pre-defined sequence -->
<generation>sequence</generation>
<regex>/^[A-Z0-9]{2}$/i</regex>
<length>2</length>
<suggest>V%value%</suggest> <!-- %value% will be substituted for the next unique number -->
<labelSet>
<item value="V1">V1</item>
<item value="V2">V2</item>
<item value="V3">V3</item>
</labelSet>
</visitLabel>
<visitLabel subprojectID="2">
<!-- generation can have either 'user' or 'sequence' to denote user entered or a pre-defined sequence -->
<generation>sequence</generation>
<regex>/^[A-Z0-9]{2}$/i</regex>
<length>2</length>
<suggest>V%value%</suggest> <!-- %value% will be substituted for the next unique number -->
<labelSet>
<item value="V1">V1</item>
<item value="V2">V2</item>
<item value="V3">V3</item>
</labelSet>
</visitLabel>
<visitLabel subprojectID="3">
<!-- generation can have either 'user' or 'sequence' to denote user entered or a pre-defined sequence -->
<generation>sequence</generation>
<regex>/^[A-Z0-9]{2}$/i</regex>
<length>2</length>
<suggest>V%value%</suggest> <!-- %value% will be substituted for the next unique number -->
<labelSet>
<item value="V3">V3</item>
<item value="V4">V4</item>
<item value="V5">V5</item>
<item value="V6">V6</item>
</labelSet>
</visitLabel>
<visitLabel subprojectID="4">
<!-- generation can have either 'user' or 'sequence' to denote user entered or a pre-defined sequence -->
<generation>sequence</generation>
<regex>/^[A-Z0-9]{2}$/i</regex>
<length>2</length>
<suggest>V%value%</suggest> <!-- %value% will be substituted for the next unique number -->
<labelSet>
<item value="V3">V3</item>
<item value="V4">V4</item>
<item value="V5">V5</item>
<item value="V6">V6</item>
</labelSet>
</visitLabel>
<!-- Instruments for reliability module -->
<ReliabilityInstruments>
<Instrument>
<Testname>bmi</Testname>
<Threshold>0.5</Threshold>
<Displayname>BMI</Displayname>
</Instrument>

</ReliabilityInstruments>

<!-- certification module -->
<Certification>
<EnableCertification>1</EnableCertification>
<CertificationProjects>
<!-- add project for which certification module should be enabled-->
<CertificationProject>1</CertificationProject>
<CertificationProject>2</CertificationProject>
<CertificationProject>3</CertificationProject>
</CertificationProjects>

<CertificationInstruments>
<test value="bmi">BMI</test>
<test value="radiology_review">Radiology Review</test>
</CertificationInstruments>
</Certification>
<!--This permission allows users from sites to have access to other sites bvl feedback info -->
<multiSiteEnabledCenters>0</multiSiteEnabledCenters>

<!-- Consent module allows addition of consent information in the candidate information page-->
<ConsentModule>
<useConsent>true</useConsent>
<Consent>
<name>study_consent</name>
<label>Consent to Study</label>
</Consent>
<Consent>
<name>raisin_consent</name>
<label>Consent to Raisin</label>
</Consent>
<Consent>
<name>bread_consent</name>
<label>Consent to Bread</label>
</Consent>

</ConsentModule>

</study>
<!-- end of study definition -->

<gui>
<showDatabaseQueries>0</showDatabaseQueries>
</gui>

<!-- used by _hasAccess in NDB_BVL_Instrument to determine
what permissions should be required for each instrument
on a configurable basis. -->
<instrumentPermissions>
<!-- By default anyone has permission -->
<useInstrumentPermissions>false</useInstrumentPermissions>
<!-- Add one instrument tag for each instrument that is
having it's permissions configured. If an instrument
is missing, the default is for users to have access
-->
<instrument>
<!-- Instrument name -->
<Test_name>sampleInstrument</Test_name>
<!-- Permission required for accessing instrument.
If multiple permissions are added, *any* of
them individually will allow access to the
instrument -->
<permission>sampleInstrumentPermissionName</permission>
</instrument>
<instrument>
<Test_name>sampleInstrument2</Test_name>
<permission>sampleInstrument2PermissionName</permission>
</instrument>
</instrumentPermissions>

</config>

Binary file added data/training/pdf/bmi.pdf
Binary file not shown.
130 changes: 130 additions & 0 deletions instruments/NDB_BVL_Instrument_TEMPLATE.class.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
<?php
/**
* This file contains the NDB_BVL_Instrument_TEMPLATE
* class
*
* PHP Version 5
*
* @category Instrument
* @package TEMPLATE
* @author Stella Lee <[email protected]>
* @license http://www.gnu.org/licenses/gpl-3.0.txt GPLv3
* @link https://www.github.com/aces/loris/
*/

/**
* Creates the form elements for the Boston_Diagnostic_Aphasia_Exam instrument
*
* @category Instrument
* @package TEMPLATE
* @author Stella Lee <[email protected]>
* @license http://www.gnu.org/licenses/gpl-3.0.txt GPLv3
* @link https://www.github.com/aces/loris/
*/
class NDB_BVL_Instrument_TEST_NAME extends NDB_BVL_Instrument
{

/**
* Sets up basic data such as the HTML_Quickform object, database references
*
* @param string $commentID the CommentID identifying the data to load
* @param string $page if a multipage form, the page to show
*
* @return void
* @access public
*/
function setup($commentID, $page)
{
$this->formType ="XIN";
$this->form = new HTML_Quickform('test_form');
$this->page = $page; // page label (number or
// string - used by
// user-defined child classes)

// set the object properties
// Corresponds to the Test_name column in test_names table
$this->testName = "<TEST_NAME>";
// name of database table corresponding to instrument
$this->table = '<TEST_NAME>';
// data keyed by commentID
$this->commentID = $commentID;

//The array of dates/timestamps to convert to database dates/timestamps
//Any HTML_Quickform date elements must be listed here
$this->dateTimeFields =array("Date_taken");

//The array of selects with multiple answers allowed
//Any HTML_Quickform multiple selects must be listed here
$this->_selectMultipleElements = array();

// required fields for data entry completion status
$this->_requiredElements = array(
'Examiner',
'<FIRST QUESTION OF EACH PAGE>',
);

// setup the form
$this->_setupForm();

}

/**
* Builds the HTML_Quickform object into a paged form
*
* @return void
* @access private
*/
function _setupForm()
{
if (preg_match("/<TEST_NAME>(_page[0-9]+)/", $this->page, $matches)) {
$this->_page($matches[1]);
} else {
$this->_main();
}
// Defines the call back function for HTML Quickform to use in validation
$this->form->addFormRule(array(&$this, 'XINValidate'));
}

/**
* Generates the main page of the form.
*
* @return void
* @access private
*/
function _main()
{
// display test name
$this->addHeader("<INSTRUMENT TITLE>");

// automatically adds examiner & date of administration
$this->_addMetadataFields();

// If the instrument is not paged,
// remove the switch from the _setupForm method
// and add all the form Elements in this function
}

/**
* Page 1
*
* @return void
**/
function _page1()
{
//add form Elements here as needed.
//continue onto further pages, if needed.
}

/**
* Page 2
*
* @return void
**/
function _page2()
{
//add form Elements here as needed.
//continue onto further pages, if needed.
}

}
?>
Loading

0 comments on commit 13aa15a

Please sign in to comment.