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

ADEGRL3.m

Go to the documentation of this file.
  1. ADEGRL3 ; IHS/HQT/MJL - DENTAL ENTRY PART 4 ;
  1. ;;6.0;ADE;**10,12,23,26**;JUN 6, 2011;Build 13
  1. ;;IHS/OIT/GAB 10.2014 Modified for 2015 Code Updates - PATCH 26
  1. ;------->INIT
  1. D HRN
  1. S ADETITL="CURRENT VISIT ENTRIES TABLE"_$S(ADEDIR:" (DIRECT",1:" (CONTRACT")_" MODE)"
  1. ;------->GET CUR VIS STAT
  1. ;/IHS/OIT/GAB 11.2014 Patch #26 Changed the below two lines & added following two - update 9130 & 9140 codes to 9986 & 9987, but don't remove old codes yet!
  1. ;I '$D(ADEV("0000")),'$D(ADEV("0190")),'$D(ADEV("9130")),'$D(ADEV("9140")) D VSTAT^ADEGRL4 I Y=-1 S ADENOUPD=1 W !!,"***DATA ENTRY ABORTED***" G END
  1. ;I 'ADENEWVS,($D(ADEV("9130"))!$D(ADEV("9140"))) D LIST S ADENOUPD=1 W !!,"***UNEDITABLE RECORD (FAILED APPOINTMENT) -- USE DELETE OPTION TO DELETE***",*7 H 2 G END
  1. I '$D(ADEV("0000")),'$D(ADEV("0190")),'$D(ADEV("9130")),'$D(ADEV("9140")),'$D(ADEV("9986")),'$D(ADEV("9987")) D VSTAT^ADEGRL4 I Y=-1 S ADENOUPD=1 W !!,"***DATA ENTRY ABORTED***" G END
  1. I 'ADENEWVS,$D(ADEV("9130"))!$D(ADEV("9140"))!$D(ADEV("9986"))!$D(ADEV("9987")) D LIST S ADENOUPD=1 W !!,"***UNEDITABLE RECORD (FAILED APPOINTMENT) -- USE DELETE OPTION TO DELETE***",*7 H 2 G END
  1. ;------->GET TREATMENT HISTORY
  1. K ADEHXC,ADEHXO,ADEHXF
  1. D ^ADEGRL33
  1. ;Patch **12** removed call to IH^ADEGRL34 IHS/HMW 1-15-2003
  1. ;Begin IH Code Patch **10** IHS/ANMC/HMW 11-2-2001
  1. ;I '$$IH^ADEGRL34(ADEPAT,ADEVDATE) S ADENOUPD=1 W !!,"***DATA ENTRY ABORTED***" G END
  1. ;End IH Code Patch
  1. CTRL ;------->CTRL
  1. S ADEY=1
  1. D LIST
  1. ;------->READ
  1. W !!,"Select ADA CODE (or Action): " R X:DTIME S:'$T X="^"
  1. ;------->CHECK FOR END OF DATA ENTRY, CONSISTENCY CHECKS
  1. I X=""!(X="^Q")!(X="^") S Y=0 D EXIT^ADEGRL31 G:Y END G CTRL
  1. ;IHS;SD;TPF 4/22/2011 WO 2011 CNI-100 PATCH 23
  1. ;DO DEPENDENCY CHECK
  1. G CTRL:$$DEPEND(X,.ADEV)
  1. ;END WO 2011 CNI-100
  1. D CHECKEX G:'ADEY CTRL
  1. D VERIFY^ADEGRL32 G:'ADEY CTRL
  1. ;------->I CON
  1. I ADECON D FEE^ADEGRL31 G:'ADEY CTRL
  1. I ADECON,$P(Y(0),U,9)="n" D QUANT G VALID
  1. I ADECON,$P(Y(0),U,9)'="n" D ^ADEGRL5 G VALID
  1. ;------->I DIR
  1. I 'ADEFAST,$P(Y(0),U,9)'="n" D ^ADEGRL5 G VALID
  1. D QUANT
  1. ;
  1. VALID ;VALIDITY CHECKS -- Check that code is reportable given Pt Tx Hx.
  1. I $D(ADEV(ADECOD)) D ^ADEGRL5A D:$D(ADEXFLG) RETURN^ADEGRL5B K ADEREDO,ADEXFLG,ADENRP
  1. G CTRL
  1. END Q
  1. ;
  1. DEPEND(X,ADEV) ;DEPENDENCY CHECK
  1. I X=9221,'$D(ADEV(9220)) D Q 1
  1. .W !!!,"CODE 9221 REQUIRES ENTRY OF CODE 9220 FIRST!" D DIRE
  1. I X=9242,'$D(ADEV(9241)) D Q 1
  1. .W !!!,"CODE 9242 REQUIRES ENTRY OF CODE 9241 FIRST!" D DIRE
  1. Q 0
  1. DIRE ;PRESS RETURN
  1. K DIR S DIR(0)="E" D ^DIR
  1. Q
  1. ;
  1. CHECKEX I X="?" S XQH="ADE-DVIS-ADACODES" D EN^XQH K XQH D ^ADECLS,^ADEHELP S ADEY=0 Q
  1. I X="??" D ^ADEHELP S ADEY=0 Q
  1. ;I X="^L" D FAC^ADEGRL4 K DIC S ADEY=0 Q
  1. I X="^D" D REPD^ADEGRL4 K DIC S ADEY=0 Q
  1. I X="^H",'ADECON D PROV^ADEGRL4 K DIC S ADEY=0 Q
  1. I X="^N" D NOTE^ADEGRL4 S ADEY=0 Q
  1. I X="^W",'ADECON N ADETITL S ADETITL=" WAITING",ADEWAI=1,ADEREC=0,ADEREF=0,ADETYP="w" D EN^ADEMNG S ADEY=0 Q
  1. I X="^R",'ADECON N ADETITL S ADETITL=" RECALL",ADEWAI=0,ADEREC=1,ADEREF=0,ADETYP="rc" D EN^ADEMNG S ADEY=0 Q
  1. I ADECON,X="^C" D TFEE^ADEGRL31 S ADEY=0 Q
  1. I ADEDIR,X="^S" D EN^ADEATT S ADEY=0 Q
  1. I X="^P",'$D(ADEPLET) S ADEPLET=1,ADEY=0 Q
  1. I X="^P" K ADEPLET S ADEY=0 Q
  1. I X="^V" D EN2^ADERVW Q
  1. I X="@" D DEL^ADEGRL31 S ADEY=0 Q
  1. I X["@",$P(X,"@",2)]"",$D(ADEV($P(X,"@",2))) K ADEV($P(X,"@",2)),ADEDES($P(X,"@",2)) S ADEY=0 Q
  1. Q
  1. QUANT ;
  1. S $P(ADEV(ADECOD),U)=1 ;IHS/HMW 9-24-90 IF 'NO OPSITE' STUFF QTY=1
  1. ;IHS/SD/TPF 4/22/2010 WO 2011 CNI-100 PATCH
  1. I ADECOD="0240"!(ADECOD=9221)!(ADECOD=9242) D
  1. .K DIR,DTOUT,DTOUT
  1. .S DIR("B")="Enter Quntity"
  1. .S DIR(0)="N^1:6"
  1. .D ^DIR
  1. .Q:$D(DTOUT)!($D(DUOUT))
  1. .S $P(ADEV(ADECOD),U)=Y
  1. ;END WO 2011 CNI-100
  1. Q
  1. LIST ;EP
  1. N ADENONR
  1. D ^ADECLS,LINE
  1. W !,"Patient: ",ADEPNM,?40,"Chart#: ",ADEHRN,?57,"Date: ",ADEVDATE,!,"Location: ",ADELOE W:('ADEFAST)&ADEDIR !,"Hygienist/Therapist: ",ADEPVNM W !,"Attending Dentist: ",ADERDNM,!
  1. I $D(ADENOTE),ADENOTE]"",ADENOTE'="@" W "Dental Note: ",ADENOTE,!
  1. I ADECON S (ADETFE,L)=0 F K=0:0 S L=$O(ADEV(L)) Q:L="" S ADETFE=ADETFE+($P(ADEV(L),U,3)*$P(ADEV(L),U))
  1. I ADECON S:'ADETCHF ADETCH=ADETFE W "Total Fees: $",$J(ADETFE,4,2),?30,"Total Charge this Visit: $",$J(ADETCH,4,2),!
  1. W !,"ADA CODE",?10,"DESCRIPTION",?27,"QTY"
  1. W:ADECON ?32,"UNIT",?40,"TOTAL"
  1. W:ADECON ?50,"OPSITE" W:ADEDIR ?35,"OPSITE"
  1. S J=0
  1. L1 S J=$O(ADEV(J)) G:J="" L2
  1. W !?2,J
  1. I $P(ADEV(J),U,2)="",$P(ADEV(J),U,5)]"" W "*" S ADENONR=1
  1. W ?10,ADEDES(J),?27,$J($P(ADEV(J),U),3) W:ADECON ?32,$P(ADEV(J),U,3),?40,$P(ADEV(J),U,3)*$P(ADEV(J),U)
  1. S ADECNT=0 F K=1:1:$L($P(ADEV(J),U,2),",") S ADEPC=$P($P(ADEV(J),U,2),",",K) D L3
  1. G L1
  1. L2 K J W:$D(ADENONR) !,"*=Unreportable Procedures" W !,ADELIN Q
  1. L3 ;DISPLAY OP SITE
  1. Q:ADEPC="" ;IHS/HMW 5-12-90
  1. I $D(ADEPLET),$P(^ADEOPS(ADEPC,0),U,4)]"" S ADEPC=$P(^ADEOPS(ADEPC,0),U,4) ;IHS/HMW 5-12-90
  1. E S ADEPC=^ADEOPS(ADEPC,88) ;IHS/HMW 5-12-90
  1. I $P($P(ADEV(J),U,4),",",K)]"" S ADEPC=ADEPC_"["_$P($P(ADEV(J),U,4),",",K)_"]"
  1. I $P($P(ADEV(J),U,5),",",K)]"" S ADEPC=ADEPC_"*",ADENONR=1
  1. S ADECNT=$L(ADEPC)+ADECNT+1
  1. I ADECNT>$S(ADECON:15,ADEDIR:30) S ADECNT=0 W:ADEDIR !,?35,ADEPC_" " W:ADECON !,?50,ADEPC_" " Q
  1. W:ADEDIR ?35,ADEPC_" " W:ADECON ?50,ADEPC_" " Q
  1. LINE W $E(ADELIN,1,40-($L(ADETITL)/2)),ADETITL,$E(ADELIN,1,39-($L(ADETITL)/2)) Q
  1. CON ;EP
  1. R !,"(Press ENTER to continue) ",X:DTIME K X Q
  1. HRN ;EP
  1. S ADEPNM=$P(^DPT(ADEPAT,0),U) S ADENOUPD=0
  1. S ADEHRN="" I $D(^AUPNPAT(ADEPAT,41,DUZ(2),0)) S ADEHRN=$P(^(0),U,2)
  1. Q