Suggest an improvement
var gform;gform||(document.addEventListener(“gform_main_scripts_loaded”,function()gform.scriptsLoaded=!0),document.addEventListener(“gform/theme/scripts_loaded”,function()gform.themeScriptsLoaded=!0),window.addEventListener(“DOMContentLoaded”,function()gform.domLoaded=!0),gform=domLoaded:!1,scriptsLoaded:!1,themeScriptsLoaded:!1,isFormEditor:()=>”function”==typeof InitializeEditor,callIfLoaded:function(o)(gform.isFormEditor()&&console.warn(“The use of gform.initializeOnLoaded() is deprecated in the form editor context and will be removed in Gravity Forms 3.1.”),o(),0)),initializeOnLoaded:function(o),hooks:action:,filter:,addAction:function(o,r,e,t)gform.addHook(“action”,o,r,e,t),addFilter:function(o,r,e,t)gform.addHook(“filter”,o,r,e,t),doAction:function(o)gform.doHook(“action”,o,arguments),applyFilters:function(o)return gform.doHook(“filter”,o,arguments),removeAction:function(o,r)gform.removeHook(“action”,o,r),removeFilter:function(o,r,e)gform.removeHook(“filter”,o,r,e),addHook:function(o,r,e,t,n)null==gform.hooks[o][r]&&(gform.hooks[o][r]=[]);var d=gform.hooks[o][r];null==n&&(n=r+”_”+d.length),gform.hooks[o][r].push(tag:n,callable:e,priority:t=null==t?10:t),doHook:function(r,o,e)var t;if(e=Array.prototype.slice.call(e,1),null!=gform.hooks[r][o]&&((o=gform.hooks[r][o]).sort(function(o,r)return o.priority-r.priority),o.forEach(function(o)”function”!=typeof(t=o.callable)&&(t=window[t]),”action”==r?t.apply(null,e):e[0]=t.apply(null,e))),”filter”==r)return e[0],removeHook:function(o,r,t,n)var e;null!=gform.hooks[o][r]&&(e=(e=gform.hooks[o][r]).filter(function(o,r,e)return!!(null!=n&&n!=o.tag),gform.hooks[o][r]=e));

-
N/AFix spelling/grammar issueAdd or fix a linkAdd or fix an imageAdd more detailImprove the quality of the writingFix a factual error
-
You don’t need to tell us which article this feedback relates to, as we automatically capture that information for you.
-
This allows us to get in touch for more details if required.
-
Enter a five letter word in lowercase
#gform_wrapper_38 .gform_footer visibility: hidden; position: absolute; left: -100vw;
-
This field is for validation purposes and should be left unchanged.
/* = 0;if(!is_postback)return;var form_content = jQuery(this).contents().find(‘#gform_wrapper_38’);var is_confirmation = jQuery(this).contents().find(‘#gform_confirmation_wrapper_38’).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_38’).html(form_content.html());if(form_content.hasClass(‘gform_validation_error’))jQuery(‘#gform_wrapper_38’).addClass(‘gform_validation_error’); else jQuery(‘#gform_wrapper_38’).removeClass(‘gform_validation_error’);setTimeout( function() /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery(‘#gform_wrapper_38’).offset().top – mt); , 50 );if(window[‘gformInitDatepicker’]) gformInitDatepicker();if(window[‘gformInitPriceFields’]) gformInitPriceFields();var current_page = jQuery(‘#gform_source_page_number_38’).val();gformInitSpinner( 38, ‘https://geekymedics.com/wp-content/plugins/gravityforms/images/spinner.svg’, true );jQuery(document).trigger(‘gform_page_loaded’, [38, current_page]);window[‘gf_submitting_38’] = false;else if(!is_redirect)var confirmation_content = jQuery(this).contents().find(‘.GF_AJAX_POSTBACK’).html();if(!confirmation_content)confirmation_content = contents;jQuery(‘#gform_wrapper_38’).replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery(‘#gf_38’).offset().top – mt);jQuery(document).trigger(‘gform_confirmation_loaded’, [38]);window[‘gf_submitting_38’] = false;wp.a11y.speak(jQuery(‘#gform_confirmation_message_38’).text());elsejQuery(‘#gform_38’).append(contents);if(window[‘gformRedirect’]) gformRedirect();jQuery(document).trigger(“gform_pre_post_render”, [ formId: “38”, currentPage: “current_page”, abort: function() this.preventDefault(); ]); if (event && event.defaultPrevented) return; const gformWrapperDiv = document.getElementById( “gform_wrapper_38” ); if ( gformWrapperDiv ) const visibilitySpan = document.createElement( “span” ); visibilitySpan.id = “gform_visibility_test_38”; gformWrapperDiv.insertAdjacentElement( “afterend”, visibilitySpan ); const visibilityTestDiv = document.getElementById( “gform_visibility_test_38” ); let postRenderFired = false; function triggerPostRender() if ( postRenderFired ) return; postRenderFired = true; gform.core.triggerPostRenderEvents( 38, current_page ); if ( visibilityTestDiv ) visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); function debounce( func, wait, immediate ) var timeout; return function() var context = this, args = arguments; var later = function() timeout = null; if ( !immediate ) func.apply( context, args ); ; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); ; const debouncedTriggerPostRender = debounce( function() triggerPostRender(); , 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) const observer = new MutationObserver( ( mutations ) => mutations.forEach( ( mutation ) => if ( mutation.type === ‘attributes’ && visibilityTestDiv.offsetParent !== null ) debouncedTriggerPostRender(); observer.disconnect(); ); ); observer.observe( document.body, attributes: true, childList: false, subtree: true, attributeFilter: [ ‘style’, ‘class’ ], ); else triggerPostRender(); } );} );
/* ]]> */


Prepare for the PSA with Geeky Medics
Prepare for your Prescribing Safety Assessment (PSA) with the Geeky Medics PSA Question Bank, featuring over 600 carefully crafted questions aligned with official PSA guidelines.
For many medical students, the prescribing safety assessment (PSA) is a daunting and time-pressured exam.
Our PSA question bank is designed specifically to help medical students confidently tackle the PSA. It closely mirrors the official exam style and includes:
- Prescribing
- Calculation skills
- Adverse drug reactions
- Prescription review
- Planning management
- Providing information
- Drug monitoring
- Data interpretation
Each question includes a detailed explanation which explains the correct answer for each question.
Key features of our PSA question bank
Questions match the official PSA format
Our PSA question bank matches the format of the official PSA questions, including the ability to write prescriptions.


Filter by PSA question format
Our advanced question bank platform allows you to filter PSA questions based on specialty and PSA question format.
Relevant topic snippets
Our question bank platform will display a relevant topic snippet (if available) for each PSA question and a detailed explanation. For example, if a question asks about asthma management, a topic snippet covering asthma management will be displayed.

Advanced analytics
Our PSA question bank tracks your performance over time, allowing you to review your average score, monitor progress, and identify strengths and weaknesses – helping you focus your PSA revision where it’s needed most.
Mock PSA exams
Our PSA mock exams are designed to mirror the content and format of the real Prescribing Safety Assessment, helping you test your knowledge under timed conditions.
We currently offer three mock exams, each with a detailed performance breakdown by speciality to support targeted revision.

Discover more from Bibliobazar Digi Books
Subscribe to get the latest posts sent to your email.