Pregunta Abel Magana · mayo 29, 2024

Tengo un sistema Scada iFIX que soporta VBA comunicando con IRIS mediante sockets. En el entorno VBA del iFIX empleo el control MSWINSCK.OCX que funciona perfectamente con la versión antigua del iFIX. Al querer pasar a la nueva versión de iFIX este control ya no me funciona, es por eso que quiero intentar solucionar el problema comunicando directamente con el OPC que está debajo del iFIX. La idea es mandarle un bit 1 desde IRIS cuando actualizo unos datos, el OPC debería recibirlo en un TAG y el iFIX podría leer del OPC ese bit.

2
0 150
Pregunta Yone Moreno · mayo 21, 2024

Buenos días, 🙂

Me gustaría plantear una duda, que tiene que ver cómo gestionar %GlobalCharacterStream que representan JSONS.

Gracias por leer esta cuestión, gracias por su ayuda, y gracias por su tiempo y atención.

En concreto, en un cierto Proceso, estábamos consultando a 2 Operaciones, cuya respuesta convertíamos a una Property llamada informesAutorizadosRangoFechas la cual es %GlobalCharacterStream cuyo contenido es un JSON con la misma estructura.

2
0 147
Pregunta caichar yo · mayo 10, 2024

Hola, por un Bussiness Services http, nos llega un mensaje xml, encapsulado en un streamContainer. ¿Cómo puedo envíar el mensaje xml, sin el encapsulamiento, como tal a un bussiness Process? ¿Tendría que definir previamente en una clase el tipo de mensaje xml?, es que en este caso sería muy engorroso ya que por ese punto BS pueden entrar diferentes tipos de Xml, ¿tengo que definir todos previamente para que coja el mensaje de esa clase, o hay alguna forma más rápida sin tener que definirlos uno a uno en ficheros .cls?

2
0 164
Pregunta Saul Perez · abr 24, 2024

Estoy intentando realizar una conexión a una base de datos de SQLServer, pero recibo este error:

ERROR <Ens>ErrOutConnectFailed: JDBC Connect failed for 'SQLEmails' (jdbc:sqlserver://;serverName=nombredelservidor.es;databaseName=DKVMAIL_PRE) / 'SQLSeverDKVMAIL_PRE' with error ERROR #5023: Remote Gateway Error: JDBC Gateway connection failed for jdbc:sqlserver://;serverName=nombredelservidor.es;databaseName=DKVMAIL_PRE error: Remote JDBC error: com.microsoft.sqlserver.jdbc.

2
0 152
Pregunta Kurro Lopez · abr 10, 2024

Hola comunidad,

Estoy llamando a una API que está devolviendo el contenido de un fichero como Content del response. Estoy capturando el binariu pero necesito convertir este Stream a uan cadena Base64.

Estoy intentando convertir un %Stream.GlobalBinary a Base64 usando el siguiente código, pero no funciona.

do stream1.Rewind()
set response = ""
while 'stream1.AtEnd {
    set temp=stream.Read(4000)
    set temp=$systemEncryption.
1
0 188
Pregunta Miguel Ángel Jiménez Santana · ene 29, 2024

Buenos días.

Queremos distribuir y proporcionar desarrollos, para Partners y Clientes, con los puedan configurar sus producciones creando Operaciones y Servicios de Negocio basados en Clases Base que ya hemos desarrollado y empaquetado, ellos luego podrán incluir sus propios mapeos, rutas y demás en sus producciones, pero sin poder acceder a la implementación de esas clases base que nosotros proporcionamos. Sería el equivalente a ofrecer una librería con objetos compilados en C y el archivo .H con sus interfaces, pero no el código.

12
1 381
Pregunta Laura Blázquez García · mar 1, 2024

Estoy utilizando RestForms2 para disponer de una API Rest sobre unas tablas de forma rápida.

El caso es que he añadido un trigger a las tablas para que, cada vez que se inserte/actualice/borre un registro, registre en una tabla de históricos los cambios, pudiendo ver el valor original y el nuevo de cada propiedad.

Pero el trigger solamente salta si la inserción se realiza mediante SQL. No salta creando un nuevo objeto.

Quería cambiar la definición del trigger, pero no se me ocurre cómo.

2
0 194
Pregunta Lluís Vilalta · feb 15, 2024

Buenos días estoy intentando modificar un método  Python que hace la impresión de un archivo PDF  (usa la libreria  Python.FPDF.Lib).

No encuentro mucha información al respecto y la que encuentro no me funciona como deseo, debo decir que es la primera vez que tengo que lidiar con Python y ando un poco perdido.

Alguien sabe como puedo hacer lo contrario de unbreakable() ?

with pLib.pdf.unbreakable() as doc

Esta instrucción hace que si un bloque no cabe en la parte disponible de la página actual, haga un salto de página y lo imprima en la página siguiente.

6
0 433
Pregunta Kurro Lopez · feb 12, 2024

Hola a todos,

Como sabéis, es muy complicado depurar una API Rest de Business Service porque el objeto se crea cuando las aplicaciones reciben una solicitud, por lo que no podemos tener el JobId que podemos usar para depurar.

https://docs.intersystems.com/iris20211/csp/docbook/DocBook.UI.Page.cls…

Entonces, estoy tratando de obtener el JobId cuando se crea la clase, escribir una traza en el método OnInit() y escribir el JobId en es traza.

Method OnInit() As %Status
{
	$$$LOGINFO("JobId: "_$JOB)
	hang 20 break
	Quit 
2
0 267
Pregunta Kurro Lopez · feb 8, 2024

Hola a todos,

Tenemos una clase response heredada de %JSON.Adaptor con las siguientes propiedades, también sus clases dependientes:



Kurro.app.Msg.Search.Response



Kurro.app.
2
0 235
Pregunta Kurro Lopez · feb 7, 2024

Hola comunidad,

Si, ya sé que hay otra pregunta con el mismo problema "VS Code - debugging doesn't work", pero mi instancia de IRIS no está usando IIS.

Hace tiempo, podía depurar sin problemas, pero después de algunas actualizaciones de Visual Studio, tengo el siguiente error

Failed to start the debug session. Check that the Intersystems server's web server supports WebSockets

He activado el protocolo WebSocket en el servidor (Windows Server 2019) pero sigue sin funcionar.

La instancia de IRIS no está usando IIS, creo que está usando el Apache por defecto.

¿Necesito hacer algo en especial?

2
0 181
Pregunta Kurro Lopez · ene 31, 2024

Hola comunidad.

Hemos desarrollado una nueva versión de una producción, todo el código es nuevo y ha cambiado BP. Esta aplicación carga información para algunas marcas y la almacena en la base de datos.

El cliente quiere implementar los cambios solo para algunas marcas porque quiere verificar las marcas pequeñas antes de implementarlos para todas las marcas.

Mi propuesta es crear un nuevo namespace, con el nuevo código, y deshabilitar todas las marcas excepto la marca que quiere probar.

Me pregunto cuál es la mejor manera de clonar el namespace.

6
0 232
Pregunta Jose-Tomas Salvador · oct 21, 2022

Buenos días, tardes, noches,... wink

Una pequeña reflexión/pregunta para hoy... es una realidad que las nuevas versiones de IRIS for Health son cada vez más potentes en cuanto a capacidades FHIR. Permiten consumir recursos FHIR con extrema facilidad, podemos crear conexiones con end-points de servidores FHIR externos muy facilmente y hacer que IRIS actúe de passthrough o que consuma esos recursos... o, más aún, podemos definir y poner en funcionamiento un repositorio FHIR, literalmente, en menos de 5 minutos.

Sin embargo, hay una cosa que echo en falta en proyectos de tipo FHIR Façade, cuando tenemos que implementar una capa FHIR sobre un sistema que "no habla" FHIR. Se trata de la posiblidad de tener ayuda en nuestro IDE (Studio o VS Code) a la hora de codificar la lógica que crearía el o los objetos dinámicos (%DynamicObject) que representan los recursos FHIR que queremos definir...

3
0 141
Pregunta Victor Quisbert · sep 13, 2023

Hola soy nuevo en HL7 y de momentos lo veo muy grande por sus versiones, sin embargo mi consulta es si es posible aplicar el HL7 a informacion de infraestructura de establecimientos de salud como personal, mobiliarios, cartera de servicios que ofrecen y otros.

Me pueden sugerir lectura para resolver mi duda.
De antemano Muchas gracias

7
0 153
Pregunta Xavier Gracia Aloy · sep 6, 2023

Buenos días, 

Desde IRIS necesitamos poder obtener un fichero DICOM de un PACS a través de su AN.

He revisado un par de post publicados en la comunidad, pero son muy genéricos y no acabo de ver claro como obtener el DICOM pasando su AN al PACS.

¿Alguien ha desarrollado este caso de uso en IRIS? Si es así, ¿me podría ayudar con el código a implementar?

Saludos.

Xavier Gràcia Aloy

1
0 146
Pregunta Lorenzo Scalese · jun 14, 2023

¡Hola!

Me gustaría encontrar programáticamente todas las clases que no están actualizadas en un namespace.

Con IRIS Studio, podemos ver el signo "+", pero no sé cómo hacerlo con un script.

Set sql = "SELECT ID, Name FROM %Dictionary.ClassDefinition WHERE NOT ID %STARTSWITH ?"
Set params($Increment(params)) = "%"
Set tResult = ##class(%SQL.Statement).%ExecDirect(, sql, params...)

If (tResult.%SQLCODE'=0)&&(tResult.%SQLCODE'=100) Set sc = $$$ERROR($$$SQLError, tResult.%SQLCODE, tResult.%Message) Quit sc

While tResult.%Next() {
    // if class not up to date ??
}

¿Alguien tiene alguna idea?

1
0 107
Pregunta Kurro Lopez · jun 1, 2023

Hola a todos,

Me pregunto si es posible llamar a un BO desde una enrutador HL7 de acuerdo con un parámetro del mensaje HL7

Quiero decir,

De acuerdo con la identidad del laboratorio, quiero llamar a otro proceso TCP para recuperar información sobre análisis de sangre.

Estamos creando el BO usando este patrón.

LAB.BO.TCP. + nombre del laboratorio.

El nombre del laboratorio se almacena en la tabla de consulta T_LABORATORIOS

Intenté asignar el nombre a una variable y ponerlo en la instrucción "send", pero no funciona.

1
0 156
Pregunta Albert Forcadell · mayo 5, 2023

hola, me es imposible hacer una consulta de forma correcta. he probado con clausulas LIMIT, OVER ... no válidas para Intersystems por lo visto. Tambien probe con HAVING , con TOP, ... incluso con  GPT y otras AI, pero nada.

lo siento, pero mi sql no da para mas.

TABLA Comp.AlbLin

COLUMNAS AlbLin.ID , AlbLin.Description , AlbLin.Price , AlbLin.Date

Estoy peleando por una query que me calcule la MEDIA del campo precio AlbLin.Price pero solo de los ultimos/mas recientes 3 registros de fecha

---

i am not able to launch a right instruction in sql , please. LIMIT .

8
0 103
Pregunta Yone Moreno · mayo 9, 2023

Buenos días,

Antes que nada agradecer el tiempo de ustedes al leer, reflexionar y sobre todo responder y aclarar las dudas.

Tenemos una cuestión:

¿Cuál es la forma recomendada de convertir un Objeto de Ensemble a JSON?,

en concreto, para ser más preciso:

¿cuál es la manera idónea de transformar un Mensaje Response con cualquier tipo de Property: %String, %List of String, otros objetos de Ensemble (EsquemasDatos); a un GlobalCharacterStream que represente al JSON? a retornar a Sistema Origen, desde el Servicio.

3
0 246
Pregunta Yone Moreno · abr 17, 2023

Buenas tardes,

Antes que nada, muchísimas gracias por leer esta duda, y sobre todo por dedicar tiempo en entenderla y en responderla. Gracias.

Por favor, necesitaríamos su ayuda. Actualmente estamos desarrollando una Integración REST, y se nos da un caso que nos gustaría comentar con ustedes, a fin de hallar pistas, documentación, ejemplos, o mecanismos para gestionarlo y depurarlo.

En la Operación REST recibimos:

[{"codigo":"5128","descripcion":"LAS ENFERMERAS FRENTE A LOS PROBLEMAS DE SALUD MENTAL","programa":"Probabilidad de contagio ante un accidente hemático.
2
0 128
Pregunta Kurro Lopez · abr 19, 2023

Hola a todos,

Me pregunto si existe algún comando o método para remplazar un texto usando parámetros.

En C#, uso la propiedad Format

var text = string.format("My name is {0} and I'm {1} years","Kurro","18")
// The value of text will be "My name is Kurro and I'm 18 years"

He intentado este código... pero solo funciona para los parámetros específicos.

set text = "My name is {0}, and I'm {1} years"
write $Replace($Replace(text,"{0}","Kurro"),"{1}",18)

¿Es posible hacer algo para más argumentos?, quiero decir, usarlo para un indeterminado número de argumentos

Saludos

1
0 99
Pregunta Yone Moreno · abr 18, 2023

Buenos días;

Primeramente, expresar gracias reales sinceras y profundas por el tiempo que dedican ustedes a leer, entender y responder esta duda. Sobre todo muchas gracias por responderla de la mejor manera posible. Gracias.

Tenemos una duda:

El Sistema Origen nos informa en el body que envía hacia el método del Servicio REST " getCursosAdmitidosInscripcionAbierta" de la siguiente manera:

{
    "agrupacionPuesto": ["37","38"]
}

Siendo el Mensaje Request:

Class Mensajes.Request.miFormacion.GetCursosAdmitidosInscripcionAbiertaRequest Extends Ens.
1
0 307
Pregunta Yone Moreno · abr 17, 2023

Buenos días;

Primero agradecer infinito el apoyo de ustedes y sobre todo y más importante el tiempo que dedican a leer, comprender y sobre todo a responder esta duda. Muchísimas gracias.

Hemos estado trasteando en un Servicio REST para adaptarlo a tal y como lo necesita Sistema Origen. Observamos que si nos enviaran una Header con mayúsculas "idUserLogueado" al tratar de obtener valor en Servicio en el LOGINFO sale vacío:

set idUserLogueado = pInput.
2
0 285
Pregunta Kurro Lopez · mar 14, 2023

Buenas,

Estoy intentando instalar en una nueva instancia de IRIS el ZPM para poder importar paquetes de utilidades en nuestro servidor de desarrollo.

Al importar el fichero zpm-0.5.3.xml me está dando este error.

¿Alguien puede ayudar?

Gracias

2
0 191
Pregunta Yone Moreno · mar 13, 2023

Buenos días

Realizando una integración en la que se transforma un XML en un JSON que representa un recurso FHIR; ¿por favor podrían ayudarnos con lo siguiente?

Conocemos que se puede crear un JSON "a mano" que represente una estructura FHIR, e incluso añadir llamadas a funciones tales como:

"display"(##class(Util.TablasMaestras).getValorMaestra("CENTROS_CONCERTADOS.CODIGO_TO_NOMBRE_HOSPITAL",busquedaOrdenesRequest.codigoHospitalDestino))
 

Y concatenaciones como:

"reference"("#"_(mensaje.DNI))
 

Sin embargo la cuestión es: ¿se podrían añadir condicionales del tipo "if"?

1
0 316