Hi @Dmitrii Baranov, for M2M flows, I don't think the openid scope has any meaning. Openid should only be granted to human end users authenticating and receiving ID tokens at the identity layer. 

The IRIS for Health FHIR Server does not require openid scopes for this reason and system access is based only on OAuth access tokens and SMART scopes (system/*.read, etc.). You might need to verify whether your 3rd-party server can support M2M since OIDC is defined on authorization code, implicit, and hybrid grant types.

Hi Yone,

Message viewer generates SQL queries when you perform a "Search". This means that the GetAt() methods you typically use for Lists won't function properly in the criteria menu.

However, if you simply want to retrieve lists containing "V08984", try using the 'Contains' operator:

 

This way you are treating the List property (IMOVIMIENTOS) as a String, and simply searching for your sub-string within it. If you are interested in learning about how to perform SQL queries against List or Array properties, see this documentation about their SQL projections.

If you are interested in finding the 1st, or 2nd etc element of a List, then you can try using the Match operator, see Matching documentation. There may be better ways of using these operators, but this is the simplest solution I can think of.

It's worth noting that the SQL projected fields of your class will look like this:

 

So pattern matching may be your best option for working with multiple list elements.

Hope that helps!

Hi Ashok, could you give some more context for what you want to achieve?

If you simply want an instance method that can do something to any property of a persistent class, you could do something like:

Class Package.Data Extends %Persistent
{
    
Property StringProp As %String;
Property IntegerProp As %Integer;

Method TestAnyProp(propName As %String) As %Boolean
{
    if $PROPERTY($THIS, propName) = "" quit 0
    quit 1
}
    
}

But if you specifically want the propSomething format of generated methods, Eduard's solution may be more appropriate.

Worth noting that property accessors like propGet() and propSet() can be overridden.