#Code Snippet

6 Followers · 303 Posts

Code snippet is a programming term for a small region of re-usable source code, machine code, or text.

Question Michael Akselrod · Nov 3, 2025

Only method/routine executed as "do Method..." is included into $ESTACK.
How can I modify a method or routine that returns a value so it can be included in $ESTACK?
Example upon executing via Studio Debug ($ESTACK is converted to string with ">" delimiter):
    Expected: stackstr = %Debugger.System.DebugStub > LogGenerate > Entry > DirChain > Attributes >  LogNew > LogSize >  LogFormat > LogWrite
        Processes DirChain, LogNew, LogSize, LogFormat are executed as "If Method..."
        Process Attributes is executed as "set a = Attributes..."
    Current: stackstr =  %Debugger.

1
0 82
Question Yone Moreno Jiménez · Jun 23, 2025

Hello, good morning, thank you so much for reading this question. ☺️🙂👍

We are developing a code to get information about our Production's items: services, processes and operations.

We know we can get various configurations of a given item: Category, Port, Enabled...

But we wonder how we could get the date time of the last mesage (most recent) received in an item.

To give a code snippet a small section of the code we have developed (and tested), it looks like:

[...]

For i=1:1:tProduction.Items.Count() {
    #dim item as Ens.Config.Item
    set item = tProduction.
2
0 136
Question Yone Moreno Jiménez · Jun 23, 2025

Good morning,

We would need help, thanks in advance for your help. 🙂

We have been trying to debug the following error, when sending a DICOM from a "EnsLib.DICOM.Operation.TCP" to a PACs:

  ERROR <EnsDICOM>NoCompatibleTransferSyntaxFound: No negotiated transfer syntax for SOP class '1.2.840.10008.5.1.4.1.1.4' is compatible with document transfer syntax '1.2.840.10008.1.2.4.70'

We use the following AET titles at the Operation:

LocalAET: ESBSSCC-DCM

RemoteAET: HUNSCESBGWT

We have observed that we do have the transfer syntax "1.2.840.10008.5.1.4.1.1.4" with the document syntax "1.2.840.10008.1.2.4.

10
0 172
Question Yone Moreno · Oct 18, 2024

Hello,

First of all: thanks for your help, and thank you for your time.

Thanks for your time.

We have the following situation:

We are in a BPL, and we have defined 4 <call> asynchronous as follows:

First one name: "Enviar a Proceso NEGRIN"

The second one, named as: "Enviar a Proceso HUNSC"

The third one, titled: "Enviar a Proceso CHUIMI 02"

And the fourth and last one names as: "Enviar a Proceso Fuertev"

Inmediately after the 4 calls, we have a <sync> instruction which should wait for all of them to finish.

9
0 254
Question Yone Moreno · Jul 4, 2024

Hello,

First of all thanks for your time reading this question, and thank you for your help.

🎯 We would need to create an Ensemble HealthShare Operation to read files from a FTP / SFTP server.

We have coded:

Class Operaciones.FTP.ConsultaPDFv01r001 Extends Ens.BusinessOperation [ ProcedureBlock ]
{

Parameter ADAPTER = "EnsLib.FTP.InboundAdapter";

Method ConsultarDocumentoPDF(pRequest As Mensajes.Request.ConsultaPDFRequestv01r00, Output pResponse As Mensajes.Response.RecuperarDocumentoPDFv01r00) As %Library.Status
{
	set ftp = ##class(%Net.FtpSession).%New()
	
	set isConnected =  ftp.
5
0 251
Question Yone Moreno · Jun 25, 2024

Hello,

Thanks for reading this question.

We need to remove the line feeds and carriage returns from start and end, but not from the middle of a string

We have tested the following ways:

set output = $ZStrip("[line feed](carriage return) str [line feed](carriage return) ing [line feed](carriage return)","<>C")

But it removes also control characters which we need to preserve.

7
0 566
Question Yone Moreno · Nov 22, 2023

Hello,

First of all thanks for your help.

We have the following scenario: some responses include special characters as ">" and "<" which are being put inside a property defined as:

Property PACPROBLEMAS As %String(MAXLEN = "", XMLNAME = "PAC_PROBLEMAS");

So then, when we observe the LOG SOAP it shows that the Target System replies to the ESB as follows:

➡️ <PAC_PROBLEMAS>46807#278.

5
0 984
Question Wesley West · Nov 15, 2023

I am trying to execute a program from within cache using a $zf call

S X=$ZF(-1,"C:\""Program Files (x86)""\Car-Part\Messaging\iCPM.exe")

For the sake of this post I changed it to open notepad

S X=$ZF(-1,"C:\Windows\notepad.exe")

If I call it directly from terminal notepad opens and all is happy.  

If I add it to a program we use to run certain tasks once an hour or even every 10 minutes it will fire off notepad but it will be in the background.

The messaging application we use will not work at all in the background and needs to be in the foreground.

2
1 357
Question Yone Moreno · Nov 7, 2023

First of all, thanks for your time, and thank you; for reading, and answering this question.

We have been creating inside an HTTP Operation, a way to generate a JWT as follows:

	set header = "{""alg"":""HS256""}"
	$$$LOGINFO("header: "_header)
	set payload = "{""username"":"""_user_""", ""requestID"":"""_pRequest.idPeticion_"""}"
	$$$LOGINFO("payload: "_payload)
	set key = ##class(Util.TablasMaestras).getValorMaestra("PDF_LABORATORIO","secretKey_JWT")
	$$$LOGINFO("key: "_key)
	set base64header = $systemEncryption.
8
1 409
Question Yone Moreno · Nov 6, 2023

Good morning,

First of all we would like to thank you for your time reading, thinking and aswering this question.

We have been developing a Transformation to convert a source ORU_R01 to a target ORU_R01. For each OBX segment we need to check an if, and then, if it is true we just need to put this OBX and continue to the next iteration, otherwise, if it is false, we need to put (copy) the ORC + OBR + TQ1 before this OBX, and then put this OBX, and after that, the SPM.

We have been creating and testing two variants.

4
0 378
Question Yone Moreno · Oct 23, 2023

Hello,
First of all thanks for your help.

We have developed a REST Operation. We wonder how could we face that String do have a character limit.

We just need to convert httpRequest.HttpResponse , which is a stream , because $isobject(response.Data) returns 1; which has a JSON inside it, and we need to convert it to a Ens.Response.

This response is structured as same as the JSON's properties: 

   Class Mensajes.Response.Radiologia.CConcertados.BusquedaOrdenesNEGRINResponse Extends Ens.Response
    {

    Property data As list Of EsquemasDatos.CConcertadostoPACS.Radiologia.
3
0 729
Question Yone Moreno · Oct 17, 2023

Hello,

First of all, thanks for your help, and time, reading this questions, and answering to this doubt.

We have the following use case: to convert a HL7 ER7 ORU_R01 v2.5 message, to a Ens.Request Message which represent it with a custom data structure (each segment is a group of Properties).

To be more precise, the target Ens.Request Message's structure looks like:

Class Mensajes.Request.ConsentimientoInformado.HUC.ORUHL725OutRequest Extends Ens.Request [ ProcedureBlock ]
{

Parameter RESPONSECLASSNAME = "Mensajes.Response.ConsentimientoInformado.HUC.
5
0 663
Question Yone Moreno · Oct 11, 2023

Hello,

First of all; thanks for your time reading this post, and thanks for your answers and help. I am really grateful.

We have the following need: Send a DICOM Find Document to get the complete list of a patient's studies from an Outbound System, which we simulate with the tool called "dcm4che" specifically with these two commands:

1º.Initialize a DICOM database in simulator. We will use this database to run queries using DICOM C-FIND commands:

/dcmdir -c ./shared/DICOMDIR --fs-id SAMPLEDICOMS --fs-desc ./shared/dicom/descriptor .

14
0 458
Question Yone Moreno · May 24, 2023

Hello,

We currently have the following scenario: We have a bussiness SOAP Operation, where we get a SAML String and we convert it into a %SAML.Assertion object correctly.

👩‍💻👨‍💻 We would need to send the SAML Assertion inside the SOAP Header to the Target System.

First of all thanks for reading, and thanks for answering.

We currently have opened Log Soap and we do not observe it being added to the SOAP Header, as you would observe in the following Log Soap:

05/24/2023 08:53:37 *********************
Output from Web client with SOAP action = urn:ihe:iti:2007:CrossGatewayQuery
<?xml version="1.
1
0 301
Question Yone Moreno · May 22, 2023

Good afternoon,

first thank you from heart and mind, mind and heart; for reading, thinking, reflecting, responding, and above all explaining a possible solution and/or documentation to address this doubt.

We would need a way to get inside a SOAP Web Service the SAML Assertion, and then, send it directly to the endpoint throught a SOAP Operation.

Currently we have researched and developed how to get the SAML Assertion with the following code:

Class Servicios.RESNS.ConsultaRecetas Extends EnsLib.SOAP.
1
0 455
Question Yone Moreno · May 12, 2023

Good morning,

I was wondering:

Given the following scenario where we have a string where each two items are being splitted by "|" as follows: "squadName|initialLetter"

"Alfa|A|Bravo|B|Charlie|C|Delta|D|Echo|E|Foxtrot|F|Golf|G|Hotel|H|India|I|Juliett|J|Kilo|K|Lima|L|Mike|M|November|N|Oscar|O|Papa|P|Quebec|Q|Romeo|R|Sierra|S|Tango|T|Uniform|U|Victor|V|Whiskey|W|X-ray|X|Yankee|Y|Zulu|Z"

And we would need to generate a String structure like:
 

[
    {
        "number": "number 1",
        "squad": "Alfa",
        "answer": [
            {
                "initialLetter": "A"
            }
        ]
    },

[.
4
0 408
Question Yone Moreno · Dec 1, 2022

Hello, first of all thanks for your time and help.

We do send from a REST POST request using SoapUI software, an "Authorization Bearer".

POST http://[IP]:[Port]/aplicaciones/scs/informescctest/Servicios.SOAP.InformesCConcertadosv01r00.cls HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/xml
Authorization: Bearer eyJ0e[...]
SOAPAction: http://SCS.Servicios/InformesCConcertadosv01r00/ResultadosER7
Content-Length: 1871
Host: AAA
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)

1
0 403
Question Yone Moreno · Mar 28, 2022

Hello,

First of all thanks for your help

How would you recommend us to filter in the message viewer to find inside a property called "mensaje" of type " %XML.GlobalCharacterStream" which is inside a class called " Mensajes.Request.Laboratorio.peticionER7Request", the text "24642"?

We have tried:

It shows:

ERROR #5540: SQLCODE: Message -37: Unary function %EXTERNAL does not support sequence fields.

ORIGIN ELEMENT: %ZEN.Component.tablePane (resultsTable)

In addition we have tried to output the %XML.

2
0 694
Question Yone Moreno · Mar 28, 2022

Good morning,

We would appreciate your support:

Developing an integration to perform a "Query / Retrieve" circuit with DICOM medical imaging studies, we would need the following:

Options of invocation of the DICOM TCP service that has been published for this integration, alternatives to the command line option.

Specifically we have read: Receive DICOM document with an embedded PDF and metadata.

Adapting the example, we use the line:

./storescu -b VNAPRE -c ESBPRE@10.136.4.XYZ:19ABC ./embeddedpdf.dcm

By which we simulate the sending of a DICOM document with a PDF.

3
0 364
Question Joe Jung · Jan 26, 2022

Currently running Ensemble on Red Hat Enterprise Linux Server release 7.7

One of our clients is requesting files sent to their SFTP site be encrypted with their PGP public key and digitally signed with our PGP private key

We have created a custom class that includes the following command to encrypt the files

if (pAction = "Encrypt") {
// Find the Key ID from the Keyname
set tKeyId = ..GPGKeyLookup(pKeyName, ..#PUBLICKEYLUT)
set tCmdLine = "gpg --homedir "_pGPGhomedir_" --always-trust -r """_tKeyId_""" -o "_pOutFileName_" -e "_pInFileName
}
// Execute the command to generate the output file

2
0 644
Question Yone Moreno · Oct 27, 2021

First of all thanks for your help and time

We would need to find inside PID:3 which one meets the following condition:

PID 3.4.1 = "CAC" and PID 3.5 = "JHN"

We have been investigating how could we do it

We have achieved to get single fields in a call request as follows:

request.GetValueAt("ORCgrp(1).ORC:OrderingProvider(1).IDNumber")

##class(Ens.Util.Time).ConvertDateTime(request.GetValueAt("PID:DateTimeofBirth"),"%Y%m%d","%Y-%m-%d")

However, how would you recommend us to look for a specific field in PID meets a specific criteria?

How would you find inside PID if there are PID 3.4.

2
0 604
Question Yone Moreno · Sep 24, 2021

Hello,

first of all thanks for your time reading this question, and thanks for your time:

We are expected to send a file as an attachment in a SOAP request using MTOM protocol.

It is expected to include a "name" parameter inside the "Content-Type" header, as we show below:

Currently, we have developed a SOAP Operation which sends the files using MTOM protocol, however it is not including the parameter "name" inside "Content-Type" header, as you would observe:

How could we adapt it to send the parameter "name"?

Could you provide us some example or documentation?

We have read:

https://docs.

4
0 808
Question David.Satorres6134 · Sep 21, 2021

Hello,

I'm experiencing a recurrent problem that I haven't found the way to solve, so I'm coming here with the hope somebody can give me a new approach.

To make it short: we are creating categories on-demand to be able to place the maximum numbers of workers in memory, avoiding the limits established by system categories. But from time to time, one of this creation fails and system is no able to start the queue. The error we are getting is:

ERREUR #7823: Invalid work queue manager category supplied 'User.65733'.1<INVALID OREF> 

The code is very simple:

s ^%SYS("WQM","MaxActiveWorkers","User.
1
0 328
Question Sehinde Raji · Aug 21, 2021

Hey everyone as you may know I am a beginner and I am kindly asking for some assistance in a problem I have been solving. The problem is that I am calling a user defined function within a procedure called occupiedseatsAdj and the compiler comes up with this error. 



<NOLINE> There has been an attempt to refer to a nonexistent routine line.

From what I understand I can call a user defined function from within a procedure (correct me if I am wrong) as shown below. Is this the correct way or should I create a .Mac file and include it somewhere within the above mentioned cls file ?

2
0 291
Question Jordan Simpson · Aug 19, 2021

Hello,

When using GetFieldStreamRaw(), by passing in a variable instead of using an output for the Remainder, will this affect how it is stored into a segment in a cloned message? I know it would usually output the remaining fields of the segment but in order to conform to a supplier's spec, they'd require "^^PDF" rather than the rest of the segment. Because the segment becomes immutable, the code below seems to be the way to do it.

1
0 922
Question Yone Moreno · Aug 5, 2021

Hello, first of all thanks for your time reading our question 💭

We would need to be able to transform a hexadecimal string to a base64 coded one. 🔄

To be specific, our use case is this:

1º We have our hexadecimal as follows:

4C5803040101020179C3913EC3BA7C4C580708010101021824584D4C

2º We convert it to ASCII:

LXyÑ>ú|LX$XML

using this online tool:

https://www.binaryhexconverter.com/hex-to-ascii-text-converter

3º Then we should be able to translate the ASCII to base64:

TFgDBAEBAgF5wyYjMTQ1Oz7DunxMWAcIAQEBAhgkWE1M

We are being helped by this useful web:

https://www.motobit.com/util/base64-decoder-encoder.

5
0 1898
Question Yone Moreno · Aug 4, 2021

Hello, first of all thanks for your time reading this question ◀️

We would need to achieve the following task:

We have a Ens.Response message with this structure:

<?xml version="1.0" ?>
<!-- type: Mensajes.Response.Justicia.PLATINO.EnviarIniciadoresGeneralResponse  id: 10986665 -->
<EnviarIniciadoresGeneralResponse>
    <EnviarIniciadoresGeneralOut>
        <![CDATA[<?xml version="1.0" encoding="ISO-8859-1"?>
<mensajeWS xmlns="https://wslexnet.webservices.lexnet/3.22"><respuestaEnvioMensaje xmlns=""><idEnvio>1947625809</idEnvio><tamBloque>524288</tamBloque><bytesMIME>TFgDBA.

2
0 1435