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

AQAQDCC.m

Go to the documentation of this file.
  1. AQAQDCC ;IHS/ANMC/LJF - DELINQUENT CHARTS BY PROVIDER; [ 05/27/92 11:14 AM ]
  1. ;;2.2;STAFF CREDENTIALS;;01 OCT 1992
  1. ;
  1. ;>>> FIND INCOMPLETE CHARTS & GET COUNTS BY PROVIDER <<<
  1. ;
  1. K ^UTILITY("AQAQDC",$J) S AQAQDTOT=0 ;total delq charts
  1. ;***> loop thru incomplete chart file by provider
  1. S AQAQPRV=0 K AQAQ
  1. F S AQAQPRV=$O(^ADGIC("AC",AQAQPRV)) Q:AQAQPRV="" D
  1. .S AQAQPRVN=$P(^DIC(16,AQAQPRV,0),U) ;provider name
  1. .S DFN=0 F AQAQI=1:1:7 S AQAQ(AQAQI)=0 ;reset counts
  1. .F S DFN=$O(^ADGIC("AC",AQAQPRV,DFN)) Q:DFN="" D
  1. ..S AQAQDS=0
  1. ..F S AQAQDS=$O(^ADGIC("AC",AQAQPRV,DFN,AQAQDS)) Q:AQAQDS="" D
  1. ...S AQAQPM=0
  1. ...F S AQAQPM=$O(^ADGIC("AC",AQAQPRV,DFN,AQAQDS,AQAQPM)) Q:AQAQPM="" D
  1. ....;
  1. ....Q:'$D(^ADGIC(DFN,"D",AQAQDS,"P",AQAQPM,"C",0)) Q:$P(^(0),U,4)<1
  1. ....Q:'$D(^ADGIC(DFN,"D",AQAQDS,0))
  1. ....S AQAQSTR=^(0),AQAQDSD=$P(AQAQSTR,U) ;discharge date for chart
  1. ....;
  1. ....;**> find all chart deficiencies for this prov for this discharge
  1. ....S AQAQCD="",AQAQX=0
  1. ....F S AQAQX=$O(^ADGIC(DFN,"D",AQAQDS,"P",AQAQPM,"C",AQAQX)) Q:AQAQX'=+AQAQX D
  1. .....S AQAQX1=$P(^(AQAQX,0),U)
  1. .....S AQAQCD=$S(AQAQCD="":AQAQX1,1:AQAQCD_U_AQAQX1)
  1. ....D COUNT ;increment counts
  1. .;
  1. .;**> for each provider, set ^utility
  1. .S AQAQSTR=AQAQ(3) F AQAQI=4:1:7 S AQAQSTR=AQAQSTR_U_AQAQ(AQAQI)
  1. .S ^UTILITY("AQAQDC",$J,AQAQPRVN)=AQAQSTR
  1. .I AQAQADD D FILE ;stuff data into credentials file
  1. ;
  1. ;**> find total delq charts for facility by patient
  1. S (DFN,AQAQDTOT)=0
  1. F S DFN=$O(^UTILITY("AQAQDC","ZZ",DFN)) Q:DFN="" S AQAQDTOT=AQAQDTOT+1
  1. I AQAQADD D DLQTOT ;stuff facility delq total into entries
  1. ;
  1. ;>>> end of calculate <<<
  1. NEXT ;***> if adding to file, kill vars then quit
  1. I AQAQADD=1 K ^UTILITY("AQAQDC") G KILL^AQAQUTIL
  1. ;***> else, go to print rtn
  1. E G ^AQAQDCP
  1. ;
  1. ;>>> END OF MAIN CALCULATE RTN <<<
  1. ;
  1. COUNT ;***> SUBRTN to increment chart counts for each provider
  1. S AQAQFLG=0 F AQAQI=4,5,6,7 S AQAQZ(AQAQI)=0
  1. F AQAQY=1:1 S AQAQX=$P(AQAQCD,U,AQAQY) Q:AQAQX="" D
  1. .S AQAQG=$P(^ADGCD(AQAQX,0),U,3) ;deficiency grouping
  1. .I AQAQG="ASH" S AQAQZ(5)=1,AQAQFLG=1 Q ;a sheet always delq
  1. .I AQAQG="SIG" S AQAQZ(7)=1,AQAQFLG=1 Q ;delq for sig
  1. .I AQAQG="OPR" S AQAQZ(4)=1,AQAQFLG=1 Q ;delq for op report
  1. .I AQAQG="SUM" S AQAQZ(6)=1,AQAQFLG=1 Q ;delq for summary
  1. .Q
  1. F AQAQY=4,5,6,7 S AQAQ(AQAQY)=AQAQ(AQAQY)+AQAQZ(AQAQY)
  1. I AQAQFLG S AQAQ(3)=AQAQ(3)+1,^UTILITY("AQAQDC","ZZ",DFN)="" ;dlqnt
  1. Q
  1. ;
  1. ;
  1. FILE ;***> SUBRTN to stuff # of delinquent charts into credentials file
  1. Q:'$D(^AQAQC(AQAQPRV,0)) ;provider not in credentials file
  1. I '$D(^AQAQC(AQAQPRV,"DLQ",0)) S ^AQAQC(AQAQPRV,"DLQ",0)="^9002165.04DA"
  1. S DIC="^AQAQC("_AQAQPRV_",""DLQ"",",DIC(0)="L",DA(1)=AQAQPRV,X=DT
  1. S DIC("DR")="1////^S X=AQAQ(3)" D FILE^DICN
  1. Q
  1. ;
  1. ;
  1. DLQTOT ;***> SUBRTN to stuff total delq charts for facility into prov entries
  1. S AQAQPRV=0
  1. F S AQAQPRV=$O(^AQAQC(AQAQPRV)) Q:AQAQPRV'=+AQAQPRV D
  1. .Q:'$D(^AQAQC(AQAQPRV,"DLQ","B",DT))
  1. .S AQAQX=0
  1. .F S AQAQX=$O(^AQAQC(AQAQPRV,"DLQ","B",DT,AQAQX)) Q:AQAQX="" D
  1. ..S DIE="^AQAQC("_AQAQPRV_",""DLQ"",",DA(1)=AQAQPRV
  1. ..S DA=AQAQX,DR="2////^S X=AQAQDTOT" D ^DIE
  1. Q
  1. ;
  1. ;
  1. JOB ;EP; >>> entry point for background job to add data to file
  1. ;
  1. ;***> set # of working days
  1. S X1=DT,X2=-30 D C^%DTC S AQAQDEL=X
  1. ;***> let calculate know this is rtn to add data to file
  1. S AQAQADD=1
  1. ;***> go to claculate rtn
  1. G ^AQAQDCC