GMRCIAIT ;SLC/JFR - PRINT ALL INC. IFC TRANSACTIONS; 12/18/02 09:11
;;3.0;CONSULT/REQUEST TRACKING;**30**;DEC 27, 1997
EN ; get the device to use
N %ZIS,POP
S %ZIS="QM" D ^%ZIS
I POP D HOME^%ZIS Q
I $D(IO("Q")) D D ^%ZISC,HOME^%ZIS Q
. N ZTRTN,ZTSK,ZTIO,ZTDTH,ZTDESC
. S ZTRTN="RPT^GMRCIAIT",ZTDESC="Incomplete IFC Transaction report"
. S ZTIO=ION,ZTDTH=$H
. D ^%ZTLOAD
. I $G(ZTSK) W !,"Queued to Print, Task # ",ZTSK
. E W !,"Sorry, Try again Later"
D RPT
D ^%ZISC,HOME^%ZIS
Q
RPT ; sort logic
I $D(ZTQUEUED) S ZTREQ="@"
U IO
N GMRCDA,GMRCPAGE,GMRCQT
S GMRCDA=0,GMRCPAGE=1
I '$O(^GMR(123.6,"AC",GMRCDA)) D HDR(.GMRCPAGE),NOREC Q
D HDR(.GMRCPAGE)
F S GMRCDA=$O(^GMR(123.6,"AC",GMRCDA)) Q:'GMRCDA!($D(GMRCQT)) D
. I $Y>(IOSL-9) D Q:$D(GMRCQT)
.. N DIR,DIRUT,DIROUT,DUOUT,DTOUT
.. ;W !
.. I $E(IOST,1,2)="C-" S DIR(0)="E" D ^DIR
.. I $D(DIRUT) S GMRCQT=1 Q
.. D HDR(.GMRCPAGE)
. W !!,?11,"CONSULT/REQUEST #: ",GMRCDA
. N GMRCACT,GMRCLOG
. S GMRCACT=0
. F S GMRCACT=$O(^GMR(123.6,"AC",GMRCDA,GMRCACT)) Q:'GMRCACT!($D(GMRCQT)) D
.. S GMRCLOG=$O(^GMR(123.6,"AC",GMRCDA,GMRCACT,1,0)) Q:'GMRCLOG
.. I $Y>(IOSL-8) D Q:$D(GMRCQT)
... N DIR,DIRUT,DIROUT,DUOUT,DTOUT
... ;W !
... I $E(IOST,1,2)="C-" S DIR(0)="E" D ^DIR
... I $D(DIRUT) S GMRCQT=1 Q
... D HDR(.GMRCPAGE)
.. D PRTLOG(GMRCLOG,GMRCDA,GMRCACT)
.. Q
. Q
Q
PRTLOG(LOG,CSLT,ACTVT) ;print the formatted entry
;
; Input:
; LOG = ien from file 123.6
; CSLT = ien from file 123 associated with LOG
; ACTVT = activity within CSLT that is incomplete
;
N GMRCMSG,GMRCPT,GMRCSSN,GMRCERR,GMRCDT
N GMRCFAC,GMRCSER,GMRCTRAN,GMRCLOG0,GMRCDTR
S GMRCLOG0=$G(^GMR(123.6,LOG,0)) I '$L(GMRCLOG0) Q
S GMRCDT=$$FMTE^XLFDT($P(GMRCLOG0,U),2)
S GMRCFAC=$$GET1^DIQ(4,$P(GMRCLOG0,U,2),.01)
S GMRCMSG=$P(GMRCLOG0,U,3)
S GMRCTRAN=$P(GMRCLOG0,U,7)
S GMRCERR=$$GET1^DIQ(123.6,LOG,.08)
S GMRCSER=$$GET1^DIQ(123,CSLT,1)
S GMRCPT=$$GET1^DIQ(123,CSLT,.02,"I")
S GMRCDTR=$$FMTE^XLFDT($$GET1^DIQ(123,CSLT,.01,"I"),2)
S GMRCSSN=$$GET1^DIQ(2,GMRCPT,.09)
S GMRCPT=$$GET1^DIQ(2,GMRCPT,.01)
W !!,?2,"Date/Time last transmitted: ",GMRCDT
W ?51,"Trans. attempts: ",GMRCTRAN
W !,?2,"Facility: ",GMRCFAC,?51,"Message: ",GMRCMSG
W !,?2,"Consult #: ",CSLT,?51,"Activity: ",ACTVT
W !,?2,"Patient name: ",GMRCPT,?51,"SSN: ",GMRCSSN
W !,?2,"Ordered Service: ",$E(GMRCSER,1,31),?51,"Req. date: ",GMRCDTR
W !,?2,"Error: ",GMRCERR
Q
NOREC ; print the no records found message
W !,?5,"No incomplete IFC Transactions to report",!
Q
HDR(PAGE) ; print the page hdr and increment page number
;
W @IOF
W "Incomplete IFC Transaction Report"
W ?44,$$FMTE^XLFDT($$NOW^XLFDT),?69,"Page: ",PAGE
W !,$$REPEAT^XLFSTR("-",78)
S PAGE=PAGE+1
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HGMRCIAIT 2805 printed Nov 22, 2024@16:56:08 Page 2
GMRCIAIT ;SLC/JFR - PRINT ALL INC. IFC TRANSACTIONS; 12/18/02 09:11
+1 ;;3.0;CONSULT/REQUEST TRACKING;**30**;DEC 27, 1997
EN ; get the device to use
+1 NEW %ZIS,POP
+2 SET %ZIS="QM"
DO ^%ZIS
+3 IF POP
DO HOME^%ZIS
QUIT
+4 IF $DATA(IO("Q"))
Begin DoDot:1
+5 NEW ZTRTN,ZTSK,ZTIO,ZTDTH,ZTDESC
+6 SET ZTRTN="RPT^GMRCIAIT"
SET ZTDESC="Incomplete IFC Transaction report"
+7 SET ZTIO=ION
SET ZTDTH=$HOROLOG
+8 DO ^%ZTLOAD
+9 IF $GET(ZTSK)
WRITE !,"Queued to Print, Task # ",ZTSK
+10 IF '$TEST
WRITE !,"Sorry, Try again Later"
End DoDot:1
DO ^%ZISC
DO HOME^%ZIS
QUIT
+11 DO RPT
+12 DO ^%ZISC
DO HOME^%ZIS
+13 QUIT
RPT ; sort logic
+1 IF $DATA(ZTQUEUED)
SET ZTREQ="@"
+2 USE IO
+3 NEW GMRCDA,GMRCPAGE,GMRCQT
+4 SET GMRCDA=0
SET GMRCPAGE=1
+5 IF '$ORDER(^GMR(123.6,"AC",GMRCDA))
DO HDR(.GMRCPAGE)
DO NOREC
QUIT
+6 DO HDR(.GMRCPAGE)
+7 FOR
SET GMRCDA=$ORDER(^GMR(123.6,"AC",GMRCDA))
if 'GMRCDA!($DATA(GMRCQT))
QUIT
Begin DoDot:1
+8 IF $Y>(IOSL-9)
Begin DoDot:2
+9 NEW DIR,DIRUT,DIROUT,DUOUT,DTOUT
+10 ;W !
+11 IF $EXTRACT(IOST,1,2)="C-"
SET DIR(0)="E"
DO ^DIR
+12 IF $DATA(DIRUT)
SET GMRCQT=1
QUIT
+13 DO HDR(.GMRCPAGE)
End DoDot:2
if $DATA(GMRCQT)
QUIT
+14 WRITE !!,?11,"CONSULT/REQUEST #: ",GMRCDA
+15 NEW GMRCACT,GMRCLOG
+16 SET GMRCACT=0
+17 FOR
SET GMRCACT=$ORDER(^GMR(123.6,"AC",GMRCDA,GMRCACT))
if 'GMRCACT!($DATA(GMRCQT))
QUIT
Begin DoDot:2
+18 SET GMRCLOG=$ORDER(^GMR(123.6,"AC",GMRCDA,GMRCACT,1,0))
if 'GMRCLOG
QUIT
+19 IF $Y>(IOSL-8)
Begin DoDot:3
+20 NEW DIR,DIRUT,DIROUT,DUOUT,DTOUT
+21 ;W !
+22 IF $EXTRACT(IOST,1,2)="C-"
SET DIR(0)="E"
DO ^DIR
+23 IF $DATA(DIRUT)
SET GMRCQT=1
QUIT
+24 DO HDR(.GMRCPAGE)
End DoDot:3
if $DATA(GMRCQT)
QUIT
+25 DO PRTLOG(GMRCLOG,GMRCDA,GMRCACT)
+26 QUIT
End DoDot:2
+27 QUIT
End DoDot:1
+28 QUIT
PRTLOG(LOG,CSLT,ACTVT) ;print the formatted entry
+1 ;
+2 ; Input:
+3 ; LOG = ien from file 123.6
+4 ; CSLT = ien from file 123 associated with LOG
+5 ; ACTVT = activity within CSLT that is incomplete
+6 ;
+7 NEW GMRCMSG,GMRCPT,GMRCSSN,GMRCERR,GMRCDT
+8 NEW GMRCFAC,GMRCSER,GMRCTRAN,GMRCLOG0,GMRCDTR
+9 SET GMRCLOG0=$GET(^GMR(123.6,LOG,0))
IF '$LENGTH(GMRCLOG0)
QUIT
+10 SET GMRCDT=$$FMTE^XLFDT($PIECE(GMRCLOG0,U),2)
+11 SET GMRCFAC=$$GET1^DIQ(4,$PIECE(GMRCLOG0,U,2),.01)
+12 SET GMRCMSG=$PIECE(GMRCLOG0,U,3)
+13 SET GMRCTRAN=$PIECE(GMRCLOG0,U,7)
+14 SET GMRCERR=$$GET1^DIQ(123.6,LOG,.08)
+15 SET GMRCSER=$$GET1^DIQ(123,CSLT,1)
+16 SET GMRCPT=$$GET1^DIQ(123,CSLT,.02,"I")
+17 SET GMRCDTR=$$FMTE^XLFDT($$GET1^DIQ(123,CSLT,.01,"I"),2)
+18 SET GMRCSSN=$$GET1^DIQ(2,GMRCPT,.09)
+19 SET GMRCPT=$$GET1^DIQ(2,GMRCPT,.01)
+20 WRITE !!,?2,"Date/Time last transmitted: ",GMRCDT
+21 WRITE ?51,"Trans. attempts: ",GMRCTRAN
+22 WRITE !,?2,"Facility: ",GMRCFAC,?51,"Message: ",GMRCMSG
+23 WRITE !,?2,"Consult #: ",CSLT,?51,"Activity: ",ACTVT
+24 WRITE !,?2,"Patient name: ",GMRCPT,?51,"SSN: ",GMRCSSN
+25 WRITE !,?2,"Ordered Service: ",$EXTRACT(GMRCSER,1,31),?51,"Req. date: ",GMRCDTR
+26 WRITE !,?2,"Error: ",GMRCERR
+27 QUIT
NOREC ; print the no records found message
+1 WRITE !,?5,"No incomplete IFC Transactions to report",!
+2 QUIT
HDR(PAGE) ; print the page hdr and increment page number
+1 ;
+2 WRITE @IOF
+3 WRITE "Incomplete IFC Transaction Report"
+4 WRITE ?44,$$FMTE^XLFDT($$NOW^XLFDT),?69,"Page: ",PAGE
+5 WRITE !,$$REPEAT^XLFSTR("-",78)
+6 SET PAGE=PAGE+1
+7 QUIT