{value1,value2, value3} - is incorrect in JSON

In JSON we have objects and arrays, every element in an object has name and value, while an array is a just list of values.

So, object in this format.

{
  "name": "value",
  "name2": "value2"
}

And array 

[ "value1", "value2" ]

And anyway not sure what you want to do.

Look at this article in the documentation about working with JSON in Caché.

set arr = ["value1", "value2", "value3"]
set iter = arr.%GetIterator()
write !,"<switch> my value"
while iter.%GetNext(.key, .value) {
  w !,"<case>",value,"</case>"
}
w !,"</switch>"

You can retrieve list of certificates in a way like this

ClassMethod SSLConfigs() As %String
{
  new $namespace
  set $namespace = "%SYS"
  
  set rs=##class(Security.SSLConfigs).ListNamesFunc()
  set result = ""
  while rs.%Next() {
    set result = result_$lb(rs.Name)
  }
  quit result
}

And result will be in $lb

USER>w $lts(##class(User.Test).SSLConfigs())
Amazon,Google,ISC.FeatureTracker.SSL.Config

This error may be thrown by some different reasons while you call %Save for an object.

In my case at this place "%Save+5" I have a call to method %BuildObjectGraph, which is internal in %RegisteredObject class. Described as "Build the list of reachable objects and their dependencies".  This method calls recursively, so, maybe some troubles with dependencies.

Not, we don't have $listprevious. And I can say why.

$listbuild format quite simple where each element of $listbuild is solid. It has header and data, where in the header we have the length of data. So, to get next element, we just have to read header and ptr used to set position where header begins. 

But when you want to read the previous element, you can't know how long this previous value, and you can't find this right place, you still have to read from the beginning.

So, only one way to do it:

for i=$listlength(myList):-1:1 

Sure, not.

When you read particular patient, your URL is something like (where 1234 is ID of this patient):

/fhir/Patient/1234

But to create new patient, you should use

/fhir/Patient

and method POST 

Full URL, with ID, need when you want to update particular patient, and use method PUT.

This is how it should be by standard FHIR.  But I have not worked with FHIR in HealtShare, and maybe there is some differences.