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

WVALERTF.m

Go to the documentation of this file.
  1. WVALERTF ;HIOFO/FT - WV APIs ;10/05/2016 19:17
  1. ;;1.0;WOMEN'S HEALTH;**16,24**;Sep 30, 1998;Build 582
  1. ;
  1. ; This routine uses the following IAs:
  1. ; #2770 - ^GMTSLRPE calls and ^TMP("LRCY" references (controlled)
  1. ; #2771 - ^GMTSLRAE calls and ^TMP("LRA" references (controlled)
  1. ;
  1. ; This routine supports the following IAs:
  1. ; RESULTS - 4106
  1. ;
  1. ;
  1. RESULTS(RESULT,WVIEN) ; Returns the most recent unprocessed entry
  1. ; from the WV PROCEDURE file (790.1) for the procedure type selected.
  1. ; Input: RESULT - Array name to return data in.
  1. ; WVIEN - FILE 790.1 IEN
  1. ;
  1. ; Output: RESULT=^TMP("WV RPT",$J)
  1. ; where: ^TMP("WV RPT",$J,n,0)=report text
  1. ;
  1. N WVDATE,WVDFN,WVDX,WVFLAG,WVMSG,WVNODE,WVPTYPE,WVX,X,Y
  1. K ^TMP("WV RPT",$J)
  1. S WVFLAG=0,WVMSG=""
  1. I '+$G(WVIEN) S ^TMP("WV RPT",$J,1,0)="-1^^Entry not defined." G EXIT
  1. I $G(WVIEN)>0 D
  1. .S WVIEN=+WVIEN
  1. .S WVNODE=$G(^WV(790.1,WVIEN,0))
  1. .I WVNODE="" S WVMSG="Entry not found.",WVFLAG=1 Q
  1. .S WVDFN=$P(WVNODE,U,2)
  1. .S WVDATE=$P(WVNODE,U,12)
  1. .S WVX=$E($P(WVNODE,U,1),1,2) ;WH accession prefix
  1. .S WVPTYPE=$S(WVX="MB":"M",WVX="MU":"M",WVX="MS":"M",WVX="BU":"U",WVX="PS":"P",1:"")
  1. .I WVPTYPE="" S WVFLAG=1,WVMSG="Entry is not a pap smear, mammogram or breast ultrasound" Q
  1. .I WVPTYPE="M",$P(WVNODE,U,15)="" S WVFLAG=1,WVMSG="No link to a Radiology report"
  1. .I WVPTYPE="U",$P(WVNODE,U,15)="" S WVFLAG=1,WVMSG="No link to a Radiology report"
  1. .I WVPTYPE="P",$P($G(^WV(790.1,WVIEN,2)),U,17)="" S WVFLAG=1,WVMSG="No link to a Lab report"
  1. .Q
  1. I WVFLAG D G EXIT
  1. .S ^TMP("WV RPT",$J,1,0)="-1^^"_WVMSG
  1. .Q
  1. I WVPTYPE="M"!(WVPTYPE="U") D EN^WVALERTR(WVIEN,.WVDX) G EXIT ;mammogram/ultrasound
  1. ;handle pap smear
  1. N LRDFN,LRSS,WVLABACC,WVNODE2
  1. S WVNODE=$G(^WV(790.1,WVIEN,0))
  1. Q:WVNODE=""
  1. S WVNODE2=$G(^WV(790.1,WVIEN,2))
  1. Q:WVNODE2=""
  1. S WVLABACC=$P(WVNODE2,U,17) ;lab accession number (e.g., CY 99 1)
  1. Q:WVLABACC=""
  1. S WVDATE=$P(WVNODE2,U,19) ;lab accession date (reverse date/time)
  1. Q:'WVDATE
  1. S LRDFN=$P(WVNODE2,U,18) ;lab patient ien
  1. Q:'LRDFN
  1. S LRSS=$P(WVNODE2,U,20) ;lab patient subscript
  1. Q:LRSS=""
  1. D HS
  1. EXIT ; set RESULT equal to TMP global reference
  1. S RESULT=$NA(^TMP("WV RPT",$J))
  1. Q
  1. HS ; Health Summary variable setup
  1. N GMTS1,GMTS2,MAX
  1. S GMTS1=WVDATE-1,GMTS2=WVDATE+1,MAX=100
  1. I LRSS="CY" D CY ;cytology
  1. I LRSS="SP" D SP ;surgical pathology
  1. K ^TMP("LRA",$J),^TMP("LRCY",$J)
  1. Q
  1. CY ; Call Health Summary extract routine GMTSLRPE to get cytology data.
  1. ; Input: LRDFN - FILE 63 ien
  1. ; GMTS1 - reverse start date/time (most recent date)
  1. ; GMTS2 - reverse end date/time (least recent date)
  1. ; MAX - maximum # of occurrences to return
  1. ; Returns ^TMP("LRCY",$J)
  1. K ^TMP("LRCY",$J)
  1. I $T(XTRCT^GMTSLRPE)']"" Q ;HS routine doesn't exist
  1. D XTRCT^GMTSLRPE
  1. Q:'$D(^TMP("LRCY",$J))
  1. D WEEDCY
  1. Q:'$D(^TMP("LRCY",$J))
  1. D ^WVALERTC ;move data from HS array to WH array
  1. Q
  1. WEEDCY ; Weed out reports, save only report for lab accession number
  1. ; associated with this WH entry.
  1. N WVLOOP
  1. S WVLOOP=0
  1. F S WVLOOP=$O(^TMP("LRCY",$J,WVLOOP)) Q:'WVLOOP D
  1. .I $P($G(^TMP("LRCY",$J,WVLOOP,0)),U,2)'=WVLABACC D
  1. ..K ^TMP("LRCY",$J,WVLOOP)
  1. ..Q
  1. .Q
  1. Q
  1. SP ; Call Health Summary extract routine GMTSLRAE to get surgical
  1. ; pathology data.
  1. ; Input: LRDFN - FILE 63 ien
  1. ; GMTS1 - reverse start date/time (most recent date)
  1. ; GMTS2 - reverse end date/time (least recent date)
  1. ; MAX - maximum # of occurrences to return
  1. ; Returns ^TMP("LRA",$J)
  1. K ^TMP("LRA",$J)
  1. I $T(XTRCT^GMTSLRAE)']"" Q ;HS routine doesn't exist
  1. D XTRCT^GMTSLRAE
  1. Q:'$D(^TMP("LRA",$J))
  1. D WEEDSP
  1. Q:'$D(^TMP("LRA",$J))
  1. D ^WVALERTP ;move data from HS array to WH array
  1. Q
  1. WEEDSP ; Weed out reports, save only report for lab accession number
  1. ; associated with this WH entry.
  1. N WVLOOP
  1. S WVLOOP=0
  1. F S WVLOOP=$O(^TMP("LRA",$J,WVLOOP)) Q:'WVLOOP D
  1. .I $P($G(^TMP("LRA",$J,WVLOOP,0)),U,2)'=WVLABACC D
  1. ..K ^TMP("LRA",$J,WVLOOP)
  1. ..Q
  1. .Q
  1. Q