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

APCHS11A.m

Go to the documentation of this file.
  1. APCHS11A ; IHS/CMI/LAB -- CONTINUATION OF ROUTINES ;
  1. ;;2.0;IHS PCC SUITE;**11**;MAY 14, 2009;Build 58
  1. ;IHS/CMI/LAB - uncommented age limit on pap smear
  1. ;
  1. ;cmi/anch/maw 8/28/2007 code set versioning in PAP
  1. ;
  1. ; ******************** SURVEILLANCE - HARD CODE ********************
  1. ENTB ;ENDEMIC TB, I.E. ALASKA
  1. Q:APCHSAGE'<35
  1. K APCHSKDT
  1. I $D(^ATXAX("B","SURVEILLANCE TB")) S APCHSURD=$O(^ATXAX("B","SURVEILLANCE TB","")) Q:$D(^ATXPAT(APCHSURD,11,APCHSPAT))
  1. S APCHSDIS="TB SKIN TEST"
  1. S APCHSKN=24 D SKINTEST D:APCHSKND MULTSKIN ;MONO-VAC
  1. S APCHSKN=21 D SKINTEST D:APCHSKND MULTSKIN ;PPD
  1. S APCHSKN=20 D SKINTEST D:APCHSKND MULTSKIN ;TINE
  1. I '$D(APCHSKDT),APCHSAGE'>(10/12) S X1=APCHSDOB,X2=300 D C^%DTC S Y=X X APCHSCVD S APCHSDUE=Y,APCHSDAT="" D DISPLAY^APCHS11 Q
  1. I '$D(APCHSKDT) S APCHSDUE="MAY BE DUE NOW",APCHSDAT="" D DISPLAY^APCHS11 Q
  1. S APCHSIVD=$O(APCHSKDT("")),APCHSKD=APCHSKDT(APCHSIVD),APCHSDAT=$P($P(^AUPNVSIT($P(^AUPNVSK(APCHSKD,0),U,3),0),U),".")
  1. I $P(^AUPNVSK(APCHSKD,0),U,4)'="P" S APCHSINT=365 D GETDATE^APCHS11,COMPARE^APCHS11,DISPLAY^APCHS11
  1. Q
  1. ;
  1. NONTB ;NONENDEMIC TB AREAS
  1. Q:APCHSAGE'<13
  1. K APCHSKDT
  1. I $D(^ATXAX("B","SURVEILLANCE TB")) S APCHSURD=$O(^ATXAX("B","SURVEILLANCE TB","")) Q:$D(^ATXPAT(APCHSURD,11,APCHSPAT))
  1. S APCHSDIS="TB SKIN TEST"
  1. S APCHSKN=24 D SKINTEST D:APCHSKND MULTSKIN ;MONO-VAC
  1. S APCHSKN=21 D SKINTEST D:APCHSKND MULTSKIN ;PPD
  1. S APCHSKN=20 D SKINTEST D:APCHSKND MULTSKIN ;TINE
  1. I '$D(APCHSKDT),APCHSAGE'>1 S X1=APCHSDOB,X2=360 D C^%DTC S Y=X X APCHSCVD S APCHSDUE=Y,APCHSDAT="" D DISPLAY^APCHS11 Q
  1. I '$D(APCHSKDT) S APCHSDUE="MAY BE DUE NOW",APCHSDAT="" D DISPLAY^APCHS11 Q
  1. S APCHSIVD=$O(APCHSKDT("")),APCHSKD=APCHSKDT(APCHSIVD)
  1. I $P(^AUPNVSK(APCHSKD,0),U,4)="P" Q
  1. D PASTAGE^APCHS11
  1. I APCHSOLD<(9/12) S APCHSDUE="MAY BE DUE NOW" D GETDATE^APCHS11,DISPLAY^APCHS11 Q
  1. I APCHSAGE'<5,APCHSOLD<4 S APCHSDUE="MAY BE DUE NOW" D GETDATE^APCHS11,DISPLAY^APCHS11
  1. Q
  1. ;
  1. MULTSKIN ;
  1. K APCHSDT
  1. S APCHSDT=$O(^AUPNVSK("AA",APCHSPAT,APCHSKND,"")) I APCHSDT S APCHSKDT(APCHSDT)=$O(^(APCHSDT,""))
  1. Q
  1. ;
  1. PAP ;
  1. K APCHSTP
  1. Q:APCHSAGE<18!(APCHSEX="M") ;IHS/CMI/LAB - uncommented
  1. K APCHSEXD,APCHSDF1
  1. Q:APCHSEX="M"
  1. K APCHSTEX
  1. S APCHSTXN=0
  1. S APCHSBWR=0 S:$D(X) APCHSAVX=X S X="BWUTL1" X ^%ZOSF("TEST") S:$D(APCHSAVX) X=APCHSAVX K APCHSAVX I $T S APCHSBWR=1
  1. I APCHSBWR,$D(^BWP(APCHSPAT,0)) S APCHSTXN=APCHSTXN+1,APCHSTEX(APCHSTXN)=$$CNEED^BWUTL1(APCHSPAT) I APCHSTEX(1)="UNKNOWN" K APCHSTEX(1) S APCHSTXN=0
  1. ;cmi/anch/maw 8/27/2007 mods for code set versioning
  1. N APCHSVDT
  1. ;I $D(^AUPNVPRC("AC",APCHSPAT)) S APCHSDF=0 F APCHSLP=0:0 S APCHSDF=$O(^AUPNVPRC("AC",APCHSPAT,APCHSDF)) Q:APCHSDF'=+APCHSDF!($D(APCHSTP)) S APCHSPRC=$P(^ICD0(+^AUPNVPRC(APCHSDF,0),0),U) D PAP2
  1. I $D(^AUPNVPRC("AC",APCHSPAT)) S APCHSDF=0 F APCHSLP=0:0 S APCHSDF=$O(^AUPNVPRC("AC",APCHSPAT,APCHSDF)) Q:APCHSDF'=+APCHSDF!($D(APCHSTP)) D
  1. .S APCHSVDT=$P(+^AUPNVSIT($P(^AUPNVPRC(APCHSDF,0),U,3),0),"."),APCHSPRC=$P($$ICDOP^ICDEX(+^AUPNVPRC(APCHSDF,0),APCHSVDT,,"I"),U,2) D PAP2
  1. ;cmi/anch/maw 8/27/2007 end of mods
  1. I $D(APCHSTP) S APCHSTXN=APCHSTXN+1,APCHSTEX(APCHSTXN)="Pt had hysterectomy. Pap may be necessary",APCHSTXN=APCHSTXN+1,APCHSTEX(APCHSTXN)="based on individual followup."
  1. K APCHSTXN
  1. S APCHSLAB="PAP SMEAR"
  1. S APCHSDIS="PAP SMEAR"
  1. S APCHSINT=365
  1. D REGLAB^APCHS11
  1. K APCHSBWR
  1. Q
  1. ;
  1. PAP2 ;CHECKS TO SEE IF PATIENT HAD A HYSTERECTOMY
  1. S:APCHSPRC=68.3!(APCHSPRC=68.4)!(APCHSPRC=68.5)!(APCHSPRC=68.6)!(APCHSPRC=68.7)!(APCHSPRC=68.9) APCHSTP=""
  1. Q
  1. ;
  1. BRST ;BREAST EXAM
  1. K APCHSEXD,APCHSDF1
  1. Q:APCHSAGE<20!(APCHSEX="M")
  1. S APCHSEXN="06"
  1. S APCHSDIS="BREAST EXAM"
  1. ;---> NEXT LINE DISPLAYS WOMEN'S HEALTH BREAST TX NEED per WOMEN'S HEALTH PACKAGE
  1. K APCHSTEX
  1. S APCHSBWR=0 S:$D(X) APCHSAVX=X S X="BWUTL1" X ^%ZOSF("TEST") S:$D(APCHSAVX) X=APCHSAVX K APCHSAVX I $T S APCHSBWR=1
  1. I APCHSBWR,$D(^BWP(APCHSPAT,0)) S BWDFN=APCHSPAT S APCHSTEX(1)=$$BNEED^BWUTL1(APCHSPAT) K BWDFN I APCHSTEX(1)="UNKNOWN" K APCHSTEX(1)
  1. S APCHSINT=365
  1. D REGEXAM^APCHS11
  1. K APCHSBWR
  1. Q
  1. ;
  1. GLUCOSE ;
  1. K APCHSEXD,APCHSDF1
  1. I $D(^ATXAX("B","SURVEILLANCE DIABETES")) S APCHSURD=$O(^ATXAX("B","SURVEILLANCE DIABETES","")) Q:$D(^ATXPAT(APCHSURD,11,APCHSPAT))
  1. Q:APCHSAGE'>20
  1. S APCHSLAB="GLUCOSE"
  1. D LABDFN^APCHS11
  1. Q:'APCHSLBD
  1. S APCHSDIS="BLOOD GLUCOSE"
  1. S APCHSINT=365*2
  1. D REGLAB^APCHS11
  1. Q
  1. ;
  1. PELVIC ;
  1. K APCHSEXD,APCHSDF1,APCHSTEX
  1. Q:APCHSAGE<18!(APCHSEX="M")
  1. S APCHSEXN="15"
  1. S APCHSDIS="PELVIC EXAM"
  1. S APCHSINT=365
  1. D REGEXAM^APCHS11
  1. Q
  1. ;
  1. MAMGRAM ; MAMMOGRAM
  1. Q:APCHSEX="M"
  1. ;---> NEXT LINE DISPLAYS WOMEN'S HEALTH BREAST TX NEED per WOMEN'S HEALTH PACKAGE
  1. K APCHSTEX
  1. S APCHSBWR=0 S:$D(X) APCHSAVX=X S X="BWUTL1" X ^%ZOSF("TEST") S:$D(APCHSAVX) X=APCHSAVX K APCHSAVX I $T S APCHSBWR=1
  1. I APCHSBWR,$D(^BWP(APCHSPAT,0)) S BWDFN=APCHSPAT S APCHSTEX(1)=$$BNEED^BWUTL1(APCHSPAT) K BWDFN I APCHSTEX(1)="UNKNOWN" K APCHSTEX(1)
  1. I $D(APCHSTEX(1)) G MAM1
  1. Q:APCHSAGE<50
  1. Q:APCHSAGE>69
  1. MAM1 K APCHSMDT
  1. S APCHSDIS="MAMMOGRAM"
  1. S APCHSMAM=0 F S APCHSMAM=$O(^RAMIS(71,"D",76090,APCHSMAM)) Q:APCHSMAM="" D MULTMAM
  1. S APCHSMAM=0 F S APCHSMAM=$O(^RAMIS(71,"D",76091,APCHSMAM)) Q:APCHSMAM="" D MULTMAM
  1. S APCHSMAM=0 F S APCHSMAM=$O(^RAMIS(71,"D",76092,APCHSMAM)) Q:APCHSMAM="" D MULTMAM
  1. I '$D(APCHSMDT) S APCHSDUE="MAY BE DUE NOW",APCHSDAT="" D DISPLAY^APCHS11 Q
  1. S APCHSIVD=$O(APCHSMDT("")),APCHSINT=365*2
  1. D GETDATE^APCHS11,COMPARE^APCHS11
  1. S APCHSEXD=$O(^RAMIS(71,"D",76090,0)),APCHSDF1=71 D REFDF^APCHS11
  1. S APCHSEXD=$O(^RAMIS(71,"D",76091,0)),APCHSDF1=71 D REFDF^APCHS11
  1. S APCHSEXD=$O(^RAMIS(71,"D",76092,0)),APCHSDF1=71 D REFDF^APCHS11
  1. D DISPLAY^APCHS11
  1. I '$D(APCHSMDT) S APCHSDUE="MAY BE DUE NOW",APCHSDAT="" D DISPLAY^APCHS11 Q
  1. Q
  1. ;
  1. MULTMAM ;
  1. K APCHSDT
  1. S APCHSDT=$O(^AUPNVRAD("AA",APCHSPAT,APCHSMAM,"")) I APCHSDT S APCHSMDT(APCHSDT)=$O(^(APCHSDT,""))
  1. Q
  1. ;
  1. SKINTEST ;LOOKS UP THE DFN OF THE SKIN TEST
  1. S APCHSKND=$O(^AUTTSK("C",APCHSKN,""))
  1. Q
  1. ;