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

APCHS11G.m

Go to the documentation of this file.
  1. APCHS11G ; IHS/CMI/LAB - HEALTH SUMMARY SURVEILLANCE ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;PATCH 2 commented out writing of date
  1. ;
  1. ;
  1. ; *All DM surveillances use the data fetcher for value. Data is
  1. ; returned in array APCHS(1)
  1. ;
  1. ; ******** SURVEILLANCE - HARD CODE (for DM patients) ****************
  1. DMFOOT ;ENTRY POINT - diabetic foot exam
  1. K APCHSEXD,APCHSDF1,APCHSTEX,APCHSTAX
  1. D DMCHK ; is patient diabetic?
  1. Q:'APCHDMPT
  1. K APCHS
  1. S APCHSERR=$$START1^APCLDF(APCHSPAT_"^LAST EXAM DIABETIC FOOT EXAM","APCHS(")
  1. G:APCHSERR DMFOOTX
  1. ; *array APCHS(1)="DATE^RESULT^EXAM^VXAM IEN^AUPNVXAM^VISIT IEN"
  1. K APCHSERR
  1. S APCHSDIS="DM FOOT EXAM, COMPLETE"
  1. S APCHSINT=365
  1. S APCHSEXD=$O(^AUTTEXAM("B","DIABETIC FOOT EXAM, COMPLETE",0))
  1. S APCHSDF1=9999999.15
  1. S APCHSIVD=$S($D(APCHS(1)):9999999-$P($P(APCHS(1),U,1),".",1),1:"")
  1. D DFSURV^APCHS11 ; computes/print exam due date
  1. DMFOOTX ;
  1. K APCHDMPT,APCHS,APCHSDF1,APCHSEXD,APCHSTAX,APCHSTEX
  1. Q
  1. ;
  1. ;
  1. DMEYE ;ENTRY POINT - diabetic eye exam
  1. K APCHSEXD,APCHSDF1,APCHSTEX,APCHSTAX
  1. D DMCHK ; is patient diabetic?
  1. Q:'APCHDMPT
  1. K APCHS
  1. S APCHSERR=$$START1^APCLDF(APCHSPAT_"^LAST EXAM DIABETIC EYE EXAM","APCHS(")
  1. G:APCHSERR DMEYEX
  1. ; *array APCHS(1)="DATE^RESULT^EXAM^VXAM IEN^AUPNVXAM^VISIT IEN"
  1. K APCHSERR
  1. S APCHSDIS="DM EYE EXAM"
  1. S APCHSINT=365
  1. S APCHSEXD=$O(^AUTTEXAM("B","DIABETIC EYE EXAM",0))
  1. S APCHSDF1=9999999.15
  1. S APCHSIVD=$S($D(APCHS(1)):9999999-$P($P(APCHS(1),U,1),".",1),1:"")
  1. D DFSURV^APCHS11 ; computes/print exam due date
  1. DMEYEX ;
  1. K APCHDMPT,APCHS,APCHSDF1,APCHSEXD,APCHSTAX,APCHSTEX
  1. Q
  1. ;
  1. ;
  1. DMCHOL ;ENTRY POINT - diabetic CHOLESTEROL lab
  1. K APCHSEXD,APCHSDF1,APCHSTEX,APCHSTAX
  1. D DMCHK
  1. Q:'APCHDMPT
  1. K APCHS
  1. S APCHSERR=$$START1^APCLDF(APCHSPAT_"^LAST LAB [DM AUDIT CHOLESTEROL TAX;","APCHS(")
  1. I APCHSERR D
  1. . S:APCHSERR=7 APCHSTEX(1)="DM AUDIT CHOLESTEROL TAXONOMY does not",APCHSTEX(2)=" exist! Unable to determine Cholesterol",APCHSTEX(3)=" status for this patient.",APCHSTEX(4)=" Notify Site Manager."
  1. . S:APCHSERR'=7 APCHSTEX(1)="Unable to determine Cholesterol status",APCHSTEX(2)=" for this patient. Notify Site Manager."
  1. . Q
  1. ; *array APCHS(1)="DATE^RESULT^LAB TEST^VLAB IEN^AUPNVLAB^VISIT IEN"
  1. K APCHSERR
  1. S APCHSDIS="DM CHOLESTEROL"
  1. S APCHSINT=365
  1. S APCHSIVD=$S($D(APCHS(1)):9999999-$P($P(APCHS(1),U,1),".",1),1:"")
  1. S APCHSDF1=60,APCHSTAX=$O(^ATXLAB("B","DM AUDIT CHOLESTEROL TAX",0))
  1. D DFSURV^APCHS11 ; computes/print cholesterol due date
  1. DMCHOLX ;
  1. K APCHDMPT,APCHS,APCHSDF1,APCHSEXD,APCHSTAX,APCHSTEX
  1. Q
  1. ;
  1. ;
  1. DMUPRO ;ENTRY POINT - diabetic urine protein
  1. K APCHSEXD,APCHSDF1,APCHSTEX,APCHSTAX
  1. D DMCHK
  1. Q:'APCHDMPT
  1. K APCHS
  1. S APCHSERR=$$START1^APCLDF(APCHSPAT_"^LAST LAB [DM AUDIT URINE PROTEIN TAX;","APCHS(")
  1. I APCHSERR D
  1. . S:APCHSERR=7 APCHSTEX(1)="DM AUDIT URINE PROTEIN TAXONOMY does not",APCHSTEX(2)=" exist! Unable to determine Urine Protein",APCHSTEX(3)=" status for this patient.",APCHSTEX(4)=" Notify Site Manager."
  1. . S:APCHSERR'=7 APCHSTEX(1)="Unable to determine Urine Protein status",APCHSTEX(2)=" for this patient. Notify Site Manager."
  1. . Q
  1. ; *array APCHS(1)="DATE^RESULT^LAB TEST^VLAB IEN^AUPNVLAB^VISIT IEN"
  1. K APCHSERR
  1. S APCHSDIS="DM URINE PROTEIN"
  1. S APCHSINT=365
  1. S APCHSIVD=$S($D(APCHS(1)):9999999-$P($P(APCHS(1),U,1),".",1),1:"")
  1. S APCHSDF1=60,APCHSTAX=$O(^ATXLAB("B","DM AUDIT URINE PROTEIN TAX",0))
  1. D DFSURV^APCHS11 ; computes/print cholesterol due date
  1. D DMCHK
  1. Q:'APCHDMPT
  1. K APCHS
  1. DMUPROX ;
  1. K APCHDMPT,APCHS,APCHSDF1,APCHSEXD,APCHSTAX,APCHSTEX
  1. Q
  1. ;IHS/CMI/LAB moved line below from above
  1. DMCREAT ;ENTRY POINT - diabetic CREATININE lab
  1. K APCHSEXD,APCHSDF1,APCHSTEX,APCHSTAX
  1. D DMCHK
  1. Q:'APCHDMPT
  1. K APCHS
  1. S APCHSERR=$$START1^APCLDF(APCHSPAT_"^LAST LAB [DM AUDIT CREATININE TAX;","APCHS(")
  1. I APCHSERR D
  1. . S:APCHSERR=7 APCHSTEX(1)="DM AUDIT CREATININE TAXONOMY does not",APCHSTEX(2)=" exist! Unable to determine Creatinine",APCHSTEX(3)=" status for this patient.",APCHSTEX(4)=" Notify Site Manager."
  1. . S:APCHSERR'=7 APCHSTEX(1)="Unable to determine Creatinine status",APCHSTEX(2)=" for this patient. Notify Site Manager."
  1. . Q
  1. ; *array APCHS(1)="DATE^RESULT^LAB TEST^VLAB IEN^AUPNVLAB^VISIT IEN"
  1. K APCHSERR
  1. S APCHSDIS="DM CREATININE"
  1. S APCHSINT=365
  1. S APCHSIVD=$S($D(APCHS(1)):9999999-$P($P(APCHS(1),U,1),".",1),1:"")
  1. S APCHSDF1=60,APCHSTAX=$O(^ATXLAB("B","DM AUDIT CREATININE TAX",0))
  1. D DFSURV^APCHS11 ; computes/print creatinine due date
  1. DMCREATX ;
  1. K APCHDMPT,APCHS,APCHSDF1,APCHSEXD,APCHSTAX,APCHSTEX
  1. Q
  1. ;
  1. ;
  1. DMTRIGL ;ENTRY POINT - diabetic TRIGLYCERIDE lab
  1. K APCHSEXD,APCHSDF1,APCHSTEX,APCHSTAX
  1. D DMCHK
  1. Q:'APCHDMPT
  1. K APCHS
  1. S APCHSERR=$$START1^APCLDF(APCHSPAT_"^LAST LAB [DM AUDIT TRIGLYCERIDE TAX;","APCHS(")
  1. I APCHSERR D
  1. . S:APCHSERR=7 APCHSTEX(1)="DM AUDIT TRIGLYCERIDE TAXONOMY does not",APCHSTEX(2)=" exist! Unable to determine Triglyceride",APCHSTEX(3)=" status for this patient.",APCHSTEX(4)=" Notify Site Manager."
  1. . S:APCHSERR'=7 APCHSTEX(1)="Unable to determine Triglyceride status",APCHSTEX(2)=" for this patient. Notify Site Manager."
  1. . Q
  1. ; *array APCHS(1)="DATE^RESULT^LAB TEST^VLAB IEN^AUPNVLAB^VISIT IEN"
  1. K APCHSERR
  1. S APCHSDIS="DM TRIGLYCERIDE"
  1. S APCHSINT=365
  1. S APCHSIVD=$S($D(APCHS(1)):9999999-$P($P(APCHS(1),U,1),".",1),1:"")
  1. S APCHSDF1=60,APCHSTAX=$O(^ATXLAB("B","DM AUDIT TRIGLYCERIDE TAX",0))
  1. D DFSURV^APCHS11 ; computes/print triglyceride due date
  1. DMTRIGLX ;
  1. K APCHDMPT,APCHS,APCHSDF1,APCHSEXD,APCHSTAX,APCHSTEX
  1. Q
  1. ;
  1. ;
  1. DMDENTL ;ENTRY POINT - diabetic DENTAL exam
  1. ;IHS/CMI/LAB - modified this sub routine
  1. K APCHSEXD,APCHSDF1,APCHSTEX,APCHSTAX
  1. D DMCHK
  1. Q:'APCHDMPT
  1. K APCHS
  1. S APCHSERR=$$START1^APCLDF(APCHSPAT_"^LAST ADA [DM AUDIT DENTAL EXAM ADA CODES;","APCHS(")
  1. I APCHSERR D
  1. . S:APCHSERR=7 APCHSTEX(1)="DM AUDIT DENTAL EXAM TAXONOMY does not",APCHSTEX(2)=" exist! Unable to determine Dental Exam",APCHSTEX(3)=" status for this patient.",APCHSTEX(4)=" Notify Site Manager."
  1. . S:APCHSERR'=7 APCHSTEX(1)="Unable to determine Dental Exam status",APCHSTEX(2)=" for this patient. Notify Site Manager."
  1. . Q
  1. ; *array APCHS(1)="DATE^ADA CODE^ADA CODE^VDEN IEN^AUPNVDEN^VISIT IEN"
  1. K APCHSERR
  1. NEW DENTDATE S DENTDATE=$P($G(APCHS(1)),U)
  1. K APCHS
  1. NEW % S %=APCHSPAT_"^LAST EXAM DENTAL",E=$$START1^APCLDF(%,"APCHS(")
  1. S %=$P($G(APCHS(1)),U)
  1. S DENTDATE=$S(DENTDATE>%:DENTDATE,1:%)
  1. S APCHSEXD=$O(^AUTTEXAM("B","DENTAL EXAM",0))
  1. S APCHSDF1=9999999.15
  1. S APCHSDIS="DM DENTAL EXAM"
  1. S APCHSINT=365
  1. S APCHSIVD=$S(DENTDATE]"":9999999-DENTDATE,1:"")
  1. D DFSURV^APCHS11 ; computes/print dental exam due date
  1. DMDENTLX ;
  1. K APCHDMPT,APCHS,APCHSDF1,APCHSEXD,APCHSTAX,APCHSTEX
  1. Q
  1. ;
  1. ;
  1. DMCHK ;is pt diabetic? YES - APCHDMPT=1 NO - APCHDMPT=0
  1. S APCHDMPT=0
  1. D SURVDM ; is pt on SURVEILLANCE DIABETES taxonomy?
  1. G:APCHDMPT DMCHKX
  1. D PBLIST ; does a problem DM dx exist for pt?
  1. G:APCHDMPT DMCHKX
  1. D DMPOV ; does a DM pov exit for pt?
  1. DMCHKX ;exit out of dm pt check
  1. Q
  1. ;
  1. SURVDM ;check SURVEILLANCE DIABETES taxonomy for pt
  1. S APCHSURD=$O(^ATXAX("B","SURVEILLANCE DIABETES",""))
  1. Q:'APCHSURD
  1. S:$D(^ATXPAT(APCHSURD,11,APCHSPAT)) APCHDMPT=1
  1. SURVDMX ;
  1. Q
  1. ;
  1. PBLIST ;get first dm dx from problem list
  1. K APCHS
  1. S APCHSERR=$$START1^APCLDF(APCHSPAT_"^FIRST PROBLEM [DM AUDIT PROBLEM DIABETES DX","APCHS(")
  1. G:APCHSERR PBLISTX
  1. S:$D(APCHS(1)) APCHDMPT=1
  1. PBLISTX ;
  1. Q
  1. ;
  1. DMPOV ;does pt have a DM pov?
  1. K APCHS
  1. S APCHSERR=$$START1^APCLDF(APCHSPAT_"^LAST DX [SURVEILLANCE DIABETES","APCHS(")
  1. G:APCHSERR DMPOVX
  1. S:$D(APCHS(1)) APCHDMPT=1
  1. DMPOVX ;
  1. Q
  1. ;