-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
80 changed files
with
13,223 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. | ||
} | ||
|
||
} | ||
?> |
Oops, something went wrong.