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

ADEGRL6.m

Go to the documentation of this file.
  1. ADEGRL6 ; IHS/HQT/MJL - FILE DENTAL VISIT DATA ;10:12 PM [ 03/24/1999 9:04 AM ]
  1. ;;6.0;ADE;**12,26**;APRIL 1999;Build 13
  1. ;;IHS/OIT/GAB 10.2014 Modified for 2015 Code Updates - PATCH 26
  1. K DIC
  1. ;S J="" F S J=$O(ADEV(J)) Q:'J W !,"ADEV(",J,")=",ADEV(J)
  1. ;R X ;IHS/HMW 5-12-90 REMOVE AFTER TESTING
  1. I ADENOUPD G END
  1. I ADENEWVS,'$D(ADEV) G END
  1. ;------->QUEUE WRITES IF BACKGROUND ENABLED, TASKMAN RUNNING
  1. G ZTM ;IHS/SET/HMW 2-6-2003 **12** Background writes disabled
  1. G:$P(^ADEPARAM(+^AUTTSITE(1,0),0),U,4)'="y" ZTM
  1. I $S($D(^%ZTSCH("RUN"))[0:1,^("RUN")-$H:1,1:$P($H,",",2)-150>$P(^("RUN"),",",2)) W *7,!,"TASK MANAGER NOT RUNNING -- BACKGROUND WRITES DISABLED",!,"PLEASE WAIT WHILE I UPDATE THE DENTAL FILE",! G ZTM
  1. D ^ADEQUE
  1. ; ^ADEUTL is a transient, non-fileman working global
  1. I '$D(^ADEUTL("ADEDQUE")) S ^ADEUTL("ADEDQUE")=1,ZTRTN="^ADEDQUE",ZTDTH=$H,ZTDESC="DENTAL DISC WRITES",ZTIO="" D ^%ZTLOAD
  1. G END1
  1. ZTM ;------->IF NEW VISIT CREATE ENTRY IN ADEPCD (ENTRY POINT FOR ^ADEDQUE)
  1. I ADENEWVS D NEWVS
  1. ;------->IF MODIFICATION OF EXISTING VISIT DELETE OLD SVCS DATA
  1. I 'ADENEWVS D SDEL
  1. ;------->NEW LOCATION AND PROVIDER DATA INTO ADEPCD
  1. K DIE,DA,DR D STUFA
  1. ;------->NEW SERVICE DATA INTO ADEPCD
  1. K DIE,DA,DR D STUFB
  1. ;------->FAILED APPT & FOLLOWUP PROCESSING
  1. ;/IHS/OIT/GAB 11.2014 Patch #26 modified below line to add 2015 codes 9986 & 9987 (do not remove old codes yet)
  1. ;I ADENEWVS,($D(ADEV("9130"))!$D(ADEV("9140"))) D FAIL,FOL G END
  1. I ADENEWVS,($D(ADEV("9130"))!$D(ADEV("9140"))!$D(ADEV("9986"))!$D(ADEV("9987"))) D FAIL,FOL G END
  1. ;------->UPDATE PCC FILES
  1. D ^ADEAPC
  1. END K ^ADEUTL("ADELOCK",ADEPAT)
  1. END1 K ADEFLG,ADENOTE,ADEVDATE,ADENOUPD,ADENEWVS,ADEPAT,ADERDNM,ADERDNMD,ADELOE,ADELOED,ADEPVNM,ADEPVNMD,ADEV,ADEDES,ADEPNM,ADEHRN,ADEDENT,ADETITL,ADECOD,ADEDEL,ADEOP,ADECNT,ADEQTY,ADEDEF,ADEI,ADETCH,ADETCHF,ADETFE
  1. K ADEHXC,ADEHXO,ADEHXF
  1. Q
  1. ;
  1. NEWVS S DIC="^ADEPCD(",DIC(0)="LZ",X=ADEPAT,DIC("DR")="1///"_ADEVDATE K DD,DO D FILE^DICN S ADEDFN=$P(Y,U)
  1. Q
  1. ;
  1. SDEL ;
  1. S DIE="^ADEPCD(",DA=ADEDFN,DR(2,9002007.01)=".01///@",ADESVC=0
  1. SDEL1 S ADESVC=$O(^ADEPCD(ADEDFN,"ADA",ADESVC))
  1. I ADESVC="" K ADESVC,DR,DIE,DA Q
  1. S DR="100///`"_ADESVC D ^DIE G SDEL1
  1. STUFA S DA=ADEDFN,DR="2///`"_ADELOED_";"_$S(ADEPVNMD]"":"4///`"_ADEPVNMD_";",1:"")_$S(ADENOTE]"":"6///^S X=ADENOTE;",1:"")_$S(ADECON:"7///"_ADETCH_";8///c;",1:"8///d;")_"3///`"_ADERDNMD,DIE="^ADEPCD(" D ^DIE Q
  1. STUFB S DA(1)=ADEDFN
  1. S DIE="^ADEPCD(DA(1),""ADA"",",^ADEPCD(DA(1),"ADA",0)="^9002007.01IPA^^",ADEJ=0,DA=0
  1. ROLL S ADEJ=$O(ADEV(ADEJ)) G:ADEJ="" RO1 S ADEI=$O(^AUTTADA("B",ADEJ,0))
  1. RO1A S ADECNT=0 F DA=DA+1:1:DA+$P(ADEV(ADEJ),U) S ADECNT=ADECNT+1,DR=".01///`"_ADEI D RO1B S:ADECON DR=DR_";3///"_$P(ADEV(ADEJ),U,3) D ^DIE ;IHS/HMW 5-12-90
  1. G ROLL
  1. RO1B I $P($P(ADEV(ADEJ),U,2),",",ADECNT)]"" S DR=DR_";2///`"_$P($P(ADEV(ADEJ),U,2),",",ADECNT)
  1. I $P($P(ADEV(ADEJ),U,4),",",ADECNT)]"" S DR=DR_";4///"_$P($P(ADEV(ADEJ),U,4),",",ADECNT)
  1. I $P($P(ADEV(ADEJ),U,5),",",ADECNT)]"" S DR=DR_";5///y"
  1. Q
  1. RO1 S $P(^ADEPCD(ADEDFN,"ADA",0),U,3)=DA S $P(^(0),U,4)=DA
  1. Q
  1. FAIL ;
  1. K DIC,DIE,DA,DR,X,Y
  1. I '$D(^ADEPAT(ADEPAT)) S DIC="^ADEPAT(",DIC(0)="LZ",X=ADEPAT,DINUM=X K DD,DO D FILE^DICN
  1. S DA(1)=ADEPAT
  1. S DIE="^ADEPAT(DA(1),""FA"","
  1. I $D(^ADEPAT(ADEPAT,"FA",0)) S DA=$P(^ADEPAT(ADEPAT,"FA",0),U,3)+1
  1. E S ^ADEPAT(ADEPAT,"FA",0)="^9002010.22DA^^",DA=1
  1. ;/IHS/OIT/GAB 11.2014 Patch #26 Removed below and added the next line to include new code 9986 (do not remove old codes yet)
  1. ;S DR=".01///"_ADEVDATE_";1///"_$S($D(ADEV("9130")):"b",1:"c")
  1. S DR=".01///"_ADEVDATE_";1///"_$S($D(ADEV("9130")):"b",$D(ADEV("9986")):"b",1:"c")
  1. D ^DIE
  1. S $P(^ADEPAT(ADEPAT,"FA",0),U,3)=DA,$P(^ADEPAT(ADEPAT,"FA",0),U,4)=$P(^ADEPAT(ADEPAT,"FA",0),U,4)+1
  1. Q
  1. FOL ;IF FAILED APPT SEND MESSG IF ON URGENT RECALL
  1. Q:'$D(^ADEFOL("TYPE",ADEPAT,"rc"))
  1. S ADETYP=0 F ADEQ=0:0 S ADETYP=$O(^ADEFOL("TYPE",ADEPAT,"rc",ADETYP)) Q:'+ADETYP S ADEMDFN=0 F ADER=0:0 S ADEMDFN=$O(^ADEFOL("TYPE",ADEPAT,"rc",ADETYP,ADEMDFN)) Q:'+ADEMDFN D MSG
  1. K ADETYP,ADEMDFN,ADEQ,ADER,XMB Q
  1. MSG Q:'$D(^ADEFOL(ADEMDFN,0))
  1. K XMB
  1. I $P(^ADEFOL(ADEMDFN,0),U,5)="u" S XMB(1)=$P(^DPT(ADEPAT,0),U),XMB(2)=ADEVDATE I $P(^ADEFOL(ADEMDFN,0),U,7)]"",$D(^DIC(16,$P(^ADEFOL(ADEMDFN,0),U,7),0)) S XMB(3)=$P(^DIC(16,$P(^ADEFOL(ADEMDFN,0),U,7),0),U)
  1. I $D(XMB) D
  1. . S XMB="ADECALL"
  1. . S XMDUZ="DENTAL RECALL SYSTEM"
  1. . D ^XMB
  1. . K XMB
  1. Q