You need to make sure "found" is being updated when the recursive call exits. This can either be done by reference (passing in .found) or simply as a return value (set found instead of do). It is always going through the full loop and never exiting early because once the value is found, it is never passed back up as being found. This means that the loop just continues on. Here are two examples of these solutions

if $isObject(value) {
             do ..JSONIterator(value,newPath,.SearchKey,.SearchVal,.found)

if $isObject(value) {
             set found= ..JSONIterator(value,newPath,.SearchKey,.SearchVal,found)

Hi Reid,

There is no current way to change the Axis Scale in a standard DeepSee chart. However, if you are using a third party charting library you are able to implement this. I added this capability to my Third Party Chart Library project.

For example you can turn your chart from:


By just modifying one setting in the UI.

If you are using %INSTALLER, you can use GRANT to assign a role:


I have tested and confirmed that this does add the Application Role.

Based on the documentation, it seems like this may be expected since $GET is expecting a variable, not a value returned from a method call. The main purpose is to protect against undefined references which a method call should never return since an empty string is different than undefined. Since the documentation mentions it accepts multidimensional object properties, it seems like it is assuming this is what the passed in reference is.

Documentation on expected values here.

Hi Michel,

I am not exactly sure which type of stream you are using, but different types appear to override the Read methods.

For example:
%Stream.FileCharacter does not implement a Read method, but it extends %Stream.FileBinary. In %Stream.FileBinary, the Read method is defined as:

Method Read(ByRef len As %Integer = 32000, ByRef sc As %Status) As %RawString

You can use GetOneStatusText:

USER>w $system.Status.GetErrorText(x)
ERROR #5002: ObjectScript error: <UNDEFINED> *yy
USER>w $system.Status.GetOneStatusText(x)
ObjectScript error: <UNDEFINED> *yy

I typically leave it for some amount of time. I sometimes go through my repos and delete the stale forks.

Even though it does have the broken links back to the deleted repo, the PR merge will show the commit history in the new repo, which I think is the important part

System Management Portal -> System Administration -> Configuration -> National Language Settings -> Locale Definitions

Please note that your browser will often localize content based on your browser settings, so the Management Portal may not look different after doing this, but if you open terminal you should see your newly selected Locale and if you do things like compile classes in Studio, you should see your output messages in the new Locale also

Hi Scott,

The CSP folders will be located on your system where you have installed HealthShare. This means you can just move your images to this directory and then your apps should be able to reference them.

The documentation for the <image> tag has a few hints:

"If provided, src is the URI of an image to display. If src is the relative pathname of a file, it is understood to be relative to the Caché installation directory. Typically this path identifies the images subdirectory for your Zen application, for example:
<image id="myFrame" src="/csp/myApp/images/myPic.png" />"

Hi Mike,

As you have seen, Class files are stored within Caché and not on the file system. We have Studio hooks available as documented here. These allow you to write code to perform the export and import automatically as you interact with your classes in Studio. After files have been automatically exported, you will be able to run Git commands to commit and push your changes as desired.

Instead of doing all of this yourself, there does seem to be an Open Exchange app available that does something like this. I have not used this before, but @Alexander Koblov may be able to add more details of how complete it is