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

PXSCH3.m

Go to the documentation of this file.
  1. PXSCH3 ;ISL/JVS - SCHEDULING REDESIGN PROCEDURES-PRV #3 ;6/11/96
  1. ;;1.0;PCE PATIENT CARE ENCOUNTER;;Aug 12, 1996
  1. ; Variable List
  1. ;
  1. ; PRVNOD0 Provider node data
  1. ; PRVNOD12 Providr node dat
  1. ; PXSCT Counter provider to set Promary/Secondary
  1. ; PXSINDX Index for ^tmp("PXK" global
  1. ; PXSPR The main Provider
  1. ; PXSPRV The Provider being Processed
  1. ;
  1. PRV ;Create nodes for Providers
  1. Q:'$D(PXS("PROVIDER"))
  1. S PXSCT=0
  1. S PXSPRV=0 F S PXSPRV=$O(PXS("PROVIDER",PXSPRV)) Q:PXSPRV="" D
  1. .S PXSINDX=PXSINDX+1
  1. .S PXSCT=PXSCT+1
  1. .D PRVNOD
  1. Q
  1. PRVNOD ;
  1. S PRVNOD0="",$P(PRVNOD0,"^")=+$G(PXS("PROVIDER",PXSPRV))
  1. S $P(PRVNOD0,"^",2)=$G(PXS("PATIENT")) ;PROVIDER
  1. S $P(PRVNOD0,"^",3)=$G(PXS("VISIT")) ;VISIT
  1. S $P(PRVNOD0,"^",4)=$S(PXSCT=1:"P",PXSCT>1:"S",1:"") ;PRIMARY/SECONDARY
  1. S PRVNOD12=""
  1. ;S $P(PRVNOD12,"^")=$G(PXS("DATE")) ;DATE AND TIME
  1. ;S $P(PRVNOD12,"^",3)=$G(PXS("STOP CODE ORIG")) ;CLINIC STOP
  1. ;S $P(PRVNOD12,"^",4)=$G(PXSPR) ;PROVIDER
  1. ;S $P(PRVNOD12,"^",5)=$G(PXS("CLINIC")) ;HOSPITAL LOCATION
  1. ;S $P(PRVNOD12,"^",7)=$P(PRVNOD0,"^",3) ;SECONDARY VISIT
  1. S ^TMP("PXK",$J,"PRV",PXSINDX+1,0,"AFTER")=$G(PRVNOD0)
  1. S ^TMP("PXK",$J,"PRV",PXSINDX+1,0,"BEFORE")=""
  1. S ^TMP("PXK",$J,"PRV",PXSINDX+1,12,"AFTER")=$G(PRVNOD12)
  1. S ^TMP("PXK",$J,"PRV",PXSINDX+1,12,"BEFORE")=""
  1. S ^TMP("PXK",$J,"PRV",PXSINDX+1,"IEN")=""
  1. S ^TMP("PXK",$J,"SOR")=8
  1. S ^TMP("PXK",$J,"VST",1,"IEN")=$G(PXS("VISIT"))
  1. PRVDUP ;Look for duplicates on the same visit
  1. N XPFG,XP
  1. S (XPFG,XP)=0 F Q:XPFG S XP=$O(^AUPNVPRV("AD",PXS("VISIT"),XP)) Q:XP="" D
  1. .I $P(^AUPNVPRV(XP,0),"^",1)=+$G(PXS("PROVIDER",PXSPRV)) D
  1. ..S ^TMP("PXK",$J,"PRV",PXSINDX+1,0,"BEFORE")=$G(^AUPNVPRV(XP,0))
  1. ..S ^TMP("PXK",$J,"PRV",PXSINDX+1,12,"BEFORE")=$G(^AUPNVPRV(XP,12))
  1. ..S ^TMP("PXK",$J,"PRV",PXSINDX+1,"IEN")=XP
  1. ..S XPFG=1
  1. Q