Hi Harshdeep,

The error invalid of is like a Java NullPointerException  or NullReferenceException of .Net.

Check if intFaceDao or InterfaceDaoa are valid objects. Put these macros in you code e execute a test.

 $$$LOGINFO("Check intFaceDado " _ ..Adapter.intFaceDao)
 $$$LOGINFO("Check DaoInterfaceDado" _ ..Adapter.intFace.DaoInterfaceDao)

After execution, see in the Envent Log the result.

Regards

Hi Michel,

Yes, your SELECT statement returns the ID of he class. The ID of the %Dictionary.IndexDefinition class is compounded by parent||Name. The property parent is a reference to the class definition that contains the index.

See:

See the documentation for more information: 

https://docs.intersystems.com/irislatest/csp/documatic/%25CSP.Documatic....

HI @phillip jack,

Like @Eduard Lebedyuk told, the better way is using stored procedures written in COS, but if you want to use only SQL you can try this:

SELECT ID, $LISTGET($LISTGET($LISTGET(Skill)),1) PSKILL, $LISTGET($LISTGET($LISTGET(Skill)),2) OSKILL FROM myclass.DataBase
 

If you change the serial object and add more properties increment the outer $LISTGET last parameter

Regards,

Cristiano José da Silva.

HI Bukhtiar,

Iris has built in validation against a schema see: HL7 Schemas and Available Tools

But, is simple to iterate over all segments of a HL7 message  or any Virtual Document like this example:

#Dim hl7Msg   As EnsLib.HL7.Message = ##Class(EnsLib.HL7.Message).%OpenId(<changByAId>)
#Dim segIndex As %Integer           = 0
For segIndex = 1 : 1 : hl7Msg.SegCount
{
    #Dim segment As EnsLib.HL7.Segment = hl7Msg.getSegmentByIndex(segIndex)
    //
    Write segment.Name, !
}

For more details se then documentation:

EnsLib.HL7.Message

EnsLib.HL7.Segment

Yes.

 /// <p>
/// <b>2020-04-23 - Cristiano José da Silva</b><br/>
/// Conjunto de fuincões a serem utilizadas pelas regras , tranformações e process
/// <p>
Class HC.distribuicao.utils.FunctionSet Extends Ens.Rule.FunctionSet
{ 

ClassMethod HL7AtribuirValor(valor As %String, caminhoPropriedade As %String, mensagem As EnsLib.HL7.Message) As %Boolean [ Final ]
{
    If ('mensagem.IsMutable)
    {
        Throw ##Class(%Exception.General).%New("ObjetoImutavel", 5001, $$$CurrentClass _ "." _ $$$CurrentMethod, "Impossível atribuir valor a mensagem imutável.")
    }
    Do mensagem.SetValueAt(valor, caminhoPropriedade, "set", "")
    //
    Return 1
}
 
}