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

WVBRPCD1.m

Go to the documentation of this file.
  1. WVBRPCD1 ;HCIOFO/FT,JR IHS/ANMC/MWR - BROWSE PROCEDURES; ;8/10/98 16:37
  1. ;;1.0;WOMEN'S HEALTH;;Sep 30, 1998
  1. ;;* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
  1. ;; DISPLAY CODE FOR BROWSING PROCEDURES. CALLED BY BRBRPCD.
  1. ;
  1. DISPLAY(WVTITLE,WVHEADER,WVCODE) ;EP
  1. ;---> WVCONF=DISPLAY "CONFIDENTIAL PT INFO" BANNER.
  1. ;---> WVTITLE=TITLE AT TOP OF DISPLAY HEADER.
  1. ;---> WVHEADER=HEADER CALL TO ^WVUTL7
  1. ;---> WVCODE=CODE TO EXECUTE AS 3RD PIECE OF DIR(0) (AFTER DIR READ).
  1. ;---> WVSUBH=CODE TO EXECUTE FOR SUBHEADER (COLUMN TITLES).
  1. ;---> WVCRT=1 IF OUTPUT IS TO SCREEN (ALLOWS SELECTIONS TO EDIT).
  1. ;---> WVTAB=6 IF OUTPUT IS TO SCREEN, =3 IF OUTPUT IS TO PRINTER.
  1. ;---> WVPRMT(1,Q)=PROMPTS FOR DIR.
  1. ;
  1. U IO
  1. S WVCONF=1,WVHEADER=WVHEADER_"^WVUTL7"
  1. D CENTERT^WVUTL5(.WVTITLE)
  1. S WVSUBH="SUBHEAD^WVBRPCD1"
  1. S (WVPOP,N,Z)=0
  1. D TOPHEAD^WVUTL7
  1. S WVTAB=$S(WVCRT:5,1:3)
  1. ;
  1. NOMATCH ;EP
  1. ;---> QUIT IF NO RECORDS MATCH.
  1. I '$D(^TMP("WV",$J,1)) D Q
  1. .D @(WVHEADER)
  1. .K WVPRMT,WVPRMT1,WVPRMTQ,DIR
  1. .W !!?5,"No records match the selected criteria.",!
  1. .I WVCRT&('$D(IO("S"))) D DIRZ^WVUTL3 W @IOF
  1. .D ^%ZISC S WVPOP=1
  1. ;
  1. DISPLAY1 ;EP
  1. ;---> IF A PROCEDURE IS EDITED ON THE LAST PAGE, GOTO HERE
  1. ;---> FROM LINELABEL "END" BELOW.
  1. D @(WVHEADER)
  1. F S N=$O(^TMP("WV",$J,2,N)) Q:'N!(WVPOP) D
  1. .I $Y+6>IOSL D:WVCRT DIRZ^WVUTL3 Q:WVPOP D
  1. ..S WVPAGE=WVPAGE+1
  1. ..D @(WVHEADER) S Z=0
  1. .S Y=^TMP("WV",$J,2,N),M=N
  1. .W !
  1. .;---> DON'T WRITE SSN# AND NAME IF IT MATCHES THE PREVIOUS RECORD.
  1. .;---> DON'T WRITE BROWSE SELECTION#'S IF IO IS NOT A CRT (BRCRT).
  1. .I $P(Y,U)'=Z D
  1. ..W ! W:WVCRT $J(N,3),")" ;BROWSE SELECTION#
  1. ..W ?WVTAB,$P(Y,U) ;SSN#
  1. ..W ?WVTAB+10,$E($P(Y,U,2),1,16)," " ;NAME
  1. ..W $$REPEAT^XLFSTR(".",16-$L($P(Y,U,2))) ;CONNECTING DOTS
  1. ..W:'WVCRT "..." ;ADD DOTS IF NOT A CRT
  1. .I $P(Y,U)=Z D ;IF NEW SSN#...
  1. ..W:WVCRT $J(N,3),")" ;BROWSE SELECTION#
  1. ..W ?WVTAB,". . . . . . . . . . . . . ." ;CONNECTING DOTS
  1. .S Z=$P(Y,U) ;STORE AS PREVIOUS SSN#
  1. .;
  1. .W ?34,$$SLDT2^WVUTL5($P(Y,U,3)) ;DATE OF PROCEDURE
  1. .W ?44,$P(Y,U,4) ;ACCESSION#
  1. .W ?57,$S($P(Y,U,7)="D":"*",1:" ") ;STATUS (* IF DELINQ)
  1. .W ?58,$P(Y,U,7) ;STATUS
  1. .W ?62,$E($P(Y,U,5),1,14)_" ("_$P(Y,U,6)_")" ;RESULTS/DIAGNOSIS (PRIORITY)
  1. ;
  1. END ;EP
  1. ;---> IF A PROCEDURE HAS BEEN EDITED, SET N=N-5 AND START (GOTO)
  1. ;---> DISPLAY1 OVER AGAIN FROM 5 RECORDS PREVIOUS.
  1. I WVCRT&('$D(IO("S")))&('WVPOP) D DIRZ^WVUTL3 I N S N=N-1 G NOMATCH
  1. D ^%ZISC
  1. K N,Z
  1. Q
  1. ;
  1. SUBHEAD ;EP
  1. ;---> SUB HEADER FOR PROCEDURE BROWSE OUTPUT.
  1. W !?WVTAB,$$PNLB^WVUTL5()
  1. W ?WVTAB+12,"PATIENT",?34,"DATE",?44,"ACC#"
  1. W ?57,"STA",?62,"RESULTS/DIAGNOSIS"
  1. W !?62,"(PRIORITY)",!
  1. W $$REPEAT^XLFSTR("-",80)
  1. Q
  1. ;
  1. EDIT ;EP
  1. ;---> FROM BROWSE, WVPOP IN TO EDIT A SINGLE PROCEDURE.
  1. D SETVARS^WVUTL5
  1. S X=+X,DA=$P(^TMP("WV",$J,2,X),U,8)
  1. S WVN=X N X
  1. D EDIT2^WVPROC1(DA,.WVPOP)
  1. ;---> BACK UP 5 RECORDS AFTER EDIT.
  1. S N=$S(WVN<6:1,1:WVN-5),Z=0 K WVN
  1. Q