{"id":7,"date":"2024-08-16T12:36:03","date_gmt":"2024-08-16T12:36:59","guid":{"rendered":"https:\/\/medlearn.imperial.ac.uk\/innovation\/?page_id=7"},"modified":"2026-04-15T16:19:44","modified_gmt":"2026-04-15T16:19:44","slug":"projects","status":"publish","type":"page","link":"https:\/\/medlearn.imperial.ac.uk\/innovation\/projects\/","title":{"rendered":"Pilots \/ Projects"},"content":{"rendered":"\n\n\n<style>\n  \/* Hide page title on Pilots\/Projects page *\/\n  #post-7 h1.entry-title, #post-7 .entry-header h1 { display:none !important; }\n\n  \/* Responsive layout fix for Pilots\/Projects page\n     Root cause: project card grid min-content expands #body_wrapper beyond viewport.\n     Fix: constrain the implicit grid column to the container width. *\/\n  #body_wrapper {\n    grid-template-columns: minmax(0, 100%);\n  }\n\n  \/* Ensure content containers use box-sizing correctly *\/\n  #page_wrap,\n  #content.entry-content,\n  #post-7 .box.content {\n    box-sizing: border-box;\n    max-width: 100%;\n  }\n\n  \/* Allow card grid items to shrink below min-content so 1fr resolves properly *\/\n  #post-7 .box.content div[style*=\"grid-template-columns\"] > * {\n    min-width: 0;\n  }\n\n  \/* 2-column card grid at tablet \/ narrow desktop up to 1200px *\/\n  @media screen and (max-width: 1200px) {\n    #post-7 .box.content div[style*=\"grid-template-columns\"] {\n      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;\n    }\n  }\n\n  \/* 1-column card grid at mobile up to 768px *\/\n  @media screen and (max-width: 768px) {\n    #post-7 .box.content div[style*=\"grid-template-columns\"] {\n      grid-template-columns: minmax(0, 1fr) !important;\n    }\n    #post-7 .box.content {\n      padding: 20px 20px !important;\n    }\n    #content.entry-content {\n      padding-left: 20px !important;\n      padding-right: 20px !important;\n    }\n  }\n<\/style>\n\n<!-- PAGE HEADER -->\n<div style=\"background:linear-gradient(to right,#003E74,#0056a3);padding:48px 40px 40px 40px;\">\n  <p style=\"font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#a8d4f0;margin:0 0 10px 0;\">Imperial London \u00b7 Faculty of Medicine<\/p>\n  <h1 style=\"font-size:36px;font-weight:700;color:#ffffff;margin:0 0 12px 0;line-height:1.2;\">Pilots &amp; Projects<\/h1>\n  <p style=\"font-size:17px;color:#c8dff0;margin:0;max-width:640px;line-height:1.6;\">A record of innovation pilots, prototypes and research projects \u2014 spanning VR, AI, simulation training, web and app design.<\/p>\n<\/div>\n\n<!-- DIVIDER -->\n<div style=\"height:4px;background:linear-gradient(to right,#003E74,#0056a3,#a8d4f0);\"><\/div>\n\n<!-- PROJECTS GRID -->\n\n  <div style=\"display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:40px 0 48px 0;\">\n        \n  <a href=\"https:\/\/medlearn.imperial.ac.uk\/innovation\/projects\/timetabling-compliance-checker\/\" style=\"text-decoration:none;color:inherit;display:block;\">\n    <div style=\"background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.08);transition:box-shadow .2s;\">\n      <svg width=\"100%\" height=\"160\" viewBox=\"0 0 400 160\" preserveAspectRatio=\"xMidYMid slice\" style=\"display:block;\"><defs><linearGradient id=\"ttcardg\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\"><stop offset=\"0%\" style=\"stop-color:#0d2b3e;stop-opacity:1\"\/><stop offset=\"100%\" style=\"stop-color:#0d4a3a;stop-opacity:1\"\/><\/linearGradient><\/defs><rect width=\"400\" height=\"160\" fill=\"url(#ttcardg)\"\/><line x1=\"200\" y1=\"30\" x2=\"380\" y2=\"30\" stroke=\"#fff\" stroke-opacity=\"0.08\"\/><line x1=\"200\" y1=\"60\" x2=\"380\" y2=\"60\" stroke=\"#fff\" stroke-opacity=\"0.08\"\/><line x1=\"200\" y1=\"90\" x2=\"380\" y2=\"90\" stroke=\"#fff\" stroke-opacity=\"0.08\"\/><line x1=\"200\" y1=\"120\" x2=\"380\" y2=\"120\" stroke=\"#fff\" stroke-opacity=\"0.08\"\/><line x1=\"245\" y1=\"20\" x2=\"245\" y2=\"140\" stroke=\"#fff\" stroke-opacity=\"0.08\"\/><line x1=\"305\" y1=\"20\" x2=\"305\" y2=\"140\" stroke=\"#fff\" stroke-opacity=\"0.08\"\/><rect x=\"201\" y=\"31\" width=\"188\" height=\"28\" fill=\"#e74c3c\" fill-opacity=\"0.15\"\/><rect x=\"201\" y=\"61\" width=\"188\" height=\"28\" fill=\"#e74c3c\" fill-opacity=\"0.12\"\/><rect x=\"201\" y=\"91\" width=\"188\" height=\"28\" fill=\"#f39c12\" fill-opacity=\"0.12\"\/><text x=\"208\" y=\"50\" font-family=\"monospace\" font-size=\"10\" fill=\"#ff6b6b\" fill-opacity=\"0.8\">Room clash<\/text><text x=\"252\" y=\"50\" font-family=\"monospace\" font-size=\"10\" fill=\"#ff6b6b\" fill-opacity=\"0.8\">Hard<\/text><text x=\"312\" y=\"50\" font-family=\"monospace\" font-size=\"10\" fill=\"#ff6b6b\" fill-opacity=\"0.8\">&#x2715; Flag<\/text><text x=\"208\" y=\"80\" font-family=\"monospace\" font-size=\"10\" fill=\"#ff8888\" fill-opacity=\"0.75\">Staff overlap<\/text><text x=\"252\" y=\"80\" font-family=\"monospace\" font-size=\"10\" fill=\"#ff8888\" fill-opacity=\"0.75\">Hard<\/text><text x=\"312\" y=\"80\" font-family=\"monospace\" font-size=\"10\" fill=\"#ff8888\" fill-opacity=\"0.75\">&#x2715; Flag<\/text><text x=\"208\" y=\"110\" font-family=\"monospace\" font-size=\"10\" fill=\"#ffd166\" fill-opacity=\"0.7\">Day pattern<\/text><text x=\"252\" y=\"110\" font-family=\"monospace\" font-size=\"10\" fill=\"#ffd166\" fill-opacity=\"0.7\">Soft<\/text><text x=\"312\" y=\"110\" font-family=\"monospace\" font-size=\"10\" fill=\"#ffd166\" fill-opacity=\"0.7\">&#x26a0; Review<\/text><text x=\"22\" y=\"52\" font-family=\"Georgia,serif\" font-size=\"17\" fill=\"#ffffff\" font-weight=\"700\">Timetabling<\/text><text x=\"22\" y=\"74\" font-family=\"Georgia,serif\" font-size=\"17\" fill=\"#4dd0a0\">Compliance<\/text><text x=\"22\" y=\"96\" font-family=\"Georgia,serif\" font-size=\"17\" fill=\"#4dd0a0\">Checker<\/text><rect x=\"18\" y=\"120\" width=\"145\" height=\"22\" rx=\"4\" fill=\"#1abc9c\" fill-opacity=\"0.2\" stroke=\"#1abc9c\" stroke-opacity=\"0.4\" stroke-width=\"1\"\/><text x=\"90\" y=\"135\" font-family=\"Arial,sans-serif\" font-size=\"10\" fill=\"#4dd0a0\" font-weight=\"700\" text-anchor=\"middle\">&#x25cf; Live POC<\/text><\/svg>\n      <div style=\"padding:16px 18px 18px;\">\n        <p style=\"margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#003E74;\">AI &#xb7; Automation &#xb7; Compliance<\/p>\n        <h3 style=\"margin:0 0 8px;font-size:16px;font-weight:700;color:#111827;line-height:1.3;\">Timetabling Compliance Checker<\/h3>\n        <p style=\"margin:0 0 12px;font-size:13px;line-height:1.6;color:#6b7280;\">CELCAT timetable validation tool applying 12+ configurable rules to detect scheduling violations and produce actionable exception reports.<\/p>\n        <span style=\"font-size:13px;font-weight:600;color:#003E74;\">View project &#x2192;<\/span>\n      <\/div>\n    <\/div>\n  <\/a>\n<a href=\"\/innovation\/projects\/live-xr-neuroanatomy-teaching-cumbria-imperial\/\" style=\"text-decoration:none;color:inherit;display:block;\">\n      <div style=\"background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 14px rgba(0,30,69,0.09);transition:box-shadow 0.2s;\">\n        <div style=\"height:160px;overflow:hidden;\"><img decoding=\"async\" src=\"https:\/\/medlearn-sites-upload.s3.eu-west-2.amazonaws.com\/wp-content\/uploads\/sites\/528\/2026\/03\/18094630\/neuro-surgery-xr-cumbria-imperial.jpg\" alt=\"Live XR Neuroanatomy session\" style=\"width:100%;height:100%;object-fit:cover;display:block;\"\/><\/div>\n        <div style=\"padding:18px 20px 22px;\">\n          <div style=\"margin-bottom:9px;\">\n            <span style=\"display:inline-block;background:#F0EEFF;color:#5B4FBE;font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:0.3px;\">VR \/ AR<\/span>\n          <\/div>\n          <h3 style=\"margin:0 0 8px 0;font-size:15px;font-weight:700;color:#001E45;line-height:1.4;\">Live XR Neuroanatomy \u2014 Cumbria &amp; Imperial<\/h3>\n          <p style=\"margin:0 0 16px 0;font-size:13px;color:#555;line-height:1.65;\">A landmark live XR neuroanatomy teaching session delivered to PCSM students at the Pears Cumbria School of Medicine using Meta Quest headsets \u2014 March 2026.<\/p>\n          <span style=\"font-size:12px;font-weight:600;color:#003E74;\">View project &rarr;<\/span>\n        <\/div>\n      <\/div>\n    <\/a>\n    <a href=\"\/innovation\/projects\/virtual-a-to-e-simulation-platform\/\" style=\"text-decoration:none;color:inherit;display:block;\">\n      <div style=\"background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 14px rgba(0,30,69,0.09);transition:box-shadow 0.2s;\">\n        <div style=\"height:160px;overflow:hidden;background:#020C1B;\"><svg viewBox=\"0 0 400 160\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"160\" preserveAspectRatio=\"xMidYMid slice\" style=\"display:block;\"><rect width=\"400\" height=\"160\" fill=\"#020C1B\"\/><polyline points=\"0,80 40,80 60,40 80,120 100,80 120,80 140,55 160,110 180,80 220,80 240,45 260,115 280,80 400,80\" stroke=\"#00FF88\" stroke-width=\"2.5\" fill=\"none\" opacity=\"0.9\"\/><rect x=\"280\" y=\"12\" width=\"110\" height=\"70\" rx=\"5\" fill=\"#0A2540\"\/><text x=\"294\" y=\"32\" font-family=\"monospace\" font-size=\"10\" fill=\"#ccc\">HR: 99 bpm<\/text><text x=\"294\" y=\"46\" font-family=\"monospace\" font-size=\"10\" fill=\"#00FF88\">SpO2: 89%<\/text><text x=\"294\" y=\"60\" font-family=\"monospace\" font-size=\"10\" fill=\"#ccc\">RR: 18<\/text><text x=\"294\" y=\"74\" font-family=\"monospace\" font-size=\"10\" fill=\"#ccc\">BP: 118\/76<\/text><text x=\"20\" y=\"145\" font-family=\"Arial,sans-serif\" font-size=\"11\" font-weight=\"600\" fill=\"#ffffff\" opacity=\"0.7\">Virtual A to E Simulation<\/text><\/svg><\/div>\n        <div style=\"padding:18px 20px 22px;\">\n          <div style=\"margin-bottom:9px;\">\n            <span style=\"display:inline-block;background:#F0FAF5;color:#1A6B4A;font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:0.3px;\">AI &middot; Simulation<\/span>\n          <\/div>\n          <h3 style=\"margin:0 0 8px 0;font-size:15px;font-weight:700;color:#001E45;line-height:1.4;\">Virtual A to E Simulation Platform<\/h3>\n          <p style=\"margin:0 0 16px 0;font-size:13px;color:#555;line-height:1.65;\">AI-powered browser-based clinical simulation for ABCDE patient assessment \u2014 built for the ACE Simulation Programme, February 2026.<\/p>\n          <span style=\"font-size:12px;font-weight:600;color:#003E74;\">View project &rarr;<\/span>\n        <\/div>\n      <\/div>\n    <\/a>\n    <a href=\"\/innovation\/projects\/ai-question-generator-gla-curriculum\/\" style=\"text-decoration:none;color:inherit;display:block;\">\n      <div style=\"background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 14px rgba(0,30,69,0.09);transition:box-shadow 0.2s;\">\n        <div style=\"height:160px;overflow:hidden;background:#001E45;\"><svg viewBox=\"0 0 400 160\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"160\" preserveAspectRatio=\"xMidYMid slice\" style=\"display:block;\"><rect width=\"400\" height=\"160\" fill=\"#001E45\"\/><rect x=\"20\" y=\"20\" width=\"170\" height=\"120\" rx=\"6\" fill=\"#0A3060\"\/><rect x=\"32\" y=\"34\" width=\"80\" height=\"8\" rx=\"3\" fill=\"#6BA3D6\" opacity=\"0.8\"\/><rect x=\"32\" y=\"50\" width=\"146\" height=\"5\" rx=\"2\" fill=\"#ffffff\" opacity=\"0.2\"\/><rect x=\"32\" y=\"60\" width=\"130\" height=\"5\" rx=\"2\" fill=\"#ffffff\" opacity=\"0.15\"\/><rect x=\"32\" y=\"74\" width=\"16\" height=\"16\" rx=\"3\" fill=\"#003E74\" stroke=\"#6BA3D6\" stroke-width=\"1\"\/><rect x=\"52\" y=\"79\" width=\"100\" height=\"5\" rx=\"2\" fill=\"#ffffff\" opacity=\"0.3\"\/><rect x=\"32\" y=\"96\" width=\"16\" height=\"16\" rx=\"3\" fill=\"#4CAF92\" opacity=\"0.9\"\/><rect x=\"52\" y=\"101\" width=\"120\" height=\"5\" rx=\"2\" fill=\"#4CAF92\" opacity=\"0.5\"\/><rect x=\"32\" y=\"118\" width=\"16\" height=\"16\" rx=\"3\" fill=\"#003E74\" stroke=\"#6BA3D6\" stroke-width=\"1\"\/><rect x=\"52\" y=\"123\" width=\"90\" height=\"5\" rx=\"2\" fill=\"#ffffff\" opacity=\"0.3\"\/><rect x=\"210\" y=\"20\" width=\"170\" height=\"120\" rx=\"6\" fill=\"#0A3060\"\/><rect x=\"222\" y=\"34\" width=\"60\" height=\"7\" rx=\"3\" fill=\"#4CAF92\" opacity=\"0.7\"\/><rect x=\"222\" y=\"48\" width=\"146\" height=\"4\" rx=\"2\" fill=\"#ffffff\" opacity=\"0.15\"\/><rect x=\"222\" y=\"57\" width=\"130\" height=\"4\" rx=\"2\" fill=\"#ffffff\" opacity=\"0.15\"\/><rect x=\"222\" y=\"66\" width=\"146\" height=\"4\" rx=\"2\" fill=\"#ffffff\" opacity=\"0.15\"\/><rect x=\"222\" y=\"80\" width=\"50\" height=\"5\" rx=\"2\" fill=\"#6BA3D6\" opacity=\"0.6\"\/><text x=\"222\" y=\"108\" font-family=\"monospace\" font-size=\"9\" fill=\"#4CAF92\">Bloom: L2 Understand<\/text><text x=\"222\" y=\"122\" font-family=\"monospace\" font-size=\"9\" fill=\"#6BA3D6\">Topic: Immunity<\/text><text x=\"20\" y=\"152\" font-family=\"Arial,sans-serif\" font-size=\"10\" font-weight=\"600\" fill=\"#ffffff\" opacity=\"0.5\">GLA CURRICULUM MAPPING<\/text><\/svg><\/div>\n        <div style=\"padding:18px 20px 22px;\">\n          <div style=\"margin-bottom:9px;\">\n            <span style=\"display:inline-block;background:#E8F0FA;color:#003E74;font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:0.3px;\">AI &middot; Assessment<\/span>\n          <\/div>\n          <h3 style=\"margin:0 0 8px 0;font-size:15px;font-weight:700;color:#001E45;line-height:1.4;\">AI Question Generator \u2014 GLA Curriculum Mapping<\/h3>\n          <p style=\"margin:0 0 16px 0;font-size:13px;color:#555;line-height:1.65;\">Automated question generation aligned to the GLA curriculum framework \u2014 Bloom&#8217;s taxonomy tagging, question banks, and structured output for module leads.<\/p>\n          <span style=\"font-size:12px;font-weight:600;color:#003E74;\">View project &rarr;<\/span>\n        <\/div>\n      <\/div>\n    <\/a>\n    <a href=\"\/innovation\/projects\/mbpv-question-assistant\/\" style=\"text-decoration:none;color:inherit;display:block;\">\n      <div style=\"background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 14px rgba(0,30,69,0.09);transition:box-shadow 0.2s;\">\n        <div style=\"height:160px;overflow:hidden;background:#001329;\"><svg viewBox=\"0 0 400 160\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"160\" preserveAspectRatio=\"xMidYMid slice\" style=\"display:block;\"><rect width=\"400\" height=\"160\" fill=\"#001329\"\/><rect x=\"12\" y=\"60\" width=\"70\" height=\"50\" rx=\"5\" fill=\"#0A2540\"\/><text x=\"47\" y=\"78\" text-anchor=\"middle\" font-family=\"monospace\" font-size=\"7\" fill=\"#6BA3D6\">Ollama<\/text><text x=\"47\" y=\"90\" text-anchor=\"middle\" font-family=\"monospace\" font-size=\"7\" fill=\"#ffffff\" opacity=\"0.5\">Laptop<\/text><text x=\"47\" y=\"102\" text-anchor=\"middle\" font-family=\"monospace\" font-size=\"7\" fill=\"#4CAF92\">Vector DB<\/text><line x1=\"82\" y1=\"85\" x2=\"108\" y2=\"85\" stroke=\"#6BA3D6\" stroke-width=\"1.5\" stroke-dasharray=\"3,2\"\/><polygon points=\"108,82 113,85 108,88\" fill=\"#6BA3D6\"\/><rect x=\"113\" y=\"60\" width=\"70\" height=\"50\" rx=\"5\" fill=\"#0A2540\"\/><text x=\"148\" y=\"78\" text-anchor=\"middle\" font-family=\"monospace\" font-size=\"7\" fill=\"#6BA3D6\">MBPV<\/text><text x=\"148\" y=\"90\" text-anchor=\"middle\" font-family=\"monospace\" font-size=\"7\" fill=\"#ffffff\" opacity=\"0.5\">Content<\/text><line x1=\"183\" y1=\"85\" x2=\"209\" y2=\"85\" stroke=\"#6BA3D6\" stroke-width=\"1.5\" stroke-dasharray=\"3,2\"\/><polygon points=\"209,82 214,85 209,88\" fill=\"#6BA3D6\"\/><rect x=\"214\" y=\"60\" width=\"70\" height=\"50\" rx=\"5\" fill=\"#0A3060\"\/><text x=\"249\" y=\"78\" text-anchor=\"middle\" font-family=\"monospace\" font-size=\"7\" fill=\"#4CAF92\">Generate<\/text><text x=\"249\" y=\"92\" text-anchor=\"middle\" font-family=\"monospace\" font-size=\"7\" fill=\"#4CAF92\">Bloom+Topic<\/text><line x1=\"284\" y1=\"85\" x2=\"310\" y2=\"85\" stroke=\"#6BA3D6\" stroke-width=\"1.5\" stroke-dasharray=\"3,2\"\/><polygon points=\"310,82 315,85 310,88\" fill=\"#6BA3D6\"\/><rect x=\"315\" y=\"60\" width=\"70\" height=\"50\" rx=\"5\" fill=\"#0A2540\"\/><text x=\"350\" y=\"78\" text-anchor=\"middle\" font-family=\"monospace\" font-size=\"7\" fill=\"#4CAF92\">Approved<\/text><text x=\"350\" y=\"90\" text-anchor=\"middle\" font-family=\"monospace\" font-size=\"7\" fill=\"#ffffff\" opacity=\"0.5\">Q-Bank<\/text><text x=\"200\" y=\"145\" text-anchor=\"middle\" font-family=\"Arial,sans-serif\" font-size=\"10\" font-weight=\"600\" fill=\"#6BA3D6\" opacity=\"0.7\">MBPV QUESTION ASSISTANT<\/text><\/svg><\/div>\n        <div style=\"padding:18px 20px 22px;\">\n          <div style=\"margin-bottom:9px;\">\n            <span style=\"display:inline-block;background:#E8F0FA;color:#003E74;font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:0.3px;\">AI &middot; Assessment<\/span>\n          <\/div>\n          <h3 style=\"margin:0 0 8px 0;font-size:15px;font-weight:700;color:#001E45;line-height:1.4;\">MBPV Question Assistant<\/h3>\n          <p style=\"margin:0 0 16px 0;font-size:13px;color:#555;line-height:1.65;\">Curriculum-aware MCQ generation for the MSc in Molecular Biology &amp; Pathology of Viruses \u2014 with module-lead governance, question banks, and exam export.<\/p>\n          <span style=\"font-size:12px;font-weight:600;color:#003E74;\">View project &rarr;<\/span>\n        <\/div>\n      <\/div>\n    <\/a>\n    <a href=\"\/innovation\/projects\/ai-alt-text-generator\/\" style=\"text-decoration:none;color:inherit;display:block;\">\n      <div style=\"background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 14px rgba(0,30,69,0.09);transition:box-shadow 0.2s;\">\n        <div style=\"height:160px;overflow:hidden;background:#F4F7FB;\"><svg viewBox=\"0 0 400 160\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"160\" preserveAspectRatio=\"xMidYMid slice\" style=\"display:block;\"><rect width=\"400\" height=\"160\" fill=\"#F4F7FB\"\/><rect x=\"20\" y=\"25\" width=\"140\" height=\"110\" rx=\"8\" fill=\"#fff\" stroke=\"#D0DCF0\" stroke-width=\"1.5\"\/><rect x=\"32\" y=\"37\" width=\"116\" height=\"66\" rx=\"5\" fill=\"#E8F0FA\"\/><rect x=\"50\" y=\"52\" width=\"40\" height=\"5\" rx=\"2\" fill=\"#6BA3D6\" opacity=\"0.5\"\/><rect x=\"50\" y=\"62\" width=\"60\" height=\"4\" rx=\"2\" fill=\"#003E74\" opacity=\"0.15\"\/><rect x=\"50\" y=\"70\" width=\"50\" height=\"4\" rx=\"2\" fill=\"#003E74\" opacity=\"0.15\"\/><circle cx=\"75\" cy=\"87\" r=\"12\" fill=\"#003E74\" opacity=\"0.1\"\/><line x1=\"69\" y1=\"81\" x2=\"81\" y2=\"93\" stroke=\"#003E74\" stroke-width=\"1.5\" opacity=\"0.3\"\/><rect x=\"32\" y=\"112\" width=\"60\" height=\"6\" rx=\"2\" fill=\"#6BA3D6\" opacity=\"0.6\"\/><rect x=\"32\" y=\"123\" width=\"116\" height=\"5\" rx=\"2\" fill=\"#003E74\" opacity=\"0.15\"\/><line x1=\"175\" y1=\"80\" x2=\"215\" y2=\"80\" stroke=\"#6BA3D6\" stroke-width=\"2\" stroke-dasharray=\"4,3\"\/><polygon points=\"215,77 221,80 215,83\" fill=\"#6BA3D6\"\/><circle cx=\"240\" cy=\"80\" r=\"22\" fill=\"#003E74\" opacity=\"0.1\" stroke=\"#003E74\" stroke-width=\"1.5\" stroke-dasharray=\"3,2\"\/><text x=\"240\" y=\"84\" text-anchor=\"middle\" font-family=\"Arial,sans-serif\" font-size=\"11\" font-weight=\"700\" fill=\"#003E74\">AI<\/text><line x1=\"262\" y1=\"80\" x2=\"300\" y2=\"80\" stroke=\"#6BA3D6\" stroke-width=\"2\" stroke-dasharray=\"4,3\"\/><polygon points=\"300,77 306,80 300,83\" fill=\"#6BA3D6\"\/><rect x=\"310\" y=\"50\" width=\"72\" height=\"60\" rx=\"6\" fill=\"#fff\" stroke=\"#6BA3D6\" stroke-width=\"1.5\"\/><rect x=\"318\" y=\"60\" width=\"56\" height=\"4\" rx=\"2\" fill=\"#003E74\" opacity=\"0.3\"\/><rect x=\"318\" y=\"68\" width=\"50\" height=\"3\" rx=\"1.5\" fill=\"#003E74\" opacity=\"0.15\"\/><rect x=\"318\" y=\"74\" width=\"54\" height=\"3\" rx=\"1.5\" fill=\"#003E74\" opacity=\"0.15\"\/><rect x=\"318\" y=\"80\" width=\"48\" height=\"3\" rx=\"1.5\" fill=\"#4CAF92\" opacity=\"0.6\"\/><rect x=\"318\" y=\"86\" width=\"52\" height=\"3\" rx=\"1.5\" fill=\"#003E74\" opacity=\"0.15\"\/><rect x=\"318\" y=\"92\" width=\"44\" height=\"3\" rx=\"1.5\" fill=\"#003E74\" opacity=\"0.15\"\/><\/svg><\/div>\n        <div style=\"padding:18px 20px 22px;\">\n          <div style=\"margin-bottom:9px;\">\n            <span style=\"display:inline-block;background:#F0EEFF;color:#5B4FBE;font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:0.3px;\">AI &middot; Accessibility<\/span>\n          <\/div>\n          <h3 style=\"margin:0 0 8px 0;font-size:15px;font-weight:700;color:#001E45;line-height:1.4;\">AI Alt Text Generator<\/h3>\n          <p style=\"margin:0 0 16px 0;font-size:13px;color:#555;line-height:1.65;\">AI-powered alt text generation for academic images in Global Public Health courses \u2014 supporting learning technologists with accessible content production.<\/p>\n          <span style=\"font-size:12px;font-weight:600;color:#003E74;\">View project &rarr;<\/span>\n        <\/div>\n      <\/div>\n    <\/a>\n    <a href=\"\/innovation\/projects\/abg-procedure-vision-dataset\/\" style=\"text-decoration:none;color:inherit;display:block;\">\n      <div style=\"background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 14px rgba(0,30,69,0.09);transition:box-shadow 0.2s;\">\n        <div style=\"height:160px;overflow:hidden;background:#0D0D0D;\"><svg viewBox=\"0 0 400 160\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"160\" preserveAspectRatio=\"xMidYMid slice\" style=\"display:block;\"><rect width=\"400\" height=\"160\" fill=\"#0D0D0D\"\/><rect x=\"60\" y=\"20\" width=\"280\" height=\"120\" rx=\"8\" fill=\"none\" stroke=\"#333\" stroke-width=\"2\"\/><rect x=\"80\" y=\"55\" width=\"100\" height=\"65\" rx=\"4\" fill=\"#1A0A0A\" opacity=\"0.8\"\/><rect x=\"95\" y=\"65\" width=\"70\" height=\"8\" rx=\"3\" fill=\"#8B3A3A\" opacity=\"0.8\"\/><rect x=\"100\" y=\"82\" width=\"15\" height=\"30\" rx=\"3\" fill=\"#D4A0A0\" opacity=\"0.5\"\/><rect x=\"120\" y=\"75\" width=\"8\" height=\"38\" rx=\"2\" fill=\"#D4A0A0\" opacity=\"0.4\"\/><rect x=\"75\" y=\"58\" width=\"108\" height=\"68\" rx=\"4\" fill=\"none\" stroke=\"#E53935\" stroke-width=\"1.5\" stroke-dasharray=\"4,2\"\/><text x=\"75\" y=\"53\" font-family=\"monospace\" font-size=\"8\" fill=\"#E53935\" opacity=\"0.9\">syringe<\/text><rect x=\"200\" y=\"40\" width=\"110\" height=\"50\" rx=\"4\" fill=\"none\" stroke=\"#4CAF92\" stroke-width=\"1.5\" stroke-dasharray=\"4,2\"\/><text x=\"200\" y=\"35\" font-family=\"monospace\" font-size=\"8\" fill=\"#4CAF92\" opacity=\"0.9\">proc_hand<\/text><rect x=\"200\" y=\"100\" width=\"90\" height=\"35\" rx=\"4\" fill=\"none\" stroke=\"#6BA3D6\" stroke-width=\"1.5\" stroke-dasharray=\"4,2\"\/><text x=\"200\" y=\"96\" font-family=\"monospace\" font-size=\"8\" fill=\"#6BA3D6\" opacity=\"0.9\">puncture_site<\/text><rect x=\"60\" y=\"20\" width=\"280\" height=\"120\" rx=\"8\" fill=\"none\" stroke=\"#333\" stroke-width=\"2\"\/><rect x=\"62\" y=\"22\" width=\"40\" height=\"14\" rx=\"3\" fill=\"#E53935\"\/><text x=\"66\" y=\"32\" font-family=\"monospace\" font-size=\"8\" fill=\"#fff\">REC<\/text><\/svg><\/div>\n        <div style=\"padding:18px 20px 22px;\">\n          <div style=\"margin-bottom:9px;\">\n            <span style=\"display:inline-block;background:#FDF0F0;color:#8B3A3A;font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:0.3px;\">Research &middot; Vision AI<\/span>\n          <\/div>\n          <h3 style=\"margin:0 0 8px 0;font-size:15px;font-weight:700;color:#001E45;line-height:1.4;\">ABG Procedure Vision Dataset<\/h3>\n          <p style=\"margin:0 0 16px 0;font-size:13px;color:#555;line-height:1.65;\">A first-person procedural vision dataset for arterial blood gas sampling \u2014 built for AI-assisted procedure recognition using YOLOv12s and Meta Quest footage.<\/p>\n          <span style=\"font-size:12px;font-weight:600;color:#003E74;\">View project &rarr;<\/span>\n        <\/div>\n      <\/div>\n    <\/a>\n    <a href=\"\/innovation\/projects\/canvas-embed-activity-builder\/\" style=\"text-decoration:none;color:inherit;display:block;\">\n      <div style=\"background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 14px rgba(0,30,69,0.09);transition:box-shadow 0.2s;\">\n        <div style=\"height:160px;overflow:hidden;background:#E8F0FA;\"><svg viewBox=\"0 0 400 160\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"160\" preserveAspectRatio=\"xMidYMid slice\" style=\"display:block;\"><rect width=\"400\" height=\"160\" fill=\"#E8F0FA\"\/><rect x=\"20\" y=\"15\" width=\"360\" height=\"130\" rx=\"6\" fill=\"#fff\" stroke=\"#C5D4E8\" stroke-width=\"1.2\"\/><rect x=\"20\" y=\"15\" width=\"360\" height=\"22\" rx=\"6\" fill=\"#003E74\"\/><rect x=\"20\" y=\"31\" width=\"360\" height=\"6\" fill=\"#003E74\"\/><circle cx=\"31\" cy=\"26\" r=\"4\" fill=\"#fff\" opacity=\"0.4\"\/><circle cx=\"43\" cy=\"26\" r=\"4\" fill=\"#fff\" opacity=\"0.4\"\/><circle cx=\"55\" cy=\"26\" r=\"4\" fill=\"#fff\" opacity=\"0.4\"\/><rect x=\"22\" y=\"39\" width=\"70\" height=\"104\" rx=\"3\" fill=\"#F0F4FA\"\/><rect x=\"28\" y=\"46\" width=\"56\" height=\"5\" rx=\"2\" fill=\"#C5D4E8\"\/><rect x=\"28\" y=\"56\" width=\"46\" height=\"4\" rx=\"2\" fill=\"#003E74\" opacity=\"0.7\"\/><rect x=\"28\" y=\"64\" width=\"50\" height=\"4\" rx=\"2\" fill=\"#C5D4E8\"\/><rect x=\"28\" y=\"72\" width=\"42\" height=\"4\" rx=\"2\" fill=\"#C5D4E8\"\/><rect x=\"28\" y=\"80\" width=\"48\" height=\"4\" rx=\"2\" fill=\"#C5D4E8\"\/><rect x=\"100\" y=\"39\" width=\"278\" height=\"104\" rx=\"3\" fill=\"#fff\"\/><rect x=\"108\" y=\"46\" width=\"120\" height=\"8\" rx=\"3\" fill=\"#003E74\" opacity=\"0.7\"\/><rect x=\"108\" y=\"62\" width=\"264\" height=\"74\" rx=\"4\" fill=\"#F7F9FC\" stroke=\"#6BA3D6\" stroke-width=\"1.5\" stroke-dasharray=\"4,3\"\/><rect x=\"116\" y=\"70\" width=\"80\" height=\"6\" rx=\"2\" fill=\"#6BA3D6\" opacity=\"0.6\"\/><rect x=\"116\" y=\"82\" width=\"240\" height=\"4\" rx=\"2\" fill=\"#ddd\"\/><rect x=\"116\" y=\"90\" width=\"220\" height=\"4\" rx=\"2\" fill=\"#ddd\"\/><rect x=\"116\" y=\"98\" width=\"200\" height=\"4\" rx=\"2\" fill=\"#ddd\"\/><rect x=\"116\" y=\"110\" width=\"80\" height=\"18\" rx=\"3\" fill=\"#003E74\"\/><rect x=\"120\" y=\"116\" width=\"70\" height=\"5\" rx=\"2\" fill=\"#fff\" opacity=\"0.8\"\/><\/svg><\/div>\n        <div style=\"padding:18px 20px 22px;\">\n          <div style=\"margin-bottom:9px;\">\n            <span style=\"display:inline-block;background:#E8F0FA;color:#003E74;font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:0.3px;\">Canvas LMS &middot; EdTech<\/span>\n          <\/div>\n          <h3 style=\"margin:0 0 8px 0;font-size:15px;font-weight:700;color:#001E45;line-height:1.4;\">Canvas Embed Activity Builder<\/h3>\n          <p style=\"margin:0 0 16px 0;font-size:13px;color:#555;line-height:1.65;\">Modular platform for building and embedding interactive activities in Canvas LMS \u2014 adaptive quizzes, interactive video, SCORM, and branching scenarios, with LTI available.<\/p>\n          <span style=\"font-size:12px;font-weight:600;color:#003E74;\">View project &rarr;<\/span>\n        <\/div>\n      <\/div>\n    <\/a>\n    <a href=\"\/innovation\/projects\/paces-scenario-generator\/\" style=\"text-decoration:none;color:inherit;display:block;\">\n      <div style=\"background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 14px rgba(0,30,69,0.09);transition:box-shadow 0.2s;\">\n        <div style=\"height:160px;overflow:hidden;background:#001E45;\"><svg viewBox=\"0 0 400 160\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"160\" preserveAspectRatio=\"xMidYMid slice\" style=\"display:block;\"><rect width=\"400\" height=\"160\" fill=\"#001E45\"\/><rect x=\"80\" y=\"15\" width=\"160\" height=\"130\" rx=\"7\" fill=\"#0A3060\"\/><rect x=\"118\" y=\"10\" width=\"84\" height=\"14\" rx=\"7\" fill=\"#1A4A80\"\/><rect x=\"93\" y=\"36\" width=\"134\" height=\"8\" rx=\"3\" fill=\"#6BA3D6\" opacity=\"0.7\"\/><rect x=\"93\" y=\"50\" width=\"134\" height=\"22\" rx=\"3\" fill=\"#fff\" opacity=\"0.08\"\/><rect x=\"93\" y=\"78\" width=\"60\" height=\"8\" rx=\"3\" fill=\"#4CAF92\" opacity=\"0.7\"\/><rect x=\"93\" y=\"90\" width=\"134\" height=\"14\" rx=\"3\" fill=\"#fff\" opacity=\"0.08\"\/><rect x=\"93\" y=\"110\" width=\"75\" height=\"8\" rx=\"3\" fill=\"#4CAF92\" opacity=\"0.7\"\/><rect x=\"93\" y=\"122\" width=\"134\" height=\"14\" rx=\"3\" fill=\"#fff\" opacity=\"0.08\"\/><circle cx=\"300\" cy=\"60\" r=\"32\" fill=\"#0A3060\"\/><path d=\"M285 46 Q278 58 285 70 Q292 82 300 82 Q308 82 312 76\" stroke=\"#4CAF92\" stroke-width=\"3\" fill=\"none\" stroke-linecap=\"round\"\/><circle cx=\"312\" cy=\"72\" r=\"7\" fill=\"none\" stroke=\"#4CAF92\" stroke-width=\"2.5\"\/><circle cx=\"312\" cy=\"72\" r=\"3\" fill=\"#4CAF92\"\/><text x=\"200\" y=\"148\" text-anchor=\"middle\" font-family=\"Arial,sans-serif\" font-size=\"10\" font-weight=\"600\" fill=\"#4CAF92\" opacity=\"0.6\">PACES \u00b7 ICE \u00b7 MRCP<\/text><\/svg><\/div>\n        <div style=\"padding:18px 20px 22px;\">\n          <div style=\"margin-bottom:9px;\">\n            <span style=\"display:inline-block;background:#F0FAF5;color:#1A6B4A;font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:0.3px;\">Clinical &middot; AI<\/span>\n          <\/div>\n          <h3 style=\"margin:0 0 8px 0;font-size:15px;font-weight:700;color:#001E45;line-height:1.4;\">PACES Scenario Generator<\/h3>\n          <p style=\"margin:0 0 16px 0;font-size:13px;color:#555;line-height:1.65;\">Research pilot exploring whether AI-generated PACES scenario drafts \u2014 covering presenting complaint, personality and ICE \u2014 can reduce the time burden on clinical examiners.<\/p>\n          <span style=\"font-size:12px;font-weight:600;color:#003E74;\">View project &rarr;<\/span>\n        <\/div>\n      <\/div>\n    <\/a>\n    <a href=\"\/innovation\/projects\/cri-healthcare-technology-vr-design\/\" style=\"text-decoration:none;color:inherit;display:block;\">\n      <div style=\"background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 14px rgba(0,30,69,0.09);\">\n        <div style=\"height:160px;overflow:hidden;\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 400 160\" height=\"160\" style=\"width:100%;height:160px;display:block;\" preserveAspectRatio=\"xMidYMid slice\"><defs><linearGradient id=\"cribg2\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\"><stop offset=\"0%\" style=\"stop-color:#001E45\"\/><stop offset=\"100%\" style=\"stop-color:#003E74\"\/><\/linearGradient><\/defs><rect width=\"400\" height=\"160\" fill=\"url(#cribg2)\"\/><circle cx=\"40\" cy=\"25\" r=\"1.5\" fill=\"#fff\" opacity=\"0.5\"\/><circle cx=\"120\" cy=\"15\" r=\"1\" fill=\"#fff\" opacity=\"0.4\"\/><circle cx=\"280\" cy=\"20\" r=\"1.5\" fill=\"#fff\" opacity=\"0.4\"\/><circle cx=\"360\" cy=\"30\" r=\"1\" fill=\"#fff\" opacity=\"0.5\"\/><circle cx=\"200\" cy=\"10\" r=\"1\" fill=\"#fff\" opacity=\"0.3\"\/><circle cx=\"340\" cy=\"120\" r=\"1\" fill=\"#fff\" opacity=\"0.3\"\/><g transform=\"translate(200,72)\"><rect x=\"-60\" y=\"-22\" width=\"120\" height=\"56\" rx=\"14\" fill=\"#4CAF92\" opacity=\"0.9\"\/><ellipse cx=\"-22\" cy=\"7\" rx=\"18\" ry=\"14\" fill=\"#001E45\"\/><ellipse cx=\"22\" cy=\"7\" rx=\"18\" ry=\"14\" fill=\"#001E45\"\/><ellipse cx=\"-17\" cy=\"3\" rx=\"7\" ry=\"6\" fill=\"#4CAF92\" opacity=\"0.5\"\/><ellipse cx=\"17\" cy=\"3\" rx=\"7\" ry=\"6\" fill=\"#4CAF92\" opacity=\"0.5\"\/><rect x=\"-60\" y=\"-8\" width=\"13\" height=\"30\" rx=\"4\" fill=\"#2E8B72\"\/><rect x=\"47\" y=\"-8\" width=\"13\" height=\"30\" rx=\"4\" fill=\"#2E8B72\"\/><\/g><circle cx=\"60\" cy=\"100\" r=\"4\" fill=\"#4CAF92\" opacity=\"0.4\"\/><circle cx=\"100\" cy=\"75\" r=\"3\" fill=\"#4CAF92\" opacity=\"0.35\"\/><circle cx=\"140\" cy=\"105\" r=\"3.5\" fill=\"#4CAF92\" opacity=\"0.3\"\/><line x1=\"60\" y1=\"100\" x2=\"100\" y2=\"75\" stroke=\"#4CAF92\" stroke-width=\"1\" opacity=\"0.3\"\/><line x1=\"100\" y1=\"75\" x2=\"140\" y2=\"105\" stroke=\"#4CAF92\" stroke-width=\"1\" opacity=\"0.3\"\/><circle cx=\"265\" cy=\"110\" r=\"4\" fill=\"#4CAF92\" opacity=\"0.4\"\/><circle cx=\"305\" cy=\"85\" r=\"3\" fill=\"#4CAF92\" opacity=\"0.35\"\/><line x1=\"265\" y1=\"110\" x2=\"305\" y2=\"85\" stroke=\"#4CAF92\" stroke-width=\"1\" opacity=\"0.3\"\/><text x=\"200\" y=\"138\" font-family=\"Arial,sans-serif\" font-size=\"11\" fill=\"#4CAF92\" text-anchor=\"middle\" opacity=\"0.8\">ShapesXR &#xB7; CRI 2024&#x2013;25<\/text><\/svg><\/div>\n        <div style=\"padding:18px 20px 22px;\">\n          <span style=\"display:inline-block;background:#e8f5f0;color:#2E8B72;font-size:11px;font-weight:700;padding:3px 10px;border-radius:10px;margin-bottom:10px;text-transform:uppercase;letter-spacing:0.3px;\">VR\/AR<\/span>\n          <h3 style=\"margin:0 0 8px;font-size:15px;font-weight:700;color:#001E45;line-height:1.4;\">CRI Healthcare Technology: VR Design for Medical Students<\/h3>\n          <p style=\"margin:0 0 16px;font-size:13px;color:#555;line-height:1.65;\">Year 2 MBBS students used ShapesXR to design collaborative VR environments for remote medicine scenarios &#x2014; hyperbaric chambers and space medicine &#x2014; as part of the MBBS Research Skills CRI programme.<\/p>\n          <span style=\"font-size:12px;font-weight:600;color:#003E74;\">View project &#x2192;<\/span>\n        <\/div>\n      <\/div>\n    <\/a>\n    <a href=\"\/innovation\/projects\/vr-micropipette-training\/\" style=\"text-decoration:none;color:inherit;display:block;\">\n      <div style=\"background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 14px rgba(0,30,69,0.09);transition:box-shadow 0.2s;\">\n        <div style=\"height:160px;overflow:hidden;background:linear-gradient(135deg,#001E45 0%,#1a5276 50%,#4CAF92 100%);display:flex;align-items:center;justify-content:center;position:relative;\">\n          <svg width=\"180\" height=\"120\" viewBox=\"0 0 180 120\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n            <!-- VR Headset -->\n            <rect x=\"38\" y=\"38\" width=\"60\" height=\"38\" rx=\"10\" fill=\"white\" fill-opacity=\"0.15\" stroke=\"white\" stroke-width=\"2\"\/>\n            <rect x=\"48\" y=\"48\" width=\"16\" height=\"16\" rx=\"4\" fill=\"white\" fill-opacity=\"0.3\"\/>\n            <rect x=\"72\" y=\"48\" width=\"16\" height=\"16\" rx=\"4\" fill=\"white\" fill-opacity=\"0.3\"\/>\n            <path d=\"M38 57H30M98 57H106\" stroke=\"white\" stroke-width=\"2.5\" stroke-linecap=\"round\"\/>\n            <!-- Pipette -->\n            <rect x=\"118\" y=\"22\" width=\"8\" height=\"48\" rx=\"4\" fill=\"white\" fill-opacity=\"0.2\" stroke=\"white\" stroke-width=\"1.5\"\/>\n            <path d=\"M122 70 L122 92\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\"\/>\n            <path d=\"M119 90 L122 98 L125 90\" fill=\"white\" fill-opacity=\"0.4\" stroke=\"white\" stroke-width=\"1\"\/>\n            <rect x=\"116\" y=\"28\" width=\"12\" height=\"6\" rx=\"2\" fill=\"white\" fill-opacity=\"0.35\"\/>\n            <!-- Droplets -->\n            <circle cx=\"122\" cy=\"102\" r=\"3\" fill=\"#4CAF92\" fill-opacity=\"0.9\"\/>\n            <circle cx=\"115\" cy=\"108\" r=\"2\" fill=\"white\" fill-opacity=\"0.5\"\/>\n            <!-- Connection dots -->\n            <circle cx=\"106\" cy=\"57\" r=\"3\" fill=\"white\" fill-opacity=\"0.6\"\/>\n            <circle cx=\"114\" cy=\"52\" r=\"2\" fill=\"white\" fill-opacity=\"0.4\"\/>\n            <circle cx=\"112\" cy=\"62\" r=\"2\" fill=\"white\" fill-opacity=\"0.4\"\/>\n            <!-- Patent badge -->\n            <circle cx=\"152\" cy=\"28\" r=\"14\" fill=\"#4CAF92\" fill-opacity=\"0.9\"\/>\n            <text x=\"152\" y=\"25\" text-anchor=\"middle\" fill=\"white\" font-size=\"6\" font-weight=\"bold\">UK<\/text>\n            <text x=\"152\" y=\"33\" text-anchor=\"middle\" fill=\"white\" font-size=\"5\">PATENT<\/text>\n          <\/svg>\n        <\/div>\n        <div style=\"padding:18px 20px 20px;\">\n          <span style=\"display:inline-block;background:#e8f5f1;color:#4CAF92;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:3px 8px;border-radius:3px;margin-bottom:10px;\">SIMULATION TRAINING<\/span>\n          <h3 style=\"color:#003E74;font-size:16px;font-weight:700;margin:0 0 8px 0;line-height:1.3;\">VR Micropipette Training System<\/h3>\n          <p style=\"color:#666;font-size:13px;line-height:1.5;margin:0 0 12px 0;\">Custom haptic pipette controllers paired with VR to teach life-science students precise micropipetting technique. UK patent filed January 2025.<\/p>\n          <span style=\"color:#003E74;font-size:12px;font-weight:600;\">View project \u2192<\/span>\n        <\/div>\n      <\/div>\n    <\/a>\n    <a href=\"\/innovation\/projects\/medlearn-sharepoint-qa-agent\/\" style=\"text-decoration:none;color:inherit;display:block;\">\n      <div style=\"background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 14px rgba(0,30,69,0.09);transition:box-shadow 0.2s;\">\n        <div style=\"height:160px;overflow:hidden;background:#001E45;\"><svg viewBox=\"0 0 400 160\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"100%\" height=\"160\" preserveAspectRatio=\"xMidYMid slice\" style=\"display:block;\"><defs><linearGradient id=\"spcard\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\"><stop offset=\"0%\" style=\"stop-color:#001E45;stop-opacity:1\"\/><stop offset=\"70%\" style=\"stop-color:#003E74;stop-opacity:1\"\/><stop offset=\"100%\" style=\"stop-color:#1a6b5a;stop-opacity:1\"\/><\/linearGradient><\/defs><rect width=\"400\" height=\"160\" fill=\"url(#spcard)\"\/><rect x=\"0\" y=\"0\" width=\"400\" height=\"160\" fill=\"none\"\/><text x=\"24\" y=\"62\" font-family=\"Georgia,serif\" font-size=\"22\" font-weight=\"700\" fill=\"#ffffff\">MedLearn<\/text><text x=\"24\" y=\"88\" font-family=\"Georgia,serif\" font-size=\"22\" font-weight=\"700\" fill=\"#ffffff\">SharePoint<\/text><text x=\"24\" y=\"114\" font-family=\"Georgia,serif\" font-size=\"22\" font-weight=\"700\" fill=\"#4CAF92\">Q&amp;A Agent<\/text><rect x=\"24\" y=\"130\" width=\"28\" height=\"16\" rx=\"8\" fill=\"#ffffff\" fill-opacity=\"0.12\"\/><text x=\"38\" y=\"142\" text-anchor=\"middle\" font-family=\"Georgia,serif\" font-size=\"9\" fill=\"#ffffff\" fill-opacity=\"0.85\">AI<\/text><rect x=\"60\" y=\"130\" width=\"62\" height=\"16\" rx=\"8\" fill=\"#ffffff\" fill-opacity=\"0.12\"\/><text x=\"91\" y=\"142\" text-anchor=\"middle\" font-family=\"Georgia,serif\" font-size=\"9\" fill=\"#ffffff\" fill-opacity=\"0.85\">Integration<\/text><rect x=\"130\" y=\"130\" width=\"34\" height=\"16\" rx=\"8\" fill=\"#4CAF92\" fill-opacity=\"0.3\"\/><text x=\"147\" y=\"142\" text-anchor=\"middle\" font-family=\"Georgia,serif\" font-size=\"9\" fill=\"#4CAF92\">POC<\/text><rect x=\"280\" y=\"28\" width=\"96\" height=\"14\" rx=\"3\" fill=\"#ffffff\" fill-opacity=\"0.06\"\/><rect x=\"280\" y=\"48\" width=\"96\" height=\"14\" rx=\"3\" fill=\"#ffffff\" fill-opacity=\"0.06\"\/><rect x=\"280\" y=\"68\" width=\"96\" height=\"14\" rx=\"3\" fill=\"#ffffff\" fill-opacity=\"0.06\"\/><line x1=\"328\" y1=\"90\" x2=\"328\" y2=\"104\" stroke=\"#4CAF92\" stroke-width=\"1.5\" stroke-opacity=\"0.6\"\/><rect x=\"306\" y=\"106\" width=\"44\" height=\"28\" rx=\"4\" fill=\"#4CAF92\" fill-opacity=\"0.2\" stroke=\"#4CAF92\" stroke-opacity=\"0.4\" stroke-width=\"1\"\/><text x=\"328\" y=\"124\" text-anchor=\"middle\" font-family=\"Georgia,serif\" font-size=\"8\" fill=\"#4CAF92\">Agent<\/text><\/svg><\/div>\n        <div style=\"padding:18px 20px 20px;\">\n          <p style=\"font-size:11px;font-weight:600;letter-spacing:0.6px;text-transform:uppercase;color:#888;margin:0 0 8px;\">AI &middot; Integration &middot; POC<\/p>\n          <h3 style=\"font-size:16px;font-weight:700;color:#001E45;margin:0 0 8px;line-height:1.35;\">MedLearn SharePoint Q&amp;A Agent<\/h3>\n          <p style=\"font-size:13px;line-height:1.6;color:#555;margin:0 0 14px;\">Natural-language querying of restricted SharePoint folders, surfaced on MedLearn with source citations \u2014 requested by the DEO Lead.<\/p>\n          <span style=\"font-size:12px;font-weight:600;color:#003E74;\">View project &rarr;<\/span>\n        <\/div>\n      <\/div>\n    <\/a>\n\n  <a href=\"https:\/\/medlearn.imperial.ac.uk\/innovation\/projects\/360-vr-emergency-simulations\/\" style=\"text-decoration:none;color:inherit;display:block;\">\n    <div style=\"background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.08);transition:box-shadow .2s;\">\n      <svg width=\"100%\" height=\"160\" viewBox=\"0 0 400 160\" preserveAspectRatio=\"xMidYMid slice\" style=\"display:block;\"><defs><linearGradient id=\"vrcardg\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\"><stop offset=\"0%\" style=\"stop-color:#060d2b;stop-opacity:1\"\/><stop offset=\"100%\" style=\"stop-color:#0d4a6e;stop-opacity:1\"\/><\/linearGradient><\/defs><rect width=\"400\" height=\"160\" fill=\"url(#vrcardg)\"\/><circle cx=\"320\" cy=\"70\" r=\"90\" fill=\"#00bcd4\" fill-opacity=\"0.07\"\/><circle cx=\"360\" cy=\"130\" r=\"55\" fill=\"#3b82f6\" fill-opacity=\"0.08\"\/><ellipse cx=\"315\" cy=\"80\" rx=\"65\" ry=\"38\" fill=\"none\" stroke=\"#38bdf8\" stroke-width=\"1.5\" stroke-opacity=\"0.25\"\/><text x=\"24\" y=\"56\" font-family=\"Georgia,serif\" font-size=\"20\" fill=\"#ffffff\" font-weight=\"700\">360&#xb0; VR Emergency<\/text><text x=\"24\" y=\"82\" font-family=\"Georgia,serif\" font-size=\"20\" fill=\"#38bdf8\">Simulations<\/text><text x=\"24\" y=\"108\" font-family=\"Arial,sans-serif\" font-size=\"12\" fill=\"#ffffff\" fill-opacity=\"0.7\">700 students &#xb7; Curriculum-embedded<\/text><rect x=\"24\" y=\"124\" width=\"180\" height=\"22\" rx=\"4\" fill=\"#f59e0b\"\/><text x=\"114\" y=\"139\" font-family=\"Arial,sans-serif\" font-size=\"11\" fill=\"#1a0a00\" font-weight=\"700\" text-anchor=\"middle\">&#x2605; Gartner Award Winner<\/text><\/svg>\n      <div style=\"padding:16px 18px 18px;\">\n        <p style=\"margin:0 0 6px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#003E74;\">XR &amp; Simulation<\/p>\n        <h3 style=\"margin:0 0 8px;font-size:16px;font-weight:700;color:#111827;line-height:1.3;\">360&#xb0; Interactive VR Emergency Simulations<\/h3>\n        <p style=\"margin:0 0 12px;font-size:13px;line-height:1.6;color:#6b7280;\">Immersive branching 360&#xb0; VR scenarios for cardiac arrest and asthma, embedded across the full medical year cohort.<\/p>\n        <span style=\"font-size:13px;font-weight:600;color:#003E74;\">View project &#x2192;<\/span>\n      <\/div>\n    <\/div>\n  <\/a>\n<a href=\"https:\/\/medlearn.imperial.ac.uk\/innovation\/projects\/cardiac-pathology-vr\/\" style=\"text-decoration:none;color:inherit;display:block;\"><div style=\"background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 14px rgba(0,30,69,0.09);transition:box-shadow 0.2s;\"><div style=\"height:160px;overflow:hidden;background:#0A0505;\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 400 160\" style=\"display:block;\"><defs><filter id=\"eg2\"><feGaussianBlur stdDeviation=\"2\" result=\"b\"\/><feMerge><feMergeNode in=\"b\"\/><feMergeNode in=\"b\"\/><feMergeNode in=\"SourceGraphic\"\/><\/feMerge><\/filter><linearGradient id=\"gf2\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"0\"><stop offset=\"0%\" stop-color=\"#1a2a3a\" stop-opacity=\"0\"\/><stop offset=\"40%\" stop-color=\"#1a2a3a\" stop-opacity=\"0.15\"\/><stop offset=\"100%\" stop-color=\"#1a2a3a\" stop-opacity=\"0.15\"\/><\/linearGradient><\/defs><rect x=\"0\" y=\"40\" width=\"400\" height=\"1\" fill=\"url(#gf2)\"\/><rect x=\"0\" y=\"80\" width=\"400\" height=\"1\" fill=\"url(#gf2)\"\/><rect x=\"0\" y=\"120\" width=\"400\" height=\"1\" fill=\"url(#gf2)\"\/><g transform=\"translate(248,8)\" opacity=\"0.38\"><path d=\"M65 23C78 4 110 4 116 29C119 46 112 61 98 73C85 84 72 95 65 125C58 95 45 84 32 73C18 61 11 46 14 29C20 4 52 4 65 23Z\" fill=\"#6b1010\"\/><path d=\"M58 23C52 12 40 7 37 13C33 19 35 27 41 28\" fill=\"none\" stroke=\"#c0392b\" stroke-width=\"6\" stroke-linecap=\"round\" opacity=\"0.8\"\/><path d=\"M71 23C75 12 87 8 90 13C92 19 90 26 85 27\" fill=\"none\" stroke=\"#1a4f7a\" stroke-width=\"5\" stroke-linecap=\"round\" opacity=\"0.7\"\/><path d=\"M31 55C20 63 20 78 26 88\" fill=\"none\" stroke=\"#8b2020\" stroke-width=\"2.5\" stroke-linecap=\"round\" opacity=\"0.6\"\/><path d=\"M65 58C63 78 62 98 66 112\" fill=\"none\" stroke=\"#8b2020\" stroke-width=\"2.5\" stroke-linecap=\"round\" opacity=\"0.6\"\/><path d=\"M80 50C92 56 100 70 98 84\" fill=\"none\" stroke=\"#8b2020\" stroke-width=\"2\" stroke-linecap=\"round\" opacity=\"0.5\"\/><\/g><g filter=\"url(#eg2)\"><polyline fill=\"none\" stroke=\"#e74c3c\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" opacity=\"0.95\" points=\"0,80 20,80 22,74 25,94 28,80 44,80 47,72 50,52 54,114 57,60 60,80 72,80 74,73 77,88 80,80 104,80 107,72 110,50 114,116 117,58 120,80 133,80 135,73 138,88 141,80 168,80 171,71 174,48 178,118 181,56 184,80 196,80 198,73 201,88 204,80 232,80 235,71 238,48 242,118 245,56 248,80 260,80 262,73 265,88 268,80 400,80\"\/><\/g><rect x=\"0\" y=\"0\" width=\"3\" height=\"160\" fill=\"#c0392b\" opacity=\"0.75\"\/><\/svg><\/div><div style=\"padding:18px 20px 22px;\"><div style=\"margin-bottom:9px;\"><span style=\"display:inline-block;background:#E8F0FA;color:#003E74;font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:0.3px;\">XR &amp; Simulation<\/span><\/div><h3 style=\"margin:0 0 8px 0;font-size:15px;font-weight:700;color:#001E45;line-height:1.4;\">Cardiac Pathology VR<\/h3><p style=\"margin:0 0 16px 0;font-size:13px;color:#555;line-height:1.65;\">Photogrammetry of real pathological heart specimens combined with four narrative VR scenarios &#8212; connecting cardiac anatomy, ECG interpretation, and clinical outcomes in a single immersive experience. MBBS Year 5.<\/p><span style=\"font-size:12px;font-weight:600;color:#003E74;\">View project &#8594;<\/span><\/div><\/div><\/a>\n\n<a href=\"https:\/\/medlearn.imperial.ac.uk\/innovation\/projects\/canvas-migration-bot\/\" style=\"text-decoration:none;color:inherit;display:block;\">\n  <div style=\"background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 14px rgba(0,30,69,0.09);transition:box-shadow 0.2s;\">\n    <div style=\"height:160px;overflow:hidden;background:#001629;\">\n      <svg viewBox=\"0 0 400 160\" style=\"display:block;\">\n        <defs>\n          <radialGradient id=\"glow-cmb-card\" cx=\"62%\" cy=\"50%\" r=\"40%\">\n            <stop offset=\"0%\" stop-color=\"#29ABE2\" stop-opacity=\"0.2\"\/><stop offset=\"100%\" stop-color=\"#29ABE2\" stop-opacity=\"0\"\/>\n          <\/radialGradient>\n        <\/defs>\n        <rect width=\"400\" height=\"160\" fill=\"#001629\"\/>\n        <rect width=\"400\" height=\"160\" fill=\"url(#glow-cmb-card)\"\/>\n        <line x1=\"200\" y1=\"80\" x2=\"290\" y2=\"48\" stroke=\"#29ABE2\" stroke-width=\"1\" stroke-opacity=\"0.3\"\/>\n        <line x1=\"200\" y1=\"80\" x2=\"312\" y2=\"108\" stroke=\"#29ABE2\" stroke-width=\"1\" stroke-opacity=\"0.3\"\/>\n        <line x1=\"200\" y1=\"80\" x2=\"128\" y2=\"118\" stroke=\"#29ABE2\" stroke-width=\"1\" stroke-opacity=\"0.25\"\/>\n        <line x1=\"200\" y1=\"80\" x2=\"118\" y2=\"44\" stroke=\"#29ABE2\" stroke-width=\"1\" stroke-opacity=\"0.2\"\/>\n        <line x1=\"290\" y1=\"48\" x2=\"352\" y2=\"78\" stroke=\"#29ABE2\" stroke-width=\"0.8\" stroke-opacity=\"0.2\"\/>\n        <line x1=\"312\" y1=\"108\" x2=\"352\" y2=\"78\" stroke=\"#29ABE2\" stroke-width=\"0.8\" stroke-opacity=\"0.2\"\/>\n        <circle cx=\"200\" cy=\"80\" r=\"14\" fill=\"#29ABE2\" fill-opacity=\"0.14\" stroke=\"#29ABE2\" stroke-width=\"1.5\" stroke-opacity=\"0.7\"\/>\n        <circle cx=\"200\" cy=\"80\" r=\"6\" fill=\"#29ABE2\" fill-opacity=\"0.7\"\/>\n        <circle cx=\"290\" cy=\"48\" r=\"9\" fill=\"#29ABE2\" fill-opacity=\"0.1\" stroke=\"#29ABE2\" stroke-width=\"1.2\" stroke-opacity=\"0.5\"\/>\n        <circle cx=\"290\" cy=\"48\" r=\"4\" fill=\"#29ABE2\" fill-opacity=\"0.45\"\/>\n        <circle cx=\"312\" cy=\"108\" r=\"10\" fill=\"#29ABE2\" fill-opacity=\"0.1\" stroke=\"#29ABE2\" stroke-width=\"1.2\" stroke-opacity=\"0.5\"\/>\n        <circle cx=\"312\" cy=\"108\" r=\"4\" fill=\"#29ABE2\" fill-opacity=\"0.4\"\/>\n        <circle cx=\"128\" cy=\"118\" r=\"8\" fill=\"#29ABE2\" fill-opacity=\"0.08\" stroke=\"#29ABE2\" stroke-width=\"1\" stroke-opacity=\"0.38\"\/>\n        <circle cx=\"128\" cy=\"118\" r=\"3\" fill=\"#29ABE2\" fill-opacity=\"0.32\"\/>\n        <circle cx=\"118\" cy=\"44\" r=\"7\" fill=\"#29ABE2\" fill-opacity=\"0.08\" stroke=\"#29ABE2\" stroke-width=\"1\" stroke-opacity=\"0.32\"\/>\n        <circle cx=\"118\" cy=\"44\" r=\"3\" fill=\"#29ABE2\" fill-opacity=\"0.28\"\/>\n        <circle cx=\"352\" cy=\"78\" r=\"8\" fill=\"#29ABE2\" fill-opacity=\"0.08\" stroke=\"#29ABE2\" stroke-width=\"1\" stroke-opacity=\"0.32\"\/>\n        <circle cx=\"352\" cy=\"78\" r=\"3\" fill=\"#29ABE2\" fill-opacity=\"0.28\"\/>\n        <rect x=\"55\" y=\"62\" width=\"48\" height=\"24\" rx=\"5\" fill=\"none\" stroke=\"#29ABE2\" stroke-width=\"0.8\" stroke-opacity=\"0.3\"\/>\n        <rect x=\"61\" y=\"70\" width=\"22\" height=\"4\" rx=\"2\" fill=\"#29ABE2\" fill-opacity=\"0.25\"\/>\n        <rect x=\"61\" y=\"78\" width=\"32\" height=\"4\" rx=\"2\" fill=\"#29ABE2\" fill-opacity=\"0.16\"\/>\n        <rect x=\"0\" y=\"0\" width=\"3\" height=\"160\" fill=\"#29ABE2\" opacity=\"0.7\"\/>\n      <\/svg>\n    <\/div>\n    <div style=\"padding:18px 20px 22px;\">\n      <div style=\"margin-bottom:9px;\">\n        <span style=\"display:inline-block;background:#E8F0FA;color:#003E74;font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px;letter-spacing:0.3px;\">Canvas LMS<\/span>\n      <\/div>\n      <h3 style=\"margin:0 0 8px 0;font-size:15px;font-weight:700;color:#001E45;line-height:1.4;\">Canvas Migration Bot<\/h3>\n      <p style=\"margin:0 0 16px 0;font-size:13px;color:#555;line-height:1.65;\">AI-powered assistant answering Blackboard \u2192 Canvas migration queries for FoM staff \u2014 embedded on MedLearn, secured with Imperial login.<\/p>\n      <span style=\"font-size:12px;font-weight:600;color:#003E74;\">View project \u2192<\/span>\n    <\/div>\n  <\/div>\n<\/a>\n  <\/div>\n\n\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":16,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-7","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/medlearn.imperial.ac.uk\/innovation\/wp-json\/wp\/v2\/pages\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/medlearn.imperial.ac.uk\/innovation\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/medlearn.imperial.ac.uk\/innovation\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/medlearn.imperial.ac.uk\/innovation\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/medlearn.imperial.ac.uk\/innovation\/wp-json\/wp\/v2\/comments?post=7"}],"version-history":[{"count":39,"href":"https:\/\/medlearn.imperial.ac.uk\/innovation\/wp-json\/wp\/v2\/pages\/7\/revisions"}],"predecessor-version":[{"id":310,"href":"https:\/\/medlearn.imperial.ac.uk\/innovation\/wp-json\/wp\/v2\/pages\/7\/revisions\/310"}],"wp:attachment":[{"href":"https:\/\/medlearn.imperial.ac.uk\/innovation\/wp-json\/wp\/v2\/media?parent=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}