- GMRCMCP ;SLC/DLT - List Manager Format Routine To Collect Medicine Package Consults and format them for display by List Manager. ;5/20/98 14:20
- ;;3.0;CONSULT/REQUEST TRACKING;**1**;DEC 27, 1997
- EN ;;Main List Manager Entry Point To Medicine Package Interface
- S GMRCFL=1 K GMRCQUT,Y,GMRCOER
- I +$P($G(^GMR(123.9,1,0)),"^",2) D Q:$D(GMRCQUT)
- .S DIC="^GMR(123.9,1,123,",DIC("P")=$P(^DD(123.9,2,0),"^",2),DIC("A")="SELECT Division/Site Medical Service: ",DIC(0)="AEMQZ",DA=2,DA(1)=.01
- .D ^DIC K DIC,DA I $S($D(DTOUT):1,$D(DUOUT):1,Y<1:1,1:0) S GMRCQUT=1 K GMRCFL,DIROUT,DTOUT,DUOUT Q
- .S (GMRCSS,GMRCSVCN)=$P(Y,"^",2),GMRCSSNM=$P(^GMR(123.5,GMRCSS,0),"^",1)
- .Q
- E S GMRCSVCN=2,GMRCSSNM="MEDICINE",GMRCSS=$O(^GMR(123.5,"B",GMRCSSNM,"")) I 'GMRCSS D EXIT S GMRCQUT=1 Q
- S GMRCDG=GMRCSVCN D SERV1^GMRCASV
- S Y=$P(^GMR(123.5,GMRCSS,0),"^") I '$L(Y) S GMRCQUT=1 Q
- D SELPR^GMRCS I $D(GMRCQUT),GMRCQUT D EXIT Q
- S Y=$P($G(^GMR(123.5,GMRCSS,123)),"^",2) I '$L(Y) D EXIT S GMRCMSG=GMRCSSNM_" Has No Procedures Associated With It!! STOPPING..." D EXAC^GMRCADC(GMRCMSG) K GMRCMSG S GMRCQUT=1 Q
- S GMRCPRNM=$E($P(^ORD(101,GMRCPR,0),"^",1),7,99),GMRCFLG=1
- I $D(GMRCFL1) Q
- SP ;Select a patient
- I $D(IOTM),$D(IOBM),$D(IOSTBM) D FULL^VALM1
- D SP^GMRCSLM I $D(GMRCQUT) D EXIT Q
- I $D(GMRCPRNM) S GMRC=$O(^ORD(101,"B","GMRCR "_GMRCPRNM,0)),GMRCTYPE="GMRCOR REQUEST"
- E I $D(GMRCPR) S GMRC=GMRCPR,GMRCTYPE="GMRCOR REQUEST"
- I $D(GMRC("NMBR")) D RESET^GMRCSLMV(GMRC("NMBR")) K GMRC("NMBR")
- I $D(GMRC)=1!($D(GMRC)=11),+GMRC D
- .S GMRCVP=GMRC_";ORD(101,",GMRCNM=$S($D(^ORD(101,GMRC,0)):$P(^(0),"^",2),1:"")
- .Q
- I $D(GMRC)=1!($D(GMRC)=11),+GMRC D
- .S ^TMP("GMRCS",$J,GMRCSS)=GMRCSSNM
- DT K GMRCQUT,GMRCQIT
- S %DT="AEP",%DT("A")="List From Start Date: ALL DATES// " D ^%DT I Y<1&(X="^") S GMRCQUT=1 D EXIT Q
- S GMRCDT1=$S(Y>1:$P(Y,"^",1),Y<0:"ALL",1:"") S:Y>0 Y=$P(Y,".",1) W:GMRCDT1="ALL" "ALL CONSULTS"
- S GMRCDT2=0 I GMRCDT1'="ALL" S %DT="AEP",%DT("A")="List To End Date: " F D ^%DT S GMRCDT2=$S(Y<0:0,1:$P(Y,"^",1)) S:Y>0 Y=$P(Y,".",1) Q:Y>0 I Y<0&(X="^") D EXIT S GMRCQUT=1 Q
- Q:($D(GMRCQUT))
- D AD^GMRCSLM1
- EXIT ;Kill off variables
- I $D(IOTM),$D(IOBM) S VALMBCK="R"
- K DOC,GMRCBM,GMRCDFNS,GMRCFL1,GMRCFL,GMRCFLG,GMRCQUIT,GMRCRB,GMRCSNM,GMRCSSS,GMRCSTCK,GMRCSVCP,GMRCTYPE,GMRCTM,GMRCTX,GMRCWD,GMRCDG
- Q
- SPEN ;Entry point for List Manager to select only a patient, not dates or procedures
- S GMRCFL=1
- D SP
- D EXIT Q
- Q
- ENP ;Entry point to select only a new procedure
- I $D(IOTM),$D(IOBM),$D(IOSTBM) D FULL^VALM1
- S GMRCFL1=1
- D EN G:'$D(GMRCPR) EXIT
- S (GMRCVP,GMRC)=GMRCPR_";ORD(101,",GMRCNM=$S($D(^ORD(101,GMRC,0)):$P(^(0),"^",2),1:"")
- D DT
- I $D(GMRC("NMBR")) D RESET^GMRCSLMV(GMRC("NMBR")) K GMRC("NMBR")
- D EXIT
- Q
- GMRCMCP ;SLC/DLT - List Manager Format Routine To Collect Medicine Package Consults and format them for display by List Manager. ;5/20/98 14:20
- +1 ;;3.0;CONSULT/REQUEST TRACKING;**1**;DEC 27, 1997
- EN ;;Main List Manager Entry Point To Medicine Package Interface
- +1 SET GMRCFL=1
- KILL GMRCQUT,Y,GMRCOER
- +2 IF +$PIECE($GET(^GMR(123.9,1,0)),"^",2)
- Begin DoDot:1
- +3 SET DIC="^GMR(123.9,1,123,"
- SET DIC("P")=$PIECE(^DD(123.9,2,0),"^",2)
- SET DIC("A")="SELECT Division/Site Medical Service: "
- SET DIC(0)="AEMQZ"
- SET DA=2
- SET DA(1)=.01
- +4 DO ^DIC
- KILL DIC,DA
- IF $SELECT($DATA(DTOUT):1,$DATA(DUOUT):1,Y<1:1,1:0)
- SET GMRCQUT=1
- KILL GMRCFL,DIROUT,DTOUT,DUOUT
- QUIT
- +5 SET (GMRCSS,GMRCSVCN)=$PIECE(Y,"^",2)
- SET GMRCSSNM=$PIECE(^GMR(123.5,GMRCSS,0),"^",1)
- +6 QUIT
- End DoDot:1
- IF $DATA(GMRCQUT)
- QUIT
- +7 IF '$TEST
- SET GMRCSVCN=2
- SET GMRCSSNM="MEDICINE"
- SET GMRCSS=$ORDER(^GMR(123.5,"B",GMRCSSNM,""))
- IF 'GMRCSS
- DO EXIT
- SET GMRCQUT=1
- QUIT
- +8 SET GMRCDG=GMRCSVCN
- DO SERV1^GMRCASV
- +9 SET Y=$PIECE(^GMR(123.5,GMRCSS,0),"^")
- IF '$LENGTH(Y)
- SET GMRCQUT=1
- QUIT
- +10 DO SELPR^GMRCS
- IF $DATA(GMRCQUT)
- IF GMRCQUT
- DO EXIT
- QUIT
- +11 SET Y=$PIECE($GET(^GMR(123.5,GMRCSS,123)),"^",2)
- IF '$LENGTH(Y)
- DO EXIT
- SET GMRCMSG=GMRCSSNM_" Has No Procedures Associated With It!! STOPPING..."
- DO EXAC^GMRCADC(GMRCMSG)
- KILL GMRCMSG
- SET GMRCQUT=1
- QUIT
- +12 SET GMRCPRNM=$EXTRACT($PIECE(^ORD(101,GMRCPR,0),"^",1),7,99)
- SET GMRCFLG=1
- +13 IF $DATA(GMRCFL1)
- QUIT
- SP ;Select a patient
- +1 IF $DATA(IOTM)
- IF $DATA(IOBM)
- IF $DATA(IOSTBM)
- DO FULL^VALM1
- +2 DO SP^GMRCSLM
- IF $DATA(GMRCQUT)
- DO EXIT
- QUIT
- +3 IF $DATA(GMRCPRNM)
- SET GMRC=$ORDER(^ORD(101,"B","GMRCR "_GMRCPRNM,0))
- SET GMRCTYPE="GMRCOR REQUEST"
- +4 IF '$TEST
- IF $DATA(GMRCPR)
- SET GMRC=GMRCPR
- SET GMRCTYPE="GMRCOR REQUEST"
- +5 IF $DATA(GMRC("NMBR"))
- DO RESET^GMRCSLMV(GMRC("NMBR"))
- KILL GMRC("NMBR")
- +6 IF $DATA(GMRC)=1!($DATA(GMRC)=11)
- IF +GMRC
- Begin DoDot:1
- +7 SET GMRCVP=GMRC_";ORD(101,"
- SET GMRCNM=$SELECT($DATA(^ORD(101,GMRC,0)):$PIECE(^(0),"^",2),1:"")
- +8 QUIT
- End DoDot:1
- +9 IF $DATA(GMRC)=1!($DATA(GMRC)=11)
- IF +GMRC
- Begin DoDot:1
- +10 SET ^TMP("GMRCS",$JOB,GMRCSS)=GMRCSSNM
- End DoDot:1
- DT KILL GMRCQUT,GMRCQIT
- +1 SET %DT="AEP"
- SET %DT("A")="List From Start Date: ALL DATES// "
- DO ^%DT
- IF Y<1&(X="^")
- SET GMRCQUT=1
- DO EXIT
- QUIT
- +2 SET GMRCDT1=$SELECT(Y>1:$PIECE(Y,"^",1),Y<0:"ALL",1:"")
- IF Y>0
- SET Y=$PIECE(Y,".",1)
- IF GMRCDT1="ALL"
- WRITE "ALL CONSULTS"
- +3 SET GMRCDT2=0
- IF GMRCDT1'="ALL"
- SET %DT="AEP"
- SET %DT("A")="List To End Date: "
- FOR
- DO ^%DT
- SET GMRCDT2=$SELECT(Y<0:0,1:$PIECE(Y,"^",1))
- IF Y>0
- SET Y=$PIECE(Y,".",1)
- IF Y>0
- QUIT
- IF Y<0&(X="^")
- DO EXIT
- SET GMRCQUT=1
- QUIT
- +4 IF ($DATA(GMRCQUT))
- QUIT
- +5 DO AD^GMRCSLM1
- EXIT ;Kill off variables
- +1 IF $DATA(IOTM)
- IF $DATA(IOBM)
- SET VALMBCK="R"
- +2 KILL DOC,GMRCBM,GMRCDFNS,GMRCFL1,GMRCFL,GMRCFLG,GMRCQUIT,GMRCRB,GMRCSNM,GMRCSSS,GMRCSTCK,GMRCSVCP,GMRCTYPE,GMRCTM,GMRCTX,GMRCWD,GMRCDG
- +3 QUIT
- SPEN ;Entry point for List Manager to select only a patient, not dates or procedures
- +1 SET GMRCFL=1
- +2 DO SP
- +3 DO EXIT
- QUIT
- +4 QUIT
- ENP ;Entry point to select only a new procedure
- +1 IF $DATA(IOTM)
- IF $DATA(IOBM)
- IF $DATA(IOSTBM)
- DO FULL^VALM1
- +2 SET GMRCFL1=1
- +3 DO EN
- IF '$DATA(GMRCPR)
- GOTO EXIT
- +4 SET (GMRCVP,GMRC)=GMRCPR_";ORD(101,"
- SET GMRCNM=$SELECT($DATA(^ORD(101,GMRC,0)):$PIECE(^(0),"^",2),1:"")
- +5 DO DT
- +6 IF $DATA(GMRC("NMBR"))
- DO RESET^GMRCSLMV(GMRC("NMBR"))
- KILL GMRC("NMBR")
- +7 DO EXIT
- +8 QUIT