El foro de caduceus.es ha sido migrado a meditecs.com. Descubre más sobre el cambio en este post.
🇬🇧 English speaker? Go to Meditecs forums in English!
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>^~\&</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>^~\&</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.
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.
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>
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.
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.
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
