270 Eligibility – version 5.7

Clovertech Forums Read Only Archives Cloverleaf Cloverleaf 270 Eligibility – version 5.7

  • Creator
    Topic
  • #51520
    Anonymous

      I am sending 270’s to Medicare.  They leave cloverleaf fine. THe problem is the return of the 271 message coming through raw, static route.  In the status window I see a timestamp in the PROTO ERR: line and here is a part of the log.  I believe the message is enveloped properly.  Can anyone see something I am missing????   I have cut PHI from the message.

      pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  0b 49 53 41  2a 30 30 2a  |.ISA*00*|

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  20 20 20 20  20 20 20 20  |        |

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  20 20 2a 30  30 2a 20 20  |  *00*  |

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  20 20 20 20  20 20 20 20  |        |

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  2a 5a 5a 2a  4e 45 48 45  |*ZZ*NEHE|

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  4e 30 30 36  20 20 20 20  |N006    |

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  20 20 20 2a  5a 5a 2a 4e  |   *ZZ*N|

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  45 48 45 4e  30 32 32 20  |EHEN022 |

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  20 20 20 20  20 20 2a 31  |      *1|

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  30 30 31 32  36 2a 30 37  |00126*07|

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  32 32 2a 55  2a 30 30 34  |22*U*004|

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  30 31 2a 30  30 30 30 30  |01*00000|

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  30 30 33 31  2a 30 2a 54  |0031*0*T|

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  2a 7c 0a 47  53 2a 48 42  |*|.GS*HB|

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  2a 4e 45 48  45 4e 30 30  |*NEHEN00|

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  36 2a 30 30  30 30 30 30  |6*000000|

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  30 31 52 2a  32 30 31 30  |01R*2010|

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  30 31 32 36  2a 30 37 32  |0126*072|

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  32 2a 31 2a  58 2a 30 30  |2*1*X*00|

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  34 30 31 30  58 30 39 32  |4010X092|

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  41 31 0a 53  54 2a 32 37  |A1.ST*27|

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  31 2a 31 32  33 34 0a 42  |1*1234.B|

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  45 2a 31 2a  31 0a 49 45  |E*1*1.IE|

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  41 2a 31 2a  30 30 30 30  |A*1*0000|

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59]  30 30 30 33  31 0a 1c     |00031..|

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59] IDLE and 423 bytes but no error: starting READ

      [pdl :PDL :DBUG/2:   from_nehen:01/26/2010 07:12:59] PDL changed states: old 0, new 1

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59] Calling Tcl procedure: hci_pd.read

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59] with args: {}

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59] Tcl procedure hci_pd.read returns ‘RECEIVE’

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59] trying to match phrase: basic-msg

      [pdl :PDL :DBUG/1:   from_nehen:01/26/2010 07:12:59] PDL setting timeout in 15.00 seconds

      [diag:leak:DBUG/0:   from_nehen:01/26/2010 07:12:59] diag ev alloc 0x02B90A20

      [diag:leak:DBUG/0:   from_nehen:01/26/2010 07:12:59] diag dqe alloc 0x0239F188

      [pti :even:DBUG/0:   from_nehen:01/26/2010 07:12:59] Registering TIMER () event 0x02B90A20 for tid 5

      [pti :even:DBUG/0:   from_nehen:01/26/2010 07:12:59] Registering TIMER event for tid 5

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:12:59] READ operation in progress (423 bytes buffered still, 423 before)

      [pti :sche:INFO/1:   from_nehen:01/26/2010 07:12:59] Thread has 0 ready events left.

      [pti :sche:INFO/2:   from_nehen:01/26/2010 07:12:59] Performing apply callback for thread 5

      [msi :msi :DBUG/1:   from_nehen:01/26/2010 07:12:59] msiExportStats: export for thread: from_nehen

      [pti :sche:DBUG/2:   from_nehen:01/26/2010 07:13:13] Thread 5 has been enabled

      [pti :sche:INFO/1:   from_nehen:01/26/2010 07:13:13] Thread has 1 ready events.

      [pti :even:DBUG/0:   from_nehen:01/26/2010 07:13:13] Processing ACTIVE_TIMER () event 0x02353DE8

      [pti :even:DBUG/1:   from_nehen:01/26/2010 07:13:13] Calling cb 0x545ba3

      [msi :msi :DBUG/1:   from_nehen:01/26/2010 07:13:13] msiExportStats: export for thread: from_nehen

      [pti :even:DBUG/0:   from_nehen:01/26/2010 07:13:13] Unregistering ACTIVE_TIMER () event 0x02353DE8 for tid 5

      [pti :even:DBUG/0:   from_nehen:01/26/2010 07:13:13] evUnregister ACTIVE_TIMER event 0x2353DE8 for tid 5

      [diag:leak:DBUG/0:   from_nehen:01/26/2010 07:13:13] diag timeval alloc 0x02BB8AB0

      [diag:leak:DBUG/0:   from_nehen:01/26/2010 07:13:13] diag dqe alloc 0x02B90DC8

      [pti :even:DBUG/0:   from_nehen:01/26/2010 07:13:13] Registering ACTIVE_TIMER () event 0x02353DE8 for tid 5

      [pti :even:DBUG/0:   from_nehen:01/26/2010 07:13:13] Registering ACTIVE_TIMER event for tid 5

      [diag:leak:DBUG/0:   from_nehen:01/26/2010 07:13:13] diag timeval free  0x02BB8AB0

      [pti :sche:INFO/1:   from_nehen:01/26/2010 07:13:13] Thread has 0 ready events left.

      [pti :sche:INFO/2:   from_nehen:01/26/2010 07:13:13] Performing apply callback for thread 5

      [msi :msi :DBUG/1:   from_nehen:01/26/2010 07:13:13] msiExportStats: export for thread: from_nehen

      [pti :sche:DBUG/2:   from_nehen:01/26/2010 07:13:14] Thread 5 has been enabled

      [pti :sche:INFO/1:   from_nehen:01/26/2010 07:13:14] Thread has 1 ready events.

      [pti :even:DBUG/0:   from_nehen:01/26/2010 07:13:14] Processing TIMER () event 0x02B90A20

      [pti :even:DBUG/1:   from_nehen:01/26/2010 07:13:14] Calling cb 0x4226d1

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:13:14] multi_phrase_2: status = timeout

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:13:14] Calling Tcl procedure: read.timeout

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:13:14] with args: {{status timeout}}

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:13:14] pdiIgnoreInput: chop to 1, bolen 0

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:13:14] pdiIgnoreInput: after memmove: 0 + 422

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:13:14] pdiIgnoreInput: chop to 4294967295, bolen 0

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:13:14] pdiIgnoreInput: after clear: 0 + 0

      [pdl :PDL :DBUG/0:   from_nehen:01/26/2010 07:13:14] Tcl procedure read.timeout returns ‘0’

      [pdl :PDL :DBUG/2:   from_nehen:01/26/2010 07:13:14] PDL changed states: old 1, new 0

      [pti :even:DBUG/0:   from_nehen:01/26/2010 07:13:14] Unregistering TIMER () event 0x02B90A20 for tid 5

      [pti :even:DBUG/0:   from_nehen:01/26/2010 07:13:14] evUnregister TIMER event 0x2B90A20 for tid 5

      [diag:leak:DBUG/0:   from_nehen:01/26/2010 07:13:14] diag ev free  0x02B90A20

      [pti :sche:INFO/1:   from_nehen:01/26/2010 07:13:14] Thread has 0 ready events left.

      [pti :sche:INFO/2:   from_nehen:01/26/2010 07:13:14] Performing apply callback for thread 5

      [msi :msi :DBUG/1:   from_nehen:01/26/2010 07:13:14] msiExportStats: export for thread: from_nehen

      Engine idle — 01/26/2010 07:13:24

    Viewing 11 reply threads
    • Author
      Replies
      • #70605
        James Cobane
        Participant

          Chris,

          What PDL are you using in your configuration?  Based on the message in the log, the encapsulation appears to be x0b and x1c.  The standard MLP pdl wouldn’t recognize this as a message, as it wouldn’t be able to find the closing x1c x0d.  We are sending to Medicare (CMS) and we had to develop a different pdl; they expected a and ( x01 and x03 , respectively ).  Below is the .pdl that we developed, you could modify this to fit your needs.

          /* $Id: cms_tcp.pdl,v 1.3 1998/02/21 00:05:27 neuts Exp $ */

          /*

          * Copyright (c) 1995-1996, Healthcare Communications, Inc. All Rights Reserved.

          *

          * tcpipcms.pdl – TCP/IP Protocol for EV270 transmision/receipt

          */

          define driver tcpip-cms;

             version: “2.0”;

          end driver;

          /* This driver manages the transmission of messages using the HL7 defined

          * MLP protocol.  Each message is bounded by a start character

          * and a stop string .

          *

          * The phrase basic-msg recognizes this message format.  Once recognized,

          * the message data will be available from the ‘data’ field.

          */

          define phrase basic-msg;

             ;

             field data = variable-array( not( ));

             ;

          end phrase;

          /**********************************************************************

          * End of declarative section, TCL management functions start here.   *

          **********************************************************************/

          #{#

          # This can be handled completely using the “basic” style.

          hci_pd_msg_style basic phrase:basic-msg

          field:data

          resync:\x1

          #}#

          Hope this helps.

          Jim Cobane

          Henry Ford Health

        • #70606
          Anonymous

            Hi James…thanks for the reply.  I am using the mlp_tcp.pdl  The message is not sent/received direct to/from Medicare. It goes through a proprietary third party system.  The problem is the message coming back from this system.  If I need a different envelope I can have them put one in but I do not know what that envelope should be.  We send from Clovertech to our hospital MckEsson Paragon environment.

            THansk

            Chris Buliga

            Massachusetts Eye and Ear Infirmary

            Boston, MA

          • #70607
            Jim Kosloskey
            Participant

              Chris,

              The third party that is returning your 271 is missing the hex 0d at the end of the message. Thus the full mlp encapsulation is not in place.

              Just refer them to the ending characters required for the mlp protocol.

              Another option is to use the tcp/ip length emcoding if they can handle that.

              email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

            • #70608
              Anonymous

                Thanks Jim

                I have sent a message to them to do so.  Will post reply here if it works out.

              • #70609
                Jim Kosloskey
                Participant

                  Chris,

                  I just noticed something else you should probably verify.

                  It appears they have each X12 segment ending with a hex 0a. I do not think that is valid in X12. As a matter of fact, I am sure that is not correct.

                  It is correct for HL/7 not for X12.

                  email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

                • #70610
                  Mark Thompson
                  Participant

                    Jim,

                    I thought X12 let you use whatever character you want for a segment delimiter (defined at the end of the fixed-length ISA segment).  Having a 0a segment delimiter might make it really convenient for viewing the messages from a command line.

                    - Mark Thompson
                    HealthPartners

                  • #70611
                    Jim Kosloskey
                    Participant

                      Mark,

                      I stand corrected – you are right whatever ends the ISA is the segment separator for the entire transaction set.

                      I guess I am just used to most systems only handling the tilde (~).

                      Sorry Chris that I mislead you regarding the segment terminator.

                      email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

                    • #70612
                      Rick Pritchett
                      Participant

                        i have a cerner app that produces messages that are encapsulated with <002> (hex value <0x2>) at the start and <003> (hex value <0x2>)

                      • #70613
                        Russ Ross
                        Participant

                          Placing your modified PDL in the directory $HCIROOT/pdls is what I think you are saying which is one place but future upgrades will blow it away most likely.

                          If you are at cloverleaf 5.6 and use a master site then putting it in $HCIMASTERSITE/pdls would likely work; at least I would hope so otherwise what is the point of a master site.

                          You can also put it in $HCISITEDIR/pdls if you want to limit the PDLs scope to a particular site.

                          Regardless of where you decided to put the PDL you will need to complie it by going to the directory where the PDL source file is located and doing

                          hcipdc my.pdl

                          NOTE:  The PDL compiler the last time I used it a long time ago will not tolerate any extra white space after the last line or DOS line terminators if on a UNIX platform.  I would also do a recompile of my PDLs whenever doing future cloverleaf upgrades for safety.

                          I did a search on cloverltech for hcipdc and got some hits.

                          If you want to see previous discusions about compiling a PDL file to create the corresponding PDO file, then do a search on hcipdc.

                          Russ Ross
                          RussRoss318@gmail.com

                        • #70614
                          Rick Pritchett
                          Participant

                            cern_mlp_tcp.pdl:31:Unexpected end-of-file before ‘#}#’

                            i got this after compiling the file any ideas?

                          • #70615
                            Russ Ross
                            Participant

                              Remember I told you the PDL compiler was picky and didn’t like extra white space.

                              I copy/past your PDL and got the same error.

                              After investigating I saw an extra space at the end of many or perhaps all the lines.

                              I used Ultra-Edit to trim trailing spaces from all lines and was able to complie your PDL without any errors.

                              Russ Ross
                              RussRoss318@gmail.com

                            • #70616
                              Anonymous

                                Thanks everyone for the input.  The third party system corrected the way they were doing the envelope and all is well now.

                            Viewing 11 reply threads
                            • The forum ‘Cloverleaf’ is closed to new topics and replies.