fbpx

ROCAD

Item

Discrimination

Software

What is ROCAD?

ROCAD is a computer program designed to produce Receiver Operating Characteristic (ROC) Area Discrimination curves. These curves can be used to evaluate the discriminating power of ordinal measures, such as many subjective ratings or multi-option questionnaire items. The area under the ROC curve has been frequently used to assess the ability of diagnostic tests to discriminate between individuals with and without a disease.

For an ordinal scale, the ROC curve is obtained for each observed value of the attribute being measured, and the areas under the ROC curves are estimated and plotted on a graph. The resultant curve is referred to as the ROCAD curve. In contrast to standard measures of validity for ordinal scales, such as a correlation coefficient, the ROCAD curve describes the performance of the scale for each point along the spectrum of the measured attribute. The user can dynamically select individual items and add or drop items from a scale with a click of the mouse.

ROC curves associated with an item at each threshold are plotted as required and can be selected by pointing to the appropriate point on the ROCAD curve with the mouse. The program can be used to assess measures (scales or indexes) consisting of two or more items. Various item selection and elimination procedures are available. The relevant score range can be expanded or contracted, with ROCAD curve areas normalized automatically, allowing sets of items to be selected easily for various user-defined ranges of the measured attribute.

How can I access ROCAD?

ROCAD is available free through Arthritis Research Canada. To download the program and user’s guide, please click here. The example data set included in the package is from a 2002 HRQOL questionnaire, and comprises one of the domains analyzed in the paper linked below.

More information about ROCAD, and an example of the tool’s application to select multi-option items for a quality-of-life questionnaire in persons with arthritis, can be found in an article published in the Journal of Clinical Epidemiology. For a link to this article, please click here.

Reference

Kopec JA, Sayre EC. ROC area discrimination (ROCAD) curve: a new method of evaluating the discriminating ability of ordinal scales. J Clin Epidemiol. 2008;61(10):997-1003

All of our Tools and Instruments are covered by this disclaimer:
While we make every effort to deliver high quality solutions, we do not guarantee that these tools or instruments are free from defects. Our tools and instruments are provided “as is,” and you use them at your own risk. We make no warranties as to performance, merchantability, fitness for a particular purpose, or any other warranties whether expressed or implied. No oral or written communication from or information provided by Arthritis Research Canada or the authors of these tools or instruments shall create a warranty. Under no circumstances shall Arthritis Research Canada or the authors of these tools or instruments be liable for direct, indirect, special, incidental, or consequential damages resulting from the use, misuse, or inability to use these tools or instruments, even if Arthritis Research Canada or the authors of these tools or instruments have been advised of the possibility of such damages.
[gravityform id=4 title=false ajax=true]
<div class='gf_browser_unknown gform_wrapper gravity-theme' id='gform_wrapper_4' ><div id='gf_4' class='gform_anchor' tabindex='-1'></div> <div class='gform_heading'> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_4' id='gform_4' action='/rocad-item-discrimination-software/#gf_4' novalidate><div class='gf_invisible ginput_recaptchav3' data-sitekey='6LdJ61QiAAAAAPSzJYY8d9Z83GprdKmGiPzLW73L' data-tabindex='0'><input id="input_57d0676bd1813fc0035748bcba1617d1" class="gfield_recaptcha_response" type="hidden" name="input_57d0676bd1813fc0035748bcba1617d1" value=""/></div> <div class='gform_body gform-body'><div id='gform_fields_4' class='gform_fields top_label form_sublabel_below description_below'><div id="field_4_1" class="gfield gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_4_1"><label class='gfield_label' for='input_4_1' >First Name<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_text'><input name='input_1' id='input_4_1' type='text' value='' class='large' placeholder='First Name' aria-required="true" aria-invalid="false" /> </div></div><div id="field_4_2" class="gfield gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_4_2"><label class='gfield_label' for='input_4_2' >Last Name<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_text'><input name='input_2' id='input_4_2' type='text' value='' class='large' placeholder='Last Name' aria-required="true" aria-invalid="false" /> </div></div><div id="field_4_3" class="gfield gfield_contains_required field_sublabel_below field_description_below hidden_label gfield_visibility_visible" data-js-reload="field_4_3"><label class='gfield_label' for='input_4_3' >Email<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_3' id='input_4_3' type='email' value='' class='large' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></div><fieldset id="field_4_4" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_4_4"><legend class='gfield_label' >Preferred Language<span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></legend><div class='ginput_container ginput_container_radio'><div class='gfield_radio' id='input_4_4'> <div class='gchoice gchoice_4_4_0'> <input class='gfield-choice-input' name='input_4' type='radio' value='English' id='choice_4_4_0' onchange='gformToggleRadioOther( this )' /> <label for='choice_4_4_0' id='label_4_4_0'>English</label> </div> <div class='gchoice gchoice_4_4_1'> <input class='gfield-choice-input' name='input_4' type='radio' value='French' id='choice_4_4_1' onchange='gformToggleRadioOther( this )' /> <label for='choice_4_4_1' id='label_4_4_1'>French</label> </div></div></div></fieldset></div></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_4' class='gform_button button' value='Subscribe' onclick='if(window["gf_submitting_4"]){return false;} if( !jQuery("#gform_4")[0].checkValidity || jQuery("#gform_4")[0].checkValidity()){window["gf_submitting_4"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_4"]){return false;} if( !jQuery("#gform_4")[0].checkValidity || jQuery("#gform_4")[0].checkValidity()){window["gf_submitting_4"]=true;} jQuery("#gform_4").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=4&amp;title=&amp;description=1&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_4' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='4' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_4' value='WyJ7XCI0XCI6W1wiZjI1NTkxNDg3YTY2MjEyZTBmMmNhODEyYzlmMThlNzFcIixcImYwNGZjZmI4MjU2N2Y0YThhZGZlOTMwYjE0ZjE3NjIzXCJdfSIsIjhmMzhkNjliY2U1MmUxNTVhZTNhZmU2YzEwNWZjNDk1Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_4' id='gform_target_page_number_4' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_4' id='gform_source_page_number_4' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_4' id='gform_ajax_frame_4' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type="text/javascript"> gform.initializeOnLoaded( function() {gformInitSpinner( 4, 'https://www.arthritisresearch.ca/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_4').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_4');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_4').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_4').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_4').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_4').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_4').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_4').val();gformInitSpinner( 4, 'https://www.arthritisresearch.ca/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [4, current_page]);window['gf_submitting_4'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_4').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_4').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [4]);window['gf_submitting_4'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_4').text());}, 50);}else{jQuery('#gform_4').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [4, current_page]);} );} ); </script>