function getOverallSectionCheckboxType(&$form_state, $section_name, $titleoverride, $disabled, $myvalues, $containerstates = NULL, $supportEditMode = TRUE, $shownow = TRUE, $req_ack = FALSE) { if ($titleoverride == NULL) { $titleoverride = $section_name; } $oChoices = new \raptor\raptor_datalayer_Choices(); $bFoundInList = FALSE; //Initialize $aControlOverrides = array(); //Initialize $enteric_tx = isset($myvalues[$section_name . '_enteric_customtx']) ? $myvalues[$section_name . '_enteric_customtx'] : ''; $aEntericChoices = $oChoices->getEntericContrastData($enteric_tx, $bFoundInList); if ($enteric_tx > '' && !$bFoundInList) { $aControlOverrides['enteric'] = $enteric_tx; } $iv_tx = isset($myvalues[$section_name . '_iv_customtx']) ? $myvalues[$section_name . '_iv_customtx'] : ''; $aIVChoices = $oChoices->getIVContrastData($iv_tx, $bFoundInList); if ($iv_tx > '' && !$bFoundInList) { $aControlOverrides['iv'] = $iv_tx; } return $this->getSectionCheckboxType($section_name, $titleoverride, $aEntericChoices, $aIVChoices, $form_state, $disabled, $myvalues, $containerstates, $supportEditMode, $aControlOverrides, $shownow, $req_ack); }
/** * Get all the form contents for rendering * formType = A, E, D, V * @return type renderable array */ function getForm($formType, $form, &$form_state, $disabled, $myvalues, $containerID = NULL) { $aOptions = $this->getAllOptions(); $aFormattedKeywordText = $this->formatKeywordText($myvalues); if ($containerID == NULL) { $topidtxt = ''; } else { $topidtxt = ' ID="' . $containerID . '" '; } $form['data_entry_area1'] = array('#prefix' => "\n<!-- Start of {$containerID} protocol-dataentry div section -->" . "\n<div {$topidtxt} class='protocol-dataentry'>\n", '#suffix' => "\n</div>\n<!-- End of {$containerID} protocol-dataentry div section -->\n", '#disabled' => $disabled); $form[] = array('#markup' => '<div id="protocol-lib-options-data">' . '<div style="visibility:hidden" id="json-option-values-all-sections"></div></div>'); $form['data_entry_area1']['toppart'] = array('#type' => 'fieldset', '#attributes' => array('class' => array('data-entry-area')), '#disabled' => $disabled); if (isset($myvalues['protocol_shortname'])) { $protocol_shortname = $myvalues['protocol_shortname']; } else { $protocol_shortname = NULL; } $showfieldname_version = 'version'; $showfieldname_shortname = 'protocol_shortname'; $disabled_shortname = $disabled; //Default behavior $disabled_version = $disabled; //Default behavior if ($disabled || $formType == 'E' || $formType == 'A') { //Hidden values for key fields if ($formType == 'E') { $form['hiddenthings']['protocol_shortname'] = array('#type' => 'hidden', '#value' => $protocol_shortname, '#disabled' => FALSE); $showfieldname_shortname = 'show_protocol_shortname'; $disabled_shortname = TRUE; $newversionnumber = isset($myvalues['version']) ? $myvalues['version'] + 1 : 1; $form['hiddenthings']['version'] = array('#type' => 'hidden', '#value' => $newversionnumber, '#disabled' => FALSE); $showfieldname_version = 'show_version'; } else { if ($formType == 'A') { $newversionnumber = 1; $form['hiddenthings']['version'] = array('#type' => 'hidden', '#value' => $newversionnumber, '#disabled' => FALSE); $showfieldname_version = 'show_version'; $myvalues['version'] = $newversionnumber; } } $disabled_version = TRUE; } $form['data_entry_area1']['toppart'][$showfieldname_shortname] = array('#type' => 'textfield', '#title' => t('Short Name'), '#default_value' => $protocol_shortname, '#size' => 20, '#maxlength' => 20, '#required' => TRUE, '#description' => t('The unique short name for this protocol'), '#disabled' => $disabled_shortname); $form['data_entry_area1']['toppart']['name'] = array('#type' => 'textfield', '#title' => t('Long Name'), '#default_value' => $myvalues['name'], '#size' => 128, '#maxlength' => 128, '#required' => TRUE, '#description' => t('The unique long name for this protocol'), '#disabled' => $disabled); $form['data_entry_area1']['toppart'][$showfieldname_version] = array('#type' => 'textfield', '#title' => t('Version number'), '#value' => $myvalues['version'], '#size' => 5, '#maxlength' => 5, '#description' => t('The version number increases each time a protocol is changed. It does not, however, change when the default values or keywords of the protocol are edited.'), '#disabled' => $disabled_version); $sName = 'service_nm'; $oChoices = new \raptor\raptor_datalayer_Choices(); $aChoices = $oChoices->getServicesData(''); if (count($aChoices) > 0) { //We only prompt for a service name if the database has services defined. $aStatesEntry = array(); $element = FormHelper::createSelectList($sName, $aChoices, $disabled, $aStatesEntry, $myvalues); $form['data_entry_area1']['toppart'][$sName] = $element; $form['data_entry_area1']['toppart'][$sName]['#title'] = t('Service'); $form['data_entry_area1']['toppart'][$sName]['#description'] = t('The service associated with this protocol'); $form['data_entry_area1']['toppart']['active_yn'] = array('#type' => 'checkbox', '#title' => t('Protocol active (Y/N)'), '#default_value' => $myvalues['active_yn'], '#description' => t('Protocol is not available if it is not active'), '#disabled' => $disabled); } $form['data_entry_area1']['toppart']['filename'] = array('#type' => 'file', '#title' => t('Scanned protocol document'), '#value' => $myvalues['filename'], '#required' => FALSE, '#description' => t('The scanned image of the protocol for visual reference'), '#disabled' => $disabled); $form['data_entry_area1']['toppart']['modality_abbr'] = array('#type' => 'radios', '#options' => $aOptions['modality'], '#default_value' => $myvalues['modality_abbr'], '#title' => t('Modality'), '#description' => t('The modality of this protocol'), '#disabled' => $disabled); $form['data_entry_area1']['toppart']['modality_abbr']['#ajax'] = array('callback' => 'raptor_fetch_protocollib_options'); $form['data_entry_area1']['toppart']['lowerbound_weight'] = array('#type' => 'textfield', '#title' => t('Lowerbound Patient Weight (kg)'), '#size' => 3, '#maxlength' => 3, '#default_value' => $myvalues['lowerbound_weight'], '#description' => t('Lowest weight to which this protocol applies (ignored if value is 0)'), '#disabled' => $disabled); $form['data_entry_area1']['toppart']['upperbound_weight'] = array('#type' => 'textfield', '#title' => t('Upperbound Patient Weight (kg)'), '#size' => 3, '#maxlength' => 3, '#default_value' => $myvalues['upperbound_weight'], '#description' => t('Highest weight to which this protocol applies (ignored if value is 0)'), '#disabled' => $disabled); //drupal_set_message('intial yn>>>'.print_r($myvalues['yn_attribs'],TRUE)); $form['data_entry_area1']['toppart']['yn_attribs'] = array('#type' => 'checkboxes', '#options' => $aOptions['categories'], '#title' => t('Categories'), '#description' => t('Checking these boxes indicates the categories for this protocol. These values are used by the automatic protocol suggestion engine.'), '#default_value' => $myvalues['yn_attribs'], '#disabled' => $disabled); $form['data_entry_area1']['keywords'] = array('#type' => 'fieldset', '#title' => t('Keyword Matching'), '#description' => t('For automatic protocol suggestion where keywords are in the order text'), '#attributes' => array('class' => array('data-entry1-area')), '#disabled' => $disabled); $form['data_entry_area1']['keywords']['keywords1'] = array('#type' => 'textfield', '#title' => t('Most Significant'), '#default_value' => $aFormattedKeywordText['keywords1'], '#size' => 100, '#maxlength' => 128, '#description' => t('Comma delimited list of most significant keywords'), '#disabled' => $disabled); $form['data_entry_area1']['keywords']['keywords2'] = array('#type' => 'textfield', '#title' => t('Moderately Significant'), '#default_value' => $aFormattedKeywordText['keywords2'], '#size' => 100, '#maxlength' => 128, '#description' => t('Comma delimited list of moderately significant keywords'), '#disabled' => $disabled); $form['data_entry_area1']['keywords']['keywords3'] = array('#type' => 'textfield', '#title' => t('Least Significant'), '#default_value' => $aFormattedKeywordText['keywords3'], '#size' => 100, '#maxlength' => 128, '#description' => t('Comma delimited list of least significant keywords'), '#disabled' => $disabled); $form['data_entry_area1']['defaultvaluespart'] = array('#type' => 'fieldset', '#title' => t('Default Values'), '#attributes' => array('class' => array('data-entry-area')), '#disabled' => $disabled, '#description' => t('The default options available here depend on the categories identfied for this protocol.')); $form['data_entry_area1']['defaultvaluespart']['input'] = $this->getInputArea1($this->m_oPI, $form_state, $disabled, $myvalues); $form['data_entry_area1']['defaultvaluespart']['protocolnotes_tx'] = array('#title' => t('Protocol Notes'), '#maxlength' => 500, '#description' => t('Custom text to prepopulate the protocol notes input area.'), '#type' => 'textarea', '#disabled' => $disabled, '#default_value' => $myvalues['protocolnotes_tx']); $form['data_entry_area1']['defaultvaluespart']['examnotes_tx'] = array('#title' => t('Exam Notes'), '#maxlength' => 500, '#description' => t('Custom text to prepopulate the exam notes input area for technologist.'), '#type' => 'textarea', '#disabled' => $disabled, '#default_value' => $myvalues['examnotes_tx']); $form['data_entry_area1']['codemappings'] = array('#type' => 'fieldset', '#title' => t('Code Mappings'), '#attributes' => array('class' => array('data-entry-area')), '#disabled' => $disabled, '#description' => t('<p>The codes that this protocol maps into so that RAPTOR can more granularly apply matching order criteria.</p>')); $form['data_entry_area1']['codemappings']['cpt_codes'] = array('#title' => t('CPT Codes'), '#maxlength' => 400, '#rows' => 2, '#description' => t('Comma delimited list of CPT codes to which this protocol maps'), '#type' => 'textarea', '#disabled' => $disabled, '#default_value' => $myvalues['cpt_codes']); $form['data_entry_area1']['codemappings']['radlex_codes'] = array('#title' => t('RADLEX Codes'), '#maxlength' => 400, '#rows' => 2, '#description' => t('Comma delimited list of RADLEX codes to which this protocol maps'), '#type' => 'textarea', '#disabled' => $disabled, '#default_value' => $myvalues['radlex_codes']); $form['data_entry_area1']['codemappings']['icd_codes'] = array('#title' => t('ICD Codes'), '#maxlength' => 400, '#rows' => 2, '#description' => t('Comma delimited list of ICD codes that this which this protocol maps'), '#type' => 'textarea', '#disabled' => $disabled, '#default_value' => $myvalues['icd_codes']); return $form; }