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

BDMDM1.m

Go to the documentation of this file.
  1. BDMDM1 ; IHS/CMI/LAB -IHS -GETS DATA FOR DIABETES QA REPORT ;
  1. ;;2.0;DIABETES MANAGEMENT SYSTEM;**2**;JUN 14, 2007
  1. ;
  1. ;
  1. EN ; - ENTRY POINT - from ^BDMASK
  1. S BDMER=0
  1. D EN^BDMDM5 ;header and patient ident
  1. D CLINICAL
  1. D CLEAN^BDMDM5
  1. XIT Q
  1. ;
  1. ;
  1. CUML ; - ENTRY POINT - Set cumulative nodes
  1. I '$D(^TMP("BDMCUML",$J,BDMSUB)) S ^TMP("BDMCUML",$J,BDMSUB)=BDMGOT1_"/"_1
  1. E S ^(BDMSUB)=$S(BDMGOT1:$P(^TMP("BDMCUML",$J,BDMSUB),"/")+1,1:$P(^TMP("BDMCUML",$J,BDMSUB),"/"))_"/"_($P(^(BDMSUB),"/",2)+1)
  1. Q
  1. ;
  1. CLINICAL ; Get clinical data
  1. D DMVISITS
  1. G:BDMER X
  1. D VISITS
  1. F BDMI=1:1 Q:$T(@BDMI)="" K BDMX S BDMY="BDM(" D @BDMI K BDM
  1. D ^BDMDM1A
  1. D ^BDMDM2
  1. D ^BDMDM3
  1. D ^BDMDM4
  1. X K BDMY Q
  1. ;
  1. DMVISITS ; Gets all visits where dx was DM for indicated time period
  1. K ^TMP("BDMDM FETCH",$J) ;IHS/CMI/LAB - ADDED
  1. S BDMX=BDMPD_"^DX [SURVEILLANCE DIABETES"_BDMDATE,BDMY="^TMP(""BDMDM FETCH"",$J," S BDMER=$$START1^APCLDF(BDMX,BDMY)
  1. I BDMER W !,"*** SCRIPT ERROR IN DMVISITS^BDMDM1. CONTACT SITE MANAGER" G X1
  1. K ^TMP("BDMDM V",$J) S BDMC=0 F BDML=1:1 Q:'$D(^TMP("BDMDM FETCH",$J,BDML)) D
  1. .S V=$P(^TMP("BDMDM FETCH",$J,BDML),U,5) Q:$D(^TMP("BDMDM V",$J,V)) S ^TMP("BDMDM V",$J,V)="",C=$$CLINIC^APCLV(V,"C")
  1. .I C'="06"&(C'="01")&(C'="28") Q
  1. .I "TC"[$P(^AUPNVSIT(V,0),U,7) Q ;IHS/CMI/LAB - no tele,cr
  1. .S BDMC=BDMC+1,^TMP("BDMDM DXVS",$J,BDMC)=$P(^TMP("BDMDM FETCH",$J,BDML),U,5)
  1. S BDMTOT=BDMC K ^TMP("BDMDM V",$J),BDMC
  1. I 'BDMTOT S BDMTOT=1
  1. K BDMDX,BDM,^TMP("BDMDM FETCH",$J)
  1. X1 Q
  1. ;
  1. VISITS ; Get all visits for indicated time period
  1. S BDMX=BDMPD_"^VISIT"_BDMDATE,BDMY="^TMP(""BDMDM FETCH"",$J," S BDMER=$$START1^APCLDF(BDMX,BDMY)
  1. F BDML=1:1 Q:'$D(^TMP("BDMDM FETCH",$J,BDML)) S ^TMP("BDMDM VST",$J,$P(^TMP("BDMDM FETCH",$J,BDML),U,5))=""
  1. K BDM
  1. Q
  1. ;
  1. 1 ;
  1. TOBACCO ;
  1. D TOBACCO^BDMDM6
  1. Q
  1. 2 ;
  1. FIRSTDX ;
  1. K BDM
  1. S BDMX=BDMPD_"^FIRST DX [SURVEILLANCE DIABETES" S BDMER=$$START1^APCLDF(BDMX,BDMY) S Y=$P($G(BDM(1)),U) I Y]"" D DD^%DT
  1. S ^TMP("BDM",$J,2)=Y
  1. X2 ;
  1. S:BDMER ^TMP("BDM",$J,2)="*** SCRIPT ERROR IN FIRSTDX^BDMDM1. CONTACT SITE MANAGER"
  1. K BDM
  1. Q
  1. 4 ;DATE OF ONSET
  1. D CMSFDX I $D(^TMP("BDM",$J,37)) G 41
  1. D PLFDX I $D(^TMP("BDM",$J,37)) G 41
  1. S ^TMP("BDM",$J,37)="Date of Onset not recorded"
  1. 41 ;
  1. I ^TMP("BDM",$J,37)="Date of Onset not recorded" D G X4
  1. . S BDMGOT1=1,BDMSUB=47 D CUML
  1. . F BDMSUB=45,46 S BDMGOT1=0 D CUML
  1. . Q
  1. S X=^TMP("BDM",$J,37),%DT="" D ^%DT S X1=DT,X2=Y D ^%DTC S BDMGOT1=1,BDMSUB=$S(X'<3652.5:46,1:45) D CUML S BDMSUB=$S(BDMSUB=46:45,1:46),BDMGOT1=0 D CUML S BDMSUB=47,BDMGOT1=0 D CUML
  1. X4 ;
  1. K BDM,BDMSUB,BDMGOT1
  1. Q
  1. CMSFDX ;get first dm dx from case management
  1. K BDMFDX
  1. Q:'$G(BDMDMRG)
  1. S BDMX=0 F S BDMX=$O(^ACM(44,"C",BDMPD,BDMX)) Q:BDMX'=+BDMX!($D(BDMFDX)) I $P(^ACM(44,BDMX,0),U,4)=BDMDMRG D
  1. .S BDMFDX=$P($G(^ACM(44,BDMX,"SV")),U,2)
  1. .Q:BDMFDX=""
  1. .S BDM(1)=BDMFDX,Y=BDMFDX D DD^%DT S ^TMP("BDM",$J,37)=Y,^TMP("BDM",$J,40)="CMS"
  1. .Q
  1. Q
  1. PLFDX ;get first dm dx from problem list
  1. S BDMX=BDMPD_"^PROBLEM [DM AUDIT PROBLEM DIABETES DX" S BDMER=$$START1^APCLDF(BDMX,BDMY) G:BDMER PLFDXX I $D(BDM(1)) D
  1. .S BDM(1)=$P(^AUPNPROB(+$P(BDM(1),U,4),0),U,13) I BDM(1)="" K BDM(1) Q
  1. .S Y=BDM(1) D DD^%DT S ^TMP("BDM",$J,37)=Y,^TMP("BDM",$J,40)="PCC Problem List"
  1. .Q
  1. PLFDXX Q
  1. 3 ;
  1. LASTHT S BDMX=BDMPD_"^LAST MEAS HT" S BDMER=$$START1^APCLDF(BDMX,BDMY) S (BDMHT,BDMHTKI)=$P($G(BDM(1)),U,2) I BDMHT]"" S BDMHT=(BDMHT\12)_" feet "_(BDMHT#12)_" inches"
  1. S ^TMP("BDM",$J,3)=BDMHT
  1. I BDMCUML S BDMGOT1=$S(^TMP("BDM",$J,3)]"":1,1:0),BDMSUB=9 D CUML
  1. Q
  1. ;