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

WVBRPCD2.m

Go to the documentation of this file.
  1. WVBRPCD2 ;HCIOFO/FT,JR IHS/ANMC/MWR - BROWSE PROCEDURES;
  1. ;;1.0;WOMEN'S HEALTH;;Sep 30, 1998
  1. ;;* MICHAEL REMILLARD, DDS * ALASKA NATIVE MEDICAL CENTER *
  1. ;; PROMPTS FOR SELECTION CRITERIA IN BROWSING PROCEDURES.
  1. ;; CALLED BY WVBRPCD.
  1. ;
  1. D TITLE^WVUTL5("BROWSE PROCEDURES")
  1. D ONEALL Q:WVPOP
  1. D SELECT Q:WVPOP
  1. D DATES Q:WVPOP
  1. D STATUS Q:WVPOP
  1. D RESULT Q:WVPOP
  1. D CMGR Q:WVPOP
  1. D ORDER Q:WVPOP
  1. D DEVICE Q:WVPOP
  1. Q
  1. ;
  1. ONEALL ;EP
  1. ;---> SELECT ONE PATIENT OR ALL PATIENTS.
  1. N DIR,DIRUT,Y
  1. W !!?3,"Browse Procedures for ONE individual patient,"
  1. W !?3,"or browse Procedures for ALL patients?"
  1. S DIR("A")=" Select ONE or ALL: ",DIR("B")="ALL"
  1. S DIR(0)="SAM^o:ONE;a:ALL" D HELP2^WVBRPCD3
  1. D ^DIR
  1. I Y=-1!($D(DIRUT)) S WVPOP=1 Q
  1. ;---> IF ALL PATIENTS, S WVA=1 AND QUIT.
  1. I Y="a" S WVA=1 Q
  1. ;
  1. W !!," Select the patient whose Procedures you wish to browse."
  1. D PATLKUP^WVUTL8(.Y)
  1. I Y<0 S WVPOP=1 Q
  1. ;---> FOR ONE PATIENT, SET WVA=0 AND WVDFN=PATIENT DFN, QUIT.
  1. S WVDFN=+Y,WVA=0,WVCMGR=$P(^WV(790,WVDFN,0),U,10)
  1. Q
  1. ;
  1. SELECT ;EP
  1. ;---> SELECT THE PROCEDURES TO BROWSE.
  1. D SELECT^WVSELECT("Procedure Type",790.2,"WVARR","","PAP",.WVPOP)
  1. Q
  1. ;
  1. DATES ;EP
  1. ;---> ASK DATE RANGE. RETURN DATES IN WVBEGDT AND WVENDDT.
  1. ;---> IF LOOKING AT ONLY ONE PATIENT, SET DEFAULT BEGIN DATE=T-365.
  1. S WVBEGDF=$S(WVA:"T-30",1:"T-365")
  1. D ASKDATES^WVUTL3(.WVBEGDT,.WVENDDT,.WVPOP,WVBEGDF,"T")
  1. Q
  1. ;
  1. STATUS ;EP
  1. ;---> GET XREF: OPEN OR ALL
  1. N DIR,DIRUT,Y W !!?3
  1. W "Do you wish to browse DELINQUENT, OPEN, or ALL Procedures?"
  1. S DIR("A")=" Select DELINQUENT, OPEN or ALL: ",DIR("B")="OPEN"
  1. S DIR(0)="SAM^d:DELINQUENT;o:OPEN;a:ALL" D HELP4^WVBRPCD3
  1. D ^DIR
  1. I Y=-1!($D(DIRUT)) S WVPOP=1 Q
  1. S WVB=Y
  1. Q
  1. ;
  1. RESULT ;EP
  1. ;---> GET XREF: ABNORMAL OR ALL
  1. N DIR,DIRUT,Y
  1. W !!?3,"Do you wish to browse only Procedures with ABNORMAL results, "
  1. W !?3,"or both ABNORMAL and NORMAL?"
  1. S DIR("A")=" Select ABNORMAL or BOTH: "
  1. S DIR("B")="ABNORMAL ONLY" D HELP1^WVBRPCD3
  1. S DIR(0)="SAM^a:ABNORMAL ONLY;b:BOTH ABNORMAL AND NORMAL"
  1. D ^DIR
  1. I Y=-1!($D(DIRUT)) S WVPOP=1 Q
  1. S WVD=$S(Y="a":0,1:1)
  1. Q
  1. ;
  1. CMGR ;EP
  1. ;---> SELECT CASES FOR ONE CASE MANAGER OR ALL.
  1. ;---> DO NOT PROMPT FOR CASE MANAGER IF SITE PARAMETERS SAY NOT TO,
  1. ;---> OR IF LOOKING AT PROCEDURES FOR ONLY ONE PATIENT.
  1. N DIR,DIRUT,Y
  1. I '$D(^WV(790.02,DUZ(2),0)) S WVE=1 Q
  1. I '$P(^WV(790.02,DUZ(2),0),U,5)!('WVA) S WVE=1 Q
  1. W !!?3,"Browse Procedures for ONE particular Case Manager,"
  1. W !?3,"or browse Procedures for ALL Case Managers?"
  1. S DIR("A")=" Select ONE or ALL: ",DIR("B")="ALL"
  1. S DIR(0)="SAM^o:ONE;a:ALL" D HELP5^WVBRPCD3
  1. D ^DIR
  1. I Y=-1!($D(DIRUT)) S WVPOP=1 Q
  1. ;---> IF ALL CASE MANAGERS, S WVE=1 AND QUIT.
  1. I Y="a" S WVE=1 Q
  1. N DIC
  1. W !!," Select the Case Manager whose patients you wish to browse."
  1. D DIC^WVFMAN(790.01,"QEMA",.Y," Select CASE MANAGER: ")
  1. I Y<0 S WVPOP=1 Q
  1. ;---> FOR ONE CASE MANAGER, SET WVE=0 AND WVCMGR=^VA(200 DFN, QUIT.
  1. S WVCMGR=+Y,WVE=0
  1. Q
  1. ;
  1. ORDER ;EP
  1. ;---> ASK ORDER BY DATE OR BY PATIENT OR BY PRIORITY.
  1. ;---> IF LOOKING AT ONLY ONE PATIENT, ORDER BY DATE AND QUIT.
  1. I 'WVA S WVC=1 D TITLE Q
  1. ;
  1. ;---> SORT SEQUENCE IN WVC: 1=DATE, PATIENT, PRIORITY
  1. ;---> 2=PATIENT, DATE, PRIORITY
  1. ;---> 3=PRIORITY, DATE, PATIENT
  1. ;
  1. N DIR,DIRUT,Y
  1. W !!?3,"Display Procedures in order of:"
  1. W ?37,"1) DATE OF PROCEDURE (earliest first)"
  1. W !?37,"2) NAME OF PATIENT (alphabetically)"
  1. W !?37,"3) PRIORITY (most urgent being highest)"
  1. S DIR("A")=" Select 1, 2, or 3: ",DIR("B")=1
  1. S DIR(0)="SAM^1:DATE;2:NAME;3:PRIORITY" D HELP3^WVBRPCD3
  1. D ^DIR
  1. I Y=-1!($D(DIRUT)) S WVPOP=1 Q
  1. S WVC=Y D TITLE
  1. Q
  1. ;
  1. TITLE ;EP
  1. ;---> SET TITLE OF REPORT BASED ON ORDER SELECTED ABOVE.
  1. N Y S Y=$S(WVC=1:"DATE",WVC=2:"PATIENT",WVC=3:"DIAGNOSIS",1:"?")
  1. S WVTITLE="* * * PROCEDURES LISTED BY "_Y_" * * *"
  1. S WVCODE="D EDIT^WVBRPCD1,SORT^WVBRPCD,COPYGBL^WVBRPCD"
  1. S WVHEADER="HEADER1"
  1. Q
  1. ;
  1. DEVICE ;EP
  1. ;---> GET DEVICE AND POSSIBLY QUEUE TO TASKMAN.
  1. S ZTRTN="DEQUEUE^WVBRPCD"
  1. F WVSV="A","B","C","CODE","D","E","CMGR" D
  1. .I $D(@("WV"_WVSV)) S ZTSAVE("WV"_WVSV)=""
  1. F WVSV="DFN","BEGDT","ENDDT","HEADER","TITLE" D
  1. .I $D(@("WV"_WVSV)) S ZTSAVE("WV"_WVSV)=""
  1. ;---> SAVE THE SELECTED PROCEDURES ARRAY.
  1. I $D(WVARR) N N S N=0 F S N=$O(WVARR(N)) Q:N="" D
  1. .S ZTSAVE("WVARR("""_N_""")")=""
  1. D ZIS^WVUTL2(.WVPOP,1,"HOME")
  1. Q