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

BPXRMPCC.m

Go to the documentation of this file.
  1. BPXRMPCC ; IHS/MSC/MGH - Computed Findings for PCC reminders. ;16-Feb-2018 16:02;DU
  1. ;;2.0;CLINICAL REMINDERS;**1001,1002,1003,1009**;Feb 04, 2005;Build 17
  1. ;=================================================================
  1. ;This routine is designed to use the standard PCC logic for reminders to
  1. ;evaluate if items are met or not met. Using the standard PCC calls ensures
  1. ;that all IHS items are using the same logic.
  1. ;=====================================================================
  1. ALCOHOL(DFN,TEST,DATE,VALUE,TEXT) ; EP
  1. ;This computed finding will check the PCC logic for alcohol screening
  1. N BPXRESLT,TODAY,X,Y
  1. S TODAY=$$DT^XLFDT()
  1. S BPXRESLT=$$REMALCS^APCLAPIR(DFN)
  1. I $P(BPXRESLT,U,1)=1 S TEST=1,VALUE=$P(BPXRESLT,U,4),TEXT=$P(BPXRESLT,U,3),DATE=$P(BPXRESLT,U,2)
  1. I $P(BPXRESLT,U,1)=0 S TEST=0,VALUE=TEST,DATE=TODAY
  1. Q
  1. DEPRESS(DFN,TEST,DATE,VALUE,TEXT) ;EP
  1. ;This computed finding will check the PCC logic for depression screening
  1. N BPXRESLT,TODAY,X,Y
  1. S TODAY=$$DT^XLFDT()
  1. S BPXRESLT=$$REMDEPS^APCLAPIR(DFN)
  1. I $P(BPXRESLT,U,1)=1 S TEST=1,VALUE=$P(BPXRESLT,U,4),TEXT=$P(BPXRESLT,U,3),DATE=$P(BPXRESLT,U,2)
  1. I $P(BPXRESLT,U,1)=0 S TEST=0,VALUE=TEST,DATE=TODAY
  1. Q
  1. FUNCTION(DFN,TEST,DATE,VALUE,TEXT) ;EP
  1. ;This computed finding will check the PCC logic for functional screening
  1. N BPXRESLT,TODAY,X,Y
  1. S TODAY=$$DT^XLFDT()
  1. S BPXRESLT=$$REMAOF^APCLAPIR(DFN)
  1. I $P(BPXRESLT,U,1)=1 S TEST=1,VALUE=$P(BPXRESLT,U,4),TEXT=$P(BPXRESLT,U,3),DATE=$P(BPXRESLT,U,2)
  1. I $P(BPXRESLT,U,1)=0 S TEST=0,VALUE=TEST,DATE=TODAY
  1. Q
  1. DIABETES(DFN,TEST,DATE,VALUE,TEXT) ; EP
  1. ;This computed finding will check the PCC logic for diabetes screening
  1. N BPXRESLT,TODAY,X,Y
  1. S TODAY=$$DT^XLFDT()
  1. S BPXRESLT=$$REMGLUC^APCLAPIR(DFN)
  1. I $P(BPXRESLT,U,1)=1 S TEST=1,VALUE=$P(BPXRESLT,U,4),TEXT=$P(BPXRESLT,U,3),DATE=$P(BPXRESLT,U,2)
  1. I $P(BPXRESLT,U,1)=0 S TEST=0,VALUE=TEST,DATE=TODAY
  1. Q
  1. IPVS(DFN,TEST,DATE,VALUE,TEXT) ; EP
  1. ;This computed finding will check the PCC logic for intimate partner violence screening
  1. N BPXRESLT,TODAY,X,Y
  1. S TODAY=$$DT^XLFDT()
  1. S BPXRESLT=$$REMIPVS^APCLAPIR(DFN)
  1. I $P(BPXRESLT,U,1)=1 S TEST=1,VALUE=$P(BPXRESLT,U,4),TEXT=$P(BPXRESLT,U,3),DATE=$P(BPXRESLT,U,2)
  1. I $P(BPXRESLT,U,1)=0 S TEST=0,VALUE=TEST,DATE=TODAY
  1. Q
  1. EPSDT(DFN,TEST,DATE,VALUE,TEXT) ; EP
  1. ;This computed finding will check the PCC logic for EPSDT
  1. N BPXRESLT,TODAY,X,Y
  1. S TODAY=$$DT^XLFDT()
  1. S BPXRESLT=$$REMEPSDT^APCLAPIR(DFN)
  1. I $P(BPXRESLT,U,1)=1 S TEST=1,VALUE=$P(BPXRESLT,U,4),TEXT=$P(BPXRESLT,U,3),DATE=$P(BPXRESLT,U,2)
  1. I $P(BPXRESLT,U,1)=0 S TEST=0,VALUE=TEST,DATE=TODAY
  1. Q
  1. MAMMO(DFN,TEST,DATE,VALUE,TEXT) ; EP
  1. ;This computed finding will check the PCC logic for mammogram screening
  1. N BPXRESLT,TODAY,X,Y
  1. S TODAY=$$DT^XLFDT()
  1. S BPXRESLT=$$REMMAMM^APCLAPIR(DFN)
  1. I $P(BPXRESLT,U,1)=1 S TEST=1,VALUE=$P(BPXRESLT,U,4),TEXT=$P(BPXRESLT,U,3),DATE=$P(BPXRESLT,U,2)
  1. I $P(BPXRESLT,U,1)=0 S TEST=0,VALUE=TEST,DATE=TODAY
  1. Q
  1. OSTEO(DFN,TEST,DATE,VALUE,TEXT) ; EP
  1. ;This computed finding will check the PCC logic for osteoporosis screening
  1. N BPXRESLT,TODAY,X,Y,Z,AGE,DOB
  1. S DOB=$P($G(^DPT(DFN,0)),U,3)
  1. S TODAY=$$DT^XLFDT()
  1. ;I $$LASTDX^APCHSMU2(DFN,"BGP OSTEOPOROSIS DXS",$P(^DPT(DFN,0),U,3),TODAY) S TEST=1,VALUE="NA",TEXT="Pt has DX of osteoporosis",DATE=TODAY Q
  1. S BPXRESLT=$$REMOSTEO^APCLAPIR(DFN)
  1. I $P(BPXRESLT,U,1)=1 D
  1. .I $$LASTDX^APCHSMU2(DFN,"BGP OSTEOPOROSIS DXS",$P(^DPT(DFN,0),U,3),TODAY) D
  1. ..S TEST=1,VALUE=$P(BPXRESLT,U,4),TEXT=$P(BPXRESLT,U,3),DATE=$P(BPXRESLT,U,2)
  1. .E D
  1. ..S DATE=$P(BPXRESLT,U,2)
  1. ..I DATE'="" D
  1. ...S Z=$$AGE^PXRMAGE(DOB,"",DATE)
  1. ...I Z>64 S TEST=1,VALUE=$P(BPXRESLT,U,4),TEXT=$P(BPXRESLT,U,3),DATE=$P(BPXRESLT,U,2)
  1. ...E S TEST=0,VALUE=TEST,DATE=$P(BPXRESLT,U,2),TEXT="Test was done before age 65"
  1. ..E S TEST=0,VALUE=TEST,DATE=TODAY,TEXT="Unable to determine date of test"
  1. I $P(BPXRESLT,U,1)=0 S TEST=0,VALUE=TEST,DATE=TODAY
  1. Q
  1. PAP(DFN,TEST,DATE,VALUE,TEXT) ; EP
  1. ;This computed finding will check the PCC logic for pap smear screening
  1. N BPXRESLT,TODAY,X,Y
  1. S TODAY=$$DT^XLFDT()
  1. S BPXRESLT=$$REMPAP^APCLAPIR(DFN)
  1. I $P(BPXRESLT,U,1)=1 S TEST=1,VALUE=$P(BPXRESLT,U,4),TEXT=$P(BPXRESLT,U,3),DATE=$P(BPXRESLT,U,2)
  1. I $P(BPXRESLT,U,1)=0 S TEST=0,VALUE=TEST,DATE=TODAY
  1. Q
  1. TOBACCO(DFN,TEST,DATE,VALUE,TEXT) ; EP
  1. ;This computed finding will check the PCC logic for tobacco screening
  1. N BPXRESLT,TODAY,X,Y
  1. S TODAY=$$DT^XLFDT()
  1. S BPXRESLT=$$REMTOBS^APCLAPIR(DFN)
  1. I $P(BPXRESLT,U,1)=1 S TEST=1,VALUE=$P(BPXRESLT,U,4),TEXT=$P(BPXRESLT,U,3),DATE=$P(BPXRESLT,U,2)
  1. I $P(BPXRESLT,U,1)=0 S TEST=0,VALUE=TEST,DATE=TODAY
  1. Q
  1. HEAR(DFN,TEST,DATE,VALUE,TEXT) ; EP
  1. ;This computed finding will check the PCC logic for hearing screening
  1. N BPXRESLT,TODAY,X,Y
  1. S TODAY=$$DT^XLFDT()
  1. S BPXRESLT=$$REMHEAR^APCLAPIR(DFN)
  1. I $P(BPXRESLT,U,1)=1 S TEST=1,VALUE=$P(BPXRESLT,U,4),TEXT=$P(BPXRESLT,U,3),DATE=$P(BPXRESLT,U,2)
  1. I $P(BPXRESLT,U,1)=0 S TEST=0,VALUE=TEST,DATE=TODAY
  1. Q
  1. VISION(DFN,TEST,DATE,VALUE,TEXT) ; EP
  1. ;This computed finding will check the PCC logic for vision screening
  1. N BPXRESLT,TODAY,X,Y
  1. S TODAY=$$DT^XLFDT()
  1. S BPXRESLT=$$REMVAE^APCLAPIR(DFN)
  1. I $P(BPXRESLT,U,1)=1 S TEST=1,VALUE=$P(BPXRESLT,U,4),TEXT=$P(BPXRESLT,U,3),DATE=$P(BPXRESLT,U,2)
  1. I $P(BPXRESLT,U,1)=0 S TEST=0,VALUE=TEST,DATE=TODAY
  1. Q
  1. DENTAL(DFN,TEST,DATE,VALUE,TEXT) ; EP
  1. ;This computed finding will check the PCC logic for dental screening
  1. N BPXRESLT,TODAY,X,Y
  1. S TODAY=$$DT^XLFDT()
  1. S BPXRESLT=$$REMDENT^APCLAPIR(DFN)
  1. I $P(BPXRESLT,U,1)=1 S TEST=1,VALUE=$P(BPXRESLT,U,4),TEXT=$P(BPXRESLT,U,3),DATE=$P(BPXRESLT,U,2)
  1. I $P(BPXRESLT,U,1)=0 S TEST=0,VALUE=TEST,DATE=TODAY
  1. Q
  1. HC(DFN,TEST,DATE,VALUE,TEXT) ; EP
  1. ;This computed finding will check the PCC logic for head circumference
  1. N BPXRESLT,TODAY,X,Y,APCLPDFN
  1. S TODAY=$$DT^XLFDT()
  1. S APCLPDFN=DFN
  1. S BPXRESLT=$$REMHC^APCLAPIR(APCLPDFN)
  1. I $P(BPXRESLT,U,1)=1 S TEST=1,VALUE=$P(BPXRESLT,U,4),TEXT=$P(BPXRESLT,U,3),DATE=$P(BPXRESLT,U,2)
  1. I $P(BPXRESLT,U,1)=0 S TEST=0,VALUE=TEST,DATE=TODAY
  1. Q
  1. AMP(DFN,TEST,DATE,VALUE,TEXT) ; EP
  1. ;This computed finding will check the PCC logic for bilateral amputation
  1. N BPXRESLT,TODAY,X,Y
  1. S TODAY=$$DT^XLFDT()
  1. S BPXRESLT=$$AMP^BGP4D27(DFN,TODAY)
  1. I $P(BPXRESLT,U,1)=1 S TEST=1,VALUE="BI-LATERAL AMPUTATION",TEXT="Code for bi-lateral amputation found",DATE=TODAY
  1. I $P(BPXRESLT,U,1)=0 S TEST=0,VALUE=TEST,DATE=TODAY
  1. Q