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

ADGICAL.m

Go to the documentation of this file.
  1. ADGICAL ; IHS/ADC/PDW/ENM - INCOMPLETE CHARTS ALPHA LIST ; [ 03/25/1999 11:48 AM ]
  1. ;;5.0;ADMISSION/DISCHARGE/TRANSFER;;MAR 25, 1999
  1. ;
  1. W @IOF,!!!?20,"INCOMPLETE CHARTS ALPHA LIST",!!
  1. ;***> get date range
  1. BDATE S %DT="AEQ",%DT("A")="Select FIRST Discharge Date in Range: ",X=""
  1. D ^%DT G END:Y=-1 S DGBDT=Y
  1. EDATE S %DT="AEQ",%DT("A")="Select LAST Discharge Date in Range: ",X=""
  1. D ^%DT G END:Y=-1 S DGEDT=Y
  1. ;
  1. SORT ; -- ask user for sort choice
  1. K DIR S DIR(0)="SO^1:Sort by PATIENT NAME;2:Sort by TERMINAL DIGIT"
  1. S DIR("A")="Select Choice for Sorting Report" D ^DIR
  1. G BDATE:$D(DIRUT) S DGSRT=Y
  1. ;
  1. ;***> get print device
  1. W !!,*7,"*** WARNING: Report uses wide paper or condensed print!",!
  1. S %ZIS="PQ" D ^%ZIS G END:POP,QUE:$D(IO("Q")) U IO G CALC
  1. QUE K IO("Q") S ZTRTN="CALC^ADGICAL",ZTDESC="INCOM ALPHA"
  1. F I="DGBDT","DGEDT","DGSRT" S ZTSAVE(I)=""
  1. D ^%ZTLOAD D ^%ZISC K ZTSK
  1. END K Y,DGBDT,DGEDT D HOME^%ZIS Q
  1. ;
  1. CALC ;***> Beginning of calculate
  1. K ^TMP("DGZICAL",$J)
  1. S DGCNT=0,DGEDT=DGEDT+.2400
  1. ;
  1. ;***> loop thru incomplete file by date
  1. S DGZDT=DGBDT-.0001
  1. C1 S DGZDT=$O(^ADGIC("AB",DGZDT)) G NEXT:DGZDT="",NEXT:DGZDT>DGEDT
  1. S DFN=0 ;within date loop thru by patient
  1. C2 S DFN=$O(^ADGIC("AB",DGZDT,DFN)) G C1:DFN=""
  1. S DGDFN1=0 ;within patient loop thru by admission
  1. C3 S DGDFN1=$O(^ADGIC("AB",DGZDT,DFN,DGDFN1)) G C2:DGDFN1=""
  1. ;
  1. G C3:'$D(^ADGIC(DFN,"D",DGDFN1,0)) S DGSTR=^(0),DGNM=$P(^DPT(DFN,0),U)
  1. S DGCHT=$S($D(^AUPNPAT(DFN,41,DUZ(2),0)):$P(^(0),U,2),1:"??")
  1. ;***> set utility file by patient name
  1. I DGSRT=1 S ^TMP("DGZICAL",$J,DGNM,DFN,DGDFN1)=DGCHT_U_DGSTR,DGCNT=DGCNT+1
  1. E S ^TMP("DGZICAL",$J,$$TERMD,DFN,DGDFN1)=DGCHT_U_DGSTR,DGCNT=DGCNT+1
  1. G C3
  1. ;
  1. NEXT G ^ADGICAL1
  1. ;
  1. ;
  1. TERMD() ; -- returns terminal digit chart number
  1. NEW X
  1. S X=$P($G(^AUPNPAT(DFN,41,DUZ(2),0)),U,2) I X="" Q "??"
  1. S X="00000"_X,X=$E(X,$L(X)-5,$L(X))
  1. Q $E(X,5,6)_$E(X,3,4)_$E(X,1,2)