| 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 |  ;
 | 
|---|