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

BPXRMSNO.m

Go to the documentation of this file.
  1. BPXRMSNO ; IHS/MSC/MGH - Use SNOMED problems in reminder resolution. ;01-Apr-2016 08:44;du
  1. ;;2.0;CLINICAL REMINDERS;**1002,1003,1005,1006,1007**;Feb 04, 2005;Build 12
  1. ;===================================================================
  1. ;IHS/MSC/MGH Included in patch 1005 for backards compatability
  1. ;
  1. SNO(DFN,TEST,DATE,VALUE,TEXT) ;EP
  1. N BPXTRM,BPXPR,BPXIEN,BPXREC,BPXSTAT,X,IN,BPXSNO,FOUND,SEARCH,TODAY,Y
  1. ;Test will contain the name of the subset to see if this problem is in that subset
  1. Q:TEST=""
  1. S TODAY=$$DT^XLFDT()
  1. S SEARCH=TEST,FOUND=0
  1. ;First search patient's active list of problems
  1. S BPXPR="" F S BPXPR=$O(^AUPNPROB("AC",DFN,BPXPR)) Q:'BPXPR!(FOUND=1) D
  1. .S BPXREC=$G(^AUPNPROB(BPXPR,0))
  1. .Q:$P(BPXREC,U,2)'=DFN
  1. .S BPXIEN=$P(BPXREC,U)
  1. .Q:BPXIEN=""
  1. .;Check for which statuses to return since we only want active ones
  1. .S BPXSTAT=$P(BPXREC,U,12)
  1. .Q:BPXSTAT="D"!(BPXSTAT="I")
  1. .S BPXSNO=$$GET1^DIQ(9000011,BPXPR,80002)
  1. .Q:BPXSNO=""
  1. .N ARR
  1. .S IN=BPXSNO_U_SEARCH_U_U_1
  1. .S FOUND=$$VSBTRMF^BSTSAPI(IN)
  1. .I FOUND=1 D
  1. ..S IN=BPXSNO_U_U_1
  1. ..S Y=$$DESC^BSTSAPI(IN)
  1. ..S VALUE=$P(Y,U,2)
  1. ..S TEST=1,TEXT=VALUE,DATE=TODAY
  1. I FOUND=0 S TEST=0,VALUE=TEST,DATE=TODAY
  1. Q
  1. POV(DFN,TEST,DATE,VALUE,TEXT) ;EP
  1. N BPXTRM,BPXPR,BPXIEN,BPXREC,BPXSTAT,X,IN,TODAY,BPXSNO,FOUND,SEARCH,BPXINV,Y,DONDTE,BEG,END,CODE,CODETXT
  1. ;Test will contain the name of the subset to see if this problem is in that subset
  1. Q:TEST=""
  1. S TODAY=$$DT^XLFDT()
  1. I $G(FIEVAL("EDTE"))'="" S END=9999999-FIEVAL("EDTE")
  1. E S END=9999999-DT
  1. I $G(FIEVAL("BDTE"))'="" S BEG=9999999-FIEVAL("BDTE")
  1. E S BEG=9999999-3000101
  1. S SEARCH=TEST,FOUND=0
  1. ;First search patient's pov
  1. S BPXINV=END F S BPXINV=$O(^AUPNVPOV("AA",DFN,BPXINV)) Q:'BPXINV!(FOUND=1)!(BPXINV>BEG) D
  1. .S BPXPR="" F S BPXPR=$O(^AUPNVPOV("AA",DFN,BPXINV,BPXPR)) Q:'BPXPR!(FOUND=1) D
  1. ..S BPXREC=$G(^AUPNVPOV(BPXPR,0))
  1. ..Q:$P(BPXREC,U,2)'=DFN
  1. ..S BPXIEN=$P(BPXREC,U)
  1. ..Q:BPXIEN=""
  1. ..S BPXSNO=$$GET1^DIQ(9000010.07,BPXPR,1102)
  1. ..Q:BPXSNO=""
  1. ..N ARR
  1. ..S IN=BPXSNO_U_SEARCH_U_U_1
  1. ..S FOUND=$$VSBTRMF^BSTSAPI(IN)
  1. ..I FOUND=1 D
  1. ...S IN=BPXSNO_U_U_1
  1. ...S Y=$$DESC^BSTSAPI(IN)
  1. ...S VALUE=$P(Y,U,2)
  1. ...S DONDTE=$$GET1^DIQ(9000010.07,BPXPR,1201,"I")
  1. ...I DONDTE="" S DONDTE=$$GET1^DIQ(9000010.07,BPXPR,.03,"I")
  1. ...S TEST=1,TEXT="POV code",DATE=DONDTE
  1. I FOUND=0 S TEST=0,VALUE=TEST,DATE=TODAY
  1. Q
  1. ;Computed finding to find an item in an IHS taxonomy
  1. POVTAX(DFN,TEST,DATE,VALUE,TEXT) ;EP
  1. N BPXTRM,BPXPR,BPXIEN,BPXREC,BPXSTAT,TAX,TODAY,Y,DONDTE,BEG,END
  1. ;Test will contain the name of the taxonomy to see if this POV is in that taxonomy
  1. Q:TEST=""
  1. S TODAY=$$DT^XLFDT()
  1. S TAX=TEST,FOUND=0
  1. I $G(FIEVAL("EDTE"))'="" S END=9999999-FIEVAL("EDTE")
  1. E S END=9999999-DT
  1. I $G(FIEVAL("BDTE"))'="" S BEG=9999999-FIEVAL("BDTE")
  1. E S BEG=9999999-3000101
  1. ;First search patient's pov
  1. S BPXINV=END F S BPXINV=$O(^AUPNVPOV("AA",DFN,BPXINV)) Q:'BPXINV!(FOUND=1)!(BPXINV>BEG) D
  1. .S BPXPR="" F S BPXPR=$O(^AUPNVPOV("AA",DFN,BPXINV,BPXPR)) Q:'BPXPR!(FOUND=1) D
  1. ..S BPXREC=$G(^AUPNVPOV(BPXPR,0))
  1. ..Q:$P(BPXREC,U,2)'=DFN
  1. ..S BPXIEN=$P(BPXREC,U)
  1. ..Q:BPXIEN=""
  1. ..S CODE=$$GET1^DIQ(9000010.07,BPXPR,.01,"I")
  1. ..I $$ICD^ATXAPI(CODE,$O(^ATXAX("B",TAX,0)),9) D
  1. ...S FOUND=1
  1. ...S CODETXT=$$GET1^DIQ(9000010.07,BPXPR,.01)
  1. ...S DONDTE=$$GET1^DIQ(9000010.07,BPXPR,1201,"I")
  1. ...I DONDTE="" S DONDTE=$$GET1^DIQ(9000010.07,BPXPR,.03,"I")
  1. ...S TEST=1,TEXT="Diagnosis Code",DATE=DONDTE,VALUE=CODETXT
  1. I FOUND=0 S TEST=0,DATE=TODAY
  1. Q
  1. ;Computed finding to find a CPT item in an IHS taxonomy
  1. CPTTAX(DFN,TEST,DATE,VALUE,TEXT) ;EP
  1. N BPXTRM,BPXPR,BPXIEN,BPXCODE,BPXREC,BPXSTAT,TAX,TODAY,Y,DONDTE,BEG,END
  1. ;Test will contain the name of the taxonomy to see if this CPT is in that taxonomy
  1. Q:TEST=""
  1. S TODAY=$$DT^XLFDT()
  1. S TAX=TEST,FOUND=0
  1. I $G(FIEVAL("EDTE"))'="" S END=9999999-FIEVAL("EDTE")
  1. E S END=9999999-DT
  1. I $G(FIEVAL("BDTE"))'="" S BEG=9999999-FIEVAL("BDTE")
  1. E S BEG=9999999-2400101
  1. ;First search patient's CPT file
  1. S BPXCODE="" F S BPXCODE=$O(^AUPNVCPT("AA",DFN,BPXCODE)) Q:'BPXCODE!(FOUND=1) D
  1. .S BPXINV=END F S BPXINV=$O(^AUPNVCPT("AA",DFN,BPXCODE,BPXINV)) Q:'BPXINV!(FOUND=1)!(BPXINV>BEG) D
  1. ..S BPXPR="" F S BPXPR=$O(^AUPNVCPT("AA",DFN,BPXCODE,BPXINV,BPXPR)) Q:'BPXPR!(FOUND=1) D
  1. ...S BPXREC=$G(^AUPNVCPT(BPXPR,0))
  1. ...Q:$P(BPXREC,U,2)'=DFN
  1. ...S BPXIEN=$P(BPXREC,U)
  1. ...Q:BPXIEN=""
  1. ...S CODE=$$GET1^DIQ(9000010.18,BPXPR,.01,"I")
  1. ...I $$ICD^ATXAPI(CODE,$O(^ATXAX("B",TAX,0)),1) D
  1. ....S FOUND=1
  1. ....S CODETXT=$P($G(^ICPT(CODE,0)),U,2)
  1. ....S DONDTE=$$GET1^DIQ(9000010.18,BPXPR,1201)
  1. ....I DONDTE="" S DONDTE=$$GET1^DIQ(9000010.18,BPXPR,.03)
  1. ....S TEST=1,TEXT="CPT Code",DATE=DONDTE,VALUE=CODETXT
  1. I FOUND=0 S TEST=0,DATE=TODAY
  1. Q