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

BWBRDUP.m

Go to the documentation of this file.
  1. BWBRDUP ;IHS/ANMC/MWR - BROWSE DUPLICATE PROCEDURES;15-Feb-2003 21:46;PLS
  1. ;;2.0;WOMEN'S HEALTH;**8**;MAY 16, 1996
  1. ;;* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
  1. ;; CALLED BY OPTION: "BW BROWSE PROCEDURES DUPLICATE" TO IDENTIFY,
  1. ;; LIST AND BROWSE POSSIBLE DUPLICATE PROCEDURES.
  1. ;
  1. ;---> USE ^BWBRPCD ROUTINES FOR DISPLAY (NODES 1 & 2 IN ^TMP GLOBAL).
  1. ;
  1. D SETVARS
  1. D TITLE^BWUTL5("BROWSE PROCEDURES FOR POSSIBLE DUPLICATES")
  1. D DEVICE G:BWPOP EXIT
  1. D SORT
  1. D COPYGBL^BWBRPCD
  1. D DISPLAY^BWBRPCD1(BWTITLE,BWHEADER,BWCODE)
  1. ;
  1. EXIT ;EP
  1. D KILLALL^BWUTL8
  1. Q
  1. ;
  1. SETVARS ;EP
  1. ;---> SET REQUIRED VARIABLES.
  1. D SETVARS^BWUTL5 S BWPOP=0
  1. S BWTITLE="* * * DUPLICATE PROCEDURES LISTED BY PATIENT * * *"
  1. ;---> SET CODE EXCECUTED BY DIR PROMPT.
  1. S BWCODE="D EDIT^BWBRPCD1,SORT^BWBRDUP,COPYGBL^BWBRPCD"
  1. ;---> SET LINE LABEL IN ^BWUTL7 TO CALL AS HEADER.
  1. S BWHEADER="HEADER6"
  1. Q
  1. ;
  1. SORT ;EP
  1. ;---> SORT AND STORE ARRAY IN ^TMP("BW",$J
  1. K ^TMP("BW",$J) N BWDFN,BWIEN,BWPCD,BWPCDS,N,M,P,Y
  1. S BWDFN=0
  1. F S BWDFN=$O(^BWPCD("C",BWDFN)) Q:'BWDFN D
  1. .;
  1. .;---> GATHER ALL PROCEDURES FOR THIS PATIENT INTO BWPCDS ARRAY.
  1. .S BWIEN=0 K BWPCDS
  1. .F S BWIEN=$O(^BWPCD("C",BWDFN,BWIEN)) Q:'BWIEN D
  1. ..;---> SET Y=THE ZERO NODE FOR THIS PROCEDURE.
  1. ..S Y=^BWPCD(BWIEN,0)
  1. ..;---> QUIT IF THIS PROCEDURE HAS A RESULT OF "ERROR/DISREGARD".
  1. ..Q:$P(Y,U,5)=8
  1. ..;---> GET DATE.
  1. ..S BWPCD=+$P(Y,U,4),BWDATE=+$P($P(Y,U,12),".")
  1. ..; Must have a valid procedure. WiseWoman entries lack a procedure.
  1. ..Q:'BWPCD
  1. ..S BWPCDS(BWDFN,BWDATE,BWPCD,BWIEN)=""
  1. .;
  1. .;---> NOW CHECK BWPCDS ARRAY FOR DUPLICATES.
  1. .S N=0
  1. .F S N=$O(BWPCDS(BWDFN,N)) Q:'N D
  1. ..S M=0
  1. ..F S M=$O(BWPCDS(BWDFN,N,M)) Q:'M D
  1. ...S P=0
  1. ...F I=0:1 S P=$O(BWPCDS(BWDFN,N,M,P)) Q:'P
  1. ...Q:I'>1
  1. ...S P=0
  1. ...F S P=$O(BWPCDS(BWDFN,N,M,P)) Q:'P D
  1. ....S Y=^BWPCD(P,0) D STORE^BWBRPCD(2,P,Y)
  1. Q
  1. ;
  1. DEQUEUE ;EP
  1. ;---> FOR TASKMAN QUEUE OF PRINTOUT.
  1. D SETVARS,SORT,COPYGBL^BWBRPCD
  1. D DISPLAY^BWBRPCD1(BWTITLE,BWHEADER,BWCODE)
  1. D EXIT
  1. Q
  1. ;
  1. DEVICE ;EP
  1. ;---> GET DEVICE AND POSSIBLY QUEUE TO TASKMAN.
  1. S ZTRTN="DEQUEUE^BWBRDUP"
  1. F BWSV="HEADER" D
  1. .I $D(@("BW"_BWSV)) S ZTSAVE("BW"_BWSV)=""
  1. D ZIS^BWUTL2(.BWPOP,1,"HOME")
  1. Q