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

SDRRTSK.m

Go to the documentation of this file.
  1. SDRRTSK ;10N20/MAH;Recall Reminder-Clinic Print Task; 01/15/2008
  1. ;;5.3;PIMS;**1016**;JUN 30, 2012;Build 20
  1. ;THIS ROUTINE WILL PRINT LETTER FOR SELECTED METHOD OF PRINTING
  1. ;WILL LOOK AT CLINIC RECALL LOCATION
  1. DATE ;lOOKS TO SEE HOW MANY DAYS IN ADVANCE TO PRINT LETTER
  1. Q:'$D(^SD(403.53,0))
  1. S CRP=0
  1. F S CRP=$O(^SD(403.53,CRP)) Q:'CRP D
  1. .S TYPE=$P($G(^SD(403.53,CRP,0)),"^",2)
  1. .Q:TYPE["C"
  1. .S DATE=$P($G(^SD(403.53,CRP,0)),"^",4) Q:DATE="" ;IF NOT SET ROUTINE WILL QUIT
  1. .S X="T+"_DATE D ^%DT S (ZSDT,ZEDT)=Y K Y
  1. .S (PRT,TEAM)=0
  1. .F S TEAM=$O(^SD(403.55,"C",CRP,TEAM)) Q:TEAM="" S PRT=$P($G(^SD(403.55,TEAM,0)),"^",3) D
  1. ..Q:PRT=""
  1. ..S DA=PRT
  1. ..S DIC="^%ZIS(1,",DR=".01;1;3",DIQ="DPTR",DIQ(0)="I" D EN^DIQ1
  1. ..N IOP S IOP=$G(DPTR("3.5",DA,".01","I")) D ^%ZIS
  1. ..S PROV=0 F S PROV=$O(^SD(403.54,"C",TEAM,PROV)) Q:PROV="" D
  1. ...S (MESSAGE,D0,LETTER)=0 F S D0=$O(^SD(403.5,"C",PROV,D0)) Q:D0="" S (CLINIC,FAIL)=0 S CLINIC=$P($G(^SD(403.5,D0,0)),"^",2) D
  1. ....S DTA=$G(^SD(403.5,D0,0))
  1. ....I CLINIC="" S MESSAGE="***NO CLINIC ON FILE**"
  1. ....I CLINIC'="" I '$D(^SD(403.52,"B",CLINIC)) S MESSAGE="***NO CLINIC LETTER ON FILE**" S FAIL=1
  1. ....I CLINIC'="",(FAIL=0) S ZDIV=CLINIC S LETTER=0,LETTER=$O(^SD(403.52,"B",CLINIC,LETTER))
  1. ....S TIME=""
  1. ....I $P(^SD(403.5,D0,0),"^",9)>45 S TIME=$P(^SD(403.5,D0,0),"^",9) S TIME="**"_TIME_"**"
  1. ....S LAB=$S($P($G(^SD(403.5,D0,0)),"^",8)="f":"Lab test(s) have been ordered that require you to FAST",$P(^SD(403.5,D0,0),"^",8)="n":"Lab test(s) have been ordered,which need to be done before an appointment is made",1:"")
  1. ....S DFN=+DTA
  1. ....Q:$P(DTA,U,6)<ZSDT!($P(DTA,U,6)>ZEDT)
  1. ....Q:$$TESTPAT^VADPT(DFN)
  1. ....D ADD^VADPT,DEM^VADPT
  1. ....S STATE=$P(VAPA(5),"^",1),STATE=$$GET1^DIQ(5,STATE_",",1)
  1. ....S PN=$P(VADM(1),U)
  1. ....I $G(VADM(6),U)'="" Q
  1. ....N CHECK
  1. ....I $$BADADR^DGUTL3(DFN) S CHECK=1 S XMSUB="Bad Address for Recall Reminder Patient",XMTEXT="SDRR(" D
  1. .....S XMY("G.SDRR BAD ADDRESS")="",XMDUZ=.5
  1. .....S SDRR(1)="Bad Address- card will not be printed for:"_" "_PN_" "_VA("BID")
  1. .....D ^XMD
  1. .....K XMY,XMSUB,XMTEXT,XMDUZ
  1. .....Q
  1. ....;ADDED THE DATE INFORMATION
  1. ....I '$D(CHECK) S $P(^SD(403.5,D0,0),"^",10)=DT ;NEW CODE
  1. ....Q:$D(CHECK)
  1. ....U IO
  1. ....W @IOF F L=1:1:11 W !
  1. ....W !?20,$P(PN,",",2)," ",$P(PN,",")
  1. ....I $P(VAPA(1),U)'="" W !?20,$P(VAPA(1),U)
  1. ....I $P(VAPA(2),U)'="" W !?20,$P(VAPA(2),U)
  1. ....I $P(VAPA(3),U)'="" W !?20,$P(VAPA(3),U)
  1. ....W !?20,$P(VAPA(4),U),", "_STATE_" ",$P(VAPA(6),U)
  1. ....I LETTER=0 W !!!!!,?25,MESSAGE
  1. ....I TIME'="" W !!!!?2,"**"_TIME
  1. ....I LAB'="" W !!!!!,?2,"*"_LAB
  1. ....W !!!
  1. ....S:'$D(MESSAGE) LETTER=$O(^SD(403.52,"B",CLINIC,LETTER))
  1. ....I LETTER>0 S LINE=0 F S LINE=$O(^SD(403.52,LETTER,1,LINE)) Q:'LINE W !,?2,$P(^SD(403.52,LETTER,1,LINE,0),"^",1)
  1. ..D ^%ZISC
  1. K DPTR,DEVSB,DEVSB1,DIQ,DEVSB1,DA,DA1,DR
  1. K MESSAGE,LETTER
  1. QUIT K DEV,PRT,ADTA,D0,DFN,DIC,DIR,DIRUT,DTA,I,L,PN,POP,Y,ZDIV,ZEDT,ZPR,ZSDT,FAST,TIME,ACC,LAB,STATE
  1. K LINE,LETTER,MESSAGE,TEST,CLINIC,DA,DATE,DEV1,DEVSB,DOD,FAIL,PROV,TEAM,X,PROV,TEAM,CRP,DATE,TYPE,SDRR,DPT,VA
  1. D KVAR^VADPT
  1. Q