The GENVASC module
Tags: GENVASC Study
Primary function: label printing
This is a custom-built drupal module to generate a GENVASC unique participant ID, and print participant labels for it.
Version 1.0 installed on the drupal test machine (uhlbriccsapp04.xuhl-tr.nhs.uk) on 17 Sept 2012.
Installation process is simple: unzip into the site's modules folder (often /sites/all/modules), use the administration panel to enable the module, then the blocks panel to enable the block, then the permissions panel to grant permission to use the block to the relevant user role. The label format is fixed, but the printer IP and port, and the number of labels per ID are configurable. The number of IDs to generate (1 - 10) is set by the end user.
See IdLabelPrinting for the BRICCS ID label printing configurations, and underlying set-up.
The drupal schema for the the MySQL table for 'genvasc_ids' is very simple:
$schema['genvasc_ids'] = array( 'description' => 'The table for used GENVASC IDs.', 'fields' => array( 'genvasc_id' => array( 'description' => 'GENVASC IDs already used.', 'type' => 'varchar', 'length' => 16, 'not null' => TRUE, 'default' => '0'), ), 'primary key' => array('genvasc_id'), );
Note that from February 2013, the printing for GENVASC will be done from the Zebra printer in the CRC lab offices. This is done by giving the printer hostname (ZBR3713388) to the module's configuration, rather than in IP address, as the UHL policy now is to use DHCP to allocate IP addresses for printers.
In version 2.0 of the GENVASC module, code was added to call a drupal cron hook and process civicrm API calls to automatically search for GENVASC study enrolments which had exceeded the 30-day cooling off period, and change their status to 'Available for cohorting'. This is documented more fully in the Drupal HowTo Write Cron Tasks for CiviCRM page.