Mirth Connect 3.12.0 Released!

Mirth Connect 3.12.0 is now available as an appliance update and on our GitHub page. This release includes database performance improvements, improves visual HL7 representation, message pruning, keystore handling, PDF generation, community contributions, and fixes several security vulnerabilities. This release also contains many improvements to commercial extensions. See the release notes for the list of fixes and updates.

Download | See What's New | Upgrade Guide | Release Notes

For discussion on this release, see this thread.
See more
See less

ERROR-300: Transformer error

  • Filter
  • Time
  • Show
Clear All
new posts

  • ERROR-300: Transformer error

    Hello to all,

    I'm using Mirth, i'm taking incoming HL7 messages and write them to a Oracle Database.

    I want split the incoming messages to two outbound channels ( ORM and ADT Messages ):

    Therefore i built an inbound channel (Destinations - Connectortype : Channel Writer - Channelname: None )

    I added a new transformer ( type Javascript )

    I'm using the javascript code below:

    ================================================== =========

    if (msg['MSH']['MSH.9']['MSH.9.1'].toString()== "ORM"){
    router.routeMessage(outpound_hl7log_ORM, 'message');

    if (msg['MSH']['MSH.9']['MSH.9.1'].toString()== "ADT"){
    router.routeMessage(outpound_hl7log_ADT, 'message');
    ================================================== =========

    when i try to transform the message i get following error message :

    ERROR-300: Transformer error
    ERROR MESSAGE: Error evaluating transformer
    com.webreach.mirth.server.MirthJavascriptTransform erException:
    CHANNEL: inbound_KL0802135_hl7log
    CONNECTOR: outbound
    DETAILS: ReferenceError: "outpound_KL0802135_hl7log_ORM" is not defined.
    at com.webreach.mirth.server.mule.transformers.JavaSc riptTransformer.evaluateScript(JavaScriptTransform
    at com.webreach.mirth.server.mule.transformers.JavaSc riptTransformer.transform(JavaScriptTransformer.ja va:346)
    at org.mule.transformers.AbstractEventAwareTransforme r.doTransform( 8)
    at org.mule.transformers.AbstractTransformer.transfor m(
    at org.mule.impl.MuleEvent.getTransformedMessage(Mule
    at com.webreach.mirth.server.controllers.MessageObjec tController.getMessageObjectFromEvent(MessageObjec
    at com.webreach.mirth.connectors.vm.VMMessageDispatch er.doSend(
    at org.mule.providers.AbstractMessageDispatcher.send(
    at org.mule.impl.MuleSession.sendEvent(MuleSession.ja va:191)
    at org.mule.impl.MuleSession.sendEvent(MuleSession.ja va:130)
    at org.mule.routing.outbound.AbstractOutboundRouter.s end(
    at org.mule.routing.outbound.FilteringMulticastingRou ter.route(
    at org.mule.routing.outbound.OutboundMessageRouter$1. doInTransaction(
    at org.mule.transaction.TransactionTemplate.execute(T
    at ute(
    at org.mule.impl.model.DefaultMuleProxy.onCall(Defaul
    at org.mule.impl.model.seda.SedaComponent.doSend(Seda
    at org.mule.impl.model.AbstractComponent.sendEvent(Ab
    at org.mule.impl.MuleSession.sendEvent(MuleSession.ja va:201)
    at org.mule.routing.inbound.InboundMessageRouter.send (
    at org.mule.routing.inbound.InboundMessageRouter.rout e(
    at org.mule.providers.AbstractMessageReceiver$Default InternalMessageListener.onMessage(AbstractMessageR
    at org.mule.providers.AbstractMessageReceiver.routeMe ssage(
    at org.mule.providers.AbstractMessageReceiver.routeMe ssage(
    at com.webreach.mirth.connectors.vm.VMMessageReceiver .getMessages(
    at org.mule.providers.TransactedPollingMessageReceive r.poll(
    at .java:290)
    at eadPoolExecutor$Worker.runTask(ThreadPoolExecutor. java:650)
    at eadPoolExecutor$ :675)

    Can someone give me some ideas on how to get around this.


  • #2
    Re:ERROR-300: Transformer error

    I don't know what is the reason of your problem.

    But you can solve it buy using two destination in your channels: each one a channelWriter for outpound_hl7log_ORM and outpound_hl7log_ADT channels, and by adding a Filter to each destination.


    • #3
      Re:ERROR-300: Transformer error

      Hello Albertosaez,

      Thank you for your information, its works fine.
      But now i have a other problem. My inbound channel generates a new
      filename (p.e 1216130459039.dat) witch is written in my database.
      But i want to keep my orginal filename proccesed by my inbound channel because i write this filename in my database. (p.e adt_out_00032977.hl7 )
      Is there a possibility to keep the filename ?