Advances in Toxicity Testing to Inform Chemicals Policy

December 10, 2009, 12:00 -1:30 PM
2325 Rayburn House Office Building

Summary

Evaluating the toxicity of chemical substances in the products we use is a key component of a management regime to protect human health and the environment. Advances in the science and technology of toxicity testing hold out the promise of more efficient, prompt, accurate and cost-effective testing methods. As the media, the public, and various stakeholder groups raise concerns about the safety of everyday items, chemicals policy in the U.S. is coming under scrutiny. Other countries are revising or have already revised their chemical regulations. This briefing will look at how improvements in understanding and evaluating toxicity can be utilized, and what implementation challenges must be overcome, in order to effectively modernize the management of toxic chemicals in the U.S.

Sponsors

ACS Science & the Congress Project,

Honorary Host

Introductory Remarks

President, Risk Science & Management, LLC

Featured Speakers

Daniel Krewski Director, McLaughlin Centre for Population Risk Assessment University of Ottawa Presentation Slides BioEmail

James Bus Director, External Technology The Dow Chemical Company Presentation Slides BioEmail

http://acswebcontent.acs.org/flv/SC_Briefings/Dec_10_2009/Bus_Dec10_09.flv

Melvin Andersen Director, Program in Chemical Safety Sciences The Hamner Institutes in Health Sciences Presentation Slides BioEmail

http://acswebcontent.acs.org/flv/SC_Briefings/Dec_10_2009/Anderson_Dec10_09.flv

Steven Bradbury Deputy Director, Office of Pesticide Programs The U.S. Environmental Protection Agency Presentation Slides BioEmail

http://acswebcontent.acs.org/flv/SC_Briefings/Dec_10_2009/Bradbury_Dec10_09.flv

;(function($) {

$.fn.media = function(options, f1, f2) {

return this.each(function() {

if (typeof options == 'function') {

f2 = f1;

f1 = options;

options = {};

}

var o = getSettings(this, options);

if (typeof f1 == 'function') f1(this, o);

var r = getTypesRegExp();

var m = r.exec(o.src) || [''];

o.type ? m[0] = o.type : m.shift();

for (var i=0; i < m.length; i++) {

fn = m[i].toLowerCase();

if (isDigit(fn[0])) fn = 'fn' + fn;

if (!$.fn.media[fn])

continue;

var player = $.fn.media[fn+'_player'];

if (!o.params) o.params = {};

if (player) {

var num = player.autoplayAttr == 'autostart';

o.params[player.autoplayAttr || 'autoplay'] = num ? (o.autoplay ? 1 : 0) : o.autoplay ? true : false;

}

var $div = $.fn.media[fn](this, o);

$div.css('backgroundColor', o.bgColor).width(o.width);

if (typeof f2 == 'function') f2(this, $div[0], o, player.name);

break;

}

});

};

$.fn.media.mapFormat = function(format, player) {

if (!format || !player || !$.fn.media.defaults.players[player]) return;

format = format.toLowerCase();

if (isDigit(format[0])) format = 'fn' + format;

$.fn.media[format] = $.fn.media[player];

$.fn.media[format+'_player'] = $.fn.media.defaults.players[player];

};

$.fn.media.defaults = {

width: 320,

height: 20,

autoplay: 0,

bgColor: '#ffffff',

params: { wmode: 'transparent', allowfullscreen: 'true'},

attrs: {},

flvKeyName: 'file',

flashvars: {},

flashVersion: '7',

expressInstaller: null,

flvPlayer: 'http://acswebcontent.acs.org/swf/player-viral.swf',

mp3Player: 'http://acswebcontent.acs.org/swf/player-viral.swf',

silverlight: {

inplaceInstallPrompt: 'true',

isWindowless: 'true',

framerate: '24',

version: '0.9',

onError: null,

onLoad: null,

initParams: null,

userContext: null

}

};

$.fn.media.defaults.players = {

flash: {

name: 'flash',

types: 'flv,mp3,swf',

oAttrs: {

classid: 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000',

type: 'application/x-oleobject',

codebase: 'http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + $.fn.media.defaults.flashVersion

},

eAttrs: {

type: 'application/x-shockwave-flash',

pluginspage: 'http://www.adobe.com/go/getflashplayer'

}

},

quicktime: {

name: 'quicktime',

types: 'aif,aiff,aac,au,bmp,gsm,mov,mid,midi,mpg,mpeg,mp4,m4a,psd,qt,qtif,qif,qti,snd,tif,tiff,wav,3g2,3gp',

oAttrs: {

classid: 'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',

codebase: 'http://www.apple.com/qtactivex/qtplugin.cab'

},

eAttrs: {

pluginspage: 'http://www.apple.com/quicktime/download/'

}

},

realplayer: {

name: 'real',

types: 'ra,ram,rm,rpm,rv,smi,smil',

autoplayAttr: 'autostart',

oAttrs: {

classid: 'clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA'

},

eAttrs: {

type: 'audio/x-pn-realaudio-plugin',

pluginspage: 'http://www.real.com/player/'

}

},

winmedia: {

name: 'winmedia',

types: 'asf,avi,wma,wmv',

autoplayAttr: 'autostart',

oUrl: 'url',

oAttrs: {

classid: 'clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6',

type: 'application/x-oleobject'

},

eAttrs: {

type: $.browser.mozilla && isFirefoxWMPPluginInstalled() ? 'application/x-ms-wmp' : 'application/x-mplayer2',

pluginspage: 'http://www.microsoft.com/Windows/MediaPlayer/'

}

},

iframe: {

name: 'iframe',

types: 'html,pdf'

},

silverlight: {

name: 'silverlight',

types: 'xaml'

}

};

function isFirefoxWMPPluginInstalled() {

var plugs = navigator.plugins;

for (i = 0; i < plugs.length; i++) {

var plugin = plugs[i];

if (plugin['filename'] == 'np-mswmp.dll')

return true;

}

return false;

}

var counter = 1;

for (var player in $.fn.media.defaults.players) {

var types = $.fn.media.defaults.players[player].types;

$.each(types.split(','), function(i,o) {

if (isDigit(o[0])) o = 'fn' + o;

$.fn.media[o] = $.fn.media[player] = getGenerator(player);

$.fn.media[o+'_player'] = $.fn.media.defaults.players[player];

});

};

function getTypesRegExp() {

var types = '';

for (var player in $.fn.media.defaults.players) {

if (types.length) types += ',';

types += $.fn.media.defaults.players[player].types;

};

return new RegExp('.(' + types.replace(/,/g,'|') + ')$b

};

function getGenerator(player) {

return function(el, options) {

return generate(el, options, player);

};

};

function isDigit(c) {

return '0123456789'.indexOf(c) > -1;

};

function getSettings(el, options) {

options = options || {};

var $el = $(el);

var cls = el.className || '';

// support metadata plugin (v1.0 and v2.0)

var meta = $.metadata ? $el.metadata() : $.meta ? $el.data() : {};

meta = meta || {};

var w = meta.width || parseInt(((cls.match(/w:(d+)/)||[])[1]||0));

var h = meta.height || parseInt(((cls.match(/h:(d+)/)||[])[1]||0));

if (w) meta.width = w;

if (h) meta.height = h;

if (cls) meta.cls = cls;

var a = $.fn.media.defaults;

var b = options;

var c = meta;

var p = { params: { bgColor: options.bgColor || $.fn.media.defaults.bgColor } };

var opts = $.extend({}, a, b, c);

$.each(['attrs','params','flashvars','silverlight'], function(i,o) {

opts[o] = $.extend({}, p[o] || {}, a[o] || {}, b[o] || {}, c[o] || {});

});

if (typeof opts.caption == 'undefined') opts.caption = $el.text();

opts.src = opts.src || $el.attr('href') || $el.attr('src') || 'unknown';

return opts;

};

$.fn.media.swf = function(el, opts) {

if (!window.SWFObject && !window.swfobject) {

if (opts.flashvars) {

var a = [];

for (var f in opts.flashvars)

a.push(f + '=' + opts.flashvars[f]);

if (!opts.params) opts.params = {};

opts.params.flashvars = a.join('&

}

return generate(el, opts, 'flash

}

var id = el.id ? (' id="'+el.id+'"') : '';

var cls = opts.cls ? (' class="' + opts.cls + '"') : '';

var $div = $('

if (window.swfobject) {

$(el).after($div).appendTo($div);

if (!el.id) el.id = 'movie_player_' + counter++;

swfobject.embedSWF(opts.src, el.id, opts.width, opts.height, opts.flashVersion,

opts.expressInstaller, opts.flashvars, opts.params, opts.attrs);

}

else {

$(el).after($div).remove();

var so = new SWFObject(opts.src, 'movie_player_' + counter++, opts.width, opts.height, opts.flashVersion, opts.bgColor);

if (opts.expressInstaller) so.useExpressInstall(opts.expressInstaller);

for (var p in opts.params)

if (p != 'bgColor') so.addParam(p, opts.params[p]);

for (var f in opts.flashvars)

so.addVariable(f, opts.flashvars[f]);

so.write($div[0]);

}

if (opts.caption) $('

').appendTo($div).html(opts.caption);

return $div;

};

$.fn.media.flv = $.fn.media.mp3 = function(el, opts) {

var src = opts.src;

var player = /.mp3b/i.test(src) ? $.fn.media.defaults.mp3Player : $.fn.media.defaults.flvPlayer;

var key = opts.flvKeyName;

src = encodeURIComponent(src);

opts.src = player;

opts.src = opts.src + '?'+key+'=' + (src);

var srcObj = {};

srcObj[key] = src;

opts.flashvars = $.extend({}, srcObj, opts.flashvars );

return $.fn.media.swf(el, opts);

};

$.fn.media.xaml = function(el, opts) {

if (!window.Sys || !window.Sys.Silverlight) {

if ($.fn.media.xaml.warning) return;

$.fn.media.xaml.warning = 1;

alert('You must include the Silverlight.js script.

return;

}

var props = {

width: opts.width,

height: opts.height,

background: opts.bgColor,

inplaceInstallPrompt: opts.silverlight.inplaceInstallPrompt,

isWindowless: opts.silverlight.isWindowless,

framerate: opts.silverlight.framerate,

version: opts.silverlight.version

};

var events = {

onError: opts.silverlight.onError,

onLoad: opts.silverlight.onLoad

};

var id1 = el.id ? (' id="'+el.id+'"') : '';

var id2 = opts.id || 'AG' + counter++;

var cls = opts.cls ? (' class="' + opts.cls + '"') : '';

var $div = $('

$(el).after($div).remove();

Sys.Silverlight.createObjectEx({

source: opts.src,

initParams: opts.silverlight.initParams,

userContext: opts.silverlight.userContext,

id: id2,

parentElement: $div[0],

properties: props,

events: events

});

if (opts.caption) $('

').appendTo($div).html(opts.caption);

return $div;

};

function generate(el, opts, player) {

var $el = $(el);

var o = $.fn.media.defaults.players[player];

if (player == 'iframe') {

var o = $('

o.attr('src', opts.src);

o.css('backgroundColor', o.bgColor);

}

else if ($.browser.msie) {

var a = ['

for (var key in opts.attrs)

a.push(key + '="'+opts.attrs[key]+'"

for (var key in o.oAttrs || {}) {

var v = o.oAttrs[key];

if (key == 'codebase' && window.location.protocol == 'https')

v = v.replace('http','https

a.push(key + '="'+v+'"

}

a.push('>

var p = [''];

for (var key in opts.params)

p.push('

var o = document.createElement(a.join(''));

for (var i=0; i < p.length; i++)

o.appendChild(document.createElement(p[i]));

}

else {

var a = ['

if (opts.src) a.push(' src="' + opts.src + '"

for (var key in opts.attrs)

a.push(key + '="'+opts.attrs[key]+'"

for (var key in o.eAttrs || {})

a.push(key + '="'+o.eAttrs[key]+'"

for (var key in opts.params)

if (key != 'wmode')

a.push(key + '="'+opts.params[key]+'"

a.push('>

}

var id = el.id ? (' id="'+el.id+'"') : '';

var cls = opts.cls ? (' class="' + opts.cls + '"') : '';

var $div = $('

$el.after($div).remove();

($.browser.msie || player == 'iframe') ? $div.append(o) : $div.html(a.join(''));

if (opts.caption) $('

').appendTo($div).html(opts.caption);

return $div;

};

})(jQuery);

$(function() {

$('a.media').media();

});

Related Content

Toxicity Testing in the 21st Century,” Risk Analysis, Vol. 29, No. 4, 2009

Toxicity Testing in the 21st Century: Better Results, Less Use of Animals,” The Environmental Forum, March/April 2008

The National Academy of Sciences

“Toxicity Testing in the 21st Century: A Vision and a Strategy,” 2007

NAS Standing Committee on Risk Analysis Issues and Reviews
Congressional Research Service:
Environmental Protection Agency
National Institutes of Health

National Institute of Environmental Health Sciences

Chemical and Engineering News:

Recasting the U.S. Chemical Law,” C&EN, October 5, 2009

Next-Generation Risk Assessment,” C&EN, June 22, 2009

Toxicity Testing Without Animals,” C&EN, May 27, 2009