fbpx

SimYouLate

Microsimulation

 Software

What is SimYouLate?

SimYouLate (SYL) is a flexible, continuous-time microsimulation software, designed specifically for modelers with no programming background and particularly suitable for population health modeling.

No data or models are hard-coded into SimYouLate. Rather, the researcher uploads an initial population data file, then uploads or specifies all the models in a given simulation. The starting population with initial variables is loaded into SimYouLate as an Excel file. Options that control the simulation include start and end time “tick” (these are typically calendar years), random seed to allow replication of previous results (or else a clock-based random seed for new stochastic results each run), as well as an option for keeping or discarding temporary variables from the output. If desired, the whole simulation can be run without any discrete ticks, entirely in continuous time.

Once the population data are loaded, models may be entered directly into the simulation by the analyst, using an open source, very flexible, generalized math parsing language. Statistical models can be uploaded in tables with formats common to the regression output from many statistical analysis packages. The program allows a simulation to perform deterministic calculations (e.g., age), randomly classify subjects on ordinal scales, or generate competing events.

The effects of interventions can be input as risk modification variables (e.g., as a hazard ratio), while the intervention itself can be assigned to a subject according to calendar time (tick), and/or any number of other conditioning variables or functions. Upon completion of the simulation, SimYouLate output is comprised of an entire cross-sectional snapshot of the population at every time increment, all initial and derived variables, as well as the precise event times for all events that occurred.

How can I access SimYouLate?

SimYouLate is available free through Arthritis Research Canada at least until December 31, 2024 (before which we will likely post further extensions). Note that if you begin a research project under a free license, we will provide extensions free of charge through the duration of that project, regardless of any stated expiry dates.

To download the program and user’s guide, please click here. The technical appendix to the paper linked below (which can serve as a user’s guide) is included in the package, and is provided under the Creative Commons licence which can be viewed here. The example simulation scenario Excel file included in the package is based on the 2001 public use Canadian Community Health Survey (CCHS), and is one of the scenarios analyzed in the paper linked below.

More information about this tool, and an application of SimYouLate to model different strategies to reduce the burden of back pain, can be found in an article published in the journal BMC Musculoskeletal Disorders. To access this article, please click here.

Reference

Kopec JA, Sayre EC, Cibere J, Li LC, Wong H, Okhmatovskaia A, Esdaile JM. Reducing the burden of low back pain: results from a new microsimulation model. BMC Musculoskelet Disord. 2022;23(1):804.

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='/simyoulate-microsimulation-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>