CINXE.COM
UCSF Financial Systems | Controller's Office
<!DOCTYPE html> <!--[if IE 7]> <html lang="en" class="no-js ie7 oldie" lang="en" dir="ltr"> <![endif]--> <!--[if IEMobile 7]> <html lang="en" dir="ltr" class="no-js iem7" lang="en" > <![endif]--> <!--[if (gt IEMobile 7)|!(IEMobile)]> <html class="no-js" lang="en"> <![endif]--> <!--[if lt IE 7]> <html lang="en" class="no-js ie6 oldie" lang="en" dir="ltr"> <![endif]--> <!--[if (IE 7)&!(IEMobile)]> <html lang="en" class="no-js ie7 oldie" lang="en" dir="ltr"> <![endif]--> <!--[if (IE 8)&!(IEMobile)]> <html lang="en" class="no-js oldie" lang="en" dir="ltr"> <![endif]--> <!--[if gt IE 8]> <html lang="en" class="no-js" lang="en" dir="ltr"> <![endif]--> <!--[if (gte IE 9)|(gt IEMobile 7)]><html lang="en" class="no-js" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/terms/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:og="http://ogp.me/ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:sioc="http://rdfs.org/sioc/ns#" xmlns:sioct="http://rdfs.org/sioc/types#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#"><![endif]--> <!--[if gte IE 6]> <script type = "text/javascript"> var ieClass=""; if(document.documentMode==7) { ieClass="ie7"; } else if(document.documentMode==8) { ieClass="ie8"; } else if(document.documentMode==9) { ieClass="ie9"; } document.documentElement.className += " "; document.documentElement.className += ieClass; </script> <![endif]--> <!--><html class="no-js" lang="en" dir="ltr"><!--<![endif]--> <head> <!-- Google Tag Manager and Site Improve--> <script> (function(w,d,s,l,i){ w[l]=w[l]||[]; w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'}); var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:''; j.async=true; j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl; f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-N3FX7K'); (function() { var sz = document.createElement('script'); sz.type = 'text/javascript'; sz.async = true; sz.src = '//siteimproveanalytics.com/js/siteanalyze_8343.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(sz, s); })(); </script> <!-- End Google Tag Manager and Site Improve --> <title>UCSF Financial Systems | Controller's Office</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={licenseKey:"3132ed34d6",applicationID:"1352582619"};;/*! For license information please see nr-loader-rum-1.274.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>g,gD:()=>h,xN:()=>p});var n=r(993);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-nr-mask]",d=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:[],generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector="".concat(t,",").concat(u):""===t||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},l={},f="All configuration objects require an agent identifier!";function g(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function h(e,t){if(!e)throw new Error(f);var r=g(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,xv:()=>n});const n="1.274.0",i="PROD",o="CDN"},6154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>c,RI:()=>i,WN:()=>d,bv:()=>o,gm:()=>a,mw:()=>s,sb:()=>u});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s=Boolean("hidden"===a?.document?.visibilityState),c=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=c&&"undefined"==typeof SharedWorker,d=((()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Date.now()-(0,n.t)())},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),g(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return g(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),g(e,t)})))}function g(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=g(n),c=h(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=m()[s[e]];p&&p.push([f,e,r,a]);return a},get:v,listeners:h,context:g,buffer:function(e,t){const r=m();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!m()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function g(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=h(e).concat(t)}function h(e){return n[e]||[]}function v(t){return d[t]=d[t]||e(f,t)}function m(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,bz:()=>a});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},3434:(e,t,r)=>{"use strict";r.d(t,{YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log";n.K7.logging},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{G4:()=>i});var n=r(2614);r(860).K7.sessionReplay;const i={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"};n.g.ERROR,n.g.FULL,n.g.OFF},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7603:(e,t,r)=>{"use strict";r.d(t,{j:()=>P});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),g=r(384),p=r(6344);const h=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],v=["setErrorHandler","finished","addToTrace","addRelease"];var m=r(1863),b=r(2614),y=r(993);var w=r(2646),A=r(3434);function R(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,A.YM)(i),a=new w.y(s.P);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],"wrap-logger-",a),i}function E(){const e=(0,g.pV)();h.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const x={};function _(e,t,g=!1){t||(0,c.Ak)(e,"api");const h={};var w=s.ee.get(e),A=w.get("tracer");x[e]=b.g.OFF,w.on(p.G4.REPLAY_RUNNING,(t=>{x[e]=t}));var E="api-",_=E+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),j(E,n,!0,o||null===r?"session":void 0)(t,r)}function T(){}h.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,w),function(e,t,r={},i=y.p_.INFO){(0,a.p)(f.xV,["API/logging/".concat(i.toLowerCase(),"/called")],void 0,n.K7.metrics,e),(0,a.p)(y.ET,[(0,m.t)(),t,r,i],void 0,n.K7.logging,e)}(w,e,t,r)},h.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,w),R(w,e,t,{customAttributes:r,level:i})},v.forEach((e=>{h[e]=j(E,e,!0,"api")})),h.addPageAction=j(E,"addPageAction",!0,n.K7.genericEvents),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,j(E,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},h.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},h.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},h.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,w),w.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},h[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,w)},h[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,w)},h.interaction=function(e){return(new T).get("object"==typeof e?e:{})};const S=T.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,w),g||(0,a.p)(_+"tracer",[(0,m.t)(),e,r],i,n.K7.spa,w),function(){if(A.emit((o?"":"no-")+"fn-start",[(0,m.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw A.emit("fn-err",[arguments,this,t],r),t}finally{A.emit("fn-end",[(0,m.t)()],r)}}}};function j(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,w),i&&(0,a.p)(e+t,[(0,m.t)(),...arguments],r?null:this,i,w),r?void 0:this}}function k(){r.e(296).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),w.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{S[e]=j(_,e,void 0,g?n.K7.softNav:n.K7.spa)})),h.setCurrentRouteName=g?j(_,"routeName",void 0,n.K7.softNav):j(E,"routeName",!0,n.K7.spa),h.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,w),(0,a.p)("err",[t,(0,m.t)(),!1,r,!!x[e]],void 0,n.K7.jserrors,w)},d.RI?(0,u.GG)((()=>k()),!0):k(),h}var N=r(9417),T=r(8122);const S={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},j={};var k=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let O=!1;function P(e,t={},r,n){let{init:a,info:c,loader_config:u,runtime:l={},exposed:f=!0}=t;l.loaderType=r;const p=(0,g.pV)();c||(a=p.init,c=p.info,u=p.loader_config),(0,N.xN)(e.agentIdentifier,a||{}),function(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");j[e]=(0,T.a)(t,S);const r=(0,g.nY)(e);r&&(r.loader_config=j[e])}(e.agentIdentifier,u||{}),c.jsAttributes??={},d.bv&&(c.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,c);const h=(0,N.D0)(e.agentIdentifier),v=[c.beacon,c.errorBeacon];O||(h.proxy.assets&&(I(h.proxy.assets),v.push(h.proxy.assets)),h.proxy.beacon&&v.push(h.proxy.beacon),E(),(0,g.US)("activatedFeatures",k.B),e.runSoftNavOverSpa&&=!0===h.soft_navigations.enabled&&h.feature_flags.includes("soft_nav")),l.denyList=[...h.ajax.deny_list||[],...h.ajax.block_internal?v:[]],l.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,l),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=_(e.agentIdentifier,n,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=f),O=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>o,K7:()=>n,P3:()=>i});const n={ajax:"ajax",genericEvents:"generic_events",jserrors:"jserrors",logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.spa]:5,[n.ajax]:6,[n.sessionTrace]:7,[n.softNav]:8,[n.sessionReplay]:9,[n.logging]:10,[n.genericEvents]:11},o={[n.pageViewTiming]:"events",[n.ajax]:"events",[n.spa]:"events",[n.softNav]:"events",[n.metrics]:"jserrors",[n.jserrors]:"jserrors",[n.sessionTrace]:"browser/blobs",[n.sessionReplay]:"browser/blobs",[n.logging]:"browser/logs",[n.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>"nr-rum-1.274.0.min.js",i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.274.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={296:"sha512-gkYkZDAwQ9PwaDXs2YM+rNIdRej1Ac1mupWobRJ8eahQcXz6/sunGZCKklrzi5kWxhOGRZr2tn0rEKuLTXzfAA=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var g=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(g.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=g.bind(null,s.onerror),s.onload=g.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={840:0,374:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.274.0.PROD"]=self["webpackChunk:NRBA-1.274.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(e=(0,r.LA)(16)){this.agentIdentifier=e}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(7603);var l=i(1687),f=i(4234),g=i(5289),p=i(6154),h=i(384);const v=e=>p.RI&&!0===(0,s.gD)(e,"privacy.cookies_enabled");function m(e){return!!(0,h.dV)().o.MO&&v(e)&&!0===(0,s.gD)(e,"session_trace.enabled")}var b=i(6389);class y extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,b.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if(v(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(296).then(i.bind(i,3861));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(296).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(296).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,g.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return m(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var w=i(6630);class A extends y{static featureName=w.T;constructor(e,t=!0){super(e,w.T,t),this.importAggregator(e)}}var R=i(9908),E=i(2843),x=i(3878),_=i(782),N=i(1863);class T extends y{static featureName=_.T;constructor(e,t=!0){super(e,_.T,t),p.RI&&((0,E.u)((()=>(0,R.p)("docHidden",[(0,N.t)()],void 0,_.T,this.ee)),!0),(0,x.sp)("pagehide",(()=>(0,R.p)("winPagehide",[(0,N.t)()],void 0,_.T,this.ee))),this.importAggregator(e))}}var S=i(3969);class j extends y{static featureName=S.TZ;constructor(e,t=!0){super(e,S.TZ,t),this.importAggregator(e)}}new class extends o{constructor(t,r){super(r),p.gm?(this.features={},(0,h.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(A),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,h.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[A,T,j],loaderType:"lite"})})()})();</script> <link rel="shortcut icon" href="https://controller.ucsf.edu/sites/controller.ucsf.edu/themes/custom/controller_starterkit/favicon.ico" /> <meta name="generator" content="Drupal 7 (https://www.drupal.org)" /> <link rel="canonical" href="https://controller.ucsf.edu/software-system" /> <link rel="shortlink" href="https://controller.ucsf.edu/software-system" /> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2, user-scalable=yes"> <meta http-equiv="cleartype" content="on"> <!--meta http-equiv="X-UA-Compatible" content="IE=8,chrome=1"--> <link rel="stylesheet" href="https://controller.ucsf.edu/sites/controller.ucsf.edu/files/css/css_LeAQXqpJSC11cnBRlsSnlbBNsXck-YnD6LTRt4kNZC4.css" /> <link rel="stylesheet" href="https://controller.ucsf.edu/sites/controller.ucsf.edu/files/css/css_xE-rWrJf-fncB6ztZfd2huxqgxu4WO-qwma6Xer30m4.css" /> <link rel="stylesheet" href="https://controller.ucsf.edu/sites/controller.ucsf.edu/files/css/css_DHcXHPYBSjIVaCQZEG4ZlpLkvslnFlBCnQUCzlbRBio.css" /> <link rel="stylesheet" href="https://controller.ucsf.edu/sites/controller.ucsf.edu/files/css/css_wV8SG5jB4noyjYuLBUifBMx4qRPxFd67nUlPSEyvpRc.css" /> <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" /> <link rel="stylesheet" href="https://cdn.datatables.net/v/dt/dt-1.11.3/b-2.0.1/b-print-2.0.1/date-1.1.1/fh-3.2.0/kt-2.6.4/sp-1.4.0/datatables.min.css" /> <link rel="stylesheet" href="https://controller.ucsf.edu/sites/controller.ucsf.edu/files/css/css_VSZLB1TXOCKHRgQ1P71LK5dqdktQKvBJXppWWZYl6JE.css" /> <link rel="stylesheet" href="https://controller.ucsf.edu/sites/controller.ucsf.edu/files/css/css_dIHhwgV0q3iJ0qG0tn4BmeLpdCvw6yKsRpjwhcRpmF8.css" media="print" /> <link rel="stylesheet" href="https://controller.ucsf.edu/sites/controller.ucsf.edu/files/css/css_qDNFzvtmeetrvZRmhs5e4LD4m8YaKEUfClok418lxGY.css" /> <link rel="stylesheet" href="https://controller.ucsf.edu/sites/controller.ucsf.edu/files/css/css_6u_s1ISDFtPLZHFta5dky5Kk4lXFs5mI75Ani0Hy0So.css" media="screen" /> <link rel="stylesheet" href="https://controller.ucsf.edu/sites/controller.ucsf.edu/files/css/css_lNtldp5oznDtlDTDkPWvnafCL8O28PRWCn8DrWJ_Zcs.css" /> <link rel="stylesheet" href="https://controller.ucsf.edu/sites/controller.ucsf.edu/files/css/css_Ei7pxHpwlFF8knZzh78a7H_03Z-jkvHIhdBFVURq39c.css" media="screen" /> <!--[if lt IE 9]> <script src="https://controller.ucsf.edu/sites/all/themes/mothership/mothership/js/respond.min.js"></script> <![endif]--> <!--[if lt IE 9]> <script src="https://controller.ucsf.edu/sites/all/themes/mothership/mothership/js/html5.js"></script> <![endif]--> </head> <body class="not-front no-sidebars page-software-system ucsf-base ucsf-base" id="hold" > <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-N3FX7K" height="0" width="0" style="display:none;visibility:hidden" aria-hidden="true"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!--[if lt IE 7]><p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p><![endif]--> <a href="#main-content" class="element-invisible element-focusable">Skip to main content </a> <div class="top-region-container clearfix"> <div class="top-header-region row "> <nav class="block block-menu " role="navigation"> <ul class="menu"><li><a href="http://www.ucsf.edu">University of California, San Francisco</a></li> <li><a href="http://www.ucsf.edu/about_ucsf/">About UCSF</a></li> <li><a href="http://www.ucsf.edu/ucsf/search">Search UCSF</a></li> <li><a href="http://www.ucsfhealth.org/">UCSF Medical Center</a></li> </ul> </nav> </div> </div> <div class="header-container "> <header role="banner" class="row"> <div class="inner-wrapper"> <a id="a-home" href="/" title="Controller's Office Home" rel="home"> <div class="siteinfo"> <div class="siteinfo-logo"> <img src="https://controller.ucsf.edu/sites/controller.ucsf.edu/themes/custom/controller_starterkit/logo.png" alt="Controller's Office Home" /> </div> <div id="siteinfo-name"> Controller's Office </div> </div> </a> <a href="#" id="mobile-link" aria-hidden="true" style="display: none; height:unset"><span></span></a> <div class="header-region"> <div class="block block-search " role="search" id="block-search-form"> <form action="/software-system" method="post" id="search-block-form" accept-charset="UTF-8"> <label class="element-invisible">Search form</label> <div class="form-type-textfield form-item-search-block-form"> <label class="element-invisible" for="edit-search-block-form--2">CO Search</label> <input title="Enter the terms you wish to search for." placeholder="" type="text" onblur="if (this.value == '') {this.value = 'Search this site';}" onfocus="if (this.value == 'Search this site') {this.value = '';}" id="edit-search-block-form--2" name="search_block_form" value="Search this site" size="30" maxlength="128" /> </div> <div class="form-actions form-wrapper" id="edit-actions"><input type="submit" id="edit-submit" name="op" value="Search" /></div><input type="hidden" name="form_build_id" value="form-2xkdl-A3oYMIBdPiAUoiTlBvlvr6VaW191mn7bXwbC0" /> <input type="hidden" name="form_id" value="search_block_form" /> </form> </div> <nav class="block block-menu-block " role="navigation"> <ul class="menu"><li class="menu-mlid-2426"><a href="/search/form">Forms</a></li> <li class="menu-mlid-3836"><a href="/search/how-to-guide">How-To Guides</a></li> <li class="menu-mlid-3841"><a href="/news">News</a></li> <li class="menu-mlid-3846"><a href="/services/controllers-office">Contact Us</a></li> </ul> </nav> </div> </div> </header> </div> <div class="page-container"> <h2 class="element-invisible">You are here</h2><div class="breadcrumb"><span class="inline odd first last"><a href="/">Home</a></span></div> <div class="page row clearfix"> <div class="inner-wrapper"> <div role="main" id="main-content" class="col"> <h1>UCSF Financial Systems</h1> <div class="view-co-software-system view-id-co_software_system view-display-id-page view-dom-id-180976e0ae2c1cef3d6e5e54fbe76993"> <div class="view-header"> <p>Software systems support most of our financial, educational and research actions. The Controller鈥檚 Office provides business support for the following systems. </p> </div> <div class="views-row co-Card co-Card--gray"> <h2><a href="/software-system/award-verification-tool">Award Verification Tool</a></h2> <div class="views-field views-field-body"> <span class="field-content">The Award Verification Tool is used to conduct and document activities related to UCSF's procedure to support Principal Investigators in meeting the requirements of the Uniform Guidance for federal awards.</span> </div> </div> <div class="views-row co-Card co-Card--gray"> <h2><a href="/software-system/blackline-account-reconciliation">BlackLine Account Reconciliation</a></h2> <div class="views-field views-field-body"> <span class="field-content">BlackLine Account Reconciliation is a technology-based solution used to standardize UCSF accounting and close processes, mitigate risk, and drive quality and continuous improvement.</span> </div> </div> <div class="views-row co-Card co-Card--gray"> <h2><a href="/software-system/general-ledger-gl-verification-tool">General Ledger (GL) Verification Tool</a></h2> <div class="views-field views-field-body"> <span class="field-content">The General Ledger (GL) Verification online tool streamlines the General Ledger Verification (GLV) process with the goal of ensuring overall reasonableness of department financials. </span> </div> </div> <div class="views-row co-Card co-Card--gray"> <h2><a href="/software-system/hbs-timekeeping-system">HBS Timekeeping System</a></h2> <div class="views-field views-field-body"> <span class="field-content">UCSF employees use Huntington Business Systems (HBS) to submit hours and request leave. Managers, in addition to entering their own time and leave requests, use HBS to edit and approve timesheets and leave requests for their employees. </span> </div> </div> <div class="views-row co-Card co-Card--gray"> <h2><a href="/software-system/myreports">MyReports</a></h2> <div class="views-field views-field-body"> <span class="field-content">MyReports is UCSF鈥檚 campus-wide reporting solution that provides financial and human resources data to meet the needs of users at all levels within our organization.</span> </div> </div> <div class="views-row co-Card co-Card--gray"> <h2><a href="/software-system/peoplesoft-financials-asset-management">PeopleSoft Financials: Asset Management</a></h2> <div class="views-field views-field-body"> <span class="field-content">Equipment Custodians and Curators use the Asset Management module of PeopleSoft Financials to review and update specific equipment attributes and to initiate the Equipment Inventory Modification Request (EIMR) process online.</span> </div> </div> <div class="views-row co-Card co-Card--gray"> <h2><a href="/software-system/peoplesoft-financials-general-ledger">PeopleSoft Financials: General Ledger</a></h2> <div class="views-field views-field-body"> <span class="field-content">PeopleSoft Financials is UCSF's financial system that encompasses transactions for payment (Accounts Payable), sponsored project proposal and award management (Research Administration System or RAS), journals (General Ledger), and equipment asset tracking (Asset Management).</span> </div> </div> <div class="views-row co-Card co-Card--gray"> <h2><a href="/software-system/peoplesoft-financials-research-administration-system-ras">PeopleSoft Financials: Research Administration System (RAS)</a></h2> <div class="views-field views-field-body"> <span class="field-content">The Research Administration System (RAS) is UCSF's system of record for post-award contracts and grants financial transactions.</span> </div> </div> <div class="views-row co-Card co-Card--gray"> <h2><a href="/software-system/ucpath">UCPath</a></h2> <div class="views-field views-field-body"> <span class="field-content">UCPath is the University of California's human resources, academic personnel, benefits, and payroll system for all UC employees systemwide.</span> </div> </div> <div class="view-footer"> <div class="co-Card"> <h2>System Access Policies</h2> <p> <p><a href="https://policies.ucsf.edu/policy/650-16" target="blank" class="co-external-link">UCSF Campus Administrative Policy: Information Security and Confidentiality (650-16)</a></p> <p><a href="https://policies.ucsf.edu/policy/650-18" target="blank" class="co-external-link">UCSF Campus Administrative Policy: Authorized and Acceptable Use of Electronic Information Resources (650-18)</a></p> <p><a href="http://policies.ucsf.edu/policy/300-42" target="blank" class="co-external-link">UCSF Campus Administrative Policy: Financial System Access for Affiliates (300-42)</a></p> <p><a href="https://policy.ucop.edu/doc/7020447/BFB-IS-2" target="blank" class="co-external-link">UCOP Business and Finance Bulletin: Inventory, Classification, and Release of University Electronic Information (BFB-IS-2)</a></p> <p><a href="https://policy.ucop.edu/doc/7000543/BFB-IS-3" target="blank" class="co-external-link">UCOP Business and Finance Bulletin: Electronic Information Security (BFB-IS-3)</a></p> <p>Access to, and use of, University electronic information resources must be performed in a manner that ensures the confidentiality, integrity, and availability of University resources and must be conducted in full compliance with federal and state law and University policies. Access Administrators and Central Campus units that grant access to financial and personnel data are responsible for:</p> <ul> <li>Ensuring that access is granted in accordance with University of California policies and that only Authorized and Authenticated staff is granted access.</li> <li>Periodic review of work by staff with access to confidential data to ensure such data is secured and not inappropriately shared or misused.</li> <li>Fully informing staff of their responsibility to hold such information confidential.</li> <li><em>Timely review of access privileges and for revoking access privileges upon termination or when job duties no longer require a legitimate business reason for access.</em></li> <li>Ensuring access for affiliates follows established policy and is limited to affiliates who require access to enable the University to operate efficiently and/or for departments to process payments or other financial transactions related to the affiliate.</li> </ul> <p>Sharing of sensitive electronic information with University administrative units is allowed for legitimate business needs. However, permission for access to information or release and/or disclosure of information should be granted in conformance with University policy and applicable laws by the University authority that has been assigned overall management responsibility for the information.</p> </div> </div> </div> </div><!--/main--> </div> </div><!--/page--> </div> <div class="footer-container"> <footer role="contentinfo" class="row"> <div class="footer-top"> <nav class="block block-menu co-menu-footer " role="navigation"> <h2 class="title">Resources</h2> <ul class="menu"><li><a href="/calendars-schedules">Calendars & Schedules</a></li> <li><a href="https://ucsf.box.com/s/og7ln4wcj0y07fn0oh1hmmxzms7hndm0" target="_blank">CONET (for Controller's Office Staff)</a></li> <li><a href="/user">Log In</a></li> <li><a href="/services/controllers-office-solution-center">Controller's Office Solution Center</a></li> <li><a href="/careers" target="_blank">Employment</a></li> <li><a href="/service-partnership-agreement">Service Partnership Agreement</a></li> <li><a href="https://brm.ucsf.edu/stip" target="_blank">STIP (Budget & Resource Management)</a></li> <li class="active-trail"><a href="/software-system" class="active-trail active">UCSF Financial Systems</a></li> <li><a href="/reference/general-accounting/tax-information">UCSF Tax Information</a></li> <li><a href="/cdn-cgi/l/email-protection#44272b2a30362b28282136332126342b373004312737226a212031">Webmaster</a></li> </ul> </nav> <nav class="block block-menu co-menu-footer " role="navigation"> <h2 class="title">Service Units</h2> <ul class="menu"><li><a href="/service-units/accounting-reporting">Accounting & Reporting</a></li> <li><a href="/services/accounts-receivable-banking-services">Accounts Receivable & Banking Services</a></li> <li><a href="/services/administrative-services">Administrative Services</a></li> <li><a href="/service-units/capital-equipment-accounting">Capital Equipment & Accounting</a></li> <li><a href="/services/contracts-grants-accounting">Contracts & Grants Accounting</a></li> <li><a href="/services/gift-foundation-accounting">Gifts & Foundation Accounting</a></li> <li><a href="/service-units/payroll">Payroll</a></li> <li><a href="/services/student-accounting">Student Accounting</a></li> </ul> </nav> </div> <div class="footer"> <div class="block block-block footer-copyright " id="block-block-86"> <div id="copyright">漏 2023 The Regents of the University of California</div> <nav id="ucsf-footer-nav"> <ul id="footer-nav-list"> <li><a href="https://websites.ucsf.edu/digital-accessibility">Accessibility</a></li> <li><a href="https://www.ucsf.edu/website-privacy-policy">Privacy Policy</a></li> <li><a href="https://websites.ucsf.edu/website-terms-use">Terms of Use</a></li> <li><a href="https://websites.ucsf.edu/azlist">A-Z Website List</a></li> </ul> </nav> <style type="text/css">#footer-nav-list{ display:flex; display:-ms-flexbox; list-style-type:none } #footer-nav-list > li a{ color:#fff; } #footer-nav-list > li{ list-style-type:none; margin-right:2em } #ucsf-footer-nav{float:right;} #copyright{ float:left; } .footer-copyright{ margin-left: auto; margin-right: auto; width:80%; } </style> </div> </div> </footer> </div> <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script src="//code.jquery.com/jquery-1.12.4.min.js"></script> <script>window.jQuery || document.write("<script src='/sites/all/modules/contrib/jquery_update/replace/jquery/1.12/jquery.min.js'>\x3C/script>")</script> <script src="https://controller.ucsf.edu/sites/controller.ucsf.edu/files/js/js_GOikDsJOX04Aww72M-XK1hkq4qiL_1XgGsRdkL0XlDo.js"></script> <script src="//code.jquery.com/ui/1.10.2/jquery-ui.min.js"></script> <script>window.jQuery.ui || document.write("<script src='/sites/all/modules/contrib/jquery_update/replace/ui/ui/minified/jquery-ui.min.js'>\x3C/script>")</script> <script src="https://controller.ucsf.edu/sites/controller.ucsf.edu/files/js/js_onbE0n0cQY6KTDQtHO_E27UBymFC-RuqypZZ6Zxez-o.js"></script> <script>document.createElement( "picture" );</script> <script src="https://controller.ucsf.edu/sites/controller.ucsf.edu/files/js/js_EohiU36fpSOlT5dp4sHnqRpnkAEVbsQEO_Skty5aTKk.js"></script> <script src="https://controller.ucsf.edu/sites/controller.ucsf.edu/files/js/js_waP91NpgGpectm_6Y2XDEauLJ8WCSCBKmmA87unpp2E.js"></script> <script src="https://www.googletagmanager.com/gtag/js?id=UA-67606106-1"></script> <script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments)};gtag("js", new Date());gtag("set", "developer_id.dMDhkMT", true);gtag("config", "UA-67606106-1", {"groups":"default","anonymize_ip":true});</script> <script src="https://js.authorize.net/v1/Accept.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script> <script src="https://cdn.datatables.net/v/dt/dt-1.11.3/b-2.0.1/b-print-2.0.1/date-1.1.1/fh-3.2.0/kt-2.6.4/sp-1.4.0/datatables.min.js"></script> <script src="//cdn.datatables.net/plug-ins/1.11.3/sorting/datetime-moment.js"></script> <script src="https://controller.ucsf.edu/sites/controller.ucsf.edu/files/js/js_lF6CVb8dRY9zqxVJviMC7FiRSXzg0tzGbWPWuIPmrp4.js"></script> <script src="https://controller.ucsf.edu/sites/controller.ucsf.edu/files/js/js_POBrr8UBLh_X_YYwjyg7WA7teE0N_wYjsxdFS7l2H7I.js"></script> <script>jQuery.extend(Drupal.settings, {"basePath":"\/","pathPrefix":"","setHasJsCookie":0,"ajaxPageState":{"theme":"controller_starterkit","theme_token":"894ghUIeB3Mx2L3gSAdsLEEcg0Nj5NJRpVtWXa0HWcA","js":{"sites\/all\/modules\/contrib\/picture\/picturefill2\/picturefill.min.js":1,"sites\/all\/modules\/contrib\/picture\/picture.min.js":1,"sites\/controller.ucsf.edu\/files\/js_injector\/js_injector_91.js":1,"\/\/code.jquery.com\/jquery-1.12.4.min.js":1,"0":1,"misc\/jquery-extend-3.4.0.js":1,"misc\/jquery-html-prefilter-3.5.0-backport.js":1,"misc\/jquery.once.js":1,"misc\/drupal.js":1,"sites\/all\/modules\/contrib\/jquery_update\/js\/jquery_browser.js":1,"\/\/code.jquery.com\/ui\/1.10.2\/jquery-ui.min.js":1,"1":1,"misc\/form-single-submit.js":1,"2":1,"sites\/all\/modules\/contrib\/entityreference\/js\/entityreference.js":1,"sites\/controller.ucsf.edu\/modules\/contrib\/back_to_top\/js\/back_to_top.js":1,"sites\/all\/modules\/contrib\/google_analytics\/googleanalytics.js":1,"https:\/\/www.googletagmanager.com\/gtag\/js?id=UA-67606106-1":1,"3":1,"https:\/\/js.authorize.net\/v1\/Accept.js":1,"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/moment.js\/2.29.1\/moment.min.js":1,"https:\/\/cdn.datatables.net\/v\/dt\/dt-1.11.3\/b-2.0.1\/b-print-2.0.1\/date-1.1.1\/fh-3.2.0\/kt-2.6.4\/sp-1.4.0\/datatables.min.js":1,"\/\/cdn.datatables.net\/plug-ins\/1.11.3\/sorting\/datetime-moment.js":1,"sites\/all\/themes\/mothership\/mothership\/js\/contextual.js":1,"sites\/all\/themes\/ucsf_starterkit_base\/js\/jquery.qtip-1.0.0-rc3.min.js":1,"sites\/all\/themes\/ucsf_starterkit_base\/js\/jquery.sortElements.js":1,"sites\/all\/themes\/ucsf_starterkit_base\/js\/script.js":1,"sites\/all\/themes\/ucsf_starterkit_base\/js\/vendor\/modernizr-2.6.2-respond-1.1.0.min.js":1,"sites\/all\/themes\/ucsf_starterkit_base\/js\/anchorfix.js":1,"sites\/controller.ucsf.edu\/themes\/custom\/controller_starterkit\/js\/vue.prod.js":1,"sites\/controller.ucsf.edu\/themes\/custom\/controller_starterkit\/js\/axios.min.js":1,"sites\/controller.ucsf.edu\/themes\/custom\/controller_starterkit\/js\/co-ui.js":1},"css":{"sites\/all\/modules\/contrib\/calendar\/css\/calendar_multiday.css":1,"modules\/comment\/comment.css":1,"modules\/field\/theme\/field.css":1,"modules\/node\/node.css":1,"sites\/all\/modules\/contrib\/picture\/picture_wysiwyg.css":1,"modules\/search\/search.css":1,"sites\/all\/modules\/contrib\/siteimprove\/css\/siteimprove.css":1,"modules\/user\/user.css":1,"sites\/all\/modules\/contrib\/views\/css\/views.css":1,"sites\/controller.ucsf.edu\/modules\/contrib\/back_to_top\/css\/back_to_top.css":1,"sites\/all\/libraries\/flexslider\/flexslider.css":1,"modules\/system\/system.base.css":1,"modules\/system\/system.menus.css":1,"modules\/system\/system.messages.css":1,"modules\/system\/system.theme.css":1,"misc\/ui\/jquery.ui.core.css":1,"misc\/ui\/jquery.ui.theme.css":1,"sites\/all\/modules\/contrib\/ctools\/css\/ctools.css":1,"sites\/all\/modules\/contrib\/panels\/css\/panels.css":1,"sites\/controller.ucsf.edu\/libraries\/fontawesome\/css\/font-awesome.css":1,"\/\/maxcdn.bootstrapcdn.com\/font-awesome\/4.3.0\/css\/font-awesome.min.css":1,"https:\/\/cdn.datatables.net\/v\/dt\/dt-1.11.3\/b-2.0.1\/b-print-2.0.1\/date-1.1.1\/fh-3.2.0\/kt-2.6.4\/sp-1.4.0\/datatables.min.css":1,"sites\/all\/themes\/mothership\/mothership\/css\/reset.css":1,"sites\/all\/themes\/mothership\/mothership\/css\/reset-html5.css":1,"sites\/all\/themes\/mothership\/mothership\/css\/mothership-default.css":1,"sites\/all\/modules\/custom\/ucsf_webedit\/ucsf_webedit.css":1,"sites\/all\/modules\/custom\/ucsf_images\/ucsf-images-universal.css":1,"sites\/all\/themes\/mothership\/mothership\/css\/mothership.css":1,"sites\/all\/modules\/custom\/ucsf_starterkit_images\/ucsf-starterkit-images-responsive.css":1,"sites\/all\/themes\/ucsf_starterkit_base\/css\/screen.css":1,"sites\/all\/themes\/ucsf_starterkit_base\/css\/print.css":1,"sites\/all\/themes\/ucsf_starterkit_base\/css\/colors\/navy.css":1,"public:\/\/css_injector\/css_injector_1.css":1,"public:\/\/css_injector\/css_injector_31.css":1,"public:\/\/css_injector\/css_injector_36.css":1,"public:\/\/css_injector\/css_injector_51.css":1,"public:\/\/css_injector\/css_injector_146.css":1}},"better_exposed_filters":{"views":{"co_software_system":{"displays":{"page":{"filters":[]}}}}},"back_to_top":{"back_to_top_button_trigger":"800","back_to_top_button_text":"Back to top","#attached":{"library":[["system","ui"]]}},"googleanalytics":{"account":["UA-67606106-1"],"trackOutbound":1,"trackMailto":1,"trackDownload":1,"trackDownloadExtensions":"7z|aac|arc|arj|asf|asx|avi|bin|csv|doc(x|m)?|dot(x|m)?|exe|flv|gif|gz|gzip|hqx|jar|jpe?g|js|mp(2|3|4|e?g)|mov(ie)?|msi|msp|pdf|phps|png|ppt(x|m)?|pot(x|m)?|pps(x|m)?|ppam|sld(x|m)?|thmx|qtm?|ra(m|r)?|sea|sit|tar|tgz|torrent|txt|wav|wma|wmv|wpd|xls(x|m|b)?|xlt(x|m)|xlam|xml|z|zip"},"pathToTheme":{"pathToTheme":"https:\/\/controller.ucsf.edu\/sites\/controller.ucsf.edu\/themes\/custom\/controller_starterkit"},"urlIsAjaxTrusted":{"\/software-system":true}});</script> <script src="https://controller.ucsf.edu/sites/controller.ucsf.edu/files/js/js_7Ukqb3ierdBEL0eowfOKzTkNu-Le97OPm-UqTS5NENU.js"></script> <script src="https://controller.ucsf.edu/sites/controller.ucsf.edu/files/js/js_mtM0zs5IrZXP301B1FLiisfRMT14TdnfKo6W2AEceoM.js"></script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"3132ed34d6","applicationID":"1352582619","transactionName":"YFRUNUpZDUdUUEddV1kedwJMUQxaGkVaUU9EbkYAX10=","queueTime":15,"applicationTime":569,"atts":"TBNXQwJDHkk=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html>