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

PXICLN17.m

Go to the documentation of this file.
  1. PXICLN17 ;ISL/JVS - Cleanup routine for PX*1.0*17 ;11/8/96
  1. ;;1.0;PCE PATIENT CARE ENCOUNTER;**17**;Aug 12, 1996
  1. ;
  1. ;
  1. LOCK ;--SAVE FOR LOCKING GLOBALS
  1. ;
  1. QUE ; Queue job to change 90731 to 90746 cpt code.
  1. N ZTRTN,ZTDESC,ZTDTH,ZTIO,ZTSK,ZTSAVE,ZTCPU,ZTUCI
  1. D BMES^XPDUTL("Job to convert V-CPT file entries.")
  1. S ZTRTN="TASKED^PXICLN17"
  1. S ZTIO=""
  1. S ZTDESC="PX*1.0*17 tasked cleanup job"
  1. S ZTDTH=$H
  1. S ZTSAVE("DUZ")=DUZ,ZTSAVE("DUZ(")=""
  1. D ^%ZTLOAD
  1. I $D(ZTSK) D MES^XPDUTL("The job is task # "_ZTSK)
  1. I '$D(ZTSK) D MES^XPDUTL("Could not start the task job.")
  1. Q
  1. ;
  1. TASKED ;
  1. D MAPPING
  1. D CLEANUP
  1. D MAIL
  1. K PXICOUNT,PXICNT,DA,DIK,DIK(1)
  1. Q
  1. ;
  1. MAIL ;Send mail messge that job is done.
  1. N XMY,XMSUB,PXTEXT,XMTEXT
  1. S XMY(DUZ)=""
  1. S XMY("G.PCEINSTAL@ISC-SLC.DOMAIN.EXT")=""
  1. S XMSUB="PX*1.0*17 Cleanup is finished"
  1. S PXTEXT(1)="PX*1.0*17 job to convert 90731 to 90746 is done."
  1. S:$D(ZTQUEUED) PXTEXT(2)="The task job number "_ZTQUEUED_" is finished."
  1. S PXTEXT(3)=" "
  1. S PXTEXT(4)="Visit ID for this site is: "_$P($G(^VSIT(150.2,+$P($G(^DIC(150.9,1,4)),"^",2),0)),"^",2)
  1. S PXTEXT(5)=$G(PXICOUNT)_" entries were changed at this site"
  1. S PXTEXT(6)=$G(PXICNT)_" entries were NOT changed at this site"
  1. S XMTEXT="PXTEXT("
  1. D ^XMD
  1. Q
  1. ;
  1. CLEANUP ;---SUBROUTINE TO CLEAN UP CPT'S
  1. N PXIACTV,PXIVSTDT,PXIEN,PXIVSIT
  1. ;--GET ACTIVATION DATE
  1. S PXIEN=0 F S PXIEN=$O(^SD(409.72,"C",90746,PXIEN)) Q:PXIEN'>0 D
  1. .I $P($G(^SD(409.72,PXIEN,0)),"^",5)>0 D
  1. ..S PXIACTV=$P($G(^SD(409.72,PXIEN,0)),"^",1)
  1. ;--GET ENTRIES IN V-CPT
  1. S PXICNT=0,PXICOUNT=0
  1. S PXIEN="" F S PXIEN=$O(^AUPNVCPT("B",90731,PXIEN),-1) Q:PXIEN'>0 D
  1. .S PXIVSIT=$P(^AUPNVCPT(PXIEN,0),"^",3)
  1. .Q:'$D(^AUPNVSIT(PXIVSIT,0))
  1. .S PXIVSTDT=+$G(^AUPNVSIT(PXIVSIT,0))
  1. .I PXIVSTDT'<PXIACTV S PXICOUNT=PXICOUNT+1 D CHANGE
  1. .I PXIVSTDT'>PXIACTV S PXICNT=PXICNT+1
  1. Q
  1. ;
  1. CHANGE ;
  1. ; PXIEN=V FILE ENTRY
  1. ; PXIVSIT=VISIT IEN
  1. N PXICLN17,PXI0,PXI12,PXI812,PXIPKG,PXISOR,VAR
  1. S PXI0=$G(^AUPNVCPT(PXIEN,0))
  1. S PXI12=$G(^AUPNVCPT(PXIEN,12))
  1. S PXI812=$G(^AUPNVCPT(PXIEN,812))
  1. S PXIPKG=$S($P($G(PXI812),"^",2)>0:$P($G(PXI812),"^",2),1:$$PKG2IEN^VSIT("PX"))
  1. S PXISOR=$S($P($G(PXI812),"^",3)>0:$P(^PX(839.7,$P($G(PXI812),"^",3),0),"^",1),1:"PX*1.0*17")
  1. ;
  1. I $P(PXI12,"^",4)']"" D
  1. .N FLAG
  1. .S FLAG=1
  1. .S $P(PXI12,"^",4)=$O(^VA(200,10))
  1. .;
  1. .S DIK="^AUPNVCPT(",DA=PXIEN D ^DIK
  1. .;
  1. .S ^TMP("PXICLN17",$J,"PROCEDURE",1,"PROCEDURE")=$P(PXI0,"^",1)
  1. .S ^TMP("PXICLN17",$J,"PROCEDURE",1,"QTY")=$P(PXI0,"^",16)
  1. .S ^TMP("PXICLN17",$J,"PROCEDURE",1,"DIAGNOISIS")=$P(PXI0,"^",5)
  1. .S ^TMP("PXICLN17",$J,"PROCEDURE",1,"ENC PROVIDER")=$P(PXI12,"^",4)
  1. .S ^TMP("PXICLN17",$J,"PROCEDURE",1,"EVENT D/T")=$P(PXI12,"^",1)
  1. .;
  1. .S VAR=$$DATA2PCE^PXAPI("^TMP(""PXICLN17"",$J)",$G(PXIPKG),$G(PXISOR),$G(PXIVSIT),"","")
  1. .K ^TMP("PXICLN17",$J)
  1. ;
  1. ;
  1. S ^TMP("PXICLN17",$J,"PROCEDURE",1,"PROCEDURE")=$P(PXI0,"^",1)
  1. S ^TMP("PXICLN17",$J,"PROCEDURE",1,"QTY")=$P(PXI0,"^",16)
  1. S ^TMP("PXICLN17",$J,"PROCEDURE",1,"DIAGNOISIS")=$P(PXI0,"^",5)
  1. S ^TMP("PXICLN17",$J,"PROCEDURE",1,"ENC PROVIDER")=$P(PXI12,"^",4)
  1. S ^TMP("PXICLN17",$J,"PROCEDURE",1,"EVENT D/T")=$P(PXI12,"^",1)
  1. S ^TMP("PXICLN17",$J,"PROCEDURE",1,"DELETE")=1
  1. ;
  1. I $G(FLAG) S ^TMP("PXICLN17",$J,"PROVIDER",3,"NAME")=$P($G(PXI12),"^",4)
  1. I $G(FLAG) S ^TMP("PXICLN17",$J,"PROVIDER",3,"DELETE")=1
  1. ;
  1. S ^TMP("PXICLN17",$J,"PROCEDURE",2,"PROCEDURE")=90746
  1. S ^TMP("PXICLN17",$J,"PROCEDURE",2,"QTY")=$P(PXI0,"^",16)
  1. S ^TMP("PXICLN17",$J,"PROCEDURE",2,"DIAGNOISIS")=$P(PXI0,"^",5)
  1. S ^TMP("PXICLN17",$J,"PROCEDURE",2,"ENC PROVIDER")=$P(PXI12,"^",4)
  1. S ^TMP("PXICLN17",$J,"PROCEDURE",2,"EVENT D/T")=$P(PXI12,"^",1)
  1. ;
  1. ;
  1. S VAR=$$DATA2PCE^PXAPI("^TMP(""PXICLN17"",$J)",$G(PXIPKG),$G(PXISOR),$G(PXIVSIT),"","")
  1. ;
  1. ;
  1. K ^TMP("PXICLN17",$J)
  1. Q
  1. ;
  1. MAPPING ;--CLEAN UP DATA MAPPING FILE
  1. N PXQX,PXQY
  1. S PXQX=0
  1. S PXQX=$O(^PXD(811.1,"B","10;AUTTIMM(",PXQX))
  1. S $P(^PXD(811.1,PXQX,0),"^",5)=0
  1. S PXQX=$O(^PXD(811.1,"B","90731;ICPT(",PXQX))
  1. S $P(^PXD(811.1,PXQX,0),"^",5)=0
  1. ;--REINDEX FILE
  1. ;
  1. S DIK="^PXD(811.1,",DIK(1)=.05 D ENALL^DIK
  1. ;
  1. S ^PXD(811.1,84,0)="10;AUTTIMM(^90746;ICPT(^IMM^CPT^1"
  1. S ^PXD(811.1,85,0)="90746;ICPT(^10;AUTTIMM(^CPT^IMM^1"
  1. S DIK="^PXD(811.1,",DA=84 D EN^DIK
  1. S DIK="^PXD(811.1,",DA=85 D EN^DIK
  1. Q