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

ADGDSIP.m

Go to the documentation of this file.
  1. ADGDSIP ; IHS/ADC/PDW/ENM - DS CHART DEFICIENCY 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. NEW DGRNG
  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 ^ADGDSIP1,Q
  1. Q
  1. ;
  1. DELDT ;--delinquent chart date (today-(30days+holidaydays))
  1. N X,Y,X1,X2 S DGRNG=$P($G(^DG(43,1,9999999.02)),U,3)
  1. S X1=DT,X2=-$S(DGRNG:DGRNG,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(DGRNG:DGRNG,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 surgery 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! (",DGRNG," days)"
  1. Q
  1. ;
  1. PROV ;--all providers or just one?
  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. 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^ADGDSIP",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 ;EP; --queued entry point
  1. D:'DGPR PA D:DGPR P1 D ^ADGDSIP1,Q Q
  1. ;
  1. PA ;--all providers
  1. F S DGPR=$O(^ADGDSI("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(^ADGDSI("AC",DGPR,DFN)) Q:'DFN D
  1. . F DS=0:0 S DS=$O(^ADGDSI("AC",DGPR,DFN,DS)) Q:'DS D
  1. .. I DGOPT=1,$P($G(^ADGDSI(DFN,"DT",DS,0)),U,5)'=DGSCN Q
  1. .. F PM=0:0 S PM=$O(^ADGDSI("AC",DGPR,DFN,DS,PM)) Q:'PM D 1
  1. Q
  1. ;
  1. 1 ;
  1. NEW NM,CHT,N,SUM,OPD,OPR,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=$G(^ADGDSI(DFN,"DT",DS,0)) Q:N=""
  1. S DSD=$P(N,U),OPD=$P(N,U,2),OPR=$P(N,U,3)
  1. S PRN=$P($G(^VA(200,+DGPR,0)),U)
  1. ;--chart deficiencies
  1. N X,X1 S CD="",X=0
  1. F S X=$O(^ADGDSI(DFN,"DT",DS,"P",PM,"CD",X)) Q:'X D
  1. . S X1=$P(^ADGDSI(DFN,"DT",DS,"P",PM,"CD",X,0),U)
  1. . I DGSCRN Q:^ADGCD(X1,0)["AWAITING TRANS"
  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_OPD_U_OPR_U_CD Q
  1. ;
  1. Q ;--cleanup
  1. K DGPR,DIR,POP,DGFLG,DGDEL,DGSUMPG,DGSCRN,DGNUM,DGOPT,DGSCN
  1. D HOME^%ZIS Q