| 1 | WVBRDUP ;HCIOFO/FT,JR IHS/ANMC/MWR - BROWSE DUPLICATE PROCEDURES;
 | 
|---|
| 2 |  ;;1.0;WOMEN'S HEALTH;;Sep 30, 1998
 | 
|---|
| 3 |  ;;* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
 | 
|---|
| 4 |  ;;  CALLED BY OPTION: "WV BROWSE PROCEDURES DUPLICATE" TO IDENTIFY,
 | 
|---|
| 5 |  ;;  LIST AND BROWSE POSSIBLE DUPLICATE PROCEDURES.
 | 
|---|
| 6 |  ;
 | 
|---|
| 7 |  ;---> USE ^WVBRPCD ROUTINES FOR DISPLAY (NODES 1 & 2 IN ^TMP GLOBAL).
 | 
|---|
| 8 |  ;
 | 
|---|
| 9 |  D SETVARS
 | 
|---|
| 10 |  D TITLE^WVUTL5("BROWSE PROCEDURES FOR POSSIBLE DUPLICATES")
 | 
|---|
| 11 |  D DEVICE G:WVPOP EXIT
 | 
|---|
| 12 |  D SORT
 | 
|---|
| 13 |  D COPYGBL^WVBRPCD
 | 
|---|
| 14 |  D DISPLAY^WVBRPCD1(WVTITLE,WVHEADER,WVCODE)
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 | EXIT ;EP
 | 
|---|
| 17 |  D KILLALL^WVUTL8
 | 
|---|
| 18 |  Q
 | 
|---|
| 19 |  ;
 | 
|---|
| 20 | SETVARS ;EP
 | 
|---|
| 21 |  ;---> SET REQUIRED VARIABLES.
 | 
|---|
| 22 |  D SETVARS^WVUTL5 S WVPOP=0
 | 
|---|
| 23 |  S WVTITLE="* * *  DUPLICATE PROCEDURES LISTED BY PATIENT  * * *"
 | 
|---|
| 24 |  ;---> SET CODE EXCECUTED BY DIR PROMPT.
 | 
|---|
| 25 |  S WVCODE="D EDIT^WVBRPCD1,SORT^WVBRDUP,COPYGBL^WVBRPCD"
 | 
|---|
| 26 |  ;---> SET LINE LABEL IN ^WVUTL7 TO CALL AS HEADER.
 | 
|---|
| 27 |  S WVHEADER="HEADER6"
 | 
|---|
| 28 |  Q
 | 
|---|
| 29 |  ;
 | 
|---|
| 30 | SORT ;EP
 | 
|---|
| 31 |  ;---> SORT AND STORE ARRAY IN ^TMP("WV",$J
 | 
|---|
| 32 |  K ^TMP("WV",$J) N WVDFN,WVIEN,WVPCD,WVPCDS,N,M,P,Y
 | 
|---|
| 33 |  S WVDFN=0
 | 
|---|
| 34 |  F  S WVDFN=$O(^WV(790.1,"C",WVDFN)) Q:'WVDFN  D
 | 
|---|
| 35 |  .;
 | 
|---|
| 36 |  .;---> GATHER ALL PROCEDURES FOR THIS PATIENT INTO WVPCDS ARRAY.
 | 
|---|
| 37 |  .S WVIEN=0 K WVPCDS
 | 
|---|
| 38 |  .F  S WVIEN=$O(^WV(790.1,"C",WVDFN,WVIEN)) Q:'WVIEN  D
 | 
|---|
| 39 |  ..;---> SET Y=THE ZERO NODE FOR THIS PROCEDURE.
 | 
|---|
| 40 |  ..S Y=^WV(790.1,WVIEN,0)
 | 
|---|
| 41 |  ..;---> QUIT IF THIS PROCEDURE HAS A RESULT OF "ERROR/DISREGARD".
 | 
|---|
| 42 |  ..Q:$P(Y,U,5)=8
 | 
|---|
| 43 |  ..;---> GET DATE.
 | 
|---|
| 44 |  ..S WVPCD=$P(Y,U,4),WVDATE=$P($P(Y,U,12),".")
 | 
|---|
| 45 |  ..S WVPCDS(WVDFN,WVDATE,WVPCD,WVIEN)=""
 | 
|---|
| 46 |  .;
 | 
|---|
| 47 |  .;---> NOW CHECK WVPCDS ARRAY FOR DUPLICATES.
 | 
|---|
| 48 |  .S N=0
 | 
|---|
| 49 |  .F  S N=$O(WVPCDS(WVDFN,N)) Q:'N  D
 | 
|---|
| 50 |  ..S M=0
 | 
|---|
| 51 |  ..F  S M=$O(WVPCDS(WVDFN,N,M)) Q:'M  D
 | 
|---|
| 52 |  ...S P=0
 | 
|---|
| 53 |  ...F I=0:1 S P=$O(WVPCDS(WVDFN,N,M,P)) Q:'P
 | 
|---|
| 54 |  ...Q:I'>1
 | 
|---|
| 55 |  ...S P=0
 | 
|---|
| 56 |  ...F  S P=$O(WVPCDS(WVDFN,N,M,P)) Q:'P  D
 | 
|---|
| 57 |  ....S Y=^WV(790.1,P,0) D STORE^WVBRPCD(2,P,Y)
 | 
|---|
| 58 |  Q
 | 
|---|
| 59 |  ;
 | 
|---|
| 60 | DEQUEUE ;EP
 | 
|---|
| 61 |  ;---> FOR TASKMAN QUEUE OF PRINTOUT.
 | 
|---|
| 62 |  D SETVARS,SORT,COPYGBL^WVBRPCD
 | 
|---|
| 63 |  D DISPLAY^WVBRPCD1(WVTITLE,WVHEADER,WVCODE)
 | 
|---|
| 64 |  D EXIT
 | 
|---|
| 65 |  Q
 | 
|---|
| 66 |  ;
 | 
|---|
| 67 | DEVICE ;EP
 | 
|---|
| 68 |  ;---> GET DEVICE AND POSSIBLY QUEUE TO TASKMAN.
 | 
|---|
| 69 |  S ZTRTN="DEQUEUE^WVBRDUP"
 | 
|---|
| 70 |  F WVSV="HEADER" D
 | 
|---|
| 71 |  .I $D(@("WV"_WVSV)) S ZTSAVE("WV"_WVSV)=""
 | 
|---|
| 72 |  D ZIS^WVUTL2(.WVPOP,1,"HOME")
 | 
|---|
| 73 |  Q
 | 
|---|