GMRCIAC3 ;ALB/WTC - FILE IFC ACTIVITIES CONT'D ; Jan 27, 2025@06:03:05
 ;;3.0;CONSULT/REQUEST TRACKING;**201,205**;DEC 27, 1997;Build 3
 ;
 Q  ;
 ;
ERR206(MSGID,EDIPI,CRNRORDR,ORDRDESC,ORDRDATE,GMRCMSG) ;
 ;
 ;  Special processing for error code 206 ICN Missing from Incoming Order
 ;
 ;  MSGID    = HL7 Message ID
 ;  EDIPI    = Patient's EDIPI
 ;  CRNRORDR = Cerner order number
 ;  ORDRDESC = Order description
 ;  ORDRDATE = Date of order
 ;  GMRCMSG  = Name of array where HL7 message is stored
 ;
 ;  Set do not purge flag for incoming order.
 ;
 I $G(HLMTIENS) N RTNCODE S RTNCODE=$$SETPURG^HLUTIL(1) ;
 ;
 ;  Send Application rejection ACK.
 ;
 D APPACK^GMRCIAC2(0,"AR",206,1,MSGID,GMRCMSG) ;
 ;
 ;  Log message for later re-processing.
 ;
 D LOGMSG^GMRCIUTL("","",MSGID,206) ;
 ;
 ;  Send mail message.
 ;
 N XMSUB,XMDUZ,XMTEXT,XMY,GRPIEN,MEM,GRP ;
 S GRP="DGEN ELIGIBILITY ALERT" ;
 S XMSUB="Failed IFC transaction: ICN Missing from Order (Error 206)",XMTEXT="XMTEXT(" ;
 S XMTEXT(1)="Message ID: "_MSGID ;
 S XMTEXT(2)="EDIPI: "_EDIPI ;
 S XMTEXT(3)="Cerner Order Number: "_CRNRORDR ;
 S XMTEXT(4)="Order Description: "_ORDRDESC ;
 S XMTEXT(5)="Order Date: "_$$FMTE^XLFDT(ORDRDATE) ;
 S GRPIEN=$O(^XMB(3.8,"B",GRP,"")) Q:'GRPIEN
 ;Set up XMY for MEMBERS
 S MEM=0 F  S MEM=$O(^XMB(3.8,GRPIEN,1,MEM)) Q:'MEM  S XMY($P(^XMB(3.8,GRPIEN,1,MEM,0),U))=""
 ;Set up XMY for MEMBERS REMOTE
 S MEM=0 F  S MEM=$O(^XMB(3.8,GRPIEN,6,MEM)) Q:'MEM  S XMY($P(^XMB(3.8,GRPIEN,6,MEM,0),U))=""
 Q:'$D(XMY)
 S XMDUZ=GRP
 D XMZ^XMA2 ; call Create Message Module
 D EN1^XMD
 Q  ;
 ;
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HGMRCIAC3   1620     printed  Sep 23, 2025@19:21:55                                                                                                                                                                                                    Page 2
GMRCIAC3  ;ALB/WTC - FILE IFC ACTIVITIES CONT'D ; Jan 27, 2025@06:03:05
 +1       ;;3.0;CONSULT/REQUEST TRACKING;**201,205**;DEC 27, 1997;Build 3
 +2       ;
 +3       ;
           QUIT 
 +4       ;
ERR206(MSGID,EDIPI,CRNRORDR,ORDRDESC,ORDRDATE,GMRCMSG) ;
 +1       ;
 +2       ;  Special processing for error code 206 ICN Missing from Incoming Order
 +3       ;
 +4       ;  MSGID    = HL7 Message ID
 +5       ;  EDIPI    = Patient's EDIPI
 +6       ;  CRNRORDR = Cerner order number
 +7       ;  ORDRDESC = Order description
 +8       ;  ORDRDATE = Date of order
 +9       ;  GMRCMSG  = Name of array where HL7 message is stored
 +10      ;
 +11      ;  Set do not purge flag for incoming order.
 +12      ;
 +13      ;
           IF $GET(HLMTIENS)
               NEW RTNCODE
               SET RTNCODE=$$SETPURG^HLUTIL(1)
 +14      ;
 +15      ;  Send Application rejection ACK.
 +16      ;
 +17      ;
           DO APPACK^GMRCIAC2(0,"AR",206,1,MSGID,GMRCMSG)
 +18      ;
 +19      ;  Log message for later re-processing.
 +20      ;
 +21      ;
           DO LOGMSG^GMRCIUTL("","",MSGID,206)
 +22      ;
 +23      ;  Send mail message.
 +24      ;
 +25      ;
           NEW XMSUB,XMDUZ,XMTEXT,XMY,GRPIEN,MEM,GRP
 +26      ;
           SET GRP="DGEN ELIGIBILITY ALERT"
 +27      ;
           SET XMSUB="Failed IFC transaction: ICN Missing from Order (Error 206)"
           SET XMTEXT="XMTEXT("
 +28      ;
           SET XMTEXT(1)="Message ID: "_MSGID
 +29      ;
           SET XMTEXT(2)="EDIPI: "_EDIPI
 +30      ;
           SET XMTEXT(3)="Cerner Order Number: "_CRNRORDR
 +31      ;
           SET XMTEXT(4)="Order Description: "_ORDRDESC
 +32      ;
           SET XMTEXT(5)="Order Date: "_$$FMTE^XLFDT(ORDRDATE)
 +33       SET GRPIEN=$ORDER(^XMB(3.8,"B",GRP,""))
           if 'GRPIEN
               QUIT 
 +34      ;Set up XMY for MEMBERS
 +35       SET MEM=0
           FOR 
               SET MEM=$ORDER(^XMB(3.8,GRPIEN,1,MEM))
               if 'MEM
                   QUIT 
               SET XMY($PIECE(^XMB(3.8,GRPIEN,1,MEM,0),U))=""
 +36      ;Set up XMY for MEMBERS REMOTE
 +37       SET MEM=0
           FOR 
               SET MEM=$ORDER(^XMB(3.8,GRPIEN,6,MEM))
               if 'MEM
                   QUIT 
               SET XMY($PIECE(^XMB(3.8,GRPIEN,6,MEM,0),U))=""
 +38       if '$DATA(XMY)
               QUIT 
 +39       SET XMDUZ=GRP
 +40      ; call Create Message Module
           DO XMZ^XMA2
 +41       DO EN1^XMD
 +42      ;
           QUIT 
 +43      ;