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

APCLDM1.m

Go to the documentation of this file.
  1. APCLDM1 ; IHS/CMI/LAB -IHS -GETS DATA FOR DIABETES QA REPORT ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;
  1. ;
  1. EN ; - ENTRY POINT - from ^APCLASK
  1. S APCLER=0
  1. D EN^APCLDM5 ;header and patient ident
  1. D CLINICAL
  1. D CLEAN^APCLDM5
  1. XIT Q
  1. ;
  1. ;
  1. CUML ; - ENTRY POINT - Set cumulative nodes
  1. I '$D(^TMP("APCLCUML",$J,APCLSUB)) S ^TMP("APCLCUML",$J,APCLSUB)=APCLGOT1_"/"_1
  1. E S ^(APCLSUB)=$S(APCLGOT1:$P(^TMP("APCLCUML",$J,APCLSUB),"/")+1,1:$P(^TMP("APCLCUML",$J,APCLSUB),"/"))_"/"_($P(^(APCLSUB),"/",2)+1)
  1. Q
  1. ;
  1. CLINICAL ; Get clinical data
  1. D DMVISITS
  1. G:APCLER X
  1. D VISITS
  1. F APCLI=1:1 Q:$T(@APCLI)="" K APCLX S APCLY="APCL(" D @APCLI K APCL
  1. D ^APCLDM1A
  1. D ^APCLDM2
  1. D ^APCLDM3
  1. D ^APCLDM4
  1. X K APCLY Q
  1. ;
  1. DMVISITS ; Gets all visits where dx was DM for indicated time period
  1. K ^TMP("APCLDM FETCH",$J) ;IHS/CMI/LAB - ADDED
  1. S APCLX=APCLPD_"^DX [SURVEILLANCE DIABETES"_APCLDATE,APCLY="^TMP(""APCLDM FETCH"",$J," S APCLER=$$START1^APCLDF(APCLX,APCLY)
  1. I APCLER W !,"*** SCRIPT ERROR IN DMVISITS^APCLDM1. CONTACT SITE MANAGER" G X1
  1. K ^TMP("APCLDM V",$J) S APCLC=0 F APCLL=1:1 Q:'$D(^TMP("APCLDM FETCH",$J,APCLL)) D
  1. .S V=$P(^TMP("APCLDM FETCH",$J,APCLL),U,5) Q:$D(^TMP("APCLDM V",$J,V)) S ^TMP("APCLDM 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 APCLC=APCLC+1,^TMP("APCLDM DXVS",$J,APCLC)=$P(^TMP("APCLDM FETCH",$J,APCLL),U,5)
  1. S APCLTOT=APCLC K ^TMP("APCLDM V",$J),APCLC
  1. I 'APCLTOT S APCLTOT=1
  1. K APCLDX,APCL,^TMP("APCLDM FETCH",$J)
  1. X1 Q
  1. ;
  1. VISITS ; Get all visits for indicated time period
  1. S APCLX=APCLPD_"^VISIT"_APCLDATE,APCLY="^TMP(""APCLDM FETCH"",$J," S APCLER=$$START1^APCLDF(APCLX,APCLY)
  1. F APCLL=1:1 Q:'$D(^TMP("APCLDM FETCH",$J,APCLL)) S ^TMP("APCLDM VST",$J,$P(^TMP("APCLDM FETCH",$J,APCLL),U,5))=""
  1. K APCL
  1. Q
  1. ;
  1. 1 ;
  1. TOBACCO ;
  1. D TOBACCO^APCLDM6
  1. Q
  1. 2 ;
  1. FIRSTDX ;
  1. K APCL
  1. S APCLX=APCLPD_"^FIRST DX [SURVEILLANCE DIABETES" S APCLER=$$START1^APCLDF(APCLX,APCLY) S Y=$P($G(APCL(1)),U) I Y]"" D DD^%DT
  1. S ^TMP("APCL",$J,2)=Y
  1. X2 ;
  1. S:APCLER ^TMP("APCL",$J,2)="*** SCRIPT ERROR IN FIRSTDX^APCLDM1. CONTACT SITE MANAGER"
  1. K APCL
  1. Q
  1. 4 ;DATE OF ONSET
  1. D CMSFDX I $D(^TMP("APCL",$J,37)) G 41
  1. D PLFDX I $D(^TMP("APCL",$J,37)) G 41
  1. S ^TMP("APCL",$J,37)="Date of Onset not recorded"
  1. 41 ;
  1. I ^TMP("APCL",$J,37)="Date of Onset not recorded" D G X4
  1. . S APCLGOT1=1,APCLSUB=47 D CUML
  1. . F APCLSUB=45,46 S APCLGOT1=0 D CUML
  1. . Q
  1. S X=^TMP("APCL",$J,37),%DT="" D ^%DT S X1=DT,X2=Y D ^%DTC S APCLGOT1=1,APCLSUB=$S(X'<3652.5:46,1:45) D CUML S APCLSUB=$S(APCLSUB=46:45,1:46),APCLGOT1=0 D CUML S APCLSUB=47,APCLGOT1=0 D CUML
  1. X4 ;
  1. K APCL,APCLSUB,APCLGOT1
  1. Q
  1. CMSFDX ;get first dm dx from case management
  1. K APCLFDX
  1. Q:'$G(APCLDMRG)
  1. S APCLX=0 F S APCLX=$O(^ACM(44,"C",APCLPD,APCLX)) Q:APCLX'=+APCLX!($D(APCLFDX)) I $P(^ACM(44,APCLX,0),U,4)=APCLDMRG D
  1. .S APCLFDX=$P($G(^ACM(44,APCLX,"SV")),U,2)
  1. .Q:APCLFDX=""
  1. .S APCL(1)=APCLFDX,Y=APCLFDX D DD^%DT S ^TMP("APCL",$J,37)=Y,^TMP("APCL",$J,40)="CMS"
  1. .Q
  1. Q
  1. PLFDX ;get first dm dx from problem list
  1. S APCLX=APCLPD_"^PROBLEM [DM AUDIT PROBLEM DIABETES DX" S APCLER=$$START1^APCLDF(APCLX,APCLY) G:APCLER PLFDXX I $D(APCL(1)) D
  1. .S APCL(1)=$P(^AUPNPROB(+$P(APCL(1),U,4),0),U,13) I APCL(1)="" K APCL(1) Q
  1. .S Y=APCL(1) D DD^%DT S ^TMP("APCL",$J,37)=Y,^TMP("APCL",$J,40)="PCC Problem List"
  1. .Q
  1. PLFDXX Q
  1. 3 ;
  1. LASTHT S APCLX=APCLPD_"^LAST MEAS HT" S APCLER=$$START1^APCLDF(APCLX,APCLY) S (APCLHT,APCLHTKI)=$P($G(APCL(1)),U,2) I APCLHT]"" S APCLHT=(APCLHT\12)_" feet "_(APCLHT#12)_" inches"
  1. S ^TMP("APCL",$J,3)=APCLHT
  1. I APCLCUML S APCLGOT1=$S(^TMP("APCL",$J,3)]"":1,1:0),APCLSUB=9 D CUML
  1. Q
  1. ;