Your Practice Needs an External Patient Chart Audit

Reed Tinsley
Reed Tinsley

USD 40-50 / day

Posted on Jul 3, 2026
Written by Reed Tinsley, CPA | February 19, 2022 Your office manager and billing staff periodically should conduct a patient chart audit to assess whether your doctors code accurately. But how do you know that they know what they’re doing? Spending several thousand dollars to bring in and outside consultant can be an expensive way to confirm that your practice is doing a good job coding. A far less expensive way to obtain some coding peace of mind: Pay to put your charts on the airplane or securely upload to a coding consultant. Have your staff audit 10 patient charts. Then copy those charts and send them to an outside coding consultant to review the work of your in-house auditors. Double Patient Chart audit Here is a cost-effective audit approach - First have your staff audit 10 charts (per physician) as they normally would. Then copy those charts and send them to a coding consultant to audit the work of your in-house auditors. Usually, by the time you've gone through 10 records, you can spot trends. Be sure to blank out patient names and identifying char­acteristics, of course, to satisfy pri­vacy concerns. Cost effective For $40 to $50 per chart, this sec­ond audit will confirm that your phy­sicians and billing staff understand their coding, or let you know that a full-blown evaluation is necessary. Smaller practices may want to skip the first review and start by sending the charts to an outsider to review. The smaller the practice, the more hats people are wearing, and that makes it less practical to have an internal audit. Even if you must reduce costs wherever possible, you still have to worry about compliance issues. Uncovering serious coding problems certainly justifies proceeding with a more complete chart audit and could save you far more money and headaches. As we know, the government is high on healthcare fraud detection. Healthcare fraud is the #2 priority of the Department of Justice, second only to terrorism and violent crime. Health & Human Services estimates that $17 is returned for every $1 invested in fraud & abuse initiatives. This is serious business On a final note, since most research suggests that more physicians undercode than overcode, you may find that the hundreds of dollars you spend on an external chart audit more than offsets additional revenue from legitimately higher coding. And if the audit confirms you're coding accurately, you'll have bought some valuable peace of mind. Additional Resources on Audits Medical Practice Management Consultant for Physicians HIPAA Phase 2 Audits - What To Do Now { "@context": "https://schema.org", "@type": "Article", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://www.rtacpa.com/external-patient-chart-audit/" }, "headline": "Your Practice Needs an External Patient Chart Audit", "description": "When was the last time your physician practice engaged someone to perform an independent patient chart audit? It's important!", "image": "", "author": { "@type": "Person", "name": "Reed Tinsley", "url": "https://www.rtacpa.com/author/reed/" }, "publisher": { "@type": "Organization", "name": "REED TINSLEY, CPA", "logo": { "@type": "ImageObject", "url": "https://www.rtacpa.com/wp-content/themes/reed-tinsley/assets/media/Reed-Logo.svg" } }, "datePublished": "2022-02-19", "dateModified": "2024-08-07" } About the AuthorReed Tinsley CPAThis article is written by Reed Tinsley, a Houston, TX-based CPA with over 30 years of experience advising physicians and medical practices across Texas and the United States. Reed holds certifications as a Certified Valuation Analyst (CVA), Certified Healthcare Business Consultant (CHBC), and Certified Financial Planner (CFP), specializing exclusively in the healthcare sector. He is a published author, nationally recognized speaker, and trusted advisor to physicians on accounting & tax, practice management, and financial planning. Schedule a Free Consultation. .author-info h3 { font-weight: 700; color: var(--dark-blue); margin: 0; } .author-info { display: flex; flex-direction: column; gap: var(--mp-s); margin: var(--mp-m) 0; border: 1px solid var(--dark-blue); padding: var(--mp-m); line-height: 1.8; background: #F1F2F2; } .author-info--title { display: flex; gap: var(--mp-s); } .author-info--photo { border-radius: 500px; width: 100px; } .author-info a { color: var(--dark-blue); } .author-info a:hover { color: var(--blue); } Have questions? I’m here to help. NameThis field is for validation purposes and should be left unchanged.Name(Required)Email(Required) PhoneMedical Specialty(Required)This field is hidden when viewing the formHow did you find us?(Required)How did you hear about Reed?(Required)How did you hear about Reed?*AI SearchGoogle SearchLinkedInReferralOtherWhich AI lead you to Reed?(Required)Which AI lead you to Reed?*ChatGPTClaudeOther AI ToolPlease share who referred youTell us the other way you heard about ReedWhich is greater, 2 or 5?(Required)What is 4 + 7?(Required)Message(Required) gform.initializeOnLoaded( function() {gformInitSpinner( 1, 'https://www.rtacpa.com/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery('#gform_ajax_frame_1').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_1');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_1').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){form_content.find('form').css('opacity', 0);jQuery('#gform_wrapper_1').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_1').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_1').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_1').val();gformInitSpinner( 1, 'https://www.rtacpa.com/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [1, current_page]);window['gf_submitting_1'] = 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_1').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', [1]);window['gf_submitting_1'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_1').text());}else{jQuery('#gform_1').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", [{ formId: "1", currentPage: "current_page", abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_1" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_1"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_1" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; gform.core.triggerPostRenderEvents( 1, 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(); } } );} );