| 1 | SCMCCV3 ;bp/cmf - 195 Test/177 File - 404.57 preceptors to 404.53 ; Sep 1999 | 
|---|
| 2 | ;;5.3;Scheduling;**195,177**;AUG 13, 1993 | 
|---|
| 3 | ; | 
|---|
| 4 | Q | 
|---|
| 5 | ; | 
|---|
| 6 | ENXPD D EN(1) Q | 
|---|
| 7 | ; | 
|---|
| 8 | ENPRE D EN(0) Q | 
|---|
| 9 | ; | 
|---|
| 10 | EN(SCF) ;input = 1: Postinit(file) | 
|---|
| 11 | ;      = 0: PrePatch(validate) | 
|---|
| 12 | ; | 
|---|
| 13 | N SCY,SCI,SCTM,SCTP,SCREASON,SCZSTOP | 
|---|
| 14 | K ^TMP("SCMC",$J) | 
|---|
| 15 | S SCI=1 | 
|---|
| 16 | D BLDI("") | 
|---|
| 17 | D BLDI($S(SCF:$$S(1),1:$$S(3))) | 
|---|
| 18 | D BLDI($$DTU()) | 
|---|
| 19 | D BLDI($S(SCF:$$S(2),1:$$S(4))) | 
|---|
| 20 | D BLDI("") | 
|---|
| 21 | I SCF D  I 'SCREASON D BLD($$S(16)) G MAIL | 
|---|
| 22 | . S SCREASON=+$$FIND1^DIC(403.44,"","X","ACTIVATE PRECEPTOR LINK") | 
|---|
| 23 | . Q | 
|---|
| 24 | ; | 
|---|
| 25 | LOOP S SCZSTOP=0 | 
|---|
| 26 | S SCTMNM="" | 
|---|
| 27 | F  S SCTMNM=$O(^SCTM(404.51,"B",SCTMNM)) Q:(SCTMNM="")!(SCZSTOP)  D | 
|---|
| 28 | . S SCZSTOP=$S($$S^%ZTLOAD:1,1:0) | 
|---|
| 29 | . Q:SCZSTOP | 
|---|
| 30 | . S SCTM=$O(^SCTM(404.51,"B",SCTMNM,0)) | 
|---|
| 31 | . Q:'+$$ACTTM^SCMCTMU(SCTM)        ;team inactive | 
|---|
| 32 | . Q:'$D(^SCTM(404.57,"C",SCTM))    ;no team positions | 
|---|
| 33 | . S SCTM(0)=1 | 
|---|
| 34 | . S SCTP=0                         ;team position ien | 
|---|
| 35 | . F  S SCTP=$O(^SCTM(404.57,"C",SCTM,SCTP)) Q:('SCTP)!(SCZSTOP)  D | 
|---|
| 36 | . . S SCZSTOP=$S($$S^%ZTLOAD:1,1:0) | 
|---|
| 37 | . . Q:SCZSTOP | 
|---|
| 38 | . . S SCTP0=^SCTM(404.57,SCTP,0)   ;team position node | 
|---|
| 39 | . . Q:'+$P(SCTP0,U,10)             ;no preceptor entry | 
|---|
| 40 | . . S SCTPNM=$P(SCTP0,U) | 
|---|
| 41 | . . S SCTP(0)=1 | 
|---|
| 42 | . . Q:$$AS(SCTP,SCTPNM,25)         ;already seeded | 
|---|
| 43 | . . Q:'+$$ACTTP(SCTP)              ;not active | 
|---|
| 44 | . . S SCTPFLAG=0 | 
|---|
| 45 | . . D SCII | 
|---|
| 46 | . . I +$P(SCTP0,U,12) D SCY(6,SCTPNM,8) Q:$$SCF() | 
|---|
| 47 | . . S SCTPP=+$P(SCTP0,U,10)        ;preceptor team position ien | 
|---|
| 48 | . . I SCTPP=SCTP D SCY(6,SCTPNM,9) Q:$$SCF() | 
|---|
| 49 | . . I '+$$GETPRTP(SCTP) D SCY(6,SCTPNM,15) Q:$$SCF() | 
|---|
| 50 | . . S SCTPP0=^SCTM(404.57,SCTPP,0) ;preceptor team position node | 
|---|
| 51 | . . S SCTPPNM=$P(SCTPP0,U) | 
|---|
| 52 | . . I (+$P(SCTP0,U,4))&('+$P(SCTPP0,U,4)) D SCY(7,SCTPPNM,10) Q:$$SCF() | 
|---|
| 53 | . . I $P(SCTP0,U,2)'=$P(SCTPP0,U,2) D SCY(7,SCTPPNM,11) Q:$$SCF() | 
|---|
| 54 | . . I '+$$ACTTP(SCTPP) D SCY(7,SCTPPNM,12) Q:$$SCF() | 
|---|
| 55 | . . I +$P(SCTPP0,U,10) D SCY(7,SCTPPNM,13) Q:$$SCF() | 
|---|
| 56 | . . Q:$$AS(SCTPP,SCTPPNM,13) | 
|---|
| 57 | . . I '+$P(SCTPP0,U,12) D SCY(7,SCTPPNM,14) Q:$$SCF() | 
|---|
| 58 | . . I '+$$GETPRTP(SCTPP) D SCY(7,SCTPPNM,15) Q:$$SCF() | 
|---|
| 59 | . . I 'SCF D  Q | 
|---|
| 60 | . . . I 'SCTPFLAG D SCY(6,$$LINK(),17) | 
|---|
| 61 | . . . Q | 
|---|
| 62 | . . K SCFDA,SCERR | 
|---|
| 63 | . . S SCFDA(1,404.53,"+1,",.01)=SCTP | 
|---|
| 64 | . . S SCFDA(1,404.53,"+1,",.02)=DT | 
|---|
| 65 | . . S SCFDA(1,404.53,"+1,",.04)=1 | 
|---|
| 66 | . . S SCFDA(1,404.53,"+1,",.05)=SCREASON | 
|---|
| 67 | . . S SCFDA(1,404.53,"+1,",.06)=SCTPP | 
|---|
| 68 | . . D UPDATE^DIE("","SCFDA(1)","","SCERR") | 
|---|
| 69 | . . I $D(SCERR) D SCY(7,$$LINK(),18) | 
|---|
| 70 | . . E  D SCY(7,$$LINK(),19) | 
|---|
| 71 | . . Q | 
|---|
| 72 | . Q | 
|---|
| 73 | I SCZSTOP D BLDI(0),BLD(26) | 
|---|
| 74 | ; | 
|---|
| 75 | MAIL N XMY,XMDUZ,XMSUB,XMTEXT | 
|---|
| 76 | S XMDUZ=.5 | 
|---|
| 77 | S (XMY(DUZ),XMY(XMDUZ))="" | 
|---|
| 78 | S XMSUB=$S(SCF=1:$$S(22),1:$$S(24)) | 
|---|
| 79 | S XMTEXT="^TMP(""SCMC"",$J," | 
|---|
| 80 | D ^XMD | 
|---|
| 81 | K ^TMP("SCMC",$J) | 
|---|
| 82 | Q | 
|---|
| 83 | ; | 
|---|
| 84 | SCF() I +SCF Q 1 | 
|---|
| 85 | S SCTPFLAG=1 Q 0 | 
|---|
| 86 | ; | 
|---|
| 87 | ACTTP(SCTP) Q $$ACTTP^SCMCTPU(SCTP) | 
|---|
| 88 | ; | 
|---|
| 89 | GETPRTP(SCTP) Q $$GETPRTP^SCAPMCU2(SCTP,DT) | 
|---|
| 90 | ; | 
|---|
| 91 | LINK() Q SCTPNM_"|"_SCTPPNM | 
|---|
| 92 | ; | 
|---|
| 93 | AS(SC1,SC2,SC3) ; test for existing entry on filing | 
|---|
| 94 | ; input  SC1 := tm pos ien | 
|---|
| 95 | ;        SC2 := tm pos name | 
|---|
| 96 | ;        SC3  := line reference | 
|---|
| 97 | I 'SCF Q 0 | 
|---|
| 98 | I $D(^SCTM(404.53,"B",SC1)) D SCY($S(SC3=13:7,1:6),SC2,SC3) Q 1 | 
|---|
| 99 | Q 0 | 
|---|
| 100 | ; | 
|---|
| 101 | SCY(SC1,SC2,SC3) ;build msg array | 
|---|
| 102 | ; input SC1=line reference or text string | 
|---|
| 103 | ;       SC2=name string | 
|---|
| 104 | ;       SC3=line reference or text string | 
|---|
| 105 | ; | 
|---|
| 106 | D SCII | 
|---|
| 107 | ;I SC1=6,SCTM(0) D | 
|---|
| 108 | I SCTM(0) D | 
|---|
| 109 | . S SCTM(0)=0 | 
|---|
| 110 | . D BLDI("") | 
|---|
| 111 | . D BLDI($$S(5)_SCTMNM) | 
|---|
| 112 | . Q | 
|---|
| 113 | I SC1=7,SCTP(0) D | 
|---|
| 114 | . S SCTP(0)=0 | 
|---|
| 115 | . D BLDI($$S(6)_SCTPNM) | 
|---|
| 116 | D BLD($S(+SC1:$$S(SC1),1:SC1)_SC2_$S(+SC3:$$S(SC3),1:SC3)) | 
|---|
| 117 | Q | 
|---|
| 118 | ; | 
|---|
| 119 | BLDI(SCX) ; input = text string | 
|---|
| 120 | D BLD(SCX) | 
|---|
| 121 | D SCII | 
|---|
| 122 | Q | 
|---|
| 123 | ; | 
|---|
| 124 | BLD(SCX) ; input = text string | 
|---|
| 125 | S ^TMP("SCMC",$J,SCI)=SCX | 
|---|
| 126 | Q | 
|---|
| 127 | ; | 
|---|
| 128 | SCII S SCI=SCI+1 | 
|---|
| 129 | Q | 
|---|
| 130 | ; | 
|---|
| 131 | W(SCX) ;input  = 1:177 KIDS post-init, 0:177 pre-patch | 
|---|
| 132 | ;output = 1:KIDS record       , 0:selected device | 
|---|
| 133 | I SCX=21 D MES^XPDUTL(.SCY) Q | 
|---|
| 134 | D EN^DDIOL(.SCY) | 
|---|
| 135 | Q | 
|---|
| 136 | ; | 
|---|
| 137 | DTU() N SCDTU200,SCDTU,SCDTUX | 
|---|
| 138 | S SCDTU200=$G(DUZ,.5) | 
|---|
| 139 | S SCDTUX=$$NEWPERSN^SCMCGU(SCDTU200,"SCDTU") | 
|---|
| 140 | S SCDTUX=$S(SCDTUX>0:$P(SCDTU(SCDTU200),U),1:0) | 
|---|
| 141 | Q $$FMTE^XLFDT($$NOW^XLFDT)_" (by: "_SCDTUX_")" | 
|---|
| 142 | ; | 
|---|
| 143 | ENMAIN(SCX) ; | 
|---|
| 144 | ; input = 21: sd*5.3*177 preceptor filer post init | 
|---|
| 145 | ;       = 23: sd*5.3*195 preceptor tester option | 
|---|
| 146 | K SCY | 
|---|
| 147 | S SCY(1)="" | 
|---|
| 148 | S SCY(2)=$S(SCX=21:$$S(1),1:$$S(3)) | 
|---|
| 149 | S SCY(3)=$$DTU() | 
|---|
| 150 | S SCY(4)=$S(SCX=21:$$S(2),1:$$S(4)) | 
|---|
| 151 | S SCY(5)=$$Q(SCX) | 
|---|
| 152 | K ZTSK | 
|---|
| 153 | S SCY(6)="" | 
|---|
| 154 | D W(SCX) | 
|---|
| 155 | Q | 
|---|
| 156 | ; | 
|---|
| 157 | Q(SCX) ; run job in background | 
|---|
| 158 | ; input  = line reference | 
|---|
| 159 | ; output = task #, report via mailman | 
|---|
| 160 | N ZTRTN,ZTDESC,ZTDTH,ZTIO,ZTSAVE | 
|---|
| 161 | S ZTRTN=$S(SCX=21:$$S(21),1:$$S(23)) | 
|---|
| 162 | S ZTDESC=$S(SCX=21:$$S(22),1:$$S(24)) | 
|---|
| 163 | S ZTDTH=$H | 
|---|
| 164 | S ZTIO="" | 
|---|
| 165 | D ^%ZTLOAD | 
|---|
| 166 | Q $S(+ZTSK:": Queued - Task# "_ZTSK,1:": Not Queued!") | 
|---|
| 167 | ; | 
|---|
| 168 | S(SCX) ;input  = line reference | 
|---|
| 169 | ;output = text string | 
|---|
| 170 | Q $P($T(T+SCX),";;",2) | 
|---|
| 171 | ; | 
|---|
| 172 | T ;; | 
|---|
| 173 | 1 ;;Move current preceptor assignments to Preceptor History file;; | 
|---|
| 174 | ;;------------------------------------------------------------;; | 
|---|
| 175 | ;;Validate preceptor assignments vs Preceptor History requirements;; | 
|---|
| 176 | ;;----------------------------------------------------------------;; | 
|---|
| 177 | 5 ;;--> Team: ;; | 
|---|
| 178 | ;;  --> Position: ;; | 
|---|
| 179 | ;;    --> Preceptor: ;; | 
|---|
| 180 | ;;: 'Can Act As Preceptor' field must be 'NO'.;; | 
|---|
| 181 | ;;: cannot precept itself.;; | 
|---|
| 182 | 10 ;;: Preceptor must be PC if position is PC.;; | 
|---|
| 183 | ;;: Preceptor must be on same team.;; | 
|---|
| 184 | ;;: Preceptor must be active.;; | 
|---|
| 185 | ;;: cannot have a preceptor.;; | 
|---|
| 186 | ;;: 'Can Act As Preceptor' field must be 'YES'.;; | 
|---|
| 187 | 15 ;;: must have Staff Assigned.;; | 
|---|
| 188 | ;;Scheduling Reason file not updated... Process stopped... ;; | 
|---|
| 189 | ;;: Preceptor Link OK.;; | 
|---|
| 190 | ;;: Preceptor Link not filed <<  filer error  >>.;; | 
|---|
| 191 | ;;: Preceptor Link filed.;; | 
|---|
| 192 | 20 ;;: No Preceptor Assignments.;; | 
|---|
| 193 | ;;ENXPD^SCMCCV3;; | 
|---|
| 194 | ;;PCMM Preceptor Migration Filer;; | 
|---|
| 195 | ;;ENPRE^SCMCCV3;; | 
|---|
| 196 | ;;PCMM Preceptor Migration Report;; | 
|---|
| 197 | 25 ;; Link Already Seeded, filer stopped.;; | 
|---|
| 198 | ;; <<  Background job stopped by request.  >>;; | 
|---|
| 199 | ; | 
|---|