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

SCMCEV2.m

Go to the documentation of this file.
  1. SCMCEV2 ;ALB/CMM - TEAM EVENT DRIVER UTILITIES ; 03/20/96
  1. ;;5.3;Scheduling;**41,1015**;AUG 13, 1993;Build 21
  1. ;
  1. ACT(DFN,TIEN) ; active team assignment
  1. N ACTD,FND,ENT
  1. S ACTD="",FND=0
  1. F S ACTD=$O(^SCPT(404.42,"AIDT",DFN,TIEN,ACTD)) Q:ACTD=""!(FND) D
  1. .S ENT=$O(^SCPT(404.42,"AIDT",DFN,TIEN,ACTD,""))
  1. .Q:ENT=""
  1. .I $P($G(^SCPT(404.42,ENT,0)),"^",9)="" S FND=1
  1. Q FND
  1. ;
  1. CHK(DFN,CLIEN,FLG) ;
  1. ;check if auto enroll/discharge is appropriate
  1. ;DFN - patient ien
  1. ;EN1 - "DE" entry ien
  1. ;CLIEN - clinic ien
  1. ;FLG - add-1/del-2/both-3 flag
  1. ;
  1. ;RETURNS: 1^team ien = auto enroll/discharge
  1. ; 0 - don't allow auto enroll/discharge
  1. ;
  1. N RETURN,LIST,ERR,OKAY,ACTIVE,TNODE,TIEN
  1. S RETURN=0,LIST="TCLIST",ERR="ERR1"
  1. K @LIST,@ERR
  1. S OKAY=$$TMCL^SCAPMC16(CLIEN,"",.LIST,.ERR)
  1. G:'OKAY EXIT
  1. G:@LIST@(0)<0!(@LIST@(0)>1) EXIT
  1. ;unique team
  1. S TIEN=+$P($G(@LIST@(1)),"^")
  1. I FLG=1!(FLG=3),$P($G(^SCTM(404.51,TIEN,0)),"^",11)'=1 G EXIT
  1. I FLG=2!(FLG=3),$P($G(^SCTM(404.51,TIEN,0)),"^",12)'=1 G EXIT
  1. ;auto enroll/discharge flag on to allow
  1. S TNODE=$G(^SCTM(404.51,TIEN,0))
  1. I $P(TNODE,"^",10)=1 G EXIT ;team close to future assignments
  1. I $P(TNODE,"^",5)=1&($G(^DPT(DFN,"VET"))'="Y") G EXIT ;pc team but not vet
  1. S ACTIVE=0
  1. I $D(^SCPT(404.42,"AIDT",DFN,TIEN)) S ACTIVE=$$ACT(DFN,TIEN)
  1. ;enrolled on team but is it still active
  1. I ACTIVE&(FLG=1) G EXIT ;already enrolled
  1. S RETURN="1^"_TIEN ;update/enroll
  1. EXIT ;
  1. K @LIST,@ERR
  1. Q RETURN
  1. ;
  1. POSASS(DFN,TM) ;patient assigned to position on team TM
  1. ;DFN - patient ien
  1. ;TM - team ien
  1. N PPLIST,ERR,OKAY,CNT,STOP
  1. S STOP=0
  1. S OKAY=$$TPPT^SCAPMC23(DFN,"","","","","","","PPLIST","ERR")
  1. ;returns all positions patient assigned to today
  1. Q:'OKAY -1
  1. Q:'$D(PPLIST) 1 ;no associated positions
  1. S CNT=0
  1. F S CNT=$O(PPLIST(CNT)) Q:CNT=""!(CNT'?.N)!(STOP) D
  1. .I +$P($G(PPLIST(CNT)),"^",3)=TM S STOP=1
  1. I 'STOP Q 1
  1. Q 0