1 | SROSRPT ;BIR/ADM - OPERATION REPORT ; [ 10/06/03 2:45 PM ]
|
---|
2 | ;;3.0; Surgery ;**100**;24 Jun 93
|
---|
3 | ;
|
---|
4 | ;** NOTICE: This routine is part of an implementation of a nationally
|
---|
5 | ;** controlled procedure. Local modifications to this routine
|
---|
6 | ;** are prohibited.
|
---|
7 | ;
|
---|
8 | ; Reference to EXTRACT^TIULQ supported by DBIA #2693
|
---|
9 | ;
|
---|
10 | Q
|
---|
11 | OPTOP(SRTN,SRLAST,SRG) ; send op-top to ^TMP
|
---|
12 | ; SRTN - case number in file 130
|
---|
13 | ; SRLAST - (optional)
|
---|
14 | ; 0 or null : include summary status at end
|
---|
15 | ; 1 : omit summary status at end
|
---|
16 | ; 2 : include summary status at end plus summary in TIU
|
---|
17 | ; SRG - (optional) return array
|
---|
18 | ;
|
---|
19 | Q:'$D(SROVP)
|
---|
20 | N J,LOOP,SR,SRALL,SRCASE,SRERR,SRI,SRLF,SRSTAT,SRT,SRTIU
|
---|
21 | S SRTIU=$P($G(^SRF(SRTN,"TIU")),"^") Q:'SRTIU
|
---|
22 | D STATUS Q:SRSTAT>1
|
---|
23 | S SRCASE=SRTN S:'$L($G(SRG)) SRG=$NA(^TMP("SROP",$J,SRCASE)) K @SRG
|
---|
24 | S SRI=0,SRLAST=$S($G(SRLAST):SRLAST,1:1),@SRG@(SRI)=3
|
---|
25 | I $P($G(^SRF(SRTN,30)),"^")!$P($G(^SRF(SRTN,31)),"^",8) D LINE(1) S @SRG@(SRI)=" * * OPERATION ABORTED * *" D LINE(1)
|
---|
26 | S SR(0)=^SRF(SRTN,0)
|
---|
27 | D PRIN I $O(^SRF(SRTN,13,0)) D OTHER
|
---|
28 | Q
|
---|
29 | STATUS ; check status of TIU document
|
---|
30 | D EXTRACT^TIULQ(SRTIU,"SRT",.SRERR,".05") S SRSTAT=SRT(SRTIU,.05,"I")
|
---|
31 | Q
|
---|
32 | PRIN ; print principal procedure information
|
---|
33 | N I,M,MM,MMM,SRJ,SROPER,SROPS
|
---|
34 | D LINE(1) S @SRG@(SRI)="Procedure(s) Performed:"
|
---|
35 | PRIN2 S SROPER=$P(^SRF(SRTN,"OP"),"^")
|
---|
36 | I $P($G(^SRF(SRTN,30)),"^")&$P($G(^SRF(SRTN,.2)),"^",10) S SROPER="** ABORTED ** "_SROPER
|
---|
37 | K SROPS,MM,MMM S:$L(SROPER)<70 SROPS(1)=SROPER I $L(SROPER)>69 S SROPER=SROPER_" " F M=1:1 D LOOP Q:MMM=""
|
---|
38 | F I=1:1 Q:'$D(SROPS(I)) D LINE(1) S @SRG@(SRI)=$S(I=1:" Principal: ",1:" ")_SROPS(I)
|
---|
39 | Q
|
---|
40 | OTHER ; other procedures
|
---|
41 | N CNT,OTH,OTHER
|
---|
42 | S (OTH,CNT)=0 F S OTH=$O(^SRF(SRTN,13,OTH)) Q:'OTH S CNT=CNT+1 D OTH
|
---|
43 | Q
|
---|
44 | OTH S OTHER=$P(^SRF(SRTN,13,OTH,0),"^")
|
---|
45 | D LINE(1) S @SRG@(SRI)=" Other: "_OTHER
|
---|
46 | Q
|
---|
47 | LOOP ; break procedure if greater than 70 characters
|
---|
48 | S SROPS(M)="" F LOOP=1:1 S MM=$P(SROPER," "),MMM=$P(SROPER," ",2,200) Q:MMM="" Q:$L(SROPS(M))+$L(MM)'<70 S SROPS(M)=SROPS(M)_MM_" ",SROPER=MMM
|
---|
49 | Q
|
---|
50 | LINE(NUM) ;create carriage returns
|
---|
51 | I $G(SRLF) S NUM=NUM+1,SRLF=0
|
---|
52 | F J=1:1:NUM S SRI=SRI+1,@SRG@(SRI)=" "
|
---|
53 | Q
|
---|