diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm
index 6a144a01d..e1cc636ee 100644
--- a/code/game/objects/items/devices/scanners.dm
+++ b/code/game/objects/items/devices/scanners.dm
@@ -135,6 +135,8 @@ GENE SCANNER
if(ishuman(M))
var/mob/living/carbon/human/H = M
+ H.scan_animation()
+
if(H.undergoing_cardiac_arrest() && H.stat != DEAD)
to_chat(user, "Subject suffering from heart attack: Apply defibrillation or other electric shock immediately!")
if(H.undergoing_liver_failure() && H.stat != DEAD) //might be depreciated BUG_PROBABLE_CAUSE
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 89b057716..cbd3ae2de 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -729,6 +729,17 @@
remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, "#000000")
cut_overlay(MA)
+//medical scan animation
+/mob/living/carbon/human/proc/scan_animation()
+ var/mutable_appearance/scan_anim
+ scan_anim = mutable_appearance(icon, "mediscan")
+ add_overlay(scan_anim)
+ addtimer(CALLBACK(src, .proc/end_scan_animation, scan_anim), 10)
+ flick(icon,src)
+
+/mob/living/carbon/human/proc/end_scan_animation(mutable_appearance/MA)
+ cut_overlay(MA)
+
/mob/living/carbon/human/canUseTopic(atom/movable/M, be_close=FALSE, no_dextery=FALSE, no_tk=FALSE)
if(incapacitated() || lying )
to_chat(src, "You can't do that right now!")
diff --git a/hyperstation/icons/effects/medical.dmi b/hyperstation/icons/effects/medical.dmi
new file mode 100644
index 000000000..cf74d7379
Binary files /dev/null and b/hyperstation/icons/effects/medical.dmi differ
diff --git a/icons/mob/human.dmi b/icons/mob/human.dmi
index 5b526ab99..e45add9f8 100644
Binary files a/icons/mob/human.dmi and b/icons/mob/human.dmi differ