Hola Yone,
Los Streams se utilizan para almacenar cadenas de datos sin límite de tamaño. Si en una clase persistente, incluyes propiedades de tipo Stream serán persistentes.
%Stream.GlobalCharacter
, %Stream.GlobalBinary
: persisten los datos en globals (en la base de datos).%Stream.FileCharacter
, %Stream.FileBinary
: persisten los datos en ficheros (.stream).
Lo que te recomienda la documentación es que utilices estas clases en lugar de sus versiones antiguas, por ejemplo:
- Utiliza
%Stream.GlobalCharacter
en lugar de la antigua.%GlobalCharacterStream
- Utiliza
%Stream.FileCharacter
en lugar de la antigua.%FileCharacterStream
La gestión de los mensajes huérfanos es como siempre. Si tienes un árbol de clases persistente que cuelga de un mensaje de interoperabilidad (incluya o no Streams), recuerda siempre implementar el método %OnDelete
para borrar su contenido adecuadamente.
Hola Yone,
Si el %Status
(tSC) que te devuelve ##class(ITB.HL7.Util.Convert).ER7ToXML
es 1 como muestras, entonces el error no lo tienes en la parte de la conversión de ER7 a XML en Healthcare-HL7-XML (ITB).
Tendrás que ir examinando el resto de partes que tengas en tu servicio web:
- No sé si tienes más código antes o después de esa llamada, comprueba que no haya errores.
- Comprobar logs del servidor web y del CSP Webgateway. Incluso puedes activar ISCLOG Documentación







Hola Yone,
En los adaptadores de interoperabilidad no hay directamente un adaptador STOW-RS pero puedes intentar implementar la parte de servicios REST en la plataforma y luego enviarlo utilizando los adaptadores DICOM TCP convencionales.
Los servicios y operaciones incluidos que utilizan adaptadores DICOM TCP emplean siempre como mensaje
EnsLib.DICOM.Document
. Y sí, puedes instanciar un documento DICOM desde un fichero (stream) conCreateFromDicomFileStream
.Comprueba siempre el resultado de
CreateFromDicomFileStream
por si devuelve algún error. Si todo va bien, debería ser1
o lo que es lo mismo un$$$OK
.Una vez tengas tu instancia de
EnsLib.DICOM.Document
ya puedes enviarlo por DICOM TCP convencional. En tu ejemplo, parece que lo has incluido en otro mensaje.Quizá se haya construido con errores el
EnsLib.DICOM.Document
, o simplemente sea un tema de representación en el visor de mensajes. Siempre puedes instanciar el mensaje en concreto que quieras en el terminal y examinar su contenido para quedarte seguro.