[613] | 1 | SCMCMU11 ;ALB/MJK - PCMM Mass Team/Position Unassignment ; 10-JUL-1998
|
---|
| 2 | ;;5.3;Scheduling;**148**;AUG 13, 1993
|
---|
| 3 | ;
|
---|
| 4 | ;
|
---|
| 5 | PTTPLST(SCTEAM,SCDATE,SCPTTP) ; -- create list of patients assigned to team positions
|
---|
| 6 | ; -- sort list by dfn and position ien
|
---|
| 7 | N SCPOS,SCDTE,SCPR,SCPRX
|
---|
| 8 | ;
|
---|
| 9 | ; -- check for patient-position assignments
|
---|
| 10 | D DATE^SCMCMU1(SCDATE,.SCDTE)
|
---|
| 11 | S SCPOS=$NA(^TMP("SCMU",$J,"POSITION"))
|
---|
| 12 | ;
|
---|
| 13 | ; -- get list of positions for team
|
---|
| 14 | K @SCPOS
|
---|
| 15 | IF '$$TPTM^SCAPMC24(SCTEAM,SCDTE,"","",SCPOS) S Y=-1 G PTTPLSTQ
|
---|
| 16 | S SCPR=0
|
---|
| 17 | F S SCPR=$O(@SCPOS@(SCPR)) Q:'SCPR D
|
---|
| 18 | . S SCPRX=@SCPOS@(SCPR)
|
---|
| 19 | . ; -- create sorted list of dfn by position ien
|
---|
| 20 | . D PTTP(+SCPRX,SCDATE,SCPTTP)
|
---|
| 21 | . Q
|
---|
| 22 | PTTPLSTQ K @SCPOS
|
---|
| 23 | Q
|
---|
| 24 | ;
|
---|
| 25 | PTTP(SCPOS,SCDATE,SCPTTP) ; -- create list of pats assigned to position sort by dfn, position
|
---|
| 26 | N SCPAT,SCPATX,SCPATS,SCDTE
|
---|
| 27 | D DATE^SCMCMU1(SCDATE,.SCDTE)
|
---|
| 28 | S SCPATS=$NA(^TMP("SCMU",$J,"PATIENT"))
|
---|
| 29 | K @SCPATS
|
---|
| 30 | IF '$$PTTP^SCAPMC(SCPOS,SCDTE,SCPATS) S SCOK=0 G PTTPQ
|
---|
| 31 | S SCPAT=0
|
---|
| 32 | F S SCPAT=$O(@SCPATS@(SCPAT)) Q:'SCPAT D
|
---|
| 33 | . S SCPATX=@SCPATS@(SCPAT)
|
---|
| 34 | . ; -- store by dfn / pos data
|
---|
| 35 | . S @SCPTTP@(+SCPATX,SCPOS)=SCPATX
|
---|
| 36 | . Q
|
---|
| 37 | PTTPQ K @SCPATS
|
---|
| 38 | Q
|
---|
| 39 | ;
|
---|
| 40 | UNASSIGN ; -- unassign selected
|
---|
| 41 | ; protocol: SCMC MU UNASSIGN PATIENTS
|
---|
| 42 | N DIR,Y
|
---|
| 43 | IF 'SCSELCNT D G UNQ
|
---|
| 44 | . W !!,"No patients have been selected.",!
|
---|
| 45 | . D PAUSE^SCMCMU1
|
---|
| 46 | . D BACK^SCMCMU1("")
|
---|
| 47 | . Q
|
---|
| 48 | ELSE D
|
---|
| 49 | . D FULL^VALM1
|
---|
| 50 | . W @IOF
|
---|
| 51 | . S DIR(0)="YA"
|
---|
| 52 | . D SET("----------------------------------------------------------------------------")
|
---|
| 53 | . D SET(" Team"_$S(SCMUTYPE="P":" Position",1:"")_" Unassignment Definition")
|
---|
| 54 | . D SET("----------------------------------------------------------------------------")
|
---|
| 55 | . D SET(" Team : "_$P($G(^SCTM(404.51,SCTEAM,0),"Unknown"),U))
|
---|
| 56 | . IF SCMUTYPE="P" D SET(" Position : "_$P($G(^SCTM(404.57,SCPOS,0),"Unknown"),U))
|
---|
| 57 | . D SET(" Effective Date : "_$$FMTE^XLFDT($E(SCDATE,1,7),"5Z"))
|
---|
| 58 | . D SET(" # of Patients : "_SCSELCNT)
|
---|
| 59 | . D CLINIC
|
---|
| 60 | . D SET(" ")
|
---|
| 61 | . S DIR("A")="Are you sure you want to continue? "
|
---|
| 62 | . S DIR("B")="No"
|
---|
| 63 | . D ^DIR
|
---|
| 64 | . IF Y=1 D
|
---|
| 65 | . . N DIR,SCTSK
|
---|
| 66 | . . S SCTSK=$$QUE^SCMCMU2()
|
---|
| 67 | . . IF SCTSK="" D
|
---|
| 68 | . . . D BACK^SCMCMU1("R")
|
---|
| 69 | . . ELSE D
|
---|
| 70 | . . . W !!,"Task#: ",SCTSK,!
|
---|
| 71 | . . D PAUSE^SCMCMU1
|
---|
| 72 | . . Q
|
---|
| 73 | . ELSE D
|
---|
| 74 | . . D BACK^SCMCMU1("R")
|
---|
| 75 | . . Q
|
---|
| 76 | . Q
|
---|
| 77 | UNQ Q
|
---|
| 78 | ;
|
---|
| 79 | CLINIC ; -- display clinic to be discharged from
|
---|
| 80 | N SCPOS,SCX,Y
|
---|
| 81 | D SET(" ")
|
---|
| 82 | IF '$O(SCTPDIS(0)) D G CLINICQ
|
---|
| 83 | . D SET(" Clinic Discharges: None")
|
---|
| 84 | ;
|
---|
| 85 | S Y=""
|
---|
| 86 | S Y=$$SETSTR^VALM1("Clinic Discharges:",Y,5,20)
|
---|
| 87 | S Y=$$SETSTR^VALM1("Position",Y,25,25)
|
---|
| 88 | S Y=$$SETSTR^VALM1("Associated Clinic",Y,55,25)
|
---|
| 89 | D SET(Y)
|
---|
| 90 | S Y=""
|
---|
| 91 | S Y=$$SETSTR^VALM1("--------",Y,25,25)
|
---|
| 92 | S Y=$$SETSTR^VALM1("-----------------",Y,55,25)
|
---|
| 93 | D SET(Y)
|
---|
| 94 | ;
|
---|
| 95 | S SCPOS=0
|
---|
| 96 | F S SCPOS=$O(SCTPDIS(SCPOS)) Q:'SCPOS D
|
---|
| 97 | . S SCX=$G(^SCTM(404.57,SCPOS,0),"Unknown")
|
---|
| 98 | . S Y=""
|
---|
| 99 | . S Y=$$SETSTR^VALM1($E($P(SCX,U),1,25),Y,25,25)
|
---|
| 100 | . S Y=$$SETSTR^VALM1($E($P($G(^SC(+$P(SCX,U,9),0),"Unknown"),U),1,25),Y,55,25)
|
---|
| 101 | . D SET(Y)
|
---|
| 102 | . Q
|
---|
| 103 | ;
|
---|
| 104 | CLINICQ Q
|
---|
| 105 | ;
|
---|
| 106 | SET(X) ; -- set DIR text
|
---|
| 107 | S DIR("A",$O(DIR("A",""),-1)+1)=X
|
---|
| 108 | Q
|
---|
| 109 | ;
|
---|
| 110 | QUIT ; -- quit logic
|
---|
| 111 | ; protocol: SCMC MU QUIT
|
---|
| 112 | N DIR,Y
|
---|
| 113 | S Y=0
|
---|
| 114 | IF SCSELCNT D
|
---|
| 115 | . W !
|
---|
| 116 | . S DIR(0)="YA"
|
---|
| 117 | . S DIR("A",1)="You have "_SCSELCNT_" patient"_$S(SCSELCNT=1:"",1:"s")_" selected."
|
---|
| 118 | . S DIR("A",2)=" "
|
---|
| 119 | . S DIR("A")="Are you sure you want to quit? "
|
---|
| 120 | . S DIR("B")="No"
|
---|
| 121 | . D ^DIR
|
---|
| 122 | . IF Y'=1 D BACK^SCMCMU1("")
|
---|
| 123 | . Q
|
---|
| 124 | Q
|
---|
| 125 | ;
|
---|