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

PXSCH2.m

Go to the documentation of this file.
  1. PXSCH2 ;ISL/JVS,SCK - SCHEDULING REDESIGN PROCEDURES-CPT #2 ;7/25/96 09:12
  1. ;;1.0;PCE PATIENT CARE ENCOUNTER;**73,194**;Aug 12, 1996;Build 2
  1. ; Variable List
  1. ;
  1. ; CPTNOD0 The data for the ^TMP("PXK",$J, globals
  1. ; CPTNOD12 The data for the ^TMP("PXK",$J, globals
  1. ; CPTNOD8 The data for the ^TMP("PXK",$J, globals
  1. ; PXSCPT Pointer to the precedure being processed
  1. ; PXSCPTQ Quantity of the above procedure
  1. ; PXSDX The main Diagnosis
  1. ; PXSINDX Index for the "PXK" global
  1. ; PXSPNN resolved provider narrative
  1. ; PXSPNN(1) "" "" ""
  1. ; PXSPR The main Provider
  1. ; XP,XPFG Scratch Variables
  1. ;
  1. SET ;Set the TMP("PXK",$J, GLOBAL
  1. CPT ;Create nodes for Procedures
  1. S PXSCPT=0 F S PXSCPT=$O(PXS("PROC",PXSCPT)) Q:PXSCPT="" D
  1. .S PXSINDX=PXSINDX+1
  1. .S PXSCPTQ=$G(PXS("PROC",PXSCPT))
  1. .D CPTNOD
  1. Q
  1. CPTNOD ;
  1. S CPTNOD0="",$P(CPTNOD0,"^")=$G(PXSCPT)
  1. S $P(CPTNOD0,"^",2)=$G(PXS("PATIENT")) ;PATIENT
  1. S $P(CPTNOD0,"^",3)=$G(PXS("VISIT")) ;VISIT
  1. S PXSFILE=9000010.18
  1. ;K ^UTILITY("DIQ1",$J)
  1. ;S DIC=81,DA=PXSCPT,DR=2 D EN^DIQ1
  1. ;S PXSZPN=$G(^UTILITY("DIQ1",$J,81,DA,2))
  1. ;K ^UTILITY("DIQ1",$J),DIC,DA,DR
  1. S PXSZPN=$P($$CPT^ICPTCOD(PXSCPT),U,3) ; px*2.0*194
  1. S $P(CPTNOD0,"^",4)=+$$PROVNARR^PXAPI(PXSZPN,PXSFILE) ;PROVIDER NARR
  1. Q:$P(CPTNOD0,"^",4)=-1
  1. ;S $P(CPTNOD0,"^",5)=$G(PXSDX) ;DIAGNOSIS
  1. S $P(CPTNOD0,"^",16)=$G(PXSCPTQ) ;QUANTITY
  1. S CPTNOD12=""
  1. ;S $P(CPTNOD12,"^")=$G(PXS("DATE")) ;DATE AND TIME
  1. ;S $P(CPTNOD12,"^",3)=$G(PXS("STOP CODE ORIG")) ;CLINIC STOP
  1. ;S $P(CPTNOD12,"^",4)=$G(PXSPR) ;PROVIDER
  1. ;S $P(CPTNOD12,"^",5)=$G(PXS("CLINIC")) ;HOSPITAL LOCATION
  1. ;S $P(CPTNOD12,"^",7)=$P(CPTNOD0,"^",3) ;SECONDARY VISIT
  1. ;--DECIDED TO REMOVE THE CATEGORY
  1. ;S CPTNOD8=""
  1. ;K ^UTILITY("DIQ1",$J) S DIC=81,DA=PXSCPT,DR=3,DIQ(0)="EIN" D EN^DIQ1
  1. ;I $G(^UTILITY("DIQ1",$J,81,DA,3,"I")) D
  1. ;.S PXSZPN=$G(^UTILITY("DIQ1",$J,81,DA,3,"E"))
  1. ;.S CPTNOD8=+$$PROVNARR^PXAPI(PXSZPN,PXSFILE)
  1. ;.I CPTNOD8'>0 S CPTNOD8=""
  1. ;K ^UTILITY("DIQ1",$J),DIC,DA,DR,DIQ
  1. S ^TMP("PXK",$J,"CPT",PXSINDX+1,0,"AFTER")=$G(CPTNOD0)
  1. S ^TMP("PXK",$J,"CPT",PXSINDX+1,0,"BEFORE")=""
  1. S ^TMP("PXK",$J,"CPT",PXSINDX+1,1,1,"BEFORE")=""
  1. S ^TMP("PXK",$J,"CPT",PXSINDX+1,12,"AFTER")=$G(CPTNOD12)
  1. S ^TMP("PXK",$J,"CPT",PXSINDX+1,12,"BEFORE")=""
  1. S ^TMP("PXK",$J,"CPT",PXSINDX+1,802,"AFTER")=""
  1. S ^TMP("PXK",$J,"CPT",PXSINDX+1,802,"BEFORE")=""
  1. S ^TMP("PXK",$J,"CPT",PXSINDX+1,"IEN")=""
  1. S ^TMP("PXK",$J,"SOR")=8
  1. S ^TMP("PXK",$J,"VST",1,"IEN")=$G(PXS("VISIT"))
  1. CPTDUP ;Look for duplicates on the same visit
  1. N XPFG,XP,PXKSEQ,PXKMOD
  1. S (XPFG,XP)=0
  1. F Q:XPFG S XP=$O(^AUPNVCPT("AD",PXS("VISIT"),XP)) Q:XP="" D
  1. .I $P(^AUPNVCPT(XP,0),"^",1)=PXSCPT D
  1. ..S ^TMP("PXK",$J,"CPT",PXSINDX+1,0,"BEFORE")=$G(^AUPNVCPT(XP,0))
  1. ..S PXKSEQ=0
  1. ..F S PXKSEQ=$O(^AUPNVCPT(XP,1,PXKSEQ)) Q:'PXKSEQ D
  1. ...S PXKMOD=^AUPNVCPT(XP,1,PXKSEQ,0)
  1. ...S ^TMP("PXK",$J,"CPT",PXSINDX+1,1,PXKSEQ,"BEFORE")=PXKMOD
  1. ..S ^TMP("PXK",$J,"CPT",PXSINDX+1,12,"BEFORE")=$G(^AUPNVCPT(XP,12))
  1. ..S ^TMP("PXK",$J,"CPT",PXSINDX+1,802,"BEFORE")=+$G(^AUPNVCPT(XP,802))
  1. ..S ^TMP("PXK",$J,"CPT",PXSINDX+1,"IEN")=XP
  1. ..S XPFG=1
  1. Q