source: FOIAVistA/tag/r/SCHEDULING-SD-SC/SCMCMU.m@ 1540

Last change on this file since 1540 was 628, checked in by George Lilly, 15 years ago

initial load of FOIAVistA 6/30/08 version

File size: 3.3 KB
Line 
1SCMCMU ;ALB/MJK - PCMM Mass Team/Position Unassignment Utility ; 10 Jul 98
2 ;;5.3;Scheduling;**148**;AUG 13, 1993
3 ;
4EN ; -- entry point for mass unassignment (mu)
5 ;
6 N SCMUTYPE,SCTEAM,SCPOS,SCABORT,SCDATE,SCDIS,SCTPDIS
7 ;
8 S (SCTEAM,SCPOS,SCDIS)=0
9 S SCABORT=-1
10 ;
11 ; -- get type of md (team or position)
12 S SCMUTYPE=$$TYPE()
13 IF SCMUTYPE=SCABORT G ENQ
14 ;
15 ; -- get effective date
16 S SCDATE=$$DATE()
17 IF SCDATE=SCABORT G ENQ
18 ;
19 ; -- get team
20 S SCTEAM=$$TEAM(SCDATE)
21 IF SCTEAM=SCABORT G ENQ
22 ;
23 ; -- get position if position md
24 IF SCMUTYPE="T" D IF SCDIS=SCABORT G ENQ
25 . S SCDIS=$$TMDIS(SCTEAM,SCDATE,.SCTPDIS)
26 ;
27 ; -- get position if position md
28 IF SCMUTYPE="P" D IF SCPOS=SCABORT!(SCDIS=SCABORT) G ENQ
29 . S SCPOS=$$POS(SCTEAM,SCDATE)
30 . S SCDIS=$$TPDIS(SCPOS,.SCTPDIS)
31 ;
32 ; -- call lm routine
33 D EN^SCMCMU1(SCTEAM,SCPOS,.SCTPDIS,SCMUTYPE,SCDATE)
34 ;
35ENQ Q
36 ;
37TYPE() ; -- get type of mu
38 N DIR,DIRUT,Y
39 S DIR(0)="SABM^T:Team;P:Position"
40 S DIR("A")="Select Type of Mass Unassignment: "
41 S DIR("B")="Team"
42 D ^DIR
43 Q $S($D(DIRUT):-1,1:Y)
44 ;
45DATE() ; -- get effective date
46 N DIR,DIRUT,Y
47 S DIR(0)="DA^::EX"
48 S DIR("A")="Effective Date: "
49 S DIR("B")="T-1"
50 D ^DIR
51 Q $S($D(DIRUT):-1,1:Y)
52 ;
53TEAM(SCDATE) ; -- get team
54 N DIC,Y,SCDTE
55 D DATE^SCMCMU1(SCDATE,.SCDTE)
56 S DIC("S")="IF +$$ACTHIST^SCAPMCU2(404.58,+Y,SCDTE)=1"
57 S DIC="^SCTM(404.51,",DIC(0)="AEQM"
58 D ^DIC
59 Q +Y
60 ;
61POS(SCTEAM,SCDATE) ; -- get position for team
62 N DIC,Y,SCDTE,SCPOS,SCPOSI,I
63 D DATE^SCMCMU1(SCDATE,.SCDTE)
64 S SCPOS=$NA(^TMP("SCMU",$J,"POSITION"))
65 K @SCPOS
66 IF '$$TPTM^SCAPMC24(SCTEAM,SCDTE,"","",SCPOS) S Y=-1 G POSQ
67 S I=0 F S I=$O(@SCPOS@(I)) Q:'I S SCPOSI(+@SCPOS@(I))=""
68 S DIC="^SCTM(404.57,"
69 S DIC(0)="AEQM"
70 S DIC("S")="IF $D(SCPOSI(+Y)),$P(^(0),U,2)=+SCTEAM,+$$ACTHIST^SCAPMCU2(404.59,+Y,SCDTE)=1"
71 D ^DIC
72POSQ K @SCPOS
73 Q +Y
74 ;
75TMDIS(SCTEAM,SCDATE,SCTPDIS) ; -- discharge patient from clinics
76 N DIR,Y,SCDTE,SCPOS,SCPOSI,I,SCOK,SCCL,SCCLNM,SCPOS0,SCTEAMNM
77 S SCOK=1
78 D DATE^SCMCMU1(SCDATE,.SCDTE)
79 W !!,">>> Checking to see if any team positions are associated with clinics..."
80 S SCPOS=$NA(^TMP("SCMU",$J,"POSITION"))
81 K @SCPOS
82 IF '$$TPTM^SCAPMC24(SCTEAM,SCDTE,"","",SCPOS) S Y=-1 G TMDISQ
83 S I=0 F S I=$O(@SCPOS@(I)) Q:'I S SCPOSI(+@SCPOS@(I))=""
84 K @SCPOS
85 S SCPOS=0
86 F S SCPOS=$O(SCPOSI(SCPOS)) Q:'SCPOS D Q:SCOK=SCABORT
87 . S SCPOS0=$G(^SCTM(404.57,+SCPOS,0))
88 . S SCCL=+$P(SCPOS0,U,9)
89 . IF 'SCCL Q
90 . S SCCLNM=$P($G(^SC(SCCL,0)),U)
91 . S SCTEAMNM=$P($G(^SCTM(404.51,SCTEAM,0),"Unknown"),U)
92 . S DIR(0)="YA"
93 . S DIR("A",1)="----------------------------------------------------------------------------"
94 . S DIR("A",2)=" Team : "_SCTEAMNM
95 . S DIR("A",3)=" Position : "_$P(SCPOS0,U)
96 . S DIR("A",4)=" Associated Clinic: "_SCCLNM
97 . S DIR("A",5)=" "
98 . S DIR("A")=">>> Do you want to discharge patients from this clinic? (Yes/No) "
99 . D ^DIR
100 . IF $D(DIRUT) S SCOK=SCABORT Q
101 . IF Y=1 S SCTPDIS(SCPOS)=1
102 . Q
103TMDISQ Q SCOK
104 ;
105TPDIS(SCPOS,SCTPDIS) ; -- discharge patient from clinic
106 N SCPOS0,SCCL,SCCL0,DIR,DIRUT,Y,SCOK
107 S SCOK=1
108 S SCPOS0=$G(^SCTM(404.57,+SCPOS,0))
109 S SCCL=+$P(SCPOS0,U,9)
110 IF 'SCCL S Y=0 G TPDISQ
111 S SCCLNM=$P($G(^SC(SCCL,0)),U)
112 S DIR(0)="YA"
113 S DIR("A",1)=" "
114 S DIR("A")="Also discharge patients from the '"_SCCLNM_"' clinic? (Yes/No) "
115 D ^DIR
116 IF $D(DIRUT) S SCOK=SCABORT
117 IF Y=1 S SCTPDIS(+SCPOS)=1
118TPDISQ Q SCOK
119 ;
Note: See TracBrowser for help on using the repository browser.