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

ADGICPQ.m

Go to the documentation of this file.
  1. ADGICPQ ; IHS/ADC/PDW/ENM - CHART DEFICIENCY LIST BY PROV ; [ 03/25/1999 11:48 AM ]
  1. ;;5.0;ADMISSION/DISCHARGE/TRANSFER;;MAR 25, 1999
  1. ;
  1. K ^TMP("DGZICPL",$J)
  1. A ;--main
  1. D DELDT,HDH,PROV I $D(DIRUT) D Q Q
  1. D COPY I $D(DIRUT) D Q Q
  1. D SUMM I $D(DIRUT)!(Y=-1) D Q Q
  1. D SCRN I $D(DIRUT) D Q Q
  1. D DEV I POP D Q Q
  1. I $D(IO("Q")) D QUE,Q Q
  1. D:'DGPR PA D:DGPR P1 D ^ADGICPP,Q
  1. Q
  1. ;
  1. DELDT ;--delinquent chart date (today-(30days+holidaydays))
  1. N X,Y,Z,X1,X2 S Z=$P($G(^DG(43,1,9999999.02)),U,3)
  1. S X1=DT,X2=-$S(Z:Z,1:30) D C^%DTC
  1. F Y=0:0 S X=$O(^HOLIDAY(X)) Q:'X!(X>DT) S Y=Y+1
  1. S X1=DT,X2=-$S(Z:Z,1:30)-Y D C^%DTC S DGDEL=X Q
  1. ;
  1. HDH ;--intro
  1. W !!!?23,"Chart Deficiency List By Provider",!!
  1. W !!?10,"Charts with a discharge date earlier than "
  1. W !?29,$E(DGDEL,4,5)_"/"_$E(DGDEL,6,7)_"/"_$E(DGDEL,2,3)
  1. W !?15,"will be considered delinquent!" Q
  1. ;
  1. PROV ;--all providers or just one?
  1. I '$D(^XUSEC("DGZICPALL",DUZ)) D SELF Q
  1. K DIR S DIR("A")="For All Providers",DIR(0)="Y",DIR("B")="YES"
  1. S DIR("?",1)="Answer YES to print the list for all providers."
  1. S DIR("?",2)="Answer NO to select sort logic.",DIR("?")=" "
  1. S (DGSCN,DGOPT,DGPR)=0 D ^DIR Q:Y Q:$D(DIRUT)
  1. ;--select option
  1. W !!,"(1) for a Service",!,"(2) for a Class",!,"(3) for a Provider"
  1. K DIR S DIR("A")="Which Option (number)",DIR(0)="N^1:3"
  1. D ^DIR S DGOPT=+Y Q:$D(DIRUT)
  1. ;--class
  1. I DGOPT=2 D Q
  1. . K DIR S DIR("A")="Which Class",DIR(0)="P^7:EQZM"
  1. . D ^DIR S DGSCN=+Y
  1. ;--specialty
  1. I DGOPT=1 D Q
  1. . K DIR S DIR("A")="Which Specialty",DIR(0)="P^45.7:EQZM"
  1. . D ^DIR S DGSCN=+Y
  1. ;--select provider
  1. K DIC S DIC("A")="Which Provider: ",DIC=200,DIC(0)="AEQZM"
  1. S DIC("S")="I $D(^XUSEC(""PROVIDER"",+Y))"
  1. D ^DIC S DGPR=+Y Q
  1. ;
  1. SELF ; -- set user to only provider for report
  1. W !!,"I will print Incomplete/Delinquent Charts for "
  1. W $P($G(^VA(200,DUZ,0)),U),!!
  1. S DGPR=DUZ
  1. Q
  1. ;
  1. COPY ;--number of copies
  1. K DIR S DIR("A")="How Many Copies",DIR(0)="N^1:10",DIR("B")=1
  1. D ^DIR S DGNUM=Y Q
  1. ;
  1. SUMM ;--print summaries at end of each provider?
  1. W !!,"Include in Report:",!,"(1) Individual Provider Lists Only"
  1. W !,"(2) Summary Page Only",!,"(3) BOTH"
  1. K DIR S DIR(0)="N^1:3",DIR("A")="Choose number"
  1. D ^DIR S DGSUMPG=Y Q
  1. ;
  1. SCRN ;--include awaiting trans deficiency?
  1. K DIR S DIR(0)="Y",DIR("B")="NO"
  1. S DIR("A")="Include 'AWAITING TRANS' deficiencies"
  1. D ^DIR S DGSCRN='Y Q
  1. ;
  1. DEV ;--device selection
  1. S %ZIS="PQ" D ^%ZIS Q
  1. ;
  1. QUE ;--queued output
  1. K IO("Q") S ZTRTN="EN^ADGICPQ",ZTDESC="PRINT CHART DEFICIENCY LIST"
  1. N I F I="DGPR","DGDEL","DGNUM","DGSUMPG","DGSCRN","DGOPT","DGSCN" S ZTSAVE(I)=""
  1. D ^%ZTLOAD,^%ZISC K ZTSK Q
  1. ;
  1. EN ;--queued entry point
  1. D:'DGPR PA D:DGPR P1 D ^ADGICPP,Q Q
  1. ;
  1. PA ;--all providers
  1. F S DGPR=$O(^ADGIC("AC",DGPR)) Q:'DGPR D
  1. . I DGOPT=2 D:$P($G(^VA(200,+DGPR,"PS")),U,5)=DGSCN P1 Q
  1. . D P1
  1. Q
  1. ;
  1. P1 ;--one provider
  1. N DFN,DS,PM
  1. S DFN=0 F S DFN=$O(^ADGIC("AC",DGPR,DFN)) Q:'DFN D
  1. . F DS=0:0 S DS=$O(^ADGIC("AC",DGPR,DFN,DS)) Q:'DS D
  1. .. I DGOPT=1,$P($G(^ADGIC(DFN,"D",DS,0)),U,4)'=DGSCN Q
  1. .. F PM=0:0 S PM=$O(^ADGIC("AC",DGPR,DFN,DS,PM)) Q:'PM D 1
  1. Q
  1. ;
  1. 1 ;
  1. N NM,CHT,N,SUM,OP,PRN,CD,DSD
  1. S NM=$P($G(^DPT(DFN,0)),U),CHT=$P($G(^AUPNPAT(DFN,41,DUZ(2),0)),U,2)
  1. ;discharge date ;date summary dictated ;date op report dictated
  1. S N=^ADGIC(DFN,"D",DS,0),DSD=$P(N,U),SUM=$P(N,U,6),OP=$P(N,U,8)
  1. S PRN=$P($G(^VA(200,+DGPR,0)),U)
  1. ;--chart deficiencies
  1. N X,X1 S CD="",X=0 F S X=$O(^ADGIC(DFN,"D",DS,"P",PM,"C",X)) Q:'X D
  1. . S X1=$P(^ADGIC(DFN,"D",DS,"P",PM,"C",X,0),U)
  1. . I DGSCRN Q:^ADGCD(X1,0)["AWAITING TRANS"
  1. . ;Q:^ADGCD(X1,0)["CODED A SHEET"
  1. . S CD=$S(CD="":X1,1:CD_U_X1)
  1. ;--utility
  1. Q:CD="" S ^TMP("DGZICPL",$J,PRN,DSD,NM,DFN)=CHT_U_SUM_U_OP_U_CD Q
  1. ;
  1. Q ;--cleanup
  1. K DGPR,DIR,POP,DGFLG,DGDEL,DGSUMPG,DGSCRN,DGNUM,DGOPT,DGSCN
  1. D HOME^%ZIS Q