diff --git a/merge-request-check/merge_review_check.sh b/merge-request-check/merge_review_check.sh
new file mode 100644
index 0000000000000000000000000000000000000000..35570d21c6267015b3fe2fec5ffe29562b13ec28
--- /dev/null
+++ b/merge-request-check/merge_review_check.sh
@@ -0,0 +1,141 @@
+#!/bin/bash
+
+# Script to check changed file extensions and for code in changed lines of files
+
+# Define variables for testing only (these are passed in via GitLab CI)
+#CI_COMMIT_BEFORE_SHA=""
+#CI_COMMIT_SHA=""
+
+# Function to check for ASP.NET controls and directives
+check_aspx() {
+    local content="$1"
+
+    # Check for ASP.NET server controls and directives (matches <asp:, <%@ Page, <%@ Control, etc.)
+    if echo "$content" | grep -qE '<asp:|<%|%>'; then
+        return 0  # ASP.NET control or directive found
+    fi
+
+    return 1  # No ASP.NET control or directive found
+}
+
+# Function to check for PHP code and Blade directives
+check_php_blade() {
+    local content="$1"
+
+    # Check for PHP code (matches <?php ... ?> and <?= ... ?>)
+    if echo "$content" | grep -qE '<\?php|<\?='; then
+        return 0  # PHP code found
+    fi
+
+    # Check for Blade directives (matches {{ ... }}, {!! ... !!}, @if, @foreach, etc.)
+    if echo "$content" | grep -qE '{{.*}}|{!!.*!!}|@\w+'; then
+        return 0  # Blade directive found
+    fi
+
+    return 1  # No PHP code or Blade directive found
+}
+
+# Flag to track if code was found
+code_found=0
+
+# Loop through each changed file in the commit
+tempfile=$(mktemp)
+git diff --name-only $CI_COMMIT_BEFORE_SHA..$CI_COMMIT_SHA > "$tempfile"
+while read -r file; do
+    case "$file" in
+        *.html)
+            echo "OK: HTML file change - $file"
+            ;;
+        *.js)
+            echo "OK: JS file change - $file"
+            ;;
+        *.css)
+            echo "OK: CSS file change - $file"
+            ;;
+        *.pdf)
+            echo "OK: PDF file change - $file"
+            ;;
+        *.doc)
+            echo "OK: DOC file change - $file"
+            ;;
+        *.docx)
+            echo "OK: DOCX file change - $file"
+            ;;
+        *.png)
+            echo "OK: PNG file change - $file"
+            ;;
+        *.jpg)
+            echo "OK: JPG file change - $file"
+            ;;
+        *.gif)
+            echo "OK: GIF file change - $file"
+            ;;
+        *.svg)
+            echo "OK: SVG file change - $file"
+            ;;
+        *.ico)
+            echo "OK: ICO file change - $file"
+            ;;
+        *.md)
+            echo "OK: MD file change - $file"
+            ;;
+        *.csproj)
+            echo "OK: CSPROJ file change - $file"
+            ;;
+        *.sln)
+            echo "OK: SLN file change - $file"
+            ;;
+        *.aspx)
+            # need to look for code within the HTML
+            echo "CHECKING: ASPX file - $file"
+
+            while IFS= read -r line; do
+                if [[ $line == \+\ * ]]; then
+                    # Extract added lines, ignoring leading '+'
+                    content=$(echo "$line" | cut -c2-)
+
+                    # Check for ASP.NET code and elements
+                    if check_aspx "$content"; then
+                        trimmed=$(echo "$content" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
+                        echo "FAIL: Found ASP.NET code or elements in $file: $trimmed"
+                        code_found=1  # Set flag indicating code was found
+                    fi
+                fi
+            done < <(git diff $CI_COMMIT_BEFORE_SHA..$CI_COMMIT_SHA -- "$file")
+            ;;
+        *.blade.php)
+            # need to look for code within the HTML
+            echo "CHECKING: BLADE.PHP file - $file"
+
+            while IFS= read -r line; do
+                if [[ $line == \+\ * ]]; then
+                    # Extract added lines, ignoring leading '+'
+                    content=$(echo "$line" | cut -c2-)
+
+                    # Check for PHP code and blade directives
+                    if check_php_blade "$content"; then
+                        trimmed=$(echo "$content" | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
+                        echo "FAIL: Found PHP code or Blade directives in $file: $trimmed"
+                        code_found=1  # Set flag indicating code was found
+                    fi
+                fi
+            done < <(git diff $CI_COMMIT_BEFORE_SHA..$CI_COMMIT_SHA -- "$file")
+            ;;
+        *)
+            # All other files fail for manual review
+            echo "FAIL: File type needs reviewed - $file"
+            code_found=1  # Set flag indicating code could be present
+            ;;
+    esac
+done < "$tempfile"
+
+rm "$tempfile"
+
+# Fail the GitLab CI job if code was found
+if [ $code_found -eq 1 ]; then
+    echo "Job failed. Files found that need to be reviewed. Please contact ITS-ADS to request a review of this deployment."
+    exit 1  # Exit with non-zero status to indicate failure
+else
+    echo "Job succeeded. No files that need to be reviewed."
+    exit 0  # Exit with zero status to indicate success
+fi
\ No newline at end of file