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

IBDF18B.m

Go to the documentation of this file.
IBDF18B ;ALB/AAS - ENCOUNTER FORM - utilities for PCE ;04-OCT-94
 ;;3.0;AUTOMATED INFO COLLECTION SYS;;APR 24, 1997
 ;
GETPRO(CLINIC,ARY) ; -- returns list of providers specified for a clinic
 ; -- input  CLINIC = pointer to hospital location file for clinic
 ;              ARY = name of array to return list in
 ;
 ; -- output  The format of the returned array is as follows
 ;         @ARY@(0) = count of array element (0 of nothing found)
 ;         @ARY@(1) = pointer to 200^provider name from 200 (default provider if indicated)
 ;         @ARY@(2) = pointer to 200^provider name from 200
 ;
 N I,J,X,Y,IBX,IBQUIT,COUNT,IBC,ERR,CT
 S (CT,COUNT,IBQUIT)=0
 ;
 S @ARY@(0)=""
 I $G(CLINIC)="" G GETPROQ
 I $G(^SC(CLINIC,0))="" G GETPROQ
 S ERR="IBDERR"
 ;
 ; -- don't use PCMM providers checked
 I $P($G(^SD(409.95,+$O(^SD(409.95,"B",CLINIC,0)),0)),"^",10) G CLIN
 ;
 ; -- get providers from PCMM teams, if available
 I $L($T(PRCL^SCAPMC)) S X=$$PRCL^SCAPMC(.CLINIC,"","","","",ARY,ERR) I @ARY@(0)>0 D
 .K @ARY@("SCPR")
 .F I=1:1:@ARY@(0) I '$$SCREEN^IBDFDE10(+@ARY@(I)) K @ARY@(I) S CT=CT+1
 .S @ARY@(0)=@ARY@(0)-CT
 I @ARY@(0)>0 G GETPROQ
 ;
CLIN I $O(^SC(CLINIC,"PR",0))="" G GETPROQ
 ;
 ; -- default provider should always be listed first
 S IBX=$O(^SC("ADPR",CLINIC,0)) I IBX D
 .S X=$G(^SC(CLINIC,"PR",IBX,0))
 .D INCPR(+X)
 ;
 ; -- get rest of list of providers
 S IBX=0 F  S IBX=$O(^SC(CLINIC,"PR",IBX)) Q:'IBX  I IBX D
 .S X=$G(^SC(CLINIC,"PR",IBX,0))
 .D INCPR(+X)
 S @ARY@(0)=COUNT
 ;
GETPROQ Q
 ;
INCPR(X) ; -- increment counter and set provider array
 Q:'X!($G(^VA(200,+X,0))="")
 Q:$D(IBX(+X))  ; -- already set
 S COUNT=COUNT+1,@ARY@(COUNT)=+X_"^"_$P(^VA(200,+X,0),"^")
 S IBX(+X)=""
 Q
 ;
TEST K ALAN D GETPRO(25,"ALAN")
 X "ZW ALAN"
 Q