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

YSCLTEST.m

Go to the documentation of this file.
  1. YSCLTEST ;DALOI/LB/RLM-COLLECT RX AND LAB DATA FOR CLOZAPINE ;10 May 2019 16:19:28
  1. ;;5.01;MENTAL HEALTH;**18,22,26,47,61,69,74,90,122**;Dec 30, 1994;Build 112
  1. ; Reference to ^DPT supported by IA #10035
  1. ; Reference to ^DIC(5 supported by IA #10056
  1. ; Reference to ^PS(55 supported by IA #787
  1. ; Reference to ^PSDRUG supported by IA #25
  1. ; Reference to ^PSRX supported by IA #780
  1. ; Reference to ^XMD supported by IA #10070
  1. ; Reference to ^DIC supported by DBIA #2051
  1. ; Reference to ^%ZTLOAD supported by DBIA #10063
  1. ; Reference to ^DIQ supported by DBIA #2056
  1. ; Reference to $$SITE^VASITE supported by DBIA #10112
  1. ; Reference to ^XLFDT supported by DBIA #10103
  1. ; Reference to ^%DTC supported by DBIA #10000
  1. ; Reference to ^%DT supported by DBIA #10003
  1. ;
  1. BKGRD ;Normal entry for weekly background job - dates from T-10 to T-3
  1. Q ; << NCC REMEDIATION - THIS ENTRY POINT IS NOLONGER USED *122/RJS
  1. S X=DT D DW^%DTC Q:X'=$$GET1^DIQ(603.03,1,2) ;Make the day to run a parameter settable by the server.
  1. S YSOFF=$S(X="SUNDAY":0,X="MONDAY":1,X="TUESDAY":2,X="WEDNESDAY":3,X="THURSDAY":4,X="FRIDAY":5,X="SATURDAY":6,1:7) Q:YSOFF>6
  1. S X="T-"_YSOFF D ^%DT S YSCLED=Y,YSCLRET=""
  1. ;S YSCL=$H#7-2 S:YSCL<1 YSCL=YSCL+7 S X="T-"_(YSCL+7) D ^%DT S YSCLED=Y,YSCLRET="" K YSCL ;Make sure it's a Sunday ending date.
  1. RUN ; entry from above for normal or below for requeue
  1. Q ; << NCC REMEDIATION - THIS ENTRY POINT IS NOLONGER USED *122/RJS
  1. S YSDEBUG=$P(^YSCL(603.03,1,0),"^",3)
  1. ;I $G(^YSCL(603.02,1,0))'?1.N1"^"1.N G FLERR^YSCLTST3 ;Check for entry in file 603.02, report an error if either entry is missing.
  1. D DMG^YSCLTST3
  1. S YSCLSITE=$P($$SITE^VASITE,"^",2)
  1. K XMY
  1. S XMY("G.CLOZAPINE ROLL-UP")=""
  1. I YSDEBUG K XMY S XMY("G.CLOZAPINE DEBUG")=""
  1. S %DT="T",X="NOW" D ^%DT S YSCLNOW=$P(Y,".",2)
  1. S XMSUB=$S(YSDEBUG:"DEBUG ",1:"")_"Clozapine lab data started at "_YSCLSITE_" on "_DT_" at "_YSCLNOW,^TMP("YSCL",$J,1,0)=" ",^TMP("YSCL",$J,2,0)="+++ Clozapine data collection started at "_YSCLSITE_" on "_DT_" +++",^TMP("YSCL",$J,3,0)=" "
  1. S XMTEXT="^TMP(""YSCL"",$J,",XMDUZ="Clozapine MONITOR" D ^XMD
  1. S $P(^YSCL(603.03,1,0),"^",4)=$$NOW^XLFDT
  1. ;send MM message when routine started.
  1. S YSCLLN=0,YSCLLLN=3,X1=$P(YSCLED,"."),X2=-60 D C^%DTC S YSCLM28=X,X1=$P(YSCLED,"."),X2=-28 D C^%DTC S YSCLM7=X,YSCLED=YSCLED+.5 ;28 TO 60 and 14 to 28 6/15/05
  1. S X1=$P(YSCLED,"."),X2=-180 D C^%DTC S YSCLM180=X
  1. S X1=$P(YSCLED,"."),X2=-56 D C^%DTC S YSCLM56=X
  1. S YSCLIF=+$$SITE^VASITE_","
  1. D GETS^DIQ(4,YSCLIF,"1.01;1.02;1.03;.02;1.04","I","YSCLFF")
  1. S $P(YSCLDEMO,"^",1)=YSCLFF(4,YSCLIF,1.01,"I")
  1. S $P(YSCLDEMO,"^",2)=YSCLFF(4,YSCLIF,1.02,"I")
  1. S $P(YSCLDEMO,"^",3)=YSCLFF(4,YSCLIF,1.03,"I")
  1. S $P(YSCLDEMO,"^",4)=$P(^DIC(5,YSCLFF(4,YSCLIF,.02,"I"),0),"^",2)
  1. S $P(YSCLDEMO,"^",5)=YSCLFF(4,YSCLIF,1.04,"I")
  1. S $P(YSCLDEMO,"^",6)=""
  1. K J,YSCLF,YSCLFF,YSCLIF,X
  1. ;YSCLDEMO=street1^street2^city^state(2 letter)^ZIP^phone
  1. K ^TMP($J),^TMP("YSCL",$J) S (DFN,YSCLIEN)=0
  1. F K YSCLA S YSCLIEN=$O(^YSCL(603.01,YSCLIEN)),YSCLLD=0 Q:'YSCLIEN S DFN=$P($G(^YSCL(603.01,YSCLIEN,0)),"^",2) S $P(YSSTOP,",",1)=1 Q:$$S^%ZTLOAD D:DFN
  1. . I $D(^DPT(DFN,0)),$D(^YSCL(603.01,YSCLIEN,0)) S YSCLSAND=$P($G(^YSCL(603.01,YSCLIEN,0)),"^",2),YSCL=^DPT(DFN,0),YSCLX=$E($P($P(YSCL,"^"),",",2))_$E(YSCL)_"^"_$P(YSCL,"^",9) D
  1. . . S YSCLLAB="" D GET I YSCLLAB]"" D CHECK^YSCLTST1 I YSCLT D LOAD^YSCLTST1
  1. G TRANSMIT^YSCLTST2
  1. GET ;prescriptions
  1. Q:$$S^%ZTLOAD
  1. N YSARRAY D LIST^DIC(55.03,","_DFN_",",,"I",,,,,,,"YSARRAY")
  1. S YSCLPHY="",$P(YSCLX,"^",6)=$P(YSCLDEMO,"^",5),$P(YSCLX,"^",11)=$$GET1^DIQ(603.01,YSCLIEN,.01),$P(YSCLX,"^",16)=DT
  1. ;site zip(p6),registration number (p11), today (p16)
  1. F YSCL=1:1 Q:'$D(YSARRAY("DILIST",1,YSCL)) S YSCL1=YSARRAY("DILIST",1,YSCL) D
  1. . D ACTIVE Q:YSACT'=0 S YSDRG=$$GET1^DIQ(52,YSCL1,6,"I") Q:$$GET1^DIQ(50,YSDRG,17.5)'="PSOCLO1"
  1. . N YSARRAY1 D LIST^DIC(50.02,","_YSDRG_",",3,"I",,,,,,,"YSARRAY1")
  1. . F YSCL2=1:1 Q:'$D(YSARRAY1("DILIST","ID",YSCL2)) I $G(YSARRAY1("DILIST","ID",YSCL2,3))=1 D Q
  1. . . S YSCLID=$$GET1^DIQ(52,YSCL1,1,"I") S:YSCLID>$G(YSCLLD) YSCLLD=YSCLID
  1. . . I YSCLID'>DT,YSCLID'<$G(YSCLM28) S YSCLA(-YSCLID,-YSCL1)="" ;Changed YSCLED to DT RLM
  1. Q
  1. ACTIVE ;Test for Active prescriptions
  1. S YSACT=$$GET1^DIQ(52,YSCL1,100,"I")
  1. Q
  1. REXMIT ;Resend Clozapine data
  1. S X1=YSCLED,X2=-3 D C^%DTC S YSCLED=X,YSCLRET=1,ZTREQ="@" G RUN
  1. Q
  1. ABORT ;
  1. K XMY
  1. S XMY("G.CLOZAPINE ROLL-UP@")=""
  1. I YSDEBUG K XMY S XMY("G.CLOZAPINE DEBUG@")=""
  1. S %DT="T",X="NOW" D ^%DT S YSCLNOW=$P(Y,".",2)
  1. S YSCLSITE=$P($$SITE^VASITE,"^",2)
  1. S XMSUB="Clozapine Roll-Up aborted ["_$G(YSSTOP)_"] at "_YSCLSITE_" on "_DT
  1. S YSTEXT(1,0)=" "
  1. S YSTEXT(2,0)=$S(YSDEBUG:"DEBUG ",1:"")_"Clozapine Roll-Up aborted ["_$G(YSSTOP)_"] at "_YSCLSITE_" on "_DT_" at "_YSCLNOW,^TMP("YSCL",$J,1,0)=" "
  1. S XMTEXT="YSTEXT(",XMDUZ="Clozapine MONITOR" D ^XMD
  1. S ZTSTOP=1 Q
  1. ZEOR ;YSCLTEST