Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: SCMCPREC

SCMCPREC.m

Go to the documentation of this file.
  1. SCMCPREC ;bpoifo/swo move preceptors;3.20.08
  1. ;;5.3;Scheduling;**504**;AUG 13, 1993;Build 21
  1. Q
  1. LISTPREC(SCRESULT,SCPIEN) ;
  1. ;List preceptees for a preceptor position
  1. ;Input
  1. ; SCPIEN := preceptor pos ien (404.57) (required)
  1. ; SCRESULT := return array
  1. ; Piece Description
  1. ; 1 IEN of NEW PERSON file entry (#200)
  1. ; 2 Name of person
  1. ; 3 IEN of TEAM POSITION file (#404.57)
  1. ; 4 Name of Position
  1. ; 5 IEN OF USR CLASS(8930) of POSITION (404.57)
  1. ; 6 USR Class Name
  1. ; 7 IEN of STANDARD POSITION (#403.46)
  1. ; 8 Standard Role (Position) Name
  1. ; 9 Activation Date for 404.52 (not 404.59!)
  1. ; 10 Inactivation Date for 404.52
  1. ; 11 IEN of Position Asgn History (404.52)
  1. ; 12 IEN of Current(=DT) Preceptor Position
  1. ; 13 Name of Current(=DT) Preceptor Position
  1. ; 14 precept start date
  1. ; 15 precept end date
  1. ; 16 IEN of Preceptor Asgn History (404.53)
  1. N SCDATES,V1
  1. I SCPIEN="" S SCRESULT(0)=0 Q 0
  1. S SCDATES("BEGIN")=DT
  1. S SCDATES("END")=DT
  1. S SCDATES("INCL")=0
  1. S V1=$$PRECHIS^SCMCLK(SCPIEN,"SCDATES","SCRESULT") I $D(SCRESULT) K SCRESULT("SCPR") Q 1
  1. S SCRESULT(0)=0
  1. Q 0
  1. MOVEPREC(SCRESULT,SCPIEN1,SCED1,SCPIEN2,SCED2) ;
  1. ;Move preceptees from one position to another
  1. ;Input
  1. ; SCPIEN1 := FROM preceptor pos ien (404.57) (required)
  1. ; SCPIEN2 := TO preceptor pos ien (404.57) (required)
  1. ; SCED1 := FROM preceptor effective date
  1. ; SCED2 := TO preceptor effective date
  1. ; SCRESULT := return array 0 = fail 1 = success
  1. I SCPIEN1="" S SCRESULT(0)=0 Q 0
  1. I SCPIEN2="" S SCRESULT(0)=0 Q 0
  1. S SCED1=$S($G(SCED1)="":"T-1",1:SCED1)
  1. S SCED2=$S($G(SCED2)="":"TODAY",1:SCED2)
  1. N V1,ZNODE,DIC,DIE,DR,DA,SCARRAY
  1. S DIE="^SCTM(404.53,"
  1. S DR=".02///"_SCED1_";.04///0;.05///CHANGE PRECEPTOR LINK;.08///NOW;.07///"_DUZ
  1. ;Loop thru "FROM" preceptor for current preceptees and inactivate them
  1. S V1=0 F S V1=$O(^SCTM(404.53,"D",SCPIEN1,V1)) Q:'V1 D
  1. .S ZNODE=$G(^SCTM(404.53,V1,0)) Q:ZNODE=""
  1. .I '$P(ZNODE,"^",4) Q ;INACTIVE
  1. .S SCARRAY($P(ZNODE,U))=""
  1. .S DA=V1
  1. .D ^DIE
  1. ;Create new assignments for the "TO" preceptor
  1. S DIC="^SCTM(404.53,"
  1. S DIC(0)="Z"
  1. S DIC("DR")=".02///"_SCED2_";.04///1;.05///ACTIVATE PRECEPTOR LINK;.06///"_SCPIEN2_";.08///NOW;.07///"_DUZ
  1. S V1=0 F S V1=$O(SCARRAY(V1)) Q:'V1 D
  1. .K D0
  1. .S X=V1
  1. .D FILE^DICN
  1. S SCRESULT(0)=1
  1. Q 1