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

ADGICAL3.m

Go to the documentation of this file.
  1. ADGICAL3 ; IHS/ADC/PDW/ENM - DS INCOMPLETE CHARTS 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 DGAD=$P(DGSTR,U,2),DGSV=$P(DGSTR,U,6)
  1. S DGOPD=$P(DGSTR,U,3),DGOPR=$P(DGSTR,U,4),DGCOM=$P(DGSTR,U,5)
  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:DGSV'="" $E($P($G(^DIC(45.7,DGSV,0)),U,3),1,3)
  1. W:DGOPD'="" ?44,$E(DGOPD,4,5)_"/"_$E(DGOPD,6,7)_"/"_$E(DGOPD,2,3)
  1. W:DGOPR'="" ?55,$E(DGOPR,4,5)_"/"_$E(DGOPR,6,7)_"/"_$E(DGOPR,2,3)
  1. ;
  1. G A3:'$D(^ADGDSI(DFN,"DT",DGDFN1,"P",0))
  1. ;
  1. ;**> loop thru & find provi with chart deficiencies for this admission
  1. S DGDFN2=0
  1. A4 S DGDFN2=$O(^ADGDSI(DFN,"DT",DGDFN1,"P",DGDFN2)) G A3:+DGDFN2'=DGDFN2
  1. S DGPRV=$P(^ADGDSI(DFN,"DT",DGDFN1,"P",DGDFN2,0),U)
  1. W:$X>65 ! W ?65
  1. W:DGPRV'="" $E($P($G(^VA(200,DGPRV,0)),U),1,18) ;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(^ADGDSI(DFN,"DT",DGDFN1,"P",DGDFN2,"CD",DGX)) Q:+DGX'=DGX
  1. .S DGY=$P(^ADGDSI(DFN,"DT",DGDFN1,"P",DGDFN2,"CD",DGX,0),U)
  1. .I DGY'="",$D(^ADGCD(DGY,0)) W ?90,$E($P(^ADGCD(DGY,0),U),1,16)
  1. .I ($Y+6)>IOSL D NEWPG
  1. I $X>110 W ! I ($Y+6)>IOSL D NEWPG G END:DGSTOP=U
  1. W ?110,$E(DGCOM,1,13),?123,$E($$INS^ADGMREC(DFN),1,8)
  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,"DS INCOMPLETE CHARTS 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,"Surg Date",?38,"Srv"
  1. W ?44,"Op Dict",?55,"Op Rvcd",?65,"Provider",?90,"Chart Def"
  1. W ?110,"Comments",?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)