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

ADGICAL1.m

Go to the documentation of this file.
  1. ADGICAL1 ; IHS/ADC/PDW/ENM - INCOMPLETE CHARTS ALPHA LIST PRINT ; [ 03/25/1999 11:48 AM ]
  1. ;;5.0;ADMISSION/DISCHARGE/TRANSFER;;MAR 25, 1999
  1. ;
  1. ;***> initialize variables
  1. S DGIOM=IOM,X=132 X ^%ZOSF("RM")
  1. S DGPAGE=0,DGSTOP=""
  1. S DGDUZ=$P(^VA(200,DUZ,0),U,2),DGFAC=$P(^DIC(4,DUZ(2),0),U)
  1. S DGX=$E(DGBDT,4,5)_"/"_$E(DGBDT,6,7)_"/"_($E(DGBDT,1,3)+1700)
  1. S DGY=$E(DGEDT,4,5)_"/"_$E(DGEDT,6,7)_"/"_($E(DGEDT,1,3)+1700)
  1. S DGDTS="from "_DGX_" to "_DGY ;printable date range
  1. S (DGLIN,DGLIN1)="",$P(DGLIN,"-",132)="",$P(DGLIN1,"=",132)=""
  1. D HEAD
  1. ;
  1. ;***> loop thru ^utility
  1. S DGNAM=0
  1. A1 S DGNAM=$O(^TMP("DGZICAL",$J,DGNAM)) G END:DGNAM="" S DFN=0
  1. A2 S DFN=$O(^TMP("DGZICAL",$J,DGNAM,DFN)) G A1:DFN="" S DGDFN2=0
  1. A3 S DGDFN1=$O(^TMP("DGZICAL",$J,DGNAM,DFN,DGDFN1)) G A2:DGDFN1=""
  1. ;
  1. ;***> set variables
  1. S DGSTR=^TMP("DGZICAL",$J,DGNAM,DFN,DGDFN1)
  1. S DGDD=$P(DGSTR,U,2),DGAD=$P(DGSTR,U,3),DGWD=$P(DGSTR,U,4)
  1. S DGSV=$P(DGSTR,U,5),DGSMD=$P(DGSTR,U,7),DGSMR=$P(DGSTR,U,8)
  1. S DGOPD=$P(DGSTR,U,9),DGOPR=$P(DGSTR,U,10),DGCOM=$P(DGSTR,U,13)
  1. ;
  1. ;***> print line
  1. W !!,$$NAME,?18,$J($P(DGSTR,U),7)
  1. W:DGAD'="" ?27,$E(DGAD,4,5)_"/"_$E(DGAD,6,7)_"/"_$E(DGAD,2,3)
  1. W ?38 W:DGWD'="" $E($P($G(^DIC(42,DGWD,0)),U),1,3)
  1. W:DGSMD'="" ?44,$E(DGSMD,4,5)_"/"_$E(DGSMD,6,7)_"/"_$E(DGSMD,2,3)
  1. W:DGOPD'="" ?55,$E(DGOPD,4,5)_"/"_$E(DGOPD,6,7)_"/"_$E(DGOPD,2,3)
  1. W ?67,$S($P(DGSTR,U,14)="Y":"YES",$P(DGSTR,U,14)="N":"NO",1:"")
  1. W ?110,$P(DGSTR,U,13),?123,$$INS^ADGMREC(DFN)
  1. W ! W:DGDD'="" ?27,$E(DGDD,4,5)_"/"_$E(DGDD,6,7)_"/"_$E(DGDD,2,3)
  1. W ?38 W:DGSV'="" $E($P($G(^DIC(45.7,DGSV,0)),U,3),1,3)
  1. W:DGSMR'="" ?44,$E(DGSMR,4,5)_"/"_$E(DGSMR,6,7)_"/"_$E(DGSMR,2,3)
  1. W:DGOPR'="" ?55,$E(DGOPR,4,5)_"/"_$E(DGOPR,6,7)_"/"_$E(DGOPR,2,3)
  1. W ?67,$S($P(DGSTR,U,12)="Y":"YES",$P(DGSTR,U,12)="N":"NO",1:"")
  1. I ($Y+6)>IOSL D NEWPG G END:DGSTOP=U
  1. ;
  1. G A3:'$D(^ADGIC(DFN,"D",DGDFN1,"P",0))
  1. ;
  1. ;**> loop thru & find provi with chart deficiencies for this admission
  1. S DGDFN2=0
  1. A4 S DGDFN2=$O(^ADGIC(DFN,"D",DGDFN1,"P",DGDFN2)) G A3:+DGDFN2'=DGDFN2
  1. S DGPRV=$P(^ADGIC(DFN,"D",DGDFN1,"P",DGDFN2,0),U)
  1. W:$X>75 ! W ?75
  1. W:DGPRV'="" $E($P($G(^VA(200,DGPRV,0)),U),1,15) ;provider name
  1. ;
  1. ;***> find all chart deficiencies for provider
  1. S DGX=0 F Q:+DGX'=DGX Q:DGSTOP=U D
  1. .S DGX=$O(^ADGIC(DFN,"D",DGDFN1,"P",DGDFN2,"C",DGX)) Q:+DGX'=DGX ;
  1. .S DGY=$P(^ADGIC(DFN,"D",DGDFN1,"P",DGDFN2,"C",DGX,0),U)
  1. .I DGY'="",$D(^ADGCD(DGY,0)) W ?92,$E($P(^ADGCD(DGY,0),U),1,16),!
  1. .I ($Y+6)>IOSL D NEWPG
  1. G END:DGSTOP=U G A4
  1. ;
  1. ;***> eoj
  1. END W !!,DGLIN,!,"Total Count: ",DGCNT
  1. I IOST["C-" D PRTOPT^ADGVAR
  1. S X=DGIOM X ^%ZOSF("RM") K DGIOM
  1. W @IOF D KILL^ADGUTIL K ^TMP("DGZICAL",$J)
  1. D ^%ZISC Q
  1. ;
  1. ;
  1. I (IOST["C-")!(DGPAGE>0) W @IOF
  1. W ?37,"*****Confidential Patient Data Covered by Privacy Act*****"
  1. W !,DGDUZ,?132-$L(DGFAC)\2,DGFAC
  1. W ! D TIME^ADGUTIL W ?52,"INCOMPLETE CHARTS ALPHA LIST"
  1. S DGPAGE=DGPAGE+1 W ?122,"Page ",DGPAGE
  1. W !,$E(DT,4,5)_"/"_$E(DT,6,7)_"/"_$E(DT,2,3),?52,DGDTS
  1. W !!!,"Patient Name",?20,"HRCN",?27,"Admt Date",?38,"Ward"
  1. W ?44,"Summ Dict",?55,"Op Dict",?65,"A Sheet"
  1. W !?27,"Dsch Date",?38,"Srvc",?44,"Summ Rcvd",?55,"Op Rcvd"
  1. W ?65,"Coded",?75,"Provider",?92,"Chart Deficiency",?110,"Comments"
  1. W ?122,"Insurance",!,DGLIN1,!!
  1. Q
  1. ;
  1. NEWPG ;***> subrtn for end of page control
  1. I IOST'?1"C-".E G HEAD
  1. K DIR S DIR(0)="E" D ^DIR S DGSTOP=X
  1. G HEAD:DGSTOP'=U Q
  1. ;
  1. ;
  1. NAME() ; -- returns printable name
  1. NEW N
  1. S N=$S(DGSRT=1:DGNAM,1:$P(^DPT(DFN,0),U))
  1. Q $E(N,1,15)