PageSourceSearch

https://crstoday.com/accounts/login/

html crstoday.com collected 2026-09-24 18:51:53 UTC 75,760 bytes, 1,079 lines download raw bytes

1<!DOCTYPE html><html class="data no-js normal-html"><head>
1<script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js"  type="text/javascript" charset="UTF-8" data-domain-script=018f3a97-fa2c-7865-afba-ee931a20812c ></script>
1<script src="https://privacyportal-eu-cdn.onetrust.com/privacy-notice-scripts/otnotice-1.0.min.js" type="text/javascript" charset="UTF-8" id="otprivacy-notice-script">
2  
3    settings="eyJjYWxsYmFja1VybCI6Imh0dHBzOi8vcHJpdmFjeXBvcnRhbC1ldS5vbmV0cnVzdC5jb20vcmVxdWVzdC92MS9wcml2YWN5Tm90aWNlcy9zdGF0cy92aWV3cyIsImNvbnRlbnRBcGlVcmwiOiJodHRwczovL3ByaXZhY3lwb3J0YWwtZXUub25ldHJ1c3QuY29tL3JlcXVlc3QvdjEvZW50ZXJwcmlzZXBvbGljeS9kaWdpdGFscG9saWN5L2NvbnRlbnQiLCJtZXRhZGF0YUFwaVVybCI6Imh0dHBzOi8vcHJpdmFjeXBvcnRhbC1ldS5vbmV0cnVzdC5jb20vcmVxdWVzdC92MS9lbnRlcnByaXNlcG9saWN5L2RpZ2l0YWxwb2xpY3kvbWV0YS1kYXRhIn0="
4  
5</script>
5<script type="text/javascript">
6    let resolveOneTrust;
7    window.onetrustLoaded = new Promise((resolve) => resolveOnetrust = resolve);
8    function OptanonWrapper() {
9      resolveOnetrust();
10    }
11</script>
11<meta charset="utf-8"><meta name="csrf-token" content="R1yHzhKzDWcWVdl5Fe722bxDQ0zC6m9XAity61J3tvp1rGafnz7Ah0uOUPP1xD1G"><title>
12          
13            
14            - Cataract &amp; Refractive Surgery Today
15          
16        </title><meta name="description" content="Cataract & Refractive Surgery Today delivers cutting-edge information to cataract and refractive surgeons."><meta name="dc.description" content="Cataract & Refractive Surgery Today delivers cutting-edge information to cataract and refractive surgeons."><meta itemprop="description" content="Cataract & Refractive Surgery Today delivers cutting-edge information to cataract and refractive surgeons."><link rel="apple-touch-icon" sizes="57x57" href="https://cdn.crstoday.com/uploads/branding/crs/apple-touch-icon-57x57.png"><link rel="apple-touch-icon" sizes="60x60" href="https://cdn.crstoday.com/uploads/branding/crs/apple-touch-icon-60x60.png"><link rel="apple-touch-icon" sizes="72x72" href="https://cdn.crstoday.com/uploads/branding/crs/apple-touch-icon-72x72.png"><link rel="apple-touch-icon" sizes="76x76" href="https://cdn.crstoday.com/uploads/branding/crs/apple-touch-icon-76x76.png"><link rel="apple-touch-icon" sizes="114x114" href="https://cdn.crstoday.com/uploads/branding/crs/apple-touch-icon-114x114.png"><link rel="apple-touch-icon" sizes="120x120" href="https://cdn.crstoday.com/uploads/branding/crs/apple-touch-icon-120x120.png"><link rel="apple-touch-icon" sizes="144x144" href="https://cdn.crstoday.com/uploads/branding/crs/apple-touch-icon-144x144.png"><link rel="apple-touch-icon" sizes="152x152" href="https://cdn.crstoday.com/uploads/branding/crs/apple-touch-icon-152x152.png"><link rel="apple-touch-icon" sizes="180x180" href="https://cdn.crstoday.com/uploads/branding/crs/apple-touch-icon-180x180.png"><link rel="icon" type="image/png" href="https://cdn.crstoday.com/uploads/branding/crs/favicon-16x16.png" sizes="16x16"><link rel="icon" type="image/png" href="https://cdn.crstoday.com/uploads/branding/crs/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="https://cdn.crstoday.com/uploads/branding/crs/favicon-194x194.png" sizes="194x194"><link rel="icon" type="image/png" href="https://cdn.crstoday.com/uploads/branding/crs/android-chrome-96x96.png" sizes="96x96"><link rel="icon" type="image/png" href="https://cdn.crstoday.com/uploads/branding/crs/android-chrome-192x192.png" sizes="192x192"><link rel="icon" href="https://cdn.crstoday.com/uploads/branding/crs/favicon.ico" type="image/x-icon" /><link rel="shortcut icon" href="https://cdn.crstoday.com/uploads/branding/crs/favicon.ico" type="image/x-icon" /><link rel="manifest" href="/favicons/manifest.json"><link rel='mask-icon' href="https://cdn.crstoday.com/uploads/branding/crs/safari-pinned-tab.svg'" color='#263E6D'><meta name="msapplication-config" content="/uploads/branding/browserconfig.xml" /><meta name="msapplication-TileColor" content="#263E6D"><meta name="msapplication-TileImage" content="https://cdn.crstoday.com/uploads/branding/crs/mstile-144x144.png"><meta name="theme-color" content="#263E6D"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"><meta name="twitter:card" value="summary"><meta name="revisit-after" content="3 days"><meta name="copyright" content="© 2026"><meta name="dc.format" content="text/html"><meta name="dc.publisher" content="US HealthConnect"><meta name="dc.creator" content="Home - www.ushealthconnect.com">
16<script async src='https://securepubads.g.doubleclick.net/tag/js/gpt.js'></script>
16<script>
17            document.addEventListener('DOMContentLoaded', function() {
18              const currentUrl = new URL(window.location.href);
19              let removed = false;
20
21              if (currentUrl.searchParams.has('rmd_tok')) {
22                currentUrl.searchParams.delete('rmd_tok');
23                removed = true;
24              }
25
26              if (currentUrl.searchParams.has('rmd_token')) {
27                currentUrl.searchParams.delete('rmd_token');
28                removed = true;
29              }
30
31              if (removed) {
32                window.history.replaceState(null, '', currentUrl);
33              }
34            });
35        </script>
35<link rel="stylesheet" href="https://cdn.crstoday.com/assets/css/media.css?60dcf57b92bbe363b4f73d53be42d37a"><style>
36                :root {
37                    --brand-main: #263E6D;
38                    --brand-secondary: #3C60A4;
39                    --brand-tertiary: #C4523B;
40                    --brand-main-rgb: 38, 62, 109;
41                    --brand-secondary-rgb: 60, 96, 164;
42                    --brand-tertiary-rgb: 196, 82, 59;
43
44                    --hyperlink-text: #333333;
45                    --hyperlink-text-hover: #333333;
46                    --main-menu: #263E6D;
47                    --main-menu-hover: #3C60A4;
48                    --main-menu-separators: #3C60A4;
49                    --flyout-menu-items: #263E6D;
50                    --flyout-menu-background: #FFFFFF;
51                    --flyout-menu-arrow-icon: #3C60A4;
52                    --flyout-menu-separators: #FFFFFF;
53                    --flyout-menu-hover: #3C60A4;
54
55                    --primary-cta-text: #FFFFFF;
56                    --primary-cta-background: #3C60A4;
57                    --primary-cta-text-active: #FFFFFF;
58                    --primary-cta-background-active: #3C60A4;
59                    --primary-cta-text-hover: #FFFFFF;
60                    --primary-cta-background-hover: #3C60A4;
61
62                    --sub-footer-background: #3C60A4;
63
64                    --bg-content-type-cta-tab-active: #3C60A4;
65                    --bg-content-type-cta-tab-inactive: #F2F2F2;
66                    --cta-tab-font-color-active: #FFFFFF;
67                    --cta-tab-font-color-inactive: #333333;
68                    --next-and-previous-arrow-icons: #000000;
69                    --font-color-of-the-show-all-text-link: #3C60A4;
70                    --separator-left-and-right-of-the-show-all-link: #3C60A4;
71
72                    --carousel-background-color: #263E6D;
73                    --carousel-item-eclipses-active: #3C60A4;
74                    --carousel-item-eclipses-inactive: #FFFFFF;
75                    --carousel-cta-button-text-font-color: #FFFFFF;
76                    --carousel-cta-background: #3C60A4;
77                    --carousel-arrows-icon: #FFFFFF;
78                    --carousel-text-font-color: #FFFFFF;
79                    --universe-elements-next-active: #263E6D;
80                    --universe-elements-next-inactive: #333333;
81                    --show-all-universe-text-link: #3C60A4;
82                    --agg2-universe-color: #263E6D;
83                }
84            </style><link rel="stylesheet" href="https://cdn.crstoday.com/assets/css/crstoday.css?60dcf57b92bbe363b4f73d53be42d37a"><link href="https://cdn.crstoday.com/assets/vendor/select2/dist/css/select2.css" type="text/css" media="all" rel="stylesheet" /><link href="//vjs.zencdn.net/7.6.5/video-js.min.css" rel="stylesheet"><link rel="stylesheet" href="https://cdn.crstoday.com/assets/css/templates_v2.css?60dcf57b92bbe363b4f73d53be42d37a">
84<script>
85    
86    if (!window.location.origin) {
87      window.location.origin = window.location.protocol + '//' + window.location.hostname + (window.location.port ? ':' + window.location.port: '');
88    }
89    window.currentSite = {
90        brandEmail: '[email protected]',
91        externalSegmentTrackingActive: false
92    };
93    window.isAndroidWebview = false;
94    window.isIosWebview = false;
95    window.reachMD = {
96        
97        siteName: 'ReachMD',
98        brandName: 'Cataract &amp; Refractive Surgery Today',
99        webNotificationsPromptEnabled: true,
100        inAppNotificationsEnabled: true,
101        appVersion: 'v5.93.0',
102        
103        
104        notifications: [],
105        urls: {
106            media: 'https://cdn.crstoday.com/',
107            static: 'https://cdn.crstoday.com/assets/',
108            login: '/accounts/login/',
109            register: '/registration/register/',
110            logger: {
111                batch: '/b/',
112                analytics_api_host: 'https://data.reachmd.com/',
113                analytics_api_enabled: true,
114            }
115        },
116        
117        isMobile: false,
118        
119        gamId: '169748214',
120        googleAdsConversionId: 'AW-666525006',
121        googleAdsConversionLabel: 'R488CNfg04EcEM666b0C',
122        utmCampaign: '',
123        serverTime: '2026-09-24T14:51:53.289243-0400',
124        buildId: '60dcf57b92bbe363b4f73d53be42d37a',
125        feSessionId: 'eae2ac0d-8da4-4940-907a-791aaf0e36bc',
126        stream: {
127            src: 'https://live.reachmd.com/RMD',
128            streamId: 'None',
129            title: 'ReachMD Radio',
130            poster: 'https://cdn.crstoday.com/assets/img/common/poster_with_bg.jpg'
131        },
132        user: {
133          'rmdvid': "",
134          
135          
136          socialLogins: {
137            fb: "/profiles/login/facebook/",
138            ln: "/profiles/login/linkedin-oauth2/",
139            apple: "/profiles/login/apple-id/",
140            google: "/profiles/login/google-oauth2/"
141          },
142          
143          'isLoggedIn': false,
144          
145          
146          'isAppUser': false,
147          
148          
149          'anonymousLiveEventIds': [],
150        },
151        siteDateFormat: 'MM/dd/yyyy',
152        siteId: 25,
153        isTemplateV2: 'True',
154        isTemplateV4: 'False',
155        hasPrintSubscription: true,
156        siteCode: 'crs',
157        encryptedSessionId: '',
158        
159        injected: {},
160        visitedDi: {},
161        newsletter: undefined,
162        
163        abt: [],
164        stripePublicKey: 'pk_live_51OrNx6GcPT0G3zEdTGMnKj5SzK2QZW9l7go2bIyvYNDK5JCGKoBY3IfdusdMaScgRuJi5AXbj5BG1LdbFlno4aqB00DwLOfey3',
165        stripeSubscriptionPublicKey: 'pk_live_51OtZhXIhq0322TCLqG3GadGbwi0CFC8rPCHThoqHpNAUEtwrd4dqetN3hcbBfdmU8qZdFsHFGNRgIdc02KnmUZd400kFdpjodk',
166        tagData: undefined,
167        
168        claraWidget: {"clara_config": {"userToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0ZW5hbnRfaWQiOiJkZmYwN2JkZi00MzZjLTQyZTQtYTcxOC02OGM5MjkxMDJiM2YiLCJjbGllbnRfaWQiOiJmMTZlZTUxMS1lYmU1LTRlN2MtYTJmYi0zOTliOTgyMDZhMzMiLCJ1c2VyX3JlZiI6bnVsbCwidmlzaXRvcl9pZCI6IjFlMTZkMWZiLTFjMzAtNDAwYi04ZTEyLWY5MjQ0ZTdhNjI0NyIsImF1ZCI6ImNsYXJhLXdpZGdldCIsImlhdCI6MTc5MDI3NTkxMywiZXhwIjoxNzkwMzYyMzEzfQ.fUe2kxLwV6XPnaybFoJdqnNyAUcw7gRKiExQAVoDjKU", "clientId": "f16ee511-ebe5-4e7c-a2fb-399b98206a33", "apiBase": "https://chatbot.reachmd.com"}, "clara_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0ZW5hbnRfaWQiOiJkZmYwN2JkZi00MzZjLTQyZTQtYTcxOC02OGM5MjkxMDJiM2YiLCJjbGllbnRfaWQiOiJmMTZlZTUxMS1lYmU1LTRlN2MtYTJmYi0zOTliOTgyMDZhMzMiLCJ1c2VyX3JlZiI6bnVsbCwidmlzaXRvcl9pZCI6IjFlMTZkMWZiLTFjMzAtNDAwYi04ZTEyLWY5MjQ0ZTdhNjI0NyIsImF1ZCI6ImNsYXJhLXdpZGdldCIsImlhdCI6MTc5MDI3NTkxMywiZXhwIjoxNzkwMzYyMzEzfQ.fUe2kxLwV6XPnaybFoJdqnNyAUcw7gRKiExQAVoDjKU"},
169        claraApiBaseUrl: 'https://chatbot.reachmd.com',
170        
171        
172    };
173
174    function fetchTagData() {
175        var currentUrl = new URL(window.location.href);
176        var apiUrl = new URL('/latest/profiles/api/ptags/', window.location.origin);
177
178        var relevantParams = [
179            'origin',
180            'lorigin',
181            'aforigin',
182            'tporigin',
183            'utm_source',
184            'utm_profession',
185            'utm_specialty'
186        ];
187
188        relevantParams.forEach(function(param) {
189            var value = currentUrl.searchParams.get(param);
190            if (value) {
191                apiUrl.searchParams.set(param.replace(/utm_/g, 'u_'), value);
192            }
193        });
194
195        fetch(apiUrl.toString(), {
196            method: 'GET',
197            credentials: 'same-origin',
198            headers: {
199                'Accept': 'application/json',
200                'Content-Type': 'application/json',
201            }
202        })
203        .then(function(response) {
204            if (!response.ok) {
205                throw new Error('Unable to retrieve tag data info: ' + response.statusText);
206            }
207            return response.json();
208        })
209        .then(function(data) {
210            window.reachMD.tagData = {
211                p: data.p || '',
212                s: data.s || '',
213                i: data.i || '',
214                fi: data.fi || 'false',
215            };
216            if (typeof window.CustomEvent === 'function') {
217                var event = new CustomEvent('tag.data.ready', {
218                    detail: window.reachMD.tagData
219                });
220                window.dispatchEvent(event);
221            }
222        })
223        .catch(function() {
224            window.reachMD.tagData = {
225                p: '',
226                s: '',
227                i: '',
228                fi: 'false',
229            };
230            console.info('[LOG]: Unable to retrieve tag data info');
231        });
232    }
233
234    fetchTagData();
235</script>
235<script>window.intlCopies = {};</script>
235<script>
236  (function (w, d, t, s, o, a, m) {
237    w[o] = w[o] || function () {
238      (w[o].q = w[o].q || []).push(arguments)
239    };
240    w[o].l = 1 * new Date();
241    a = d.createElement(t);
242    m = d.getElementsByTagName(t)[0];
243    a.async = 1;
244    a.src = s;
245    m.parentNode.insertBefore(a, m)
246  })
247  
248    (window, document, 'script', "https://cdn.crstoday.com/assets/js/logger.js", 'RMDTLOG');
249  
250  RMDTLOG('init');
251</script>
251<script>
252
253(function (i, s, o, g, r, a, m) {
254    i['NewGoogleAnalyticsObject'] = r;
255    i[r] = i[r] || function () {
256        (i.dataLayer = i.dataLayer || []).push(arguments)
257    };
258    a = s.createElement(o),
259    m = s.getElementsByTagName(o)[0];
260    a.async = 1;
261    a.src = g;
262    m.parentNode.insertBefore(a, m)
263})(window, document, 'script', '//www.googletagmanager.com/gtag/js?id=G-66SSZ6DE10', 'gtag');
264
265gtag('js', new Date());
266gtag('config', 'G-66SSZ6DE10');
267
268</script>
268<!-- 
268<script data-ad-client="ca-pub-3458590910979882" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
268 -->
268<script>
269            var googletag = googletag || {};
270            googletag.cmd = googletag.cmd || [];
271            var adSlot1, adSlot2, adSlot3, adSlot4, adSlot5, adSlot6, adSlot7, adSlot8, adSlot9, adSlot10, adSlot11, adSlot12, adSlot13;
272            var slots;
273            googletag.cmd.push(function() {
274                const mapLeader = googletag.sizeMapping().
275                    addSize([0, 0], [[320,100],[320,50],[300,50],[1,1],'fluid']).
276                    addSize([740, 0], [[728, 90],[1,1]]).
277                    build();
278                const mapSticky = googletag.sizeMapping().
279                    addSize([0, 0], [[320,50],[300,50],[1,1]]).
280                    addSize([740, 0], [[728, 90],[1,1]]).
281                    addSize([1025, 0], [[970,90],[728,90],[1,1]]).
282                    build();
283                const microPref = 'CRST2';
284                const microSite = window.location.hostname.split(".").reverse()[1];
285                adSlot1 = googletag.defineSlot('/169748214/' + microPref + '/top', [[728,90], [1,1]],'ad-top').defineSizeMapping(mapLeader).addService(googletag.pubads());
286                adSlot2 = googletag.defineSlot('/169748214/' + microPref + '/body1', [[728,90], [1,1]],'ad-body1').defineSizeMapping(mapLeader).addService(googletag.pubads());
287                adSlot3 = googletag.defineSlot('/169748214/' + microPref + '/body2', [[728,90], [1,1]],'ad-body2').defineSizeMapping(mapLeader).addService(googletag.pubads());
288                adSlot4 = googletag.defineSlot('/169748214/' + microPref + '/body3', [[728,90], [1,1]],'ad-body3').defineSizeMapping(mapLeader).addService(googletag.pubads());
289                adSlot5 = googletag.defineSlot('/169748214/' + microPref + '/module1', [[300,250],[1,1],'fluid'],'ad-module1').addService(googletag.pubads());
290                adSlot6 = googletag.defineSlot('/169748214/' + microPref + '/module2', [[300,250],[1,1],'fluid'],'ad-module2').addService(googletag.pubads());
291                adSlot7 = googletag.defineSlot('/169748214/' + microPref + '/module3', [[300,250],[1,1],'fluid'],'ad-module3').addService(googletag.pubads());
292                adSlot8 = googletag.defineSlot('/169748214/' + microPref + '/module4', [[300,250],[1,1],'fluid'],'ad-module4').addService(googletag.pubads());
293                adSlot9 = googletag.defineSlot('/169748214/' + microPref + '/interstitial', [[300, 250], [1, 1], 'fluid'], 'ad-interstitial').addService(googletag.pubads());
294                adSlot10 = googletag.defineSlot('/169748214/' + microPref + '/sidebar', [300, 250], 'ad-sidebar').addService(googletag.pubads());
295                adSlot11 = googletag.defineSlot('/169748214/' + microPref + '/footer', [[728, 90], [1, 1]], 'ad-footer').defineSizeMapping(mapSticky).addService(googletag.pubads());
296                adSlot12 = googletag.defineSlot('/169748214/' + microPref + '/inarticle', [300,250], 'ad-inarticle').addService(googletag.pubads());
297                adSlot13 = googletag.defineSlot('/169748214/' + microPref + '/body8', [300,250], 'ad-body8').addService(googletag.pubads());
298
299                window.trackingSlot = googletag
300                    .defineSlot('/169748214/' + microPref + '/tracker', [1, 1], 'gam-tracker-slot')
301                    .addService(googletag.pubads());
302
303                googletag.pubads().setTargeting("site", microSite);
304                googletag.pubads().setTargeting("hn", window.location.hostname);
305                googletag.pubads().setTargeting("li", window.reachMD.user.isLoggedIn ? "true" : "false");
306                googletag.pubads().disableInitialLoad();
307                googletag.pubads().collapseEmptyDivs(true);
308                googletag.pubads().enableSingleRequest();
309                googletag.enableServices();
310
311                slots = {
312                    top: adSlot1,
313                    body1: adSlot2,
314                    body2: adSlot3,
315                    body3: adSlot4,
316                    module1: adSlot5,
317                    module2: adSlot6,
318                    module3: adSlot7,
319                    module4: adSlot8,
320                    interstitial: adSlot9,
321                    sidebar: adSlot10,
322                    footer: adSlot11,
323                    inarticle: adSlot12,
324                    body8: adSlot13,
325                };
326                if (typeof window.CustomEvent === 'function') {
327                    const event = new CustomEvent('ads.service.enabled');
328                    window.dispatchEvent(event);
329                }
330            });
331
332            const getRos = function () {
333                let ros = 'True';
334                const rosElements = ['.object-data', '.js-agg-data', '.live-event-enrolment-data', '.js-ros-control'];
335                for (let _ = 0; _ < rosElements.length; _++) {
336                    const element = document.querySelector(rosElements[_]);
337                    if (element) {
338                        ros = element.getAttribute("data-allow-run-of-site-ads");
339                        break;
340                    }
341                }
342                return ros;
343            }
344
345            const getAdLoadingRule = function () {
346                let rule = 'iab';
347                const elements = ['.object-data', '.js-agg-data', '.live-event-enrolment-data', '.js-ros-control'];
348                for (let i = 0; i < elements.length; i++) {
349                    const el = document.querySelector(elements[i]);
350                    if (el && el.getAttribute('data-ad-loading-rule')) {
351                        rule = el.getAttribute('data-ad-loading-rule');
352                        break;
353                    }
354                }
355                return rule;
356            };
357            // Deferred: DOM elements not available yet in <head>
358            document.addEventListener('DOMContentLoaded', function() {
359                window.adLoadingRule = getAdLoadingRule();
360            });
361
362            var setUserTargeting = () => {
363                googletag.cmd.push(() => {
364                    googletag.pubads().setTargeting("s", window.reachMD.tagData.s);
365                    googletag.pubads().setTargeting("p", window.reachMD.tagData.p);
366                    googletag.pubads().setTargeting("i", window.reachMD.tagData.i);
367                    googletag.pubads().setTargeting("fi", window.reachMD.tagData.fi);
368                });
369            };
370
371            var sendUserInformation = function(notFoundPage=false) {
372                googletag.cmd.push(() => {
373                    const pathParts = window.location.pathname.substr(0).split("/");
374                    if (pathParts[1]) {
375                        googletag.pubads().setTargeting("agg1", pathParts[1]);
376                    } else {
377                        googletag.pubads().setTargeting("agg1", "home");
378                    }
379                    let agg2 = [];
380                    if (document.querySelector(".object-data") && document.querySelector(".object-data").getAttribute("data-subcategories")) {
381                        agg2 = document.querySelector(".object-data").getAttribute("data-subcategories").split(';').filter((category) => category);
382                        if (pathParts[2]) {
383                            agg2.push(pathParts[2]);
384                        }
385                        agg2 = agg2.map((categorySlug) => categorySlug.slice(0,40));
386                        googletag.pubads().setTargeting("agg2", agg2);
387                    } else {
388                        googletag.pubads().setTargeting("agg2", pathParts[2] ? pathParts[2].slice(0, 40) : "none");
389                    }
390                    googletag.pubads().setTargeting("ros", getRos());
391                    googletag.pubads().setTargeting("adlr", getAdLoadingRule());
392                    if (document.getElementById('minute_ce_challenge_details')) {
393                        googletag.pubads().setTargeting("details-program", document.getElementById('minute_ce_challenge_details').getAttribute('data-slug'));
394                        googletag.pubads().setTargeting("tag", document.getElementById('minute_ce_challenge_details').getAttribute('data-id'));
395                    } else {
396                        googletag.pubads().setTargeting("details-program", document.querySelector(".object-data") && document.querySelector(".object-data").getAttribute("data-title") ? document.querySelector(".object-data").getAttribute("data-title").slice(0, 39) : "none");
397                        googletag.pubads().setTargeting("tag", document.querySelector(".object-data") && document.querySelector(".object-data").getAttribute("data-id") ? document.querySelector(".object-data").getAttribute("data-id") : "none");
398                    }
399                    const dataElement = document.querySelector(".object-data") || document.querySelector(".js-agg-data");
400                    const gamCampaignId = dataElement && dataElement.getAttribute("data-gam-campaign-id");
401                    googletag.pubads().setTargeting("tlid", gamCampaignId ? gamCampaignId : "none");
402                    googletag.pubads().setTargeting("pu", window.location.href);
403                    if (notFoundPage) {
404                      googletag.pubads().setTargeting("404", "true");
405                    } else {
406                      googletag.pubads().setTargeting("404", "false");
407                    }
408                    // Set 'typ' targeting for program type
409                    const typValue = dataElement && dataElement.getAttribute("data-typ");
410                    googletag.pubads().setTargeting("typ", typValue || "none");
411                    // Set 'supp' targeting for supplements / digital inserts
412                    const suppValue = dataElement && dataElement.getAttribute("data-supp");
413                    googletag.pubads().setTargeting("supp", suppValue === "true" ? "true" : "false");
414                    // Set 'fsid' targeting from server-rendered session id
415                    const fsid = "eae2ac0d-8da4-4940-907a-791aaf0e36bc";
416                    if (fsid) {
417                        googletag.pubads().setTargeting("fsid", fsid);
418                    }
419                });
420            };
421
422            const dynamicLoadAds = function () {
423                document.querySelectorAll('.ad-container .js-ad-banner').forEach((adElement) => {
424                    const adId = adElement.id;
425                    // InArticle Ad is rendered from React App, no need to refresh it here
426                    if (adElement.getAttribute('data-loaded') || adId === 'ad-inarticle') {
427                        return;
428                    }
429
430                    const slotName = adId.slice(adId.indexOf('-') + 1);
431
432                    const style = adElement.getAttribute('style');
433                    if (style) {
434                        adElement.setAttribute('style', '');
435                    }
436
437                    const adPosition = adElement.getBoundingClientRect();
438                    const isMobile = screen.width < 768 || window.innerWidth < 768;
439                    const halfAdHeightDependingOnDevice = isMobile ? 25 : 45;
440                    const halfAdHeight = adId === 'ad-module' ? 125 : halfAdHeightDependingOnDevice;
441                    const radioPlayerHeight = document.querySelector('.fixed-player-container') ?
442                        document.querySelector('.fixed-player-container').offsetHeight : 0;
443                    const maxTopPosition = window.innerHeight - halfAdHeight - radioPlayerHeight;
444                    const headerHeight = document.querySelector('header.base-header .header') ?
445                        document.querySelector('header.base-header .header').offsetHeight : 0;
446
447                    if (style) {
448                        adElement.setAttribute('style', style);
449                    }
450                    if (adPosition.top >= headerHeight && adPosition.top < maxTopPosition) {
451                        if (!adElement.getElementsByTagName('iframe').length) {
452                            adElement.setAttribute('data-loaded', 'true');
453                            window.refreshSlot(slotName);
454                        }
455                    }
456                });
457            };
458        </script>
458<script>
459    var debounce = function(func, wait) {
460        var timeout;
461        return function executedFunction() {
462            var args = arguments;
463            var later = function() {
464                clearTimeout(timeout);
465                func.apply(this, args);
466            };
467            clearTimeout(timeout);
468            timeout = setTimeout(later, wait);
469        };
470    };
471</script>
471<script>
472            var refreshSlots = function(addScrollListener = false, forceRefresh = false) {
473                if (forceRefresh) {
474                    document.querySelectorAll('.ad-container .js-ad-banner').forEach((adElement) => {
475                        adElement.removeAttribute('data-loaded')
476                    });
477                }
478                dynamicLoadAds(forceRefresh);
479                if (addScrollListener) {
480                    window.addEventListener('scroll', debounce(dynamicLoadAds, 100));
481                }
482            };
483
484            var refreshSlot = function (slotName) {
485                googletag.cmd.push(function () {
486                    googletag.pubads().refresh([slots[slotName]], { changeCorrelator: false });
487                });
488            };
489        </script>
489<script type="application/ld+json">{"@context": "https://schema.org", "@graph": [{"@id": "https://crstoday.com/#organization", "@type": "Organization", "contactPoint": {"@type": "ContactPoint", "contactType": "Customer service", "email": "[email protected]"}, "logo": {"@type": "ImageObject", "url": "https://cdn.crstoday.com/uploads/branding/crs/crs_header-logo_rxhLCDDslk.png"}, "name": "Cataract & Refractive Surgery Today", "sameAs": ["https://x.com/crstoday", "https://www.facebook.com/CRSToday/", "https://www.linkedin.com/showcase/cataract-and-refractive-surgery-today/", "https://www.instagram.com/crstoday/"], "url": "https://crstoday.com"}, {"@id": "https://crstoday.com/#website", "@type": "WebSite", "inLanguage": "en-US", "name": "Cataract & Refractive Surgery Today", "potentialAction": {"@type": "SearchAction", "query-input": "required name=search_term_string", "target": "https://crstoday.com/search/?q={search_term_string}"}, "publisher": {"@id": "https://crstoday.com/#organization"}, "url": "https://crstoday.com"}]}</script>
489</head><body class="layout-desktop "><div class="page-wrapper user-not_authenticated"><input type="hidden" name="csrfmiddlewaretoken" value="R1yHzhKzDWcWVdl5Fe722bxDQ0zC6m9XAity61J3tvp1rGafnz7Ah0uOUPP1xD1G"><header class="base-header has-border"><div class="top__menu top__animated__menu hidden--mobile"><div class="container"><div class="top__animated__menu__content"><div class="top__menu__socials white-hover-icons"><div id="js-social-networks-header"></div></div><a class="top__animated__menu__lor--hub leave-page" href="https://youngmdconnect.com/" target="_blank">
490                    
491                        YoungMD Connect
492                    
493                </a><a href="/profiles/subscriptions/print/" class="top__animated__menu__lor--subscribe"><span class="top__animated__menu__lor--subscribe--icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none"><path d="M14.667 5.333V8M6.833 3.667h-2.3c-1.12 0-1.68 0-2.107.218a2 2 0 0 0-.875.874c-.218.427-.218.987-.218 2.108v.8c0 .62 0 .931.102 1.177.135.326.395.586.722.721.245.102.555.102 1.176.102V12.5c0 .155 0 .232.007.297a1.333 1.333 0 0 0 1.196 1.196c.065.007.143.007.298.007.154 0 .232 0 .297-.007a1.333 1.333 0 0 0 1.196-1.196c.006-.065.006-.142.006-.297V9.667h.5c1.178 0 2.619.63 3.73 1.237.648.353.973.53 1.185.504a.631.631 0 0 0 .461-.274c.125-.174.125-.522.125-1.218V3.417c0-.696 0-1.044-.125-1.218a.63.63 0 0 0-.461-.274c-.212-.026-.537.151-1.185.505-1.111.605-2.552 1.237-3.73 1.237Z" stroke="#263E6D" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></span>
494
495                        Subscribe
496                    </a><div class="top__animated__menu__lor not-authenticated"><a class="top__animated__menu__lor--btn js-rmdnet-login" href="/accounts/login/">
497                    Log In
498                </a><a class="top__animated__menu__lor--btn js-rmdnet-register" href="/registration/register/">
499                    Create Account
500                </a></div></div></div></div><div class="container"><div class="header"><form class="js-search-input search-form hidden" method="get" action="/search/"><input class="search-form__input" type="text" name="q" value=""><input type="hidden" name="order_by" value="1"><div class="search-form__container-btn"><input class="search-form__submit" value="" type="submit"></div></form><div class="header__menu--container"><a class="header__logo js-minimize-player-for-segment-playing" href="/" title="CRSToday"><img src="https://cdn.crstoday.com/uploads/branding/crs/crs_header-logo_rxhLCDDslk.png" alt="CRSToday"></a><nav class="header__menu hidden--mobile"><div class="animated__submenu__container hidden--desktop"><div class="animated__submenu__header"><button class="text--primary animated__submenu__close">Back</button></div><div class="animated__header__menu-content"><section class="animated__header__menu-section section-2032" data-id="2032"><ul class="animated__header__menu-navlist"><li class="column-block"><a class="column-block-subcategory leave-page " target="_blank" href="/topics/cataract-surgery/">Cataract Surgery</a><a class="column-block-subcategory leave-page " target="_blank" href="/topics/comorbidities/">Comorbidities</a><a class="column-block-subcategory leave-page " target="_blank" href="/topics/cornea/">Cornea</a><a class="column-block-subcategory leave-page " target="_blank" href="/topics/ocular-surface-disease/">Ocular Surface Disease</a></li><li class="column-block"><a class="column-block-subcategory leave-page " target="_blank" href="/topics/practice-management/">Practice Management</a><a class="column-block-subcategory leave-page " target="_blank" href="/topics/refractive-surgery/">Refractive Surgery</a><a class="column-block-subcategory leave-page " target="_blank" href="/topics/technology-imaging/">Technology & Imaging</a><a class="column-block-subcategory leave-page " target="_blank" href="/topics/general/">General</a></li></ul></section><section class="animated__header__menu-section section-2053" data-id="2053"><ul class="animated__header__menu-navlist"></ul></section><section class="animated__header__menu-section section-2054" data-id="2054"><ul class="animated__header__menu-navlist"><li class="column-block"><a class="column-block-subcategory leave-page  is-external" target="_blank" href="https://eyetube.net/podcasts/crst-the-podcast?utm_source=CRST">CRST: The Podcast</a><a class="column-block-subcategory leave-page  is-external" target="_blank" href="https://eyetube.net/podcasts/eyewire-news-the-podcast?utm_source=CRST">Eyewire News: The Podcast</a><a class="column-block-subcategory leave-page  is-external" target="_blank" href="https://eyetube.net/podcasts/ophthalmology-off-the-grid?utm_source=CRST">Ophthalmology Off the Grid</a><a class="column-block-subcategory leave-page  is-external" target="_blank" href="https://eyetube.net/podcasts/pupil-pod?utm_source=CRST">Pupil Pod</a></li></ul></section><section class="animated__header__menu-section section-2060" data-id="2060"><ul class="animated__header__menu-navlist"><li class="column-block"><a class="column-block-subcategory leave-page  is-external" target="_blank" href="https://eyetube.net/editorial-feature/innovation-journal-club?utm_source=CRST">Innovation Journal Club</a><a class="column-block-subcategory leave-page  is-external" target="_blank" href="https://eyetube.net/series/inside-the-wills-or?utm_source=CRST">Inside the Wills OR</a><a class="column-block-subcategory leave-page  is-external" target="_blank" href="https://eyetube.net/series/vjcrgs?utm_source=CRST">Video Journal of Cataract, Refractive, and Glaucoma Surgery</a></li></ul></section><section class="animated__header__menu-section section-2240" data-id="2240"><ul class="animated__header__menu-navlist"></ul></section><section class="animated__header__menu-section section-2105" data-id="2105"><ul class="animated__header__menu-navlist"></ul></section></div></div><ul class="header__menu__list reset-ul animated__header"><li class="header__menu__container hidden--desktop with-child has-url" data-id="2032">
500<a class="header__menu__link js-minimize-player-for-segment-playing" href="/topics/">Topics</a><button class="header__menu__submenu-trigger" aria-label="Open submenu"></button></li><li class="header__menu__container hidden--desktop without-child" data-id="2053"><a class="header__menu__link  js-minimize-player-for-segment-playing"  href="/crst-issues/">Issues</a></li><li class="header__menu__container hidden--desktop with-child has-url" data-id="2054"><a class="header__menu__link js-minimize-player-for-segment-playing leave-page" href="https://eyetube.net/podcasts?utm_source=CRST" target="_blank" rel="noopener noreferrer">Podcasts</a><button class="header__menu__submenu-trigger" aria-label="Open submenu"></button></li><li class="header__menu__container hidden--desktop with-child has-url" data-id="2060"><a class="header__menu__link js-minimize-player-for-segment-playing leave-page" href="https://eyetube.net/all-series?utm_source=CRST" target="_blank" rel="noopener noreferrer">Videos</a><button class="header__menu__submenu-trigger" aria-label="Open submenu"></button></li><li class="header__menu__container hidden--desktop without-child" data-id="2240"><a class="header__menu__link  js-minimize-player-for-segment-playing is-external leave-page"  href="https://eyewire.news/ne
500ws?utm_source=CRST" target="_blank" rel="noopener noreferrer">Eyewire News<span class="header__menu__link__external-icon" aria-hidden="true"></span></a></li><li class="header__menu__container hidden--desktop without-child" data-id="2105"><a class="header__menu__link  js-minimize-player-for-segment-playing"  href="/topics/cme/">CME</a></li><header class="animated__header__menu hidden--mobile"><section><nav class="animated__header__menu-nav"><a data-nav="2032" href="/topics/"  class="animated__header__menu-nav-link with-child leave-page" target="_blank" data-id="submenu-topics">Topics</a><a data-nav="2053" href="/crst-issues/"  class="animated__header__menu-nav-link leave-page" target="_blank" data-id="submenu-issues">Issues</a><a data-nav="2054" href="https://eyetube.net/podcasts?utm_source=CRST"  class="animated__header__menu-nav-link with-child leave-page" target="_blank" data-id="submenu-podcasts">Podcasts</a><a data-nav="2060" href="https://eyetube.net/all-series?utm_source=CRST"  class="animated__header__menu-nav-link with-child leave-page" target="_blank" data-id="submenu-videos">Videos</a>
500<a data-nav="2240" href="https://eyewire.news/news?utm_source=CRST"  class="animated__header__menu-nav-link leave-page is-external" target="_blank" data-id="submenu-eyewire-news">Eyewire News</a><a data-nav="2105" href="/topics/cme/"  class="animated__header__menu-nav-link leave-page" target="_blank" data-id="submenu-cme">CME</a><nav></section><div class="animated__header__menu-popover"><div class="animated__header__menu-content"><section class="animated__header__menu-section section-2032" data-id="2032"><ul class="animated__header__menu-navlist"><li class="column-block"><a class="column-block-subcategory leave-page " target="_blank" href="/topics/cataract-surgery/">Cataract Surgery</a><a class="column-block-subcategory leave-page " target="_blank" href="/topics/comorbidities/">Comorbidities</a><a class="column-block-subcategory leave-page " target="_blank" href="/topics/cornea/">Cornea</a><a class="column-block-subcategory leave-page " target="_blank" href="/topics/ocular-surface-disease/">Ocular Surface Disease</a></li><li class="column-block"><a class="column-block-subcategory leave-page " target="_blank" href="/topics/practice-management/">Practice Management</a><a class="column-block-subcategory leave-page " target="_blank" href="/topics/refractive-surgery/">Refractive Surgery</a><a class="column-block-subcategory leave-page " target="_blank" href="/topics/technology-imaging/">Technology & Imaging</a><a class="column-block-subcategory leave-page " target="_blank" href="/topics/general/">General</a></li></ul></section><section class="animated__header__menu-section section-2053" data-id="2053"><ul class="animated__header__menu-navlist"></ul></section><section class="animated__header__menu-section section-2054" data-id="2054"><ul class="animated__header__menu-navlist"><li class="column-block"><a class="column-block-subcategory leave-page  is-external" target="_blank" href="https://eyetube.net/podcasts/crst-the-podcast?utm_source=CRST">CRST: The Podcast</a><a class="column-block-subcategory leave-page  is-external" target="_blank" href="https://eyetube.net/podcasts/eyewire-news-the-podcast?utm_source=CRST">Eyewire News: The Podcast</a><a class="column-block-subcategory leave-page  is-external" target="_blank" href="https://eyetube.net/podcasts/ophthalmology-off-the-grid?utm_source=CRST">Ophthalmology Off the Grid</a><a class="column-block-subcategory leave-page  is-external" target="_blank" href="https://eyetube.net/podcasts/pupil-pod?utm_source=CRST">Pupil Pod</a></li></ul></section><section class="animated__header__menu-section section-2060" data-id="2060"><ul class="animated__header__menu-navlist"><li class="column-block"><a class="column-block-subcategory leave-page  is-external" target="_blank" href="https://eyetube.net/editorial-feature/innovation-journal-club?utm_source=CRST">Innovation Journal Club</a><a class="column-block-subcategory leave-page  is-external" target="_blank" href="https://eyetube.net/series/inside-the-wills-or?utm_source=CRST">Inside the Wills OR</a><a class="column-block-subcategory leave-page  is-external" target="_blank" href="https://eyetube.net/series/vjcrgs?utm_source=CRST">Video Journal of Cataract, Refractive, and Glaucoma Surgery</a></li></ul></section><section class="animated__header__menu-section section-2240" data-id="2240"><ul class="animated__header__menu-navlist"></ul></section><section class="animated__header__menu-section section-2105" data-id="2105"><ul class="animated__header__menu-navlist"></ul></section></div><div class="animated__header__menu-background"></div><div class="animated__header__menu-arrow"></div></div></header><li class="header__menu__container header__menu__newsletter hidden--desktop"><a
501                    href="/profiles/subscriptions/print/"
502                    class="text--primary header__menu__link js-minimize-player-for-segment-playing"
503                >
504                    Subscribe
505                </a></li><li class="animated__header__menu--mobile f-container hidden--desktop"><a class="top__animated__menu__lor--btn js-rmdnet-login" href="/accounts/login/">
506                Log In
507            </a><a class="top__animated__menu__lor--btn js-rmdnet-register" href="/registration/register/">
508                Create Account
509            </a></li><li class="header__menu__container hub-url hidden--desktop"><a class="top__animated__menu__lor--hub leave-page" href="https://youngmdconnect.com/" target="_blank">
510                
511                    YoungMD Connect
512                
513            </a></li><li class="header__menu__container subscribe-url hidden--desktop"><a href="/profiles/subscriptions/print/" class="top__animated__menu__lor--subscribe"><span class="top__animated__menu__lor--subscribe--icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none"><path d="M14.667 5.333V8M6.833 3.667h-2.3c-1.12 0-1.68 0-2.107.218a2 2 0 0 0-.875.874c-.218.427-.218.987-.218 2.108v.8c0 .62 0 .931.102 1.177.135.326.395.586.722.721.245.102.555.102 1.176.102V12.5c0 .155 0 .232.007.297a1.333 1.333 0 0 0 1.196 1.196c.065.007.143.007.298.007.154 0 .232 0 .297-.007a1.333 1.333 0 0 0 1.196-1.196c.006-.065.006-.142.006-.297V9.667h.5c1.178 0 2.619.63 3.73 1.237.648.353.973.53 1.185.504a.631.631 0 0 0 .461-.274c.125-.174.125-.522.125-1.218V3.417c0-.696 0-1.044-.125-1.218a.63.63 0 0 0-.461-.274c-.212-.026-.537.151-1.185.505-1.111.605-2.5
51352 1.237-3.73 1.237Z" stroke="#263E6D" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg></span>
514                        Subscribe
515                    </a></li><li class="header__menu__container header__menu__socials f-container push-top push-bottom push-left--half push-right--half hidden--desktop"><div id="js-social-networks-menu"></div></li></ul></nav></div><div class="header__menu__container header__menu__container--search"><button class="link__search header__menu__link js-search-button"><div class="js-search header__search"></div><span class="hidden--desktop hidden--mobile js-close"></span></button></div><button class="header__menu__mobile-trigger js-menu-trigger"><span class="p1"></span><span class="p2"></span><span class="p3"></span></button></div></div><div class="block-main container"></div></header><div class="content"><div id="notification_container"></div><div id="pjax-wrapper"><div class="sec-breadcrumbs"><div class="container"><ol itemscope itemtype="https://schema.org/BreadcrumbList" class="sec-breadcrumbs__list"><li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"><a
516                            class="js-minimize-player-for-segment-playing"
517                            itemprop="item"
518                            itemscope
519                            itemtype="https://schema.org/WebPage"
520                            itemid="https://crstoday.com/"
521                            href="/"
522                        ><span itemprop="name">Home</span></a><meta itemprop="position" content="1" /></li></ol></div></div><div><div class="popup popup-lor "><div class="lor--form"><div class="lor--form__tabs"><div class="popup__title "><ul class="fw--tabs lor--form__tabs--list list--inline"><li><a
523                    class="link--xl link--tab push-right js-login active"
524                    href="/accounts/login/"
525                  >
526                    Login
527                  </a></li><li><a
528                    class="link--xl link--tab js-register"
529                    href="/registration/register/"
530                  ><span class="register-not-rmd">Create an Account</span><span class="register-rmd">Register</span></a></li></ul></div><div class="popup__content"><div class="lor--form__tabs--content list column-tabs__container"><div id="lor--form__login" class=""><div class="item"><form action="/accounts/login/" method="POST" id="login"><input type="hidden" name="csrfmiddlewaretoken" value="R1yHzhKzDWcWVdl5Fe722bxDQ0zC6m9XAity61J3tvp1rGafnz7Ah0uOUPP1xD1G"><input type="hidden" name="next" value="" /><div class="rmdnet-form-login clearfix"><div class="rmdnet-form-login__form pull-left"><div class="block--relative push-bottom"><div class="form--field"><input
531      type="email"
532      class="form--text "
533
534      
535        placeholder="Email*"
536      
537
538      
539        name="username"
540        id="id_username"
541      
542
543      
544
545      
546    ></div></div><div class="block--relative push-bottom"><div class="form--field"><input
547      type="password"
548      class="form--text "
549
550      
551        placeholder="Password*"
552      
553
554      
555        name="password"
556        id="id_password"
557      
558
559      
560
561      
562    ></div></div><div class="clearfix push-bottom"><a href="/accounts/password_reset/?next=" class="js-forgot-password text--brand pull-left">Forgot Password</a><span class="text--light pull-right">* Fields are required</span></div><div class="push-bottom"><button type="submit" class="js-login button button--block button--xl button--brand">Login</button></div></div><div class="rmdnet-form-login__social pull-left push-top"><h5 class="text--light">Social Log In</h5><div class="push-top--half"><a rel="noopener noreferrer" href="/profiles/login/facebook/" data-social="facebook"><figure class="hidden--desktop push-top social-button facebook"><span class="logo"><div></div></span><span class="text">Log in with Facebook</span></figure><span class="hidden--mobile social-button facebook"><span class="logo"><div></div></span><span class="text">Log in with Facebook</span></span></a></div><div class="push-top--half"><a rel="noopener noreferrer" href="/profiles/login/linkedin-oauth2/" data-social="linkedin"><figure class="hidden--desktop push-top social-button linkedin"><span class="logo"><div></div></span><span class="text">
562Log in with Linkedin</span></figure><span class="hidden--mobile social-button linkedin"><span class="logo"><div></div></span><span class="text">Log in with Linkedin</span></span></a></div></div></div></form></div></div><div id="lor--form__register" class=""></div></div></div></div></div></div></div></div><div class="ctn" data-nosnippet><div class="ctn__modal modal" style="display:none;"><div class="modal__header"><div class="container"><h3>Title</h3></div><button class="modal__close">close</button></div><div class="modal__main-content"><div class="vj-player-box"><video id="js-player-video-main-0"
563                     class="video-js vjs-big-play-centered vjs-show-big-play-button-on-pause branding-color"
564                     
565                     controls
566                     playsinline
567                     type="video/mp4"
568                     preload="none"></video></div></div></div></div><div id="post_test_reminder_modal_container"></div></div><footer class="footer short-footer"><div class="footer__main"><div class="container"><nav class="footer__menu"><ul class="footer__menu__list reset-ul"><li class="footer__menu__list__item"><a
569            class="text--primary footer__menu__link js-minimize-player-for-segment-playing"
570            href="/pages/privacy/"
571            alt="Privacy"
572            no-leave-site-popup
573            
574        >
575            Privacy
576        </a></li><li class="footer__menu__list__item"><a
577            class="text--primary footer__menu__link js-minimize-player-for-segment-playing"
578            href="/pages/terms/"
579            alt="Terms"
580            no-leave-site-popup
581            
582        >
583            Terms
584        </a></li><li class="footer__menu__list__item"><a
585            class="text--primary footer__menu__link js-minimize-player-for-segment-playing"
586            href="/privacy/cookielist/"
587            alt="Cookies"
588            no-leave-site-popup
589            
590                data-nopjax
591            
592        >
593            Cookies
594        </a></li><li class="footer__menu__list__item"><a
595            class="text--primary footer__menu__link js-minimize-player-for-segment-playing"
596            href="/pages/about-crstoday/"
597            alt="About Us"
598            no-leave-site-popup
599            
600        >
601            About Us
602        </a></li><li class="footer__menu__list__item"><a
603            class="text--primary footer__menu__link js-minimize-player-for-segment-playing"
604            href="https://bmctoday.com/form_pages/request-vision-media-kit/?interestedIn=CRST"
605            alt="Request A Media Kit"
606            no-leave-site-popup
607            
608        >
609            Request A Media Kit
610        </a></li></ul></nav></div></div><div class="container"><hr class="footer__break"></div><div class="footer__content"><div class="container"><div class="footer__section footer__section--contact dynamic-contact email hidden--mobile"><div><a href="mailto:[email protected]" class="footer-get-help"><div class="footer__get-help__email"></div><div class="footer__get-help"><span class="footer__get-help__text">GET HELP</span><span><span class="footer__get-help__number">Contact Us</span></span></div></a><div>© 2026 All rights reserved.</div></div></div><div class="footer__section footer__section--socials white-hover-icons"><div id="js-social-networks-footer"></div></div><div class="footer__section footer__section--contact hidden--desktop"><div class="footer__get-help has-icon"><span class="footer__get-help__text">GET HELP</span><span><a class="footer__get-help__email" href="mailto:[email protected]">
611                                Contact Us
612                            </a></span><div class="footer-rights">© 2026 All rights reserved.</div></div></div><hr class="footer__break hidden--desktop"><div class="footer__section footer__section--address"><a href="/" title="CRSToday" class="footer__section__link js-minimize-player-for-segment-playing"><img src="https://cdn.crstoday.com/uploads/branding/crs/crs_footer-logo_nfhTNQXiHn.png" title="CRSToday" alt="CRSToday"></a></div></div></div><div class="footer__info"></div></footer><div style="display:none;"><div class="right-column"><div class="right-column__inner"><div class="right-column__tabs column-tabs"><ul class="right-column__tabs--nav list hidden column-tabs__list"><li class="active"><a href="#right-column__discussion--tab">Discussion</a></li><li class="player-tab"><a href="#right-column__player--tab">Player</a></li></ul><div class="right-column__tabs--content list column-tabs__container"><div id="right-column__player--tab" class="right-column__tabs--player column-tabs__tab tab-active"><div id="js-player" class="player"><header class="player__header media-stream"><a href="#" class="player__header__info js-live-play"><span class="info--playing">LIVE ON REACHMD RADIO</span><span class="info--stream">Back to live radio</span></a><div class="js-marquee" style="overflow: hidden"><span class="player__header__title"><a class="js-pjax-me" href=""></a></span></div></header><div class="player__content show-loading-animation"><a href="#" class="big-play-button">ReachMD Radio</a><div class="loading-animation"><div class="bars"><div class="bar"></div><div class="bar"></div><div class="bar"></div><div class="bar"></div><div class="bar"></div><div class="bar"></div><div class="bar"></div><div class="bar"></div><div class="bar"></div><div class="bar"></div></div><p>Loading...</p></div><div class="player__controllers"><button class="add">add</button><button class="play">play</button><button class="share">share</button><div class="player__controllers__progress"><span class="track-current">00:00 </span><div class="progress-bar"><div class="progress-bar__progress"></div>
612<input class="progress-bar__range" type="range" step="any" min="0" max="1" value="0"></div><span class="track-length">00:00</span></div><div class="player__controllers__volume"><div class="volume-bar"><input class="volume-bar__range" type="range" min="0" value="1" max="1" step="0.01"></div><button class="volume-controller">show volume controller</button></div></div><div class="player__share"><div class="player__loginbox"></div></div></div><ul class="list-cast"></ul></div><div class="player-tabs"><ul class="player-tabs__nav"><li class="active"><a href="#tab-on-air">On Air</a></li><li><a href="#tab-playlist">Playlists</a></li></ul><div class="player-tabs__content"></div></div></div><div id="right-column__discussion--tab" class="right-column__tabs--discussion hidden column-tabs__tab"></div></div></div></div></div></div><div id="ad_footer_container"></div></div><div class="actions-prompt register-popup-actions-prompt" data-nosnippet><a
613                href="/registration/register/"
614                class="registration-prompt-ribbon js-rmdnet-register"
615                id="registration-prompt-open"
616                data-register-popup="1"
617            >
618                Register
619            </a><div class="registration-prompt-content"><button class="actions-prompt-close" id="registration-prompt-close">close</button><p class="registration-prompt-message">
620                    
621                        We're glad to see you're enjoying
622                        
623                            <i>Cataract & Refractive Surgery Today…</i><br/>
624                        but how about a more personalized experience?
625                    
626                </p><a href="/registration/register/" class="btn btn-registration-prompt js-rmdnet-register" data-register-popup="1">
627                    Register for free
628                </a></div></div><div class="popup popup-leave mfp-hide js-leave-popup" id="popup-leave" data-nosnippet><div class="popup-content"><div class="popup-content__title">
629                You are now leaving
630                
631                    <i>Cataract & Refractive Surgery Today</i>
632                
633                and going to a site run by another organization.
634            </div><p>
635                Press cancel to remain on
636                
637                    <i>Cataract & Refractive Surgery Today.</i>
638                
639                Press the link below or the continue button to keep going.
640            </p><p><a href="#" id="popup-leave-link" class="js-leave-link full-link leave-page" target="_blank"></a></p><footer class="popup-content__actions"><a class="link cancel js-cancel btn-cancel">Cancel</a><a href="#" class="button button--brand js-leave-link-1" id="popup-leave-continue"
641                 target="_blank">Continue</a></footer></div></div>
641<script src="https://cdn.crstoday.com/assets/js/video.js?60dcf57b92bbe363b4f73d53be42d37a"></script>
641<script src="https://cdn.crstoday.com/assets/js/videojs-ads.js?60dcf57b92bbe363b4f73d53be42d37a"></script>
641<script src="https://cdn.crstoday.com/assets/js/videojs-ima-ads.js?60dcf57b92bbe363b4f73d53be42d37a"></script>
641<script src="https://cdn.crstoday.com/assets/js/moment.js?60dcf57b92bbe363b4f73d53be42d37a"></script>
641<script src="https://cdn.crstoday.com/assets/js/crstoday.min.js?60dcf57b92bbe363b4f73d53be42d37a"></script>
641<head><link href="https://cdn.reachmd.com/assets/react/vendors~microsites_af74118c7491ab2ef15c.css" rel="stylesheet"><link href="https://cdn.reachmd.com/assets/react/microsites_399fb73e8ce80b5ecf15.css" rel="stylesheet"></head>
641<script type="text/javascript" src="https://cdn.reachmd.com/assets/react/react-vendor_crstoday.7f0cc78173a511b5497b.js"></script>
641<script type="text/javascript" src="https://cdn.reachmd.com/assets/react/vendors~microsites_crstoday.a51f724b382f7ef27ccf.js"></script>
641<script type="text/javascript" src="https://cdn.reachmd.com/assets/react/microsites_crstoday.17c4d413976b9b84d7b3.js"></script>
641<script>
642// Auto-refresh functionality
643(function() {
644    const AD_REFRESH_INTERVAL_MS = 30000;
645    const VIEWABILITY_DURATION_MS = 1000;
646    const MOBILE_HEADER_HEIGHT = 90;
647    const DESKTOP_STICKY_HEADER_HEIGHT = 50;
648    const MOBILE_BREAKPOINT = 1126;
649
650    function getAdLoadingRule() {
651        // Read from DOM to handle PJAX navigation (DOMContentLoaded doesn't re-fire)
652        const ruleEl = document.querySelector(
653            '.object-data[data-ad-loading-rule],'
654            + ' .js-agg-data[data-ad-loading-rule],'
655            + ' .live-event-enrolment-data[data-ad-loading-rule]'
656        );
657        return (ruleEl && ruleEl.getAttribute('data-ad-loading-rule'))
658            || window.adLoadingRule || 'iab';
659    }
660
661    function getViewabilityThreshold() {
662        return getAdLoadingRule() === 'pmx' ? 1.0 : 0.5;
663    }
664
665    const autoRefreshState = new Map();
666    let tabVisible = !document.hidden;
667
668
669    // Tab visibility detection
670    document.addEventListener('visibilitychange', function() {
671        const wasVisible = tabVisible;
672        tabVisible = !document.hidden;
673
674        if (!wasVisible && tabVisible) {
675            // Tab became visible, restart timers for viewable ads
676            autoRefreshState.forEach(function(state, adId) {
677                if (state.isViewable) {
678                    startRefreshTimer(adId);
679                }
680            });
681        } else if (wasVisible && !tabVisible) {
682            // Tab became hidden, clear all refresh timers
683            autoRefreshState.forEach(function(state) {
684                clearTimeout(state.refreshTimer);
685                state.refreshTimer = null;
686            });
687        }
688    });
689
690    function startRefreshTimer(adId) {
691        const state = autoRefreshState.get(adId);
692        if (!state) {
693            return;
694        }
695        clearTimeout(state.refreshTimer);
696        state.refreshTimer = setTimeout(function() {
697
698            if (state.isViewable && tabVisible) {
699                const slotName = adId.replace(/^ad-/, '');
700
701                if (typeof window.reachMD !== 'undefined' &&
702                    typeof window.reachMD.logger !== 'undefined' &&
703                    typeof window.reachMD.logger.adImpression === 'function') {
704
705                    googletag.cmd.push(function() {
706                        const adSlots = googletag.pubads().getSlots();
707                        const currentSlot = adSlots.find(function(slot) {
708                            return slot.getSlotElementId() === adId;
709                        });
710
711                        if (currentSlot) {
712                            const responseInfo = currentSlot.getResponseInformation();
713                            window.reachMD.logger.adImpression({
714                                slotId: slotName,
715                                elementId: adId,
716                                creativeId: responseInfo ? responseInfo.creativeId : null,
717                                requestRate: state.requestRate || 0,
718                                firstRate: state.firstRate || 0,
719                                finalRate: state.finalRate || 0,
720                                isRefreshed: true
721                            });
722                        }
723                    });
724                }
725
726                if (typeof refreshSlot === 'function') {
727                    const adElement = document.getElementById(adId);
728                    if (adElement) {
729                        // Find parent container - GAM manipulates the ad element directly, so we lock the container
730                        // For React ads: look for parent with both ad-container-module and ad-container classes
731                        // For Django template ads: look for .ad-container parent
732                        let targetElement = adElement.closest('.ad-container-module.ad-container');
733                        if (!targetElement) {
734                            targetElement = adElement.closest('.ad-container');
735                        }
736                        targetElement = targetElement || adElement;
737
738                        // Preserve current dimensions before refresh
739                        const currentHeight = targetElement.offsetHeight;
740                        const currentWidth = targetElement.offsetWidth;
741
742                        if (currentHeight > 0) {
743                            targetElement.style.setProperty('height', currentHeight + 'px', 'important');
744                            targetElement.style.setProperty('width', currentWidth + 'px', 'important');
745                            targetElement.style.overflow = 'hidden';
746                        }
747
748                        // Remove previous listeners if exist
749                        if (state.slotRenderListener) {
750                            googletag.pubads().removeEventListener('slotRenderEnded', state.slotRenderListener);
751                            state.slotRenderListener = null;
752                        }
753                        if (state.slotOnloadListener) {
754                            googletag.pubads().removeEventListener('slotOnload', state.slotOnloadListener);
755                            state.slotOnloadListener = null;
756                        }
757
758                        // Set up listener BEFORE calling refreshSlot to catch the render event
759                        const adSlots = googletag.pubads().getSlots();
760                        const currentSlot = adSlots.find(function(slot) {
761                            return slot.getSlotElementId() === adId;
762                        });
763
764                        if (currentSlot) {
765                            // Create onload listener for when creative finishes loading
766                            state.slotOnloadListener = function(event) {
767                                if (event.slot === currentSlot) {
768                                    // Ad creative has fully loaded, restore auto dimensions
769                                    targetElement.style.removeProperty('height');
770                                    targetElement.style.removeProperty('width');
771                                    targetElement.style.minHeight = '';
772                                    targetElement.style.overflow = '';
773
774                                    // Remove listener after it fires
775                                    googletag.pubads().removeEventListener('slotOnload', state.slotOnloadListener);
776                                    state.slotOnloadListener = null;
777                                }
778                            };
779
780                            // Create render listener to check if ad is empty
781                            state.slotRenderListener = function(event) {
782                                if (event.slot === currentSlot) {
783                                    if (event.isEmpty) {
784                                        // No ad loaded, free the space
785                                        targetElement.style.removeProperty('height');
786                                        targetElement.style.removeProperty('width');
787                                        targetElement.style.height = '0';
788                                        targetElement.style.width = '0';
789                                        targetElement.style.minHeight = '0';
790                                        targetElement.style.overflow = 'hidden';
791
792                                        googletag.pubads().removeEventListener('slotRenderEnded', state.slotRenderListener);
793                                        googletag.pubads().removeEventListener('slotOnload', state.slotOnloadListener);
794                                        state.slotRenderListener = null;
795                                        state.slotOnloadListener = null;
796                                    } else {
797                                        // Ad is rendering, onload listener will handle cleanup
798                                        googletag.pubads().removeEventListener('slotRenderEnded', state.slotRenderListener);
799                                        state.slotRenderListener = null;
800                                    }
801                                }
802                            };
803
804                            googletag.pubads().addEventListener('slotRenderEnded', state.slotRenderListener);
805                            googletag.pubads().addEventListener('slotOnload', state.slotOnloadListener);
806                        }
807                    }
808
809                    refreshSlot(slotName);
810                }
811
812                state.refreshCount = (state.refreshCount || 0) + 1;
813            }
814
815            // Only restart timer if still viewable and tab is visible
816            if (state.isViewable && tabVisible) {
817                startRefreshTimer(adId);
818            }
819        }, AD_REFRESH_INTERVAL_MS);
820    }
821
822    function initAutoRefreshForAd(adElement) {
823        const adId = adElement.id;
824        const slotName = adId.replace(/^ad-/, '');
825
826        if (slotName === 'interstitial') {
827            return;
828        }
829
830        const viewabilityThreshold = getViewabilityThreshold();
831
832        const state = {
833            isViewable: false,
834            refreshTimer: null,
835            viewabilityTimer: null,
836            refreshCount: 0,
837            requestRate: 0,
838            firstRate: 0,
839            finalRate: 0,
840            slotRenderListener: null,
841            slotOnloadListener: null
842        };
843        autoRefreshState.set(adId, state);
844
845        // Account for fixed/sticky header that overlaps the viewport.
846        const isMicrosite = window.reachMD && window.reachMD.siteId !== 1;
847        let observerRootMargin = '0px';
848        if (isMicrosite) {
849            const headerHeight = window.innerWidth <= MOBILE_BREAKPOINT ? MOBILE_HEADER_HEIGHT : DESKTOP_STICKY_HEADER_HEIGHT;
850            observerRootMargin = `-${Math.ceil(headerHeight)}px 0px 0px 0px`;
851        }
852
853        const observer = new IntersectionObserver(function(entries) {
854            entries.forEach(function(entry) {
855                const isCurrentlyViewable = entry.isIntersecting &&
856                    entry.intersectionRatio >= viewabilityThreshold;
857
858                if (isCurrentlyViewable && !state.isViewable) {
859                    // Ad became viewable, start confirmation timer
860                    clearTimeout(state.viewabilityTimer);
861                    state.viewabilityTimer = setTimeout(function() {
862                        state.isViewable = true;
863                        if (tabVisible) {
864                            startRefreshTimer(adId);
865                        }
866                    }, VIEWABILITY_DURATION_MS);
867                } else if (!isCurrentlyViewable && state.isViewable) {
868                    // Ad is no longer viewable
869                    state.isViewable = false;
870                    clearTimeout(state.viewabilityTimer);
871                    clearTimeout(state.refreshTimer);
872                    state.refreshTimer = null;
873                } else if (!isCurrentlyViewable) {
874                    // Clear viewability timer if not viewable
875                    clearTimeout(state.viewabilityTimer);
876                }
877            });
878        }, {
879            threshold: viewabilityThreshold,
880            rootMargin: observerRootMargin
881        });
882
883        observer.observe(adElement);
884        state.observer = observer;
885    }
886
887    function waitForAdsToLoad(attempt = 1, maxAttempts = 20) {
888        const adElements = document.querySelectorAll('.js-ad-banner');
889
890        // Check if ads are actually rendered (have dimensions)
891        const renderedAds = Array.from(adElements).filter(ad => {
892            const rect = ad.getBoundingClientRect();
893            return rect.width > 0 && rect.height > 0;
894        });
895
896        if (renderedAds.length > 0) {
897            // Initialize auto-refresh for rendered ads
898            renderedAds.forEach(initAutoRefreshForAd);
899
900            // If there are more ads in DOM but not rendered yet, keep checking
901            if (renderedAds.length < adElements.length && attempt < maxAttempts) {
902                setTimeout(() => waitForAdsToLoad(attempt + 1, maxAttempts), 500);
903            }
904        } else if (attempt < maxAttempts) {
905            // No ads found or none rendered yet, retry
906            setTimeout(() => waitForAdsToLoad(attempt + 1, maxAttempts), 500);
907        }
908    }
909
910    // Use MutationObserver to detect when ads are added to DOM
911    function observeAdChanges() {
912        const observer = new MutationObserver(function(mutations) {
913            let adAdded = false;
914            mutations.forEach(function(mutation) {
915                mutation.addedNodes.forEach(function(node) {
916                    if (node.nodeType === 1) { // Element node
917                        if (node.classList && node.classList.contains('js-ad-banner')) {
918                            adAdded = true;
919                        } else if (node.querySelector && node.querySelector('.js-ad-banner')) {
920                            adAdded = true;
921                        }
922                    }
923                });
924            });
925
926            if (adAdded) {
927                // Small delay to let the ad render
928                setTimeout(() => waitForAdsToLoad(), 100);
929            }
930        });
931
932        observer.observe(document.body, {
933            childList: true,
934            subtree: true
935        });
936
937        return observer;
938    }
939
940    // Start observing for ad changes when body is available
941    let mutationObserver = null;
942    function initMutationObserver() {
943        if (!mutationObserver && document.body) {
944            mutationObserver = observeAdChanges();
945        }
946    }
947
948    // Initial check
949    if (document.readyState === 'loading') {
950        document.addEventListener('DOMContentLoaded', function() {
951            waitForAdsToLoad();
952            initMutationObserver();
953        });
954    } else {
955        waitForAdsToLoad();
956        initMutationObserver();
957    }
958
959    window.addEventListener('beforeunload', function() {
960        autoRefreshState.forEach(function(state) {
961            clearTimeout(state.refreshTimer);
962            clearTimeout(state.viewabilityTimer);
963            if (state.observer) {
964                state.observer.disconnect();
965            }
966            if (state.slotRenderListener) {
967                googletag.pubads().removeEventListener('slotRenderEnded', state.slotRenderListener);
968            }
969            if (state.slotOnloadListener) {
970                googletag.pubads().removeEventListener('slotOnload', state.slotOnloadListener);
971            }
972        });
973        if (mutationObserver) {
974            mutationObserver.disconnect();
975        }
976    });
977})();
978 </script>
978<script>
979(function() {
980  
981  var d = ['di/rmdnet/LoginOrRegister'];
982  require(['common/router'], function(r) {r.addDiRoutes(d);});
983})();
984</script>
984<script async src="https://aim-tag.hcn.health/js/client.js?dl=aimDataLayer&target=ie11"></script>
984<script>
985        window.aimDataLayer = window.aimDataLayer || [];
986        function aimTag() { aimDataLayer.push(arguments); }
987
988        aimTag('22f43b3d-1572-47d7-a72f-646d61a6b49a', 'transition');
989        aimTag('22f43b3d-1572-47d7-a72f-646d61a6b49a', 'pageview');
990        aimTag('22f43b3d-1572-47d7-a72f-646d61a6b49a', 'signal', function(err, success) {
991            if (err) {
992                console.log(err);
993                return;
994            }
995
996            console.log('[LOG]: AIM Signal v4 |', success);
997
998            if (typeof window.aimSignalCallback === 'function') {
999                window.aimSignalCallback(success);
1000                return;
1001            }
1002
1003            if (!Array.isArray(window.aimSignalCallbackQueue)) {
1004                window.aimSignalCallbackQueue = [];
1005            }
1006
1007            window.aimSignalCallbackQueue.push(success);
1008        });
1009    </script>
1009<!-- Tapad ID Sync Pixel -->
1009<script>
1010        (function() {
1011            function getRMDVID() {
1012                const match = document.cookie.match(/RMDVID=([^;]+)/);
1013                return match ? match[1] : null;
1014            }
1015
1016            function loadTapadPixel() {
1017                const rmdvid = getRMDVID();
1018                if (rmdvid && !document.getElementById('tapad-pixel')) {
1019                    const pixel = document.createElement('img');
1020                    pixel.id = 'tapad-pixel';
1021                    pixel.height = 1;
1022                    pixel.width = 1;
1023                    pixel.style.display = 'none';
1024                    pixel.alt = '';
1025                    pixel.setAttribute('data-tracking', 'tapad-idsync');
1026                    pixel.src = 'https://pixel.tapad.com/idsync/ex/receive?partner_id=3563&partner_device_id=' + encodeURIComponent(rmdvid);
1027                    document.body.appendChild(pixel);
1028
1029                    window.removeEventListener('load', loadTapadPixel);
1030                }
1031            }
1032
1033            if (getRMDVID()) {
1034                if (document.readyState === 'loading') {
1035                    document.addEventListener('DOMContentLoaded', loadTapadPixel);
1036                } else {
1037                    loadTapadPixel();
1038                }
1039                return;
1040            }
1041
1042            let originalRMDT = window.RMDT;
1043
1044            Object.defineProperty(window, 'RMDT', {
1045                configurable: true,
1046                get: function() {
1047                    return originalRMDT;
1048                },
1049                set: function(val) {
1050                    originalRMDT = val;
1051                    window.addEventListener('load', loadTapadPixel);
1052                }
1053            });
1054
1055            if (window.RMDT && typeof window.RMDT === 'function') {
1056                window.addEventListener('load', loadTapadPixel);
1057            }
1058        })();
1059    </script>
1059<!-- End Tapad ID Sync Pixel -->
1059<script>
1060        (function (w, d, t, s, o, a, m) {
1061            w[o] = w[o] || function () {
1062                (w[o].q = w[o].q || []).push(arguments)
1063            };
1064            w[o].l = 1 * new Date();
1065            a = d.createElement(t);
1066            m = d.getElementsByTagName(t)[0];
1067            a.async = 1;
1068            a.src = s;
1069            m.parentNode.insertBefore(a, m)
1070        })(window, document, 'script', 'https://rmdframework.reachmd.com/static/rmd.js', 'RMDT');
1071        RMDT('init');
1072        
1073            var xhttp = new XMLHttpRequest();
1074            xhttp.open('GET', 'https://rmdframework.reachmd.com/visitor/1e16d1fb-1c30-400b-8e12-f9244e7a6247', true);
1075            xhttp.withCredentials = true;
1076            xhttp.setRequestHeader('Content-Type', 'application/json');
1077            xhttp.send();
1078        
1079    </script>
1079<div id="gam-tracker-slot" style="width:1px; height:1px; position:absolute; left:-9999px;"></div><!----></body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.