Eliminar etiquetas ...
 
Avisos
Vaciar todo

Eliminar etiquetas HL7Message en XML  

  RSS

(@jomagaro)
Miembro Activo
Registrado: hace 4 meses
Mensajes: 4
13 marzo, 2020 14:39  

Hola a todos,

hace poco tiempo que trabajo con Mirth y no tengo experiencia en JavaScript y me ha surgido un problema que no se como resolver.

El tema es que para solicitar demográficos tengo que entregar la trama en formato:

    <MSH>

        <MSH.1>|</MSH.1>

        <MSH.2>^~\&amp;</MSH.2>

        <MSH.3>

            <HD.1>xxxxxxxxxx</HD.1>

        </MSH.3>

        <MSH.4>

            <HD.1>123456789</HD.1>

        </MSH.4>

        <MSH.5>

            <HD.1>ESBxxx</HD.1>

        </MSH.5>

        <MSH.6>

            <HD.1>xxxxxxx</HD.1>

      ......

 

Para ello creo el canal correspondiente con un destino con salida XML y la estructura la monta correctamente.

El problema es que toda la estructura la incluye dentro de unas etiquetas <HL7Message></Hl7Message> que no debo enviar, porque el destino no las interpreta.

El XML generado lo debo de incluir dentro de una cabecera que me facilitan (lo anterior de la etiqueta en negrilla del ejemplo), cosa que hago sin problemas, pero como digo, me incluye las etiquetas mencionadas anteriormente y que no veo el modo de eliminar.

 

Ejemplo:

<soapenv:Envelope xmlns:soapenv=" http://schemas.xmlsoap.org/soap/envelope/ " xmlns:ges=" http://xxx.Servicios/GestionPacientes ">

   <soapenv:Header/>

   <soapenv:Body>

      <ges:findCandidatesXML>

         <mensEntrada>

           <QBP_Q21 xmlns="urn:hl7-org:v2xml">

    <HL7Message>

      <MSH>

        <MSH.1>|</MSH.1>

        <MSH.2>^~\&amp;</MSH.2>

        <MSH.3>

            <HD.1>xxxxxxxxxx</HD.1>

        </MSH.3>

        <MSH.4>

            <HD.1>123456789</HD.1>

        </MSH.4>

        <MSH.5>

            <HD.1>ESBxxx</HD.1>

        </MSH.5>

        <MSH.6>

            <HD.1>xxxxxxx</HD.1>

      ......

 

Espero haberme explicado correctamente.

Me podríais echar una mano?

Muchas gracias por adelantado.

 


Cita
Nikkator
(@nsoria)
Miembro Moderator
Registrado: hace 5 años
Mensajes: 47
13 marzo, 2020 17:11  

Hola jomagaro, bienvenido al foro.

 

Las etiquetas <HL7Message></HL7Message> se generan automáticamente cuando en el transformador de Mirth eliges HL7 como formato, si lo que deseas es generar un XML con nombre del elemento principal configurable, tendrás que elegir el formato XML y preestablecer el nombre del elemento principal en el 'template' de salida.

Otra opción es, reemplazar en tu mensaje final, el contenido del elemento QBP_Q21 por el contenido del elemento HL7Message generado en la transformación, en vez de agregar el mensaje transformado al elemento QBP_Q21.

Quizás lo más sencillo es escribir el 'template' completo (con el envoltorio 'soap') en el transformador, siempre y cuando el formato de salida seleccionado sea XML, no HL7 v3.

 


ResponderCita
(@jomagaro)
Miembro Activo
Registrado: hace 4 meses
Mensajes: 4
14 marzo, 2020 12:45  

Muchas gracias por tu respuesta @nsoria

El canal tiene definido un destino TCP Sender en cuyo "template" tengo el envoltorio soap con el mensaje sobre el encoded message. El Data Type del canal es el que adjunto (entrada HL7 y salida XML). Creo que es lo que entiendo que me estás indicando, pero la etiqueta sigue apareciendo.

Template

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ges="http://xxx.Servicios/GestionPacientes">
<soapenv:Header/>
<soapenv:Body>
<ges:findCandidatesXML>
<mensEntrada>
<QBP_Q21 xmlns="urn:hl7-org:v2xml">


${message.encodedData}


</QBP_Q21>
</mensEntrada>
</ges:findCandidatesXML>
</soapenv:Body>
</soapenv:Envelope>

 


ResponderCita
Nikkator
(@nsoria)
Miembro Moderator
Registrado: hace 5 años
Mensajes: 47
15 marzo, 2020 11:52  

Disculpa si no me expliqué del todo bien, donde tienes que poner el template, es en el transformador del conector, y en el propio conector, tendrás que poner únicamente

${message.encodedData}

Mañana intentaré ponerte unas capturas si aún no lo has resuelto.


ResponderCita
(@jomagaro)
Miembro Activo
Registrado: hace 4 meses
Mensajes: 4
16 marzo, 2020 08:25  

Muchas gracias, de nuevo @nsoria

Quedo a la espera porque sigo sin encontrar la solución.

 


ResponderCita
Nikkator
(@nsoria)
Miembro Moderator
Registrado: hace 5 años
Mensajes: 47
18 marzo, 2020 09:24  

En el transformador del conector de salida podrías poner algo así:

https://drive.google.com/open?id=1CBvxOJbIEzhxlu_PHzgi0ZWQa7SdZTMF

 

Y en el conector bastaría con poner esto:

https://drive.google.com/open?id=1QEnTZlK5PpC4WrQJ903xTx0UeYLTZ2BQ

 

De esta forma, en vez de construir el mensaje HL7 por separado, lo estás construyendo junto con el envoltorio Soap en formato XML.

 

 

 

Esta publicación ha sido modificada el hace 4 meses por Nikkator

ResponderCita
(@jomagaro)
Miembro Activo
Registrado: hace 4 meses
Mensajes: 4
19 marzo, 2020 12:08  

Me lo apunto, @nsoria

 

al final le envié la trama en ER7 y estoy a la espera de que me indiquen si hay algún problema o no.

 

Seguiré posteando novedades.

 

Gracias

 


ResponderCita
Share:
caduceusadminForum