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

WVUTL4.m

Go to the documentation of this file.
  1. WVUTL4 ;HCIOFO/FT,JR IHS/ANMC/MWR - UTIL: DATE DEFAULTS, OTH VALUES; ;07/06/2020
  1. ;;1.0;WOMEN'S HEALTH;**26**;Sep 30, 1998;Build 624
  1. ;;* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
  1. ;; UTILITY: DEFAULT "COMPLETE BY" DATES FOR NOTIFS AND PROCEDURES,
  1. ;; STATUS TEXT, DIAG TEXT, NORMAL VALUE, COLP VALUE, MARGIN? VALUE.
  1. ;
  1. ;
  1. GETMAILG() ;
  1. N RESULT,IEN
  1. S IEN=$$GET^XPAR("ALL","WV MAIL GROUP ISSUE")
  1. I +$G(IEN)=0 Q ""
  1. S RESULT=$$GET1^DIQ(3.8,IEN,.01)
  1. Q RESULT
  1. ;
  1. NDELQ() ;EP
  1. ;---> FOR NOTIFICATIONS:
  1. ;---> COMPUTE DEFAULT "COMPLETE BY (DATE)" - DATE AT WHICH A
  1. ;---> NOTIFICATION BECOMES DELINQUENT. CALLED BY WV NOTIF-EDITBLK-1.
  1. ;---> DEFAULT IS CREATED WHEN SCREEN IS FIRST LOADED.
  1. ;---> CODE HERE SETS X=EITHER 1: PRINT DATE (IF PRINTABLE), OR
  1. ;---> 2: DATE NOTIFICATION OPENED, OR
  1. ;---> 3: TODAY'S DATE
  1. ;---> THEN $$NDELQ1() IS CALLED TO ADD 30 DAYS UNTIL DELINQUENT.
  1. ;---> REQUIRED VARIABLE: DA (IEN OF NOTIFICATION).
  1. N X
  1. Q:'$D(DA) ""
  1. Q:'DA ""
  1. Q:'$D(^WV(790.4,DA,0)) ""
  1. S X=$P(^WV(790.4,DA,0),U,11)
  1. S:'X X=$P(^WV(790.4,DA,0),U,2)
  1. S:'X X=DT
  1. Q $$NDELQ1
  1. ;
  1. NDELQ1() ;EP
  1. ;---> FOR NOTIFICATIONS:
  1. ;---> COMPUTE "COMPLETE BY (DATE)". CALLED BY UPDATE/EDIT OF
  1. ;---> "PRINT DATE:" IN WV NOTIF-EDITBLK-1.
  1. ;---> X1=EITHER NEW PRINT DATE, OR DATE NOTIF OPENED, OR TODAY.
  1. ;---> X2=30 DAYS ADDED TILL NOTIFICATION BECOMES DELINQUENT.
  1. ;---> REQUIRED VARIABLE: X=PRINT DATE, OR DATE OPENED, OR TODAY.
  1. N %H,X1,X2
  1. Q:'$D(X) ""
  1. Q:'X ""
  1. S X1=X,X2=30
  1. D C^%DTC
  1. Q X
  1. ;
  1. PDELQ(DA,DUZ2) ;EP
  1. ;---> FOR PROCEDURES:
  1. ;---> COMPUTE DEFAULT "COMPLETE BY (DATE)" - DATE AT WHICH A
  1. ;---> PROCEDURE BECOMES DELINQUENT. CALLED BY WV PROC-EDITBLK-1.
  1. ;---> DEFAULT IS CREATED WHEN SCREEN IS FIRST LOADED.
  1. ;---> CODE HERE FIRST RETRIEVES STORED DATE OF PROCEDURE, THEN CALLS
  1. ;---> $$DELQ1 TO COMPUTE "COMPLETE BY (DATE)".
  1. ;---> REQUIRED VARIABLE: DA (IEN OF PROCEDURE), DUZ2=DUZ(2).
  1. Q:'$G(DA)!('$G(DUZ2)) ""
  1. Q:'$D(^WV(790.1,DA,0)) ""
  1. Q:'$P(^WV(790.1,DA,0),U,12) ""
  1. Q $$PDELQ1(DA,$P(^WV(790.1,DA,0),U,12),DUZ2)
  1. ;
  1. PDELQ1(WVDA,WVDT,WVDUZ2) ;EP
  1. ;---> FOR PROCEDURES:
  1. ;---> COMPUTE "COMPLETE BY (WVDT)". CALLED BY UPWVDT/EDIT OF
  1. ;---> "WVDT OF PROCEDURE" IN WV PROC-EDITBLK-1.
  1. ;---> X1=WVDT OF PROCEDURE, X2=DEFAULT NUMBER OF WVDAYS THE
  1. ;---> PROCEDURE IS ALLOWED TO REMAIN OPEN BEFORE BECOMING DELINQUENT.
  1. ;---> REQUIRED VARIABLE: WVDA=IEN OF PROCEDURE, WVDT=DATE OF PROCEDURE,
  1. ;---> WVDUZ2=DUZ(2).
  1. N %H,X,X1,X2
  1. Q:'$G(WVDA)!('$G(WVDT)) ""
  1. Q:'$D(^WV(790.1,WVDA,0)) ""
  1. S X2=$P(^WV(790.1,WVDA,0),U,4),X1=WVDT
  1. Q:'X2 ""
  1. Q:'$D(^WV(790.02,WVDUZ2,X2)) ""
  1. S X2=$P(^WV(790.02,WVDUZ2,X2),U,3)
  1. D C^%DTC
  1. Q X
  1. ;
  1. STATUS() ;EP
  1. ;---> PROVIDES STATUS (OPEN, DELINQUENT, OR CLOSED).
  1. ;---> Y MUST EQUAL ZERO NODE OF NOTIFICATION.
  1. ;---> REQUIRED VARIABLE: Y=ZERO NODE OF PROCEDURE, DT=FFDATE
  1. Q:'$D(Y) "UNKNOWN"
  1. Q:$P(Y,U,14)="c" "CLOSED"
  1. Q:$P(Y,U,14)="e" "ENTER IN ERROR"
  1. Q:$P(Y,U,13)]""&($P(Y,U,13)<DT) "DELINQ"
  1. Q "OPEN"
  1. ;
  1. DIAG(IEN) ;EP
  1. ;---> RETURN TEXT OF RESULT/DIAGNOSIS.
  1. ;---> REQUIRED VARIABLE X=IEN IN WV RESULTS/DIAGNOSIS FILE 790.31.
  1. Q:'$G(IEN) "NOT ENTERED"
  1. Q:'$D(^WV(790.31,IEN,0)) "UNKNOWN POINTER"
  1. Q $P(^WV(790.31,IEN,0),U)
  1. ;
  1. PRIOR() ;EP
  1. ;---> PROVIDE PRIORITY FOR THIS RESULT/DIAGNOSIS (DEFAULT=10).
  1. ;---> REQUIRED VARIABLE X=IEN IN WV RESULTS/DIAGNOSIS FILE.
  1. Q:'$D(X)!(X']"") 10
  1. Q:'$D(^WV(790.31,X,0)) 10
  1. Q:'$P(^WV(790.31,X,0),U,2) 10
  1. Q $P(^WV(790.31,X,0),U,2)
  1. ;
  1. NORMAL(X) ;EP
  1. ;---> PROVIDE NORMAL/ABNORMAL FOR THIS RESULT/DIAGNOSIS.
  1. ;---> WILL RETURN 0 IF NORMAL, 1 IF ABNORMAL (DEFAULT=1),
  1. ;---> 2 IF NO RESULT (EITHER THE PROCEDURE HAS NO RESULT OR
  1. ;---> THE RESULT/DIAGNOSIS HAS "NO RESULT" FOR FIELD #.21).
  1. ;---> REQUIRED VARIABLE X=IEN IN WV RESULTS/DIAGNOSIS FILE.
  1. Q:'$D(X)!(X']"") 2
  1. Q:'$D(^WV(790.31,X,0)) 2
  1. Q:$P(^WV(790.31,X,0),U,21)="" 2
  1. Q $P(^WV(790.31,X,0),U,21)
  1. ;
  1. COLP(DA) ;EP
  1. ;---> DETERMINE WHETHER OR NOT THE CURRENT PROCEDURE REQUIRES
  1. ;---> PAGE 2 OF PROCEDURE EDIT SCREENS FOR COLPOSCOPY RESULTS.
  1. ;---> RETURNS 1 IF COLP-TYPE RESULTS, OTHERWISE 0.
  1. ;---> DA=IEN OF PROCEDURE IN PROC FILE #790.1.
  1. N Y
  1. Q:'$G(DA) 0
  1. Q:'$D(^WV(790.1,DA,0)) 0
  1. S Y=$P(^WV(790.1,DA,0),U,4)
  1. Q:'Y 0
  1. Q:'$D(^WV(790.2,Y,0)) 0
  1. Q:$P(^WV(790.2,Y,0),U,3)<1 0
  1. Q 1
  1. ;
  1. COLPA(DA) ;EP
  1. ;---> LOOK FOR ASSOCIATED COLPOSCOPY, RETURN ITS ACC# AND DATE.
  1. N X,Y
  1. Q:'$G(DA) ""
  1. S Y=$$COLP0(DA)
  1. Q:Y="" "None"
  1. S X=$P(Y,U)_" on "_$$SLDT2^WVUTL5($P(Y,U,12))
  1. I $P(Y,U,5) Q X_"^"_$P(^WV(790.31,$P(Y,U,5),0),U)
  1. Q X_"^"_"Not entered"
  1. ;
  1. COLP0(DA) ;EP
  1. ;---> IF THERE IS AN ASSOC'D COLP, RETURN ITS ZERO NODE.
  1. N Y
  1. Q:'$G(DA) ""
  1. Q:'$D(^WV(790.1,DA,0)) ""
  1. Q:'$D(^WV(790.1,"ACOLP",DA)) ""
  1. S Y=$O(^WV(790.1,"ACOLP",DA,0)),Y=$O(^WV(790.1,"ACOLP",DA,Y,0))
  1. Q:'$D(^WV(790.1,Y,0)) ""
  1. Q ^WV(790.1,Y,0)
  1. ;
  1. MARGIN(DA) ;EP
  1. ;---> DETERMINE WHETHER THE "MARGINS CLEAR?" QUESTION (PAGE 2 OF
  1. ;---> PROCEDURE EDIT) SHOULD BE ASKED FOR THIS PROCEDURE.
  1. N Y
  1. Q:'$G(DA) 0
  1. Q:'$D(^WV(790.1,DA,0)) 0
  1. S Y=$P(^WV(790.1,DA,0),U,4)
  1. Q:'Y 0
  1. Q:'$D(^WV(790.2,Y,0)) 0
  1. Q:$P(^WV(790.2,Y,0),U,11)<1 0
  1. Q 1
  1. ;
  1. STAGE(STAGE) ;EP
  1. ;---> RETURN THE TEXT OF THE STAGE OF CARCINOMA.
  1. Q:'$G(STAGE) ""
  1. Q:'$D(^DD(790.1,.31,0)) "^DD MISSING"
  1. Q $P($P(^DD(790.1,.31,0),STAGE_":",2),";")