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

SDPMUT2.m

Go to the documentation of this file.
  1. SDPMUT2 ;BPFO/JRC - Performance Monitors Utilities ; 11/3/03 3:24pm
  1. ;;5.3;SCHEDULING;**292,322,474**;AUGUST 13, 1993;Build 4
  1. ;
  1. SCREEN(PTRENC,SCRNARR) ;Screen Outpatient Encounter
  1. ;Input : PTRENC - Outpatient Encounter IEN
  1. ; SCRNARR - Screening array full global reference
  1. ;Output : 1 = Screen encounter out
  1. ; 0 = Keep encounter and process
  1. ;
  1. ;Declare variables
  1. N PCODE,SCODE,CLINIC,NODE,Y,I,CHLD,PROV,TYPE
  1. S NODE=$G(^SCE(PTRENC,0))
  1. ;Can not be test patient
  1. I $$TESTPAT^VADPT($P(NODE,U,2)) Q 1
  1. ;Encounter must be checked out
  1. I '$P(NODE,U,7) Q 1
  1. ;Can't be child encounter
  1. I +$P(NODE,U,6) Q 1
  1. ;Screen out non-count clinics
  1. S CLINIC=$P($G(NODE),U,4)
  1. I 'CLINIC Q 1
  1. I $P($G(^SC(CLINIC,0)),U,17)="Y" Q 1
  1. ;Appointment type must be regular or service connected
  1. ;service connected added - SD*5.3*474
  1. I $P($G(NODE),U,10) S TYPE=$P($G(^SD(409.1,$P($G(NODE),U,10),0)),U,1)
  1. I '$D(TYPE) Q 1
  1. I TYPE'["REGULAR" I TYPE'["SERVICE CONNECTED" Q 1
  1. ;Get primary & secondary stop codes
  1. S PCODE=+$P(NODE,U,3)
  1. S CHLD=+$O(^SCE("APAR",PTRENC,0))
  1. S SCODE=0
  1. I CHLD D
  1. .S SCODE=+$P($G(^SCE(CHLD,0)),U,3)
  1. ;Check stop codes (in inclusion list and/or not in exclusion list)
  1. S Y=$S($O(@SCRNARR@("DSS",0)):1,$O(@SCRNARR@("DSS-PAIR",0)):1,1:0)
  1. I 'PCODE Q 1
  1. I @SCRNARR@("DSS")=1 S Y=0
  1. I $D(@SCRNARR@("DSS",PCODE)) S Y=0
  1. I $D(@SCRNARR@("DSS-EXCLUDE",PCODE))!$D(@SCRNARR@("DSS-EXCLUDE",SCODE)) S Y=1
  1. I Y Q 1
  1. ;Check division (must be in list)
  1. S Y=1
  1. S DIV=$P(NODE,U,11)
  1. I 'DIV Q 1
  1. I @SCRNARR@("DIVISION")=1 S Y=0
  1. I $D(@SCRNARR@("DIVISION",DIV)) S Y=0
  1. I Y Q 1
  1. ;Get primary encounter provider
  1. S Y=1
  1. S PROV=$$ENCPROV(PTRENC)
  1. ;Check primary encounter provider (must be in list)
  1. I 'PROV Q 1
  1. I @SCRNARR@("PROVIDERS")=1 S Y=0
  1. I $D(@SCRNARR@("PROVIDERS",PROV)) S Y=0
  1. I Y Q 1
  1. ;Passed all screens
  1. Q 0
  1. ;
  1. NOTEINF(PTRENC) ;Returns performance monitor information for a given encounter
  1. ;Input : PTRENC - Outpatient Encounter IEN
  1. ;Output: Results of calling $$PM^TIUPXPM
  1. ; String with 6 fields ('^' delimiter)
  1. ; 1 VIEN
  1. ; 2 Note Category (A-E)
  1. ; 3 Signed By (pointer to File #200)
  1. ; 4 Signed Date.Time (FM format)
  1. ; 5 Co-signed By (pointer to File #200) - defined only if necessary
  1. ; 6 Co-signed Date.Time - defined only if necessary
  1. ;
  1. N VIEN
  1. S VIEN=$P(^SCE(PTRENC,0),U,5)
  1. Q $$PM^TIUPXPM(VIEN)
  1. ;
  1. ENCPROV(PTRENC) ;Return primary encounter provider
  1. ;Input : ENCPTR - Pointer to Outpatient Encounter
  1. ;Output : Pointer to New Person File
  1. ;Note : 0 returned if primary encounter provider not found
  1. N NODE,PROV,X
  1. D GETPRV^SDOE(PTRENC,"NODE")
  1. S PROV=0
  1. S X=0 F S X=+$O(NODE(X)) Q:'X D Q:PROV
  1. .I $P(NODE(X),"^",4)="P" S PROV=+NODE(X)
  1. Q PROV