, but this code // executes before the first paint, when

ÃÛÌÒapp

is not yet present. The // classes are added to so styling immediately reflects the current // toolbar state. The classes are removed after the toolbar completes // initialization. const classesToAdd = ['toolbar-loading', 'toolbar-anti-flicker']; if (toolbarState) { const { orientation, hasActiveTab, isFixed, activeTray, activeTabId, isOriented, userButtonMinWidth } = toolbarState; classesToAdd.push( orientation ? `toolbar-` + orientation + `` : 'toolbar-horizontal', ); if (hasActiveTab !== false) { classesToAdd.push('toolbar-tray-open'); } if (isFixed) { classesToAdd.push('toolbar-fixed'); } if (isOriented) { classesToAdd.push('toolbar-oriented'); } if (activeTray) { // These styles are added so the active tab/tray styles are present // immediately instead of "flickering" on as the toolbar initializes. In // instances where a tray is lazy loaded, these styles facilitate the // lazy loaded tray appearing gracefully and without reflow. const styleContent = ` .toolbar-loading #` + activeTabId + ` { background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%); } .toolbar-loading #` + activeTabId + `-tray { display: block; box-shadow: -1px 0 5px 2px rgb(0 0 0 / 33%); border-right: 1px solid #aaa; background-color: #f5f5f5; z-index: 0; } .toolbar-loading.toolbar-vertical.toolbar-tray-open #` + activeTabId + `-tray { width: 15rem; height: 100vh; } .toolbar-loading.toolbar-horizontal :not(#` + activeTray + `) > .toolbar-lining {opacity: 0}`; const style = document.createElement('style'); style.textContent = styleContent; style.setAttribute('data-toolbar-anti-flicker-loading', true); document.querySelector('head').appendChild(style); if (userButtonMinWidth) { const userButtonStyle = document.createElement('style'); userButtonStyle.textContent = `#toolbar-item-user {min-width: ` + userButtonMinWidth +`px;}` document.querySelector('head').appendChild(userButtonStyle); } } } document.querySelector('html').classList.add(...classesToAdd); })(); Use of Controlled Substances in Research | ÃÛÌÒapp

ÃÛÌÒapp

Skip to main content

Use of Controlled Substances in Research

Table of Contents


If you intend to use controlled substances in your research, this manual will provide clear and concise guidance. The main requirements are listed below:

  1. Notify Environmental Health and Safety if you intend to use .

  2. Register with the State of Michigan and the US Drug Enforcement Agency

    These registrations establish an accountable relationship between the individual (principal investigator) and the regulatory agencies.

  3. Provide a secure location for controlled substances

  4. Allow only trusted individuals access and use of controlled substances

  5. Be able to track the life cycle of all controlled substances; from ordering to receipt to use to disposal. You must be able to establish (in writing) how each drug was used and by whom and for what purpose.

  6. Report any and all suspicious activity to Campus Safety: loss, theft or misuse of controlled substances.


Contact description

Jennifer Ambrose: (616) 526-6342
Last updated
Approved by
Environmental Health and Safety