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

AQAQPR21.m

Go to the documentation of this file.
  1. AQAQPR21 ;IHS/ANMC/LJF - PROCEDURES BY PROVIDER; [ 05/27/92 11:28 AM ]
  1. ;;2.2;STAFF CREDENTIALS;;01 OCT 1992
  1. ;
  1. ;>>> initialize variables <<<
  1. S X="ERR^AQAQPR2",@^%ZOSF("TRAP") X ^%ZOSF("BRK") ;allow break
  1. K ^UTILITY("AQAQPR2",$J)
  1. S AQAQDT=AQAQBDT-.0001,AQAQEND=AQAQEDT+.2400
  1. ;
  1. ;>>> loop thru visit file by date and screen visit
  1. F S AQAQDT=$O(^AUPNVSIT("B",AQAQDT)) Q:AQAQDT="" Q:AQAQDT>AQAQEND D
  1. .S AQAQVDFN=0
  1. .F S AQAQVDFN=$O(^AUPNVSIT("B",AQAQDT,AQAQVDFN)) Q:AQAQVDFN="" D
  1. ..Q:'$D(^AUPNVSIT(AQAQVDFN,0)) S AQAQV=^(0)
  1. ..Q:$P(AQAQV,U,11)=1 ;deleted visit
  1. ..Q:$P(AQAQV,U,9)<3 ;must have prov,pov, & proc entries
  1. ..Q:"AHIS"'[$P(AQAQV,U,7) ;service category
  1. ..Q:$P(AQAQV,U,6)'=DUZ(2) ;location of encounter
  1. ..D FINDPROC ;get procedures for this visit
  1. ..Q ;get next visit
  1. ;
  1. NEXT ;>>> go to print rtn <<<
  1. G ^AQAQPR22
  1. ;
  1. ;>>> end of main rtn <<<
  1. ;
  1. FINDPROC ;***> SUBRTN to get procedures for visits that passed screens
  1. S (AQAQPDFN,AQAQPRV)=0
  1. F S AQAQPDFN=$O(^AUPNVPRC("AD",AQAQVDFN,AQAQPDFN)) Q:AQAQPDFN="" D
  1. .Q:'$D(^AUPNVPRC(AQAQPDFN,0)) S AQAQP=^(0)
  1. .S AQAQICD=$P(^ICD0($P(AQAQP,U),0),U) ;icd code number
  1. .S AQAQICDN=$P(^ICD0($P(AQAQP,U),0),U,4) ;icd narrative
  1. .I $P(AQAQV,U,7)="H" S AQAQPRV=$P(AQAQP,U,11) ;oper prov for hosp
  1. .E D FINDPROV ;get primary provider for visit
  1. .Q:AQAQPRV=0 Q:AQAQPRV="" ;bad visit-no primary provider
  1. .I AQAQTYP=1,AQAQSRT'="" Q:+AQAQSRT'=AQAQPRV ;not provider asked for
  1. .S AQAQCLS=$P(^DIC(6,AQAQPRV,0),U,4) ;provider class
  1. .I AQAQTYP=2 Q:+AQAQSRT'=AQAQCLS ;not prov class asked for
  1. .S AQAQCAT=$P($G(^AQAQC(AQAQPRV,0)),U,2) ;staff category
  1. .I AQAQTYP=3 Q:AQAQSRT'=AQAQCAT ;not category asked for
  1. .S AQAQX=$P(^DIC(6,AQAQPRV,0),U,4)
  1. .S:AQAQX'="" AQAQX=$P(^DIC(7,AQAQX,0),U)
  1. .S AQAQPRV=$P(^DIC(16,AQAQPRV,0),U)_" ("_AQAQX_")"
  1. .;
  1. .S AQAQSTR=AQAQPDFN_U_AQAQICDN ;set data in ^utility
  1. .S ^UTILITY("AQAQPR2",$J,AQAQPRV,+AQAQICD,AQAQDT,AQAQVDFN)=AQAQSTR Q
  1. Q ;return to main rtn loop
  1. ;
  1. ;
  1. FINDPROV ;***> SUBRTN to find primary provider for ambulatory visits
  1. S AQAQRDFN=0
  1. F S AQAQRDFN=$O(^AUPNVPRV("AD",AQAQVDFN,AQAQRDFN)) Q:AQAQRDFN="" D
  1. .Q:'$D(^AUPNVPRV(AQAQRDFN,0)) S AQAQR=^(0)
  1. .Q:$P(AQAQR,U,4)'="P" ;find another if not primary provider
  1. .S AQAQPRV=$P(AQAQR,U) ;get provider pointer
  1. Q ;return to procedure subrtn
  1. ;
  1. ;
  1. HOSPERR ;***> SUBRTN to find all prov for inpt proc without oper provider
  1. S AQAQRDFN=0
  1. F S AQAQRDFN=$O(^AUPNVPRV("AD",AQAQVDFN,AQAQRDFN)) Q:AQAQRDFN="" D
  1. .Q:'$D(^AUPNVPRV(AQAQRDFN,0)) S AQAQR=^(0)
  1. .S AQAQSTR=AQAQVDFN_U_AQAQICDN_U_AQAQPDFN_U_AQAQDT
  1. .S ^UTILITY("AQAQPR2",$J,"zz",AQAQICD,AQAQVDFN,AQAQRDFN)=AQAQSTR Q
  1. Q ;return to procedure subrtn