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

SROTRPT.m

Go to the documentation of this file.
  1. SROTRPT ;B'HAM ISC/MAM - TISSUE EXAM REPORT ; 16 JULY 1990 10:00
  1. ;;3.0; Surgery ;**31,111,145**;24 Jun 93
  1. S SRSOUT=0
  1. I '$D(SRSITE) D ^SROVAR S SRSITE("KILL")=1
  1. I '$D(SRTN) K SRNEWOP D ^SROPS I '$D(SRTN) S SRSOUT=1 G END
  1. K %ZIS,IOP,POP,IO("Q") S %ZIS="Q" D ^%ZIS I POP S SRSOUT=1 G END
  1. I $D(IO("Q")) K IO("Q") S ZTDESC="TISSUE EXAM REPORT",ZTRTN="RPT^SROTRPT",(ZTSAVE("SRSITE*"),ZTSAVE("SRTN"))="",ZTSAVE("SRT")="UL" D ^%ZTLOAD S SRSOUT=1 G END
  1. RPT ; entry when queued
  1. S SRSOUT=0 I '$D(ZTQUEUED) S SRT=$S($E(IOST)="P":"UL",1:"Q")
  1. D ^SROTRPT0,FOOT
  1. END I $E(IOST)'="P",'SRSOUT W !!,"Press RETURN to continue " R X:DTIME
  1. W:$E(IOST)="P" @IOF I $D(ZTQUEUED) Q:$G(ZTSTOP) S ZTREQ="@" Q
  1. D ^%ZISC W @IOF D ^SRSKILL
  1. Q
  1. ;
  1. ;Find ethnicity entry
  1. S SROETH=""
  1. I $G(VADM(11,1)) S SROETH=$P(VADM(11,1),U,2)
  1. I '$G(VADM(11,1)) S SROETH="UNANSWERED"
  1. ;
  1. ;Find all race entries and place into a string with commas inbetween
  1. S SRORC=0,C=1,SRORACE="",SROLINE="",N=1,SROL=""
  1. F S SRORC=$O(VADM(12,SRORC)) Q:SRORC="" Q:C=11 D
  1. .I $G(VADM(12,SRORC)) S SRORACE(C)=$P(VADM(12,SRORC),U,2)
  1. .I SROLINE'="" S SROLINE=SROLINE_", "_SRORACE(C)
  1. .I SROLINE="" S SROLINE=SRORACE(C)
  1. .S C=C+1
  1. ;
  1. ;Find total length of 'race' string and wrap the text if necessary
  1. I $L(SROLINE)=72!$L(SROLINE)<72 S SROL(N)=SROLINE,SRNUM1=2
  1. I $L(SROLINE)>72 D WRAP
  1. ;
  1. Q:SRSOUT F X=1:1 Q:$Y>(IOSL-13) W !
  1. W !,?30,"(Continue on reverse side)",! F SRLINE=1:1:80 W "-"
  1. W !,"PATHOLOGIST'S SIGNATURE",?58,"DATE: ",! F SRLINE=1:1:80 W "-"
  1. W !,VADM(1),?30,"AGE: "_VADM(4),?40,"SEX: "_$P(VADM(5),"^",2),?58,"ID # "_VA("PID"),!,"ETHNICITY: "_SROETH
  1. W ?58,"REGISTER NO. "
  1. W !,"RACE: "
  1. I $G(VADM(12)) F D=1:1:SRNUM1-1 D
  1. .W:D=1 ?7,SROL(D)
  1. .W:D'=1 !,?7,SROL(D)
  1. I '$G(VADM(12)) W ?7,"UNANSWERED"
  1. ;
  1. K SROL,SROLINE,SRORC,SRORACE,SROLN,SROLN1,SROWRAP,SRNUM1
  1. ;
  1. W !,"WARD: "_SRWARD,?30,"ROOM-BED: "_SROOM
  1. W ! F SRLINE=1:1:80 W "-"
  1. W !,SRINST,?58,"REPLACEMENT FORM 515"
  1. Q
  1. ;
  1. WRAP ;Wrap multiple race entries so that wrapped line
  1. ;does not break in the middle of a word
  1. ;
  1. S SROLNGTH=$L(SROLINE),E=72,SROWRAP="",SROLN="",SROLN1="",SROL=""
  1. F I=1:72:SROLNGTH+1 S SROLN(I)=SROWRAP_$E(SROLINE,I,E) D
  1. .F K=72:-1:1 I $E(SROLN(I),K)[" " D Q ;Break lines at space
  1. ..S SROLN1(I)=$E(SROLN(I),1,K-1)
  1. ..S SROWRAP=$E(SROLN(I),K+1,E)
  1. .S E=E+72
  1. ;I $L(SROLN1(I))+$L(SROWRAP)>71 S SROLN1(I+1)=SROWRAP ;Last line
  1. ;I $L(SROLN1(I))+$L(SROWRAP)'>71 S SROLN1(I)=SROLN1(I)_" "_SROWRAP
  1. I $L(SROLN(I))+$L(SROWRAP)>71 S SROLN1(I+1)=SROWRAP ;Last line
  1. I $L(SROLN(I))+$L(SROWRAP)'>71 S SROLN1(I)=SROLN(I)
  1. ;
  1. ;Renumber the SROLN1 array to be in numeric order
  1. S SRNUM=0,SRNUM1=1
  1. F S SRNUM=$O(SROLN1(SRNUM)) Q:SRNUM="" D
  1. .S SROL(SRNUM1)=SROLN1(SRNUM)
  1. .S SRNUM1=SRNUM1+1
  1. Q