Hi Rochdi,

The HTTP error 500 indicates that something happened in the server that's cause a error.

I suggest you to do a test using postman or similar REST tool. If the works fine, maybe you can posted the JSON with some problem.

Another suggest, change your code :

 While ('File.AtEnd{
    Line=Line_File.Read(1000)_$char(10)
  }
  do Httprequest.EntityBody.Write(Line)

By:
  do Httprequest.EntityBody.CopyFrom(File)

Regards.

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

Hi Jeff,

You need to traverse the array using the foreach action. The key of you array wil be the key of the OBXgrp. for the others group I'll assume that are fix with the key "1". Bellow a simple example. 

 <transform sourceClass='br.cjs.test.ArrayMessage' targetClass='EnsLib.HL7.Message' targetDocType='2.3.1:ORU_R01' create='new' language='objectscript' >
<foreach property='source.ArrayData()' key='k1' >
<assign value='source.ArrayData.(k1)' property='target.{PIDgrpgrp(1).ORCgrp(1).OBXgrp(k1).OBX:SetIDOBX}' action='set' />
</foreach>
</transform>
}