GMRCSTS ;SLC/DLT,JFR,MA - Group update status of consult and order; 11/25/2000 ;;3.0;CONSULT/REQUEST TRACKING;**8,18,21**;DEC 27, 1997 ; Patch 18 - Change UPDCMT to use Editor to add comment and ; Added Scheduled consults to selection list. ; Patch 21 - Added warning message in line tag WARNING(). ; This routine invokes IA #2876,3121 N GMRCTO,GMRCDG,GMRCSVC,GMRCSVCN,GMRCEND,GMRCSTRT,GMRCSTOP,GMRCGRP N GMRCCVT,GMRCM,GMRCMT,GMRCDO,DIR,DIROUT,DIRUT,DTOUT,DUOUT D GETSRV I 'GMRCDG D END Q D GETDTR I GMRCEND D END Q S GMRCM=$$METHOD I GMRCEND D END Q S GMRCCVT=$$UPD1 I GMRCEND D END Q D UPDCMT(.GMRCMT) D VERIFY I GMRCEND D END Q D GETENTS^GMRCSTS1(GMRCSVC,GMRCSTRT,GMRCSTOP,GMRCM) S GMRCDO=$$WHATTODO I 'GMRCDO D END Q D DEVICE I $G(GMRCEND) D END Q I $D(IO("Q")) D QUEUE,^%ZISC,END Q D PRINT^GMRCSTS1(GMRCM,GMRCCVT,GMRCSVC,.GMRCMT,GMRCSTRT,GMRCSTOP,GMRCDO) D END Q GETSRV ;Get a service that the user is authorized to update status for D ^GMRCASV Q:'GMRCDG S GMRCSVC=+GMRCDG,GMRCSVCN=$P($G(^GMR(123.5,+GMRCSVC,0)),U,1) I $P($G(^GMR(123.5,+GMRCDG,0)),"^",4)=DUZ Q ;user has special privileges ;Check for parent service authorization N AUTH,PARENT I $P(^GMR(123.5,1,0),U,4)=DUZ Q S (AUTH,PARENT)=0 F S PARENT=$O(^GMR(123.5,"APC",+GMRCDG,PARENT)) Q:'PARENT S:$P($G(^GMR(123.5,+PARENT,0)),U,4)=DUZ AUTH=PARENT I 'AUTH D UNAUTH S GMRCDG=0 G GETSRV Q ; UNAUTH ;Unauthorized to do special update processing for service or its parent. N GMRCMSG W ! S GMRCMSG="You are not defined as the SPECIAL UPDATES INDIVIDUAL for the" S GMRCMSG(1)=GMRCSVCN_" service or its parent service." S GMRCDG=0 D EXAC^GMRCADC(.GMRCMSG) Q ; GETDTR ;Get the date range ;END=# of days (T-END) for stop default limitations ;GMRCSTRT=Start date/time ;GMRCSTOP=Stop date/time ;GMRCEND=1 if user timed out or "^" S GMRCEND=0 N X1,X2,X,END S X1=$$DT^XLFDT,X2=-30 D C^%DTC S END=X K X D START Q:GMRCEND D STOP Q:GMRCEND Q ; START ;Get the start date N DIR,Y,ORDER,FIRST,GMRCIEN S ORDER=$O(^GMR(123,"AC",0)),GMRCIEN=$O(^GMR(123,"AC",+ORDER,"")) I +$G(GMRCIEN) D . S Y=$P($G(^GMR(123,GMRCIEN,0)),U,1) . X ^DD("DD") S FIRST=$P(Y,"@",1) . S DIR("B")=FIRST . W !!,"The first order in Consults has an entry date of "_DIR("B"),! . Q S DIR(0)="D^:"_END_":AEX",DIR("A")="Update Status Start Date" S DIR("?")="^D HELP^%DTC" D ^DIR I ($D(DTOUT)!$D(DUOUT)!$D(DIRUT)!$D(DIROUT)!('Y)) S GMRCEND=1 Q S GMRCSTRT=Y Q ; STOP ;Get the stop date N DIR,Y,X S DIR(0)="D^:"_END_":AEX",DIR("A")="Update Status Stop Date" D ^DIR I ($D(DTOUT)!$D(DUOUT)!$D(DIRUT)!$D(DIROUT)!('Y)) S GMRCEND=1 Q I Y