VistA-WorldVistAEHR/r/CLINICAL_MONITORING_SYSTEM-QAM/QAMPBMW0.m

55 lines
2.1 KiB
Mathematica

QAMPBMW0 ;HISC/DAD-BUILD A MONITOR WORKSHEET ;4/26/93 13:36
;;1.0;Clinical Monitoring System;;09/13/1993
K DIR S DIR(0)="NAO^1:10:0"
S DIR("A")="How many worksheets do you want? ",DIR("B")=1
S DIR("?",1)="Enter the number of monitor worksheets you want printed."
S DIR("?")="You may request up to 10 worksheets."
W ! D ^DIR G:$D(DIRUT) EXIT S QAOSCOPY=Y
K %ZIS,IOP S %ZIS="QM" W ! D ^%ZIS G:POP EXIT
I $D(IO("Q")) D G EXIT
. K IO("Q")
. S ZTRTN="ENTSK^QAMPBMW0",ZTDTH=$H,ZTSAVE("QAOSCOPY")=""
. S ZTDESC="Build a monitor worksheet"
. D ^%ZTLOAD
.Q
ENTSK ;
U IO
F QAOSCPY=1:1:QAOSCOPY D ^QAMPBMW1 Q:QAOSQUIT W:QAOSCOPY-QAOSCPY @IOF
EXIT ;
W ! D ^%ZISC
K %ZIS,DIR,DIRUT,POP,QA,QAOSCOPY,QAOSCPY,QAOSD0,QAOSFILE,QAOSMID
K QAOSNUM,QAOSQUIT,QAOSTAB,QAOSTEXT,QAOSTOP,UNDL,X,Y,ZTDESC,ZTDTH
K ZTRTN,ZTSAVE
Q
;
EN(QAOSFILE) ; Print the contents of file QAOSFILE in 2 sorted columns
N QA,QAOSD0,QAOSQUIT,QAOSTAB,QAOSTEXT,QAOSTOP,X
S X=$$MIDDLE(QAOSFILE)
S QAOSTEXT(1)=0,QAOSTOP(1)=$P(X,"^")
S QAOSTEXT(2)=$P(X,"^",2),QAOSTOP(2)=""
S QAOSTAB=0 K QAOSD0
F Q:(QAOSTEXT(1)=QAOSTOP(1))&(QAOSTEXT(2)=QAOSTOP(2)) F QA=1,2 D
. I QAOSTEXT(QA)'=QAOSTOP(QA) S QAOSQUIT=0 F D Q:QAOSQUIT
.. I $G(QAOSD0(QA))="" S QAOSTEXT(QA)=$O(@(QAOSFILE_"""B"",QAOSTEXT(QA))"))
.. I QAOSTEXT(QA)=QAOSTOP(QA) S QAOSQUIT=1 Q
.. S QAOSD0(QA)=$O(@(QAOSFILE_"""B"",QAOSTEXT(QA),$G(QAOSD0(QA)))"))
.. Q:QAOSD0(QA)'>0
.. Q:$G(@(QAOSFILE_"""B"",QAOSTEXT(QA),+QAOSD0(QA))"))=1
.. S X=$P($G(@(QAOSFILE_"+QAOSD0(QA),0)")),"^") Q:X=""
.. W:'QAOSTAB ! W ?QAOSTAB,"___ ",$E(X,1,35)
.. S QAOSTAB=QAOSTAB+$S('QAOSTAB:40,1:-40),QAOSQUIT=1
.. Q
. Q
Q
;
MIDDLE(QAOSFILE) ; Return text of middle entry in B xref
N QAOSD0,QAOSMID,QAOSNUM,QAOSQUIT,QAOSTEXT
S QAOSNUM=$P(@(QAOSFILE_"0)"),"^",4)
S (QAOSTEXT,QAOSTEXT(0))="",(QAOSQUIT,QAOSMID)=0
I QAOSNUM>1 S QAOSNUM=QAOSNUM#2+QAOSNUM\2 D
. F S QAOSTEXT(0)=QAOSTEXT,QAOSTEXT=$O(@(QAOSFILE_"""B"",QAOSTEXT)")) Q:QAOSTEXT=""!QAOSQUIT D
.. F QAOSD0=0:0 S QAOSD0=$O(@(QAOSFILE_"""B"",QAOSTEXT,QAOSD0)")) Q:QAOSD0'>0 S QAOSMID=QAOSMID+1 I QAOSMID=QAOSNUM S QAOSQUIT=1 Q
.. Q
. Q
Q QAOSTEXT_"^"_QAOSTEXT(0)