#InterSystems IRIS

4 Seguidores · 1.4K Publicaciones

InterSystems IRIS es una Plataforma completa de datos.
InterSystems IRIS le proporciona todo lo que necesita para capturar, compartir, comprender y actuar sobre el activo más valioso de su organización, sus datos.
Dado que es una plataforma completa, InterSystems IRIS elimina la necesidad de integrar varias tecnologías de desarrollo. Las aplicaciones necesitan una menor cantidad de código, menos recursos del sistema y poco mantenimiento.

Pregunta Kurro Lopez · mar 16

Hola a todos.

Tengo un problema bastante extraño.

He creado un método en Python para crear un vector para una búsqueda vectorial. Hasta aquí todo correcto.

Si invoco a este método desde el termina, funciona correctamente:

Pero si hago esta misma llamada desde un bloque de código en una Business Process, se queda bloqueado, no responde y lanza el siguiente error:

¿Alguien sabe que está ocurriendo y como solucionarlo?

Muchas gracias por adelantado

13
0 66
Pregunta Kurro Lopez · jun 23, 2025

Hola a todos,

Estamos desarrollando una aplicación de citas médicas que conecta las agendas de los médicos con un proveedor de citas.

El proveedor nos está devolviendo la cita en el siguiente formato:

Thu Jul 03 08:20:00 CEST 2025

Significa, 03 de julio de 2025 a las 08:20:00 Hora de verano de Europa central (UTC+2)

Pero necesitamos el siguiente formato:

2025-07-03 08:20:00+02:00

¿Existe alguna opción para convertir el código horario de zona (CEST) a UTC+x?

¿Cómo convertir el código horario de zona (CEST, CET, ET, EDT, etc..) en su zona horaria UTC (UTC+2, UTC+1, UTC-5, etc..)?

Saludos cordiales

2
0 58
Pregunta Oscar Tarriño Buen o · sep 17, 2024

Buenos días,

En una integración que estamos haciendo entre dos sistemas recibos un ORU_R01 con los datos de un monitor.  Lo recibimos mediante una llamada a nuestro webservice en formato XML.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:com="http://com.gacelacare.ws">
   <soapenv:Header/>
   <soapenv:Body>
      <com:processMessage>
         <String_1><![CDATA[<ORU_R01 xmlns="urn:hl7-org:v2xml">
    <MSH>
        <MSH.1>|</MSH.1>
        <MSH.2> ^~\&amp;amp;</MSH.2>
        <MSH.3>
            <HD.1>AA</HD.1>
        </MSH.3>
        <MSH.
6
0 207
Pregunta Kurro Lopez · jul 7, 2024

Hola a todos,

Hace unos días vi a un youtuber hablando de cómo crear una red neuronal (en español)

En resumen, utiliza la red neuronal para aprender a convertir grados Celsius a grados Fahrenheit.
Grados Fahrenheit= (Grados Celsius × 9/5) +32

En este vídeo utiliza Python para crear la red neuronal, donde crea una tabla con los valores de grados Celsius y grados Fahrenheit.
Luego hace 1000 entrenamientos al modelo que ha creado, cuando consulta la predicción a un valor que no está en la tabla que ha utilizado para entrenar, le da un valor correcto (o bastante cercano).

2
0 238
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 434
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 Oscar Matute · feb 2, 2023

Hola !
Estamos investigando el tema de la generación de la factura electrónica.

Vemos que desde la página la factura e (Factura Electrónica - Últimas versiones Facturae), hay un enlace para descargar el fichero (Esquema XSD formato Facturae 3.2.2 [XML] [185,61 KB]).

Una vez descargado el fichero lo intentamos incorporar al studio de cache y nos da un error al importarlo.

Lo importamos desde: Herramientas -> Complementos -> Asistente de Esquemas XML. Seleccionamos el fichero que nos hemos descargado y aparentemente la estructura la pone bien pero luego da error importarlo (“DTD's explicity prohibited)”

1
0 364
Pregunta Paco Cadenas · dic 14, 2022

Hola!

Entiendo no hay automatismo para actualizar código antiguo que imbrica con "puntitos" transformándolo a código con llaves "{ }", creo que hacer un parser de este tipo sería complejo por situaciones como esta :

Alguien sabe si este código es equivalente ?

VERSION CON PUNTITOS
 Use fic

Read *R:20 Else  Do  Quit    ;;;;  comando else aplicado a read.
  . Use 0 Write !!!,"Temps expirat."
 If $c(R)="a" d
  . Use 0 Write !!!,"Ha leido una letra a"
  . Quit
 
VERSION CON LLAVES
 Use fic
 Read *R:20
 If $Test {
Use 0 Write !!!,"Ha leido un carácter"
Quit
 }
 Else {
Use 0 Write !!!,"Temps expirat."
 }
 

3
0 149
Pregunta Kurro Lopez · abr 26, 2022
Hola a todos,
Acabamos de migrar al nuevo servidor IRIS 2021.2 todas nuestras producciones en un servidor de desarrollo. Es un Windows 2019 Server.
He instalado Webterminal para tener una buena conexión al servido de forma remota, pero está lanzando el siguiente mensaje de error:
1
0 175
Pregunta Eduard Lebedyuk · mar 17, 2022

He definido una clase con una propiedad de objeto dinámico:

Mi clase

Class test.Dyn Extends %Persistent
{

Property json As %DynamicObject;

/// do ##class(test.Dyn).test()
ClassMethod test()
{
  do ..%KillExtent()
  for len = 100, $$$MaxStringLength - 1, $$$MaxStringLength, $$$MaxStringLength+1, $$$MaxStringLength *2 {
    set sc = ..save(len)
    write "Len: ",len, " Result: ",$case($$$ISERR(sc), $$$YES: $System.Status.GetErrorText(sc), : "OK"),!
  }
}

ClassMethod save(len)
{
  set json = {}
  set stream = ..getStream(len-8) // -8 because {"a":""}
  do json.%Set("a", stream, "stream")
 
  set obj = ..%New()
  set obj.json = json
  quit obj.%Save()
}

ClassMethod getStream(len)
{
  set stream = ##class(%Stream.TmpCharacter).%New()
 
  if len<$$$MaxStringLength {
    do stream.Write($tr($j("",len)," ","A"))
  } else {
    for i=1:$$$MaxStringLength:len {
      do stream.Write($tr($j("",$$$MaxStringLength)," ","A"))
    }
    do stream.Write($tr($j("",len-i)," ","A"))
  }
  quit stream
}
}

El problema que me encuentro es que si la longitud de una propiedad json serializada es de más de 3641144 símbolos, el objeto no puede guardarla, con el siguiente error (MAXSTRING o STRINGSTACK):

Length: 100 Result: OK
Length: 3641143 Result: OK
Length: 3641144 Result: OK
Length: 3641145 Result: ERROR #5002: ObjectScript error: <MAXSTRING>%GetSerial+1^%Library.DynamicAbstractObject.1
Length: 7282288 Result: ERROR #5002: ObjectScript error: <STRINGSTACK>%GetSerial+1^%Library.DynamicAbstractObject.1

¿Hay algún método alternativo? Necesito almacenar jsons relativamente grandes (10-15 Mb) y las propiedades de objetos dinámicos permiten un acceso muy práctico.

$ZSTORAGE está establecido en -1.

2
0 169
Pregunta Flávio Lúcio Naves Júnior · nov 30, 2021

¡Hola a todos!

Estoy intentando exportar una clase a xml y quitar la etiqueta "xmlns" de la clase madre. Estas son mis clases para crear el XML.

Class Class.Test Extends (%RegisteredObject, %XML.Adaptor)
{ 

Parameter NAMESPACE = "http://mynamespace.com/test"; 
Property Person As Class.Person; Property Address As Class.Address; 

}
Class Class.Person Extends (%RegisteredObject, %XML.Adaptor)
{ 

Parameter NAMESPACE = "http://mynamespace.com/test"; 
Property name As %String; Property age As %String; 

}
Class Class.Address Extends (%RegisteredObject, %XML.Adaptor)
{ 

Parameter NAMESPACE = "http://mynamespace.com/test"; 
Property location As %String; 

}
2
0 277
Pregunta David E Nelson · oct 7, 2021

¡Hola!

En Atelier, puedo hacer clic en File --> New --> Class File; en File --> New --> Custom File, etc. para lanzar distintos wizards y plantillas que me ayudan a crear de forma rápida clases DeepSee KPI, manifiestos %Installer, Web Services, etc. Por supuesto, también están disponibles en Studio.

¿Hay algo similar en VSCode? Si es así, ¿dónde? He mirado en varios vídeos y en la documentación, pero no he encontrado nada.

¡Gracias!

David

4
0 1183
Pregunta Marta Ventura-Costa · ago 4, 2021

Tengo esta clase definida:

Class Services.IS.Data.Pe Extends (%RegisteredObject, %JSON.Adaptor)
{

Property codigo As %String;

Property descripcion As %String;

Property ListaP As list Of P;

ClassMethod LoadPeCap(Param1 As %String, Param2 As %String) As %JSON.Adaptor
{
    
      Set rs = ##class(%SQL.Statement).%ExecDirect(,"SELECT PRF_c as PRF_c,PRF_des as PRF_des  FROM Esquema.tabla where PRF_c ="_Param1_" or PRF_c="_Param2)
      Set pts ={"pts":[]}
      While rs.%Next() {
        Set pec ={
           "PRF_c":              (rs.%Get("PRF_c")),
         "PRF_des":        (rs.

1
0 284
Pregunta Joey McClammy · jun 29, 2021

Tenemos múltiples segmentos NTE en el mensaje ADT. Necesito iterar a través de todos los segmentos NTE buscando "NAVIRADTHPT" en el campo NTE-4. He intentado que funcione con el siguiente código.  

HL7.(NTE:4()) Contains "<NAVIRADTHPT>"

Así es como se ven los segmentos.

NTE|1||This patient is currently being seen for radiation therapy.|AHRADTHPT||20210223093342
NTE|2||This patient is currently being seen for radiation therapy.|NAVIRADTHPT||20210223113634

También lo he intentado de esta forma sin éxito.

HL7.(NTE():4) Contains "<NAVIRADTHPT>"

¡Agradecería mucho cualquier ayuda!

1
0 77
Pregunta Yuri Marx · jun 9, 2021

¿Es posible ver el plan de ejecución de una sentencia SQL en IRIS?

Como esto:

explain plan for
select  e.ename,r.rname
from    employees  e
join    roles       r on (r.id = e.role_id)
join    departments d on (d.id = e.dept_id)
where   e.staffno <= 10
and     d.dname in ('Department Name 1','Department Name 2');

Que devuelve esto:

1
0 191