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

RASTRPT2.m

Go to the documentation of this file.
  1. RASTRPT2 ;HISC/SS-Status Tracking Statistics Report ;4/28/00 10:00
  1. ;;5.0;Radiology/Nuclear Medicine;**20,24**;Mar 16, 1998
  1. ;Last Modifications by SS on Aug 3,2000 for patch P24
  1. ;Select Division, if exists
  1. ;Requires RACCESS "DIV" elements. Prompts user to select division(s).
  1. ;Creates ^TMP($J,"RA D-TYPE",Division name,Division IEN)="" which
  1. ;contains all divisions selected.
  1. SELREQ() ;P20 by SS Select requesting location prompt
  1. N RAINP,RAUTIL,RADIC,RA11A,RAQQHLP
  1. N RA ;push previous to stack
  1. S RAQQHLP=""
  1. S RAUTIL="RA REQ-LOC"
  1. K ^TMP($J,RAUTIL)
  1. ASK2 W !,!,"Select all requesting locations? Y/N: " R RAINP:DTIME I '$T W $C(7)," Timed out...." Q -2
  1. Q:RAINP="^" "-1^NON"
  1. S RAQQHLP="Enter YES to obtain a report for all requesting locations.^Enter NO to select one or more requesting location(s)."
  1. S RAINP=$$YESNO(RAINP,RAQQHLP)
  1. I RAINP="0" G ASK2
  1. I RAINP="Y" Q "0^ALL"
  1. I RAINP="N" D
  1. .S RADIC("A")="Select requesting location: "
  1. .S RADIC="^SC(",RADIC(0)="QEAMZ",X="A",RADIC("B")=""
  1. .D EN1^RASELCT(.RADIC,RAUTIL) K %W,%Y1,DIC,X,Y
  1. .Q
  1. N RA20A,RA20B,RA20C,RA20D S (RA20A,RA20B,RA20C)=0
  1. F S RA20A=$O(^TMP($J,RAUTIL,RA20A)) Q:RA20A="" S RA20C=RA20A,RA20B=RA20B+1
  1. G:RA20B=0 ASK2
  1. I RA20B=1 Q "1^"_RA20C_"^"_$O(^TMP($J,RAUTIL,RA20C,0))
  1. Q RA20B_"^MULTI"
  1. ;
  1. SELPROC(RAIMGTP) ;P20 Select procedure prompt
  1. N RAINP,RAUTIL,RADIC,RA11A,RAQQHLP
  1. N RA ;push previous to stack
  1. ASK W !,!,"Select all procedures? Y/N: " R RAINP:DTIME I '$T W $C(7)," Timed out...." Q -2
  1. Q:RAINP="^" -1
  1. S RAQQHLP="Enter YES to select all procedures^or NO to select a single procedure."
  1. S RAINP=$$YESNO(RAINP,RAQQHLP)
  1. I RAINP="0" G ASK
  1. I RAINP="Y" Q 0
  1. I RAINP="N" S DIC="^RAMIS(71,",DIC(0)="QAEMZI" D ^DIC S RA11A=Y K %W,%Y1,DIC,X,Y
  1. Q RA11A
  1. ;
  1. SETTMP ;P20 by SS update data in ^TMP for RASTAT in new format
  1. N X,Y,RARQLOC,RA11,RA11A S RA11=$G(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0)) Q:RA11=""
  1. S RA11A=$P(RA11,"^",22) I RA11A="" S RARQLOC=$P(RA11,"^",9)
  1. S RARQLOC=$S(RA11A="":"Unknown",1:$E($P(^SC(RA11A,0),"^",1),1,200))
  1. S $P(RACURREC("L"),"^",2)=RARQLOC
  1. ;set PROC
  1. I '$D(^TMP($J,"RAST",RAIMAGE,RADV,RARQLOC,"PROC",RAFR,RATO,RAPRC)) S ^(RAPRC)=Y1_"^^"_Y1_"^^1^"_Y1
  1. E S:+Y1>+$P(^(RAPRC),"^",1) $P(^(RAPRC),"^",1)=Y1 S:+Y1<+$P(^(RAPRC),"^",3) $P(^(RAPRC),"^",3)=Y1 S $P(^(RAPRC),"^",6)=+$P(^(RAPRC),"^",6)+Y1,$P(^(RAPRC),"^",5)=+$P(^(RAPRC),"^",5)+1
  1. S X=+$P(^(RAPRC),"^",1) I X'<0 D MINUTS^RAUTL1 S $P(^(RAPRC),"^",2)=Y
  1. S X=+$P(^(RAPRC),"^",3) I X'<0 D MINUTS^RAUTL1 S $P(^(RAPRC),"^",4)=Y
  1. ;Set SUM
  1. I '$D(^TMP($J,"RAST",RAIMAGE,RADV,RARQLOC,"SUM",RAFR,RATO)) S ^(RATO)=Y1_"^^"_Y1_"^^1^"_Y1
  1. E S:+Y1>+$P(^(RATO),"^",1) $P(^(RATO),"^",1)=Y1 S:+Y1<+$P(^(RATO),"^",3) $P(^(RATO),"^",3)=Y1 S $P(^(RATO),"^",6)=+$P(^(RATO),"^",6)+Y1,$P(^(RATO),"^",5)=+$P(^(RATO),"^",5)+1
  1. S X=+$P(^(RATO),"^",1) I X'<0 D MINUTS^RAUTL1 S $P(^(RATO),"^",2)=Y
  1. S X=+$P(^(RATO),"^",3) I X'<0 D MINUTS^RAUTL1 S $P(^(RATO),"^",4)=Y
  1. ;Set COMPLETE
  1. I '$D(^TMP($J,"RAST",RAIMAGE,RADV,RARQLOC,"COMPLETE")) S ^("COMPLETE")=Y1_"^^"_Y1_"^^1^"_Y1
  1. E S:+Y1>+$P(^("COMPLETE"),"^",1) $P(^("COMPLETE"),"^",1)=Y1 S:+Y1<+$P(^("COMPLETE"),"^",3) $P(^("COMPLETE"),"^",3)=Y1 S $P(^("COMPLETE"),"^",6)=+$P(^("COMPLETE"),"^",6)+Y1,$P(^("COMPLETE"),"^",5)=+$P(^("COMPLETE"),"^",5)+1
  1. S X=+$P(^("COMPLETE"),"^",1) I X'<0 D MINUTS^RAUTL1 S $P(^("COMPLETE"),"^",2)=Y
  1. S X=+$P(^("COMPLETE"),"^",3) I X'<0 D MINUTS^RAUTL1 S $P(^("COMPLETE"),"^",4)=Y
  1. Q
  1. ;
  1. YESNO(RAYN,RAQQMRK) ;
  1. N RA20,RA20A S RA20=""
  1. S RAYN=$$UP^XLFSTR(RAYN)
  1. I RAYN="Y"!(RAYN="YE")!(RAYN="YES") Q "Y"
  1. I RAYN="N"!(RAYN="NO") Q "N"
  1. I RAYN="?" W !,"Answer with either: YES or NO" Q 0
  1. I RAYN="??" F RA20A=1:1:5 S RA20=$P(RAQQMRK,"^",RA20A) Q:RA20="" W !,RA20
  1. Q "0"
  1. ISLOCOK(RA20A,RA20J) ;if it isn't selected location
  1. N RA20C,RA20D,RA20FL
  1. S (RA20C,RA20FL)=0
  1. F S RA20C=$O(^TMP(RA20J,"RA REQ-LOC",RA20C)) Q:RA20C="" D
  1. .S RA20D=$O(^TMP(RA20J,"RA REQ-LOC",RA20C,0))
  1. .S:RA20D=RA20A RA20FL=1 Q
  1. .Q
  1. Q RA20FL
  1. ;
  1. ;Generic Yes/No prompt
  1. ;Arguments: text of question,retval for Yes, for No, for ^, treat as "N" or "Y" if empty, help text for ??
  1. ASKYN(RAQUEST,RARETYES,RARETNO,RARETUPA,RARETEMP,RAHLP2QM) ;P24
  1. ASKAGAN W !,!,RAQUEST R RAINP:DTIME I '$T W $C(7)," Timed out...." Q RARETUPA
  1. Q:RAINP="^" RARETUPA
  1. S:RAINP="" RAINP=RARETEMP
  1. S RAINP=$$YESNO(RAINP,RAHLP2QM)
  1. I RAINP="0" G ASKAGAN
  1. Q:RAINP="N" RARETNO
  1. Q RARETYES
  1. ASKDTRPT() ;P24
  1. N RAYNQST
  1. S RAYNQST="Do you wish to print detailed reports? No// "
  1. N RAQQHLP
  1. S RAQQHLP="Enter YES to obtain detailed reports 'Procedure Detail by Requesting locations'^and 'Division Summary Requesting Location Details '.^Enter NO to skip the reports."
  1. Q $$ASKYN(RAYNQST,1,0,-1,"N",RAQQHLP)