$system.UpgradeAll("",.ERRLOG may give you a hint on problems.

Studio sticks with dictionary version. If there is a mismatch Studio refuses. And Mgmt Portal only shows Class documentation.

I'm not so familiar with Healthshare: Is there eventually some Read/Only DB involved that blocks Update ?
I think of class... EXTENDS (read/only class), ENSLIB ???

In addition to Nigel's answer.:

A central list of all routines doesn't seem to exist.

But: Search the Documentation for CHUI and you will be surprised.
(CHUI stands for CHaracter based Utility Interface) 
Special findings: 

you use %session.AppTimeout which has a default of 900 (sec).

but SetCookie asks for a Time !
method SetCookie(name As %String, value As %String, expires As %String = "", path As %String = "", domain As %String = "", secure As %Boolean = 0, httpOnlyFlag As %Boolean = 0) 

I see from https://stackoverflow.com/questions/13154552/javascript-set-cookie-with-expire-time
what string this might be.

'Mon, 18 Nov 2019 08:50:17 GMT';

My assumption - your 900 was just not recognized and the default (=session) was set
 

just a guess:

with 850 chars length, this looks somewhat oversized.

and the query itself doesn't make much sense:

?query=.*Cache.*
&documents=*.cls,*.java,*.png,*.confluence,*.html,*.mediawiki,*.tracwiki,*.mdtext,*.shtml,*.doc,*.workingsets,*.chromium,*.patch,*.adoc,*.js,*.emof,*.macrodef,*.markdown,*.bmp,*.htpl,*.diff,*.xml,*.bas,*.xmi,*.ico,*.shtm,*.textile,*.twiki,*.ent,*.ecore,*.wsdl,*.ant,*.svg,*.md,*.prefs,*.jpeg,*.json,*.txt,*.int,*.rtn,*.xhtml,*.server,*.csr,*.mod,*.css,*.csp,*.class,*.xsd,*.docx,*.gif,*.log,*.exsd,*.xsl,*.xslt,*.e4xmi,*.mac,*.setup,*.mvb,*.ad,*.asciidoc,*.wml,*.dtd,*.mvi,*.htm,*.jpg,*.inc,*.properties
&max=2147483647
&sys=1
&gen=0
 

I doubt that you have all those file extensions available in Caché  or IRIS

Reduce it to the few useful ones that you konw from Studio:

*.prj,*.mac,*.int,*.mvi,*.inc,*.bas,*.cls,*.csp,*.csr,*.xml,.*js.*.css,*.xsl.*.xsd,*.mvb,*.dfi
 

by default IRISLIB is always read-only mounted as it holds most of system methods, utilities, compiles, ...
all code that just executes but not changes during runtime  and that you should not try to change

differently, IRISSYS holds all dynamic system data that can change during runtime and therefore requires read-write access
As configurations, namespace tables, .....

Though with system management privileges you may change this.
But I'd recommend not to touch it unless you are an in-depth IRIS expert.