Dmitry Maslennikov · Sep 28, 2017 go to post

{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>"
Dmitry Maslennikov · Sep 27, 2017 go to post

Abstract class can have Storage definition, which will be the same for properties defined in abstract class for all children.

Class marked with NoExtent flag does not have own storage definition and all children should have complete storage definition. And data in all those children will be stored separately.

Dmitry Maslennikov · Sep 26, 2017 go to post

Could you add you pwershell script?

And if you have some custom script on Caché side, it would be better to look at it as well?

Dmitry Maslennikov · Sep 25, 2017 go to post

Looks like, pictures are available. But they have multiple pictures for different devices. And choosing this correct picture not working properly.

Dmitry Maslennikov · Sep 22, 2017 go to post

Yeah, it is very interesting. I tried to login with my another account. And I can see the same as show you. But with this account, I see only one editor. So, sure, it should be changed.

Dmitry Maslennikov · Sep 22, 2017 go to post

When I open question, I see answer edition form. When I open simple post, I see editing comment form.

So, 3 and 5 looks like we already have.

Dmitry Maslennikov · Sep 21, 2017 go to post

Have you looked at CacheQuality, and demo available online?

Currently, it is mostly working with classes, parsing for routines added in the latest release. But I'm looking to add better support for routines as well.

Dmitry Maslennikov · Sep 18, 2017 go to post

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
Dmitry Maslennikov · Sep 18, 2017 go to post

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.

Dmitry Maslennikov · Sep 13, 2017 go to post

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 
Dmitry Maslennikov · Sep 13, 2017 go to post

Could you try to test it with latest version 2017.1 or FieldTest 2017.2?

I would also recommend trying to replace OpenSSL with the latest version in the bin folder. Not sure in this way, but may be it can help.

I don't know how FHIR endpoint looks like in HealthShare, but looks like it this is wrong

/csp/healthshare/fhiraccess/fhiraccess/

I gues it should be

/csp/healthshare/fhiraccess/

JSON, end else seems OK.

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.

I got the same error, with %SQLQuery and embedded SQL (&sql), and in 2017.2 too.

Looks like some error, and you should say about it to the WRC.

  SQLCODE=-3 : Closing quote (') missing
 SELECT TOP 3 JSON_OBJECT('lit':'Employee from','t':%TABLENAME,'name':Name,'num':SSN) FROM Sample.Employee

While it works perfectly with %SQL.Statement, and through Management Portal

Or just from the documentation page, here.

The bold part is what is causing the error.

And where error?

And version just 2017, is not enough. Is it 2017.1 or 2017.2?

Look at the documentation

csession instname "[label[+offset]]^routine"

Specifies the name of a COS program to run in user mode.

In addition to the specified formats, you can pass parameter lists consisting of string and/or numeric literals, as well as omitted (void) parameters, as follows:

where, for example, parameter-list is specified in the form "string literal",,-+-000123.45600E+07, and omitted parameters are passed to the target as $Data(parameter)=0.

Whitespace and shell meta characters must be quoted in an operating-system dependent form.

So, you can just call your code in routine or class with csession.

If you need another way, you can create any text file, with a list of commands, like if you would use them in csession manually. Where the last command should be HALT. While it is a code for csession, you can't use any multi line blocks and spaces at the beginning of the line.  And run it:

csession CACHE -UUSER < somecode.txt

If you need authorization in csession before executing code, just put login and password as a plain text in first two rows.

Dmitry Maslennikov · Aug 29, 2017 go to post

Or, maybe it is already deprecated if it has appeared in 2010.1. I don't have this version, maybe some body who have can search in it.

Dmitry Maslennikov · Aug 28, 2017 go to post

You should read the article in documentation more carefully. You should use some labels, in your case you missed SYSTEM

In this case, it should work properly

%ZSTART
SYSTEM
    S ^TRACE="ZSTART"
    S Path="C:\VARATHA\TestCreate.txt"
    O Path:"WNS":2
    E  U 0 W "File Not Open",!
    U Path W "TEST",!
    C Path
    Q 
Dmitry Maslennikov · Aug 25, 2017 go to post

Looks like, you have configured some security settings. And you forgot to give permissions to the new class for user.