Multiple FT1 within DFT^P03

Clovertech Forums Read Only Archives Cloverleaf Cloverleaf Multiple FT1 within DFT^P03

  • Creator
    Topic
  • #51071
    Scott Smith
    Participant

      I need to create a separate DFT^P03 fro each FT1.  I think I have the xlate built thanks to some other posts here, but I don’t if my testing looks right (I have never done of of these)

      Any suggestions?

      Here is my xlate (just the FT1 iterate):

      ITERATE

      PATHCOPY 1(%g1).0(0).FT1 -> 1(%g1).0(0).FT1

      COPY @id -> 1(%g1).0(0).FT1.00356

      CONTINUE

      SUPPRESS

      Here is my test result:

      there is 5 FT1’s in the message

      I am only including the first 2 iterations

      MESSAGE 1

      0(0).MSH(0)  :  >|^~&|Practice Partner|Lake Lansing Family Practice|PMS|PMS Client|20090624125001||DFT^P03|16647|D^T|2.4|618< 0(0).EVN(0)  :  >|P03< 0(0).PID(0)  :  >|1|5806390|00123456789||TEST^PATIENT^C||20080414|F|||PRACTICE PARTNERS TESTy^5501 DILLARD DR^Cary^NC^27518||||||||000112222< 0(0).PV1(0)  :  >|1||||||||||||||||||B2009070900011< 1(0).0(0).FT1(0)  :  >|1|B2009070900011PMaCnk||20090624000000|20090624125003|CG|16647^OFFICE/OUTPATIENT|||1|||||||||702.11^INFLAMED SEBORRHEIC KERATOSIS^ICD9^702.11^INFLAMED SE~250.00^DIABETES UNCOMPL TYPE II^ICD9^250.00^DIABETES UNCOMPL~401.0^MALIGNANT ESSENTIAL HYPERTENSION^ICD9^401.0^MALIGNANT ~948.95^90% + BODY BURN 50-59% 3RD DEGREE^ICD9^948.95^90% + B|RONAN^Ronan^Arthur^J^D.O.^^Dr.^L~H24028^Ronan^Arthur^J^D.O.^^Dr.^U|||||99212^OFFICE OUTPT EST 10 MIN^CPT^99212^OFFICE OUTPT EST 10 MIN^CPT< 3(0).0(0).IN1(0)  :  >|1||1194|BCBS PPOM||||GRP||||20090101|20100101|||Test^Allscripts||||||1||||||||||||||INSURED ID11122< 0(0).MSH(0)  :  >|^~&|Practice Partner|Lake Lansing Family Practice|PMS|PMS Client|20090624125001||DFT^P03|16647|D^T|2.4|618< 0(0).EVN(0)  :  >|P03< 0(0).PID(0)  :  >|1|5806390|00123456789||TEST^PATIENT^C||20080414|F|||PRACTICE PARTNERS TESTy^5501 DILLARD DR^Cary^NC^27518||||||||000112222< 0(0).PV1(0)  :  >|1||||||||||||||||||B2009070900011< 1(0).0(0).FT1(0)  :  >|1|B2009070900011PMaCnk||20090624000000|20090624125003|CG|16647^OFFICE/OUTPATIENT|||1|||||||||702.11^INFLAMED SEBORRHEIC KERATOSIS^ICD9^702.11^INFLAMED SE~250.00^DIABETES UNCOMPL TYPE II^ICD9^250.00^DIABETES UNCOMPL~401.0^MALIGNANT ESSENTIAL HYPERTENSION^ICD9^401.0^MALIGNANT ~948.95^90% + BODY BURN 50-59% 3RD DEGREE^ICD9^948.95^90% + B|RONAN^Ronan^Arthur^J^D.O.^^Dr.^L~H24028^Ronan^Arthur^J^D.O.^^Dr.^U|||||99212^OFFICE OUTPT EST 10 MIN^CPT^99212^OFFICE OUTPT EST 10 MIN^CPT< 1(1).0(0).FT1(0)  :  >|2|B2009070900011PMaCnk||20090624000000|20090624125003|CG|16647^DEPO PROV 150|||1|||||||||702.11^INFLAMED SEBORRHEIC KERATOSIS^ICD9^702.11^INFLAMED SE~401.0^MALIGNANT ESSENTIAL HYPERTENSION^ICD9^401.0^MALIGNANT |RONAN^Ronan^Arthur^J^D.O.^^Dr.^L~H24028^Ronan^Arthur^J^D.O.^^Dr.^U|||||J1055^INJ, MEDROXYPROGESTERONE ACETATE FOR CONTRACEPTIVE USE,150MG^CPT^J1055^INJ< 3(0).0(0).IN1(0)  :  >|1||1194|BCBS PPOM||||GRP||||20090101|20100101|||Test^Allscripts||||||1||||||||||||||INSURED ID11122<

    Viewing 4 reply threads
    • Author
      Replies
      • #68684
        Bryan Dort
        Participant

          Couple things.  In your xlate, the SUPPRESS should be at the top of the xlate and the CONTINUE within the ITERATE for the FT1:

          SUPPRESS

          INTERATE

          PATHCOPY 1(%g1).0(0).FT1 -> 1(0).0(0).FT1    *** You don’t need the %g1 in the destination as you only want one FT1…it won’t repeat.

          COPY =1 -> {1(0).0(0).FT1.00355[0]}  *** This will put a 1 in the sequence number…since you only want one FT1…it won’t repeat and will always be 1.

          CONTINUE

          Warning…there was talk in earlier posts about PATHCOPY in iterates not clearing fields.  You may want to switch to individual COPY statements.

          Bryan

        • #68685
          Levy Lazarre
          Participant

            Scott,

            Your results don’t look right. If you do this correctly, you should end up with one HL7 message for each FT1 segment, each message having the same MSH, EVN, PID, PV1, but a different FT1. Your test message with 5 FT1 segments should have yielded 5 separate messages.

            I have done something similar in the past, and I believe that your SUPPRESS action should be at the very beginning of your Xlate. I don’t know how your HL7 variant is structured, but your Xlate should look like this:

            SUPPRESS

            PathCopy  MSH to MSH

            PathCopy  EVN to EVN

            PathCopy  PID to PID

            PathCopy  PV1 to PV1

            ITERATE  (on FT1 group)

            PATHCOPY 1(%g1).0(0).FT1 -> 1(%g1).0(0).FT1

            COPY @id -> 1(%g1).0(0).FT1.00356

            ITERATE (on IN1 group)  if you have insurance segments

            CONTINUE      (This statement will send each completed message)

            I hope this helps.

            — Levy

          • #68686
            Scott Smith
            Participant

              thanks guys.  I got it working now.  I moved suppress to beginning and moved continue to after second iterate.

            • #68687
              Levy Lazarre
              Participant

                I wasn’t paying attention, Brian is correct about not needing the iteration variable in the destination.

                For the variant that I used, I simply did

                PathCopy 0(0).FT1(%s1) –> 0(0).FT1(0)

              • #68688
                Scott Smith
                Participant

                  I had already fixed, but after I posted code online.

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