- SRONRPT2 ;BIR/ADM - NURSE INTRAOP REPORT ; [ 09/08/03 2:47 PM ]
- ;;3.0; Surgery ;**100**;24 Jun 93
- ;
- ;** NOTICE: This routine is part of an implementation of a nationally
- ;** controlled procedure. Local modifications to this routine
- ;** are prohibited.
- ;
- N BLOOD,COLOR,CONS,COUNTER,DRESS,INSTR,INTEG,MOOD,PACK,SHARP,SPONGE,URINE,VERIFY
- S SRLF=1,SRLINE="Irrigation Solution(s): " I '$O(^SRF(SRTN,26,0)),SRALL D LINE(1) S @SRG@(SRI)=SRLINE_"N/A"
- I $O(^SRF(SRTN,26,0)) D LINE(1) S @SRG@(SRI)=SRLINE D IRR
- S SRLF=1,SRLINE="Blood Replacement Fluids: " I '$O(^SRF(SRTN,4,0)),SRALL D LINE(1) S @SRG@(SRI)=SRLINE_"N/A"
- I $O(^SRF(SRTN,4,0)) D LINE(1) S @SRG@(SRI)=SRLINE D REP
- S SRLF=1,SR(25)=$G(^SRF(SRTN,25)),SPONGE=$P(SR(25),"^"),SHARP=$P(SR(25),"^",2),INSTR=$P(SR(25),"^",3)
- S Y=$P(SR(25),"^",5),C=$P(^DD(130,48,0),"^",2) D:Y'="" Y^DIQ S:Y="" Y="N/A" S VERIFY=Y
- S Y=SPONGE,C=$P(^DD(130,44,0),"^",2) D:Y'="" Y^DIQ S SPONGE=$S(Y'="":Y,VERIFY'="N/A":"* NOT ENTERED *",1:"N/A")
- S Y=SHARP,C=$P(^DD(130,45,0),"^",2) D:Y'="" Y^DIQ S SHARP=$S(Y'="":Y,VERIFY'="N/A":"* NOT ENTERED *",1:"N/A")
- S Y=INSTR,C=$P(^DD(130,46,0),"^",2) D:Y'="" Y^DIQ S INSTR=$S(Y'="":Y,VERIFY'="N/A":"* NOT ENTERED *",1:"N/A")
- S Y=$P(SR(25),"^",4),C=$P(^DD(130,47,0),"^",2) D:Y'="" Y^DIQ S COUNTER=$S(Y'="":Y,VERIFY'="N/A":"* NOT ENTERED *",1:"N/A")
- I 'SRALL,SPONGE="N/A" G SHARP
- D LINE(1) S @SRG@(SRI)="Sponge Count Correct:",@SRG@(SRI)=@SRG@(SRI)_$$SPACE(26)_SPONGE
- SHARP I 'SRALL,SHARP="N/A" G INSTR
- D LINE(1) S @SRG@(SRI)="Sharps Count Correct:",@SRG@(SRI)=@SRG@(SRI)_$$SPACE(26)_SHARP
- INSTR I 'SRALL,INSTR="N/A" G COUNT
- D LINE(1) S @SRG@(SRI)="Instrument Count Correct: "_INSTR
- COUNT I 'SRALL,COUNTER="N/A" G CNTV
- D LINE(1) S @SRG@(SRI)="Counter:",@SRG@(SRI)=@SRG@(SRI)_$$SPACE(26)_COUNTER
- CNTV I 'SRALL,VERIFY="N/A" G DRESS
- D LINE(1) S @SRG@(SRI)="Counts Verified By: ",@SRG@(SRI)=@SRG@(SRI)_$$SPACE(26)_VERIFY
- DRESS S SRLF=1,SR(35)=$G(^SRF(SRTN,35)),DRESS=$P(SR(35),"^"),Y=$P(SR(.8),"^",11),C=$P(^DD(130,.875,0),"^",2) D:Y'="" Y^DIQ S PACK=$S(Y'="":Y,1:"N/A")
- S DRESS=$S(DRESS'="":DRESS,1:"N/A") I 'SRALL,DRESS="N/A" G PACK
- D LINE(1) S @SRG@(SRI)="Dressing: "_DRESS
- PACK I 'SRALL,PACK="N/A" G LOSS
- D LINE(1) S @SRG@(SRI)="Packing: "_PACK
- LOSS S SRLF=1,BLOOD=$P(SR(.2),"^",5),URINE=$P(SR(.2),"^",16) I 'SRALL,BLOOD="",URINE="" G NEXT
- S BLOOD=$S(BLOOD="":"",1:BLOOD_" ml"),URINE=$S(URINE="":"",1:URINE_" ml") D LINE(1) S @SRG@(SRI)="Blood Loss: "_BLOOD,@SRG@(SRI)=@SRG@(SRI)_$$SPACE(40)_"Urine Output: "_URINE
- NEXT D ^SRONRPT3
- Q
- REP ; replacement fluids
- N FLUID,QTY,REP,SRCE,VID,SRCT
- S REP=0 F S REP=$O(^SRF(SRTN,4,REP)) Q:'REP D
- .S X=^SRF(SRTN,4,REP,0),FLUID=$P(^SRO(133.7,$P(X,"^"),0),"^"),QTY=$P(X,"^",2),SRCE=$P(X,"^",4),VID=$P(X,"^",5)
- .S:QTY="" QTY="N/A" S:SRCE="" SRCE="N/A" S:VID="" VID="N/A"
- .D LINE(1) S @SRG@(SRI)=" "_FLUID,@SRG@(SRI)=@SRG@(SRI)_$$SPACE(40)_"Quantity: "_QTY_" ml"
- .D LINE(1) S @SRG@(SRI)=" Source Identification: "_SRCE
- .D LINE(1) S @SRG@(SRI)=" VA Identification: "_VID
- .S (SRCT,SRLINE)=0 F S SRLINE=$O(^SRF(SRTN,4,REP,1,SRLINE)) Q:'SRLINE S SRCT=SRCT+1
- .Q:'SRCT D LINE(1) S SRLINE=0,SRL=4,SRLINE=$O(^SRF(SRTN,4,REP,1,SRLINE)),X=^SRF(SRTN,4,REP,1,SRLINE,0)
- .I SRCT=1,$L(X)<67 S @SRG@(SRI)=" Comments: "_X Q
- .S @SRG@(SRI)=" Comments:" D COMM^SRONRPT3(X,SRL)
- .F S SRLINE=$O(^SRF(SRTN,4,REP,1,SRLINE)) Q:'SRLINE S X=^SRF(SRTN,4,REP,1,SRLINE,0) D COMM^SRONRPT3(X,SRL)
- Q
- IRR ; irrigations
- N AMT,DOC,IRR,MM,SOLU,TIME,USED
- S IRR=0 F S IRR=$O(^SRF(SRTN,26,IRR)) Q:'IRR D
- .S X=^SRF(SRTN,26,IRR,0),SOLU=$P(^SRO(133.6,X,0),"^") D LINE(1) S @SRG@(SRI)=" "_SOLU
- .S USED=0 F S USED=$O(^SRF(SRTN,26,IRR,1,USED)) Q:'USED S MM=^SRF(SRTN,26,IRR,1,USED,0),Y=$P(MM,"^") D D^DIQ S TIME=$P(Y,"@")_" "_$P(Y,"@",2) D
- ..D LINE(1) S @SRG@(SRI)=" Time Used: "_TIME S AMT=$P(MM,"^",2) S:AMT="" AMT="N/A"
- ..S Y=$P(MM,"^",3),C=$P(^DD(130.39,2,0),"^",2) D:Y'="" Y^DIQ,N(29) S:Y="" Y="N/A" S DOC=Y
- ..D LINE(1) S @SRG@(SRI)=" Amount: "_AMT,@SRG@(SRI)=@SRG@(SRI)_$$SPACE(40)_"Provider: "_DOC
- Q
- N(SRL) N SRN I $L(Y)>SRL S SRN=$P(Y,",")_","_$E($P(Y,",",2))_".",Y=SRN
- Q
- SPACE(NUM) ; create spaces
- ;pass in position returns number of needed spaces
- I '$D(@SRG@(SRI)) S @SRG@(SRI)=""
- Q $J("",NUM-$L(@SRG@(SRI)))
- LINE(NUM) ; create carriage returns
- I $G(SRLF) S NUM=NUM+1,SRLF=0
- F J=1:1:NUM S SRI=SRI+1,@SRG@(SRI)=""
- Q
- SRONRPT2 ;BIR/ADM - NURSE INTRAOP REPORT ; [ 09/08/03 2:47 PM ]
- +1 ;;3.0; Surgery ;**100**;24 Jun 93
- +2 ;
- +3 ;** NOTICE: This routine is part of an implementation of a nationally
- +4 ;** controlled procedure. Local modifications to this routine
- +5 ;** are prohibited.
- +6 ;
- +7 NEW BLOOD,COLOR,CONS,COUNTER,DRESS,INSTR,INTEG,MOOD,PACK,SHARP,SPONGE,URINE,VERIFY
- +8 SET SRLF=1
- SET SRLINE="Irrigation Solution(s): "
- IF '$ORDER(^SRF(SRTN,26,0))
- IF SRALL
- DO LINE(1)
- SET @SRG@(SRI)=SRLINE_"N/A"
- +9 IF $ORDER(^SRF(SRTN,26,0))
- DO LINE(1)
- SET @SRG@(SRI)=SRLINE
- DO IRR
- +10 SET SRLF=1
- SET SRLINE="Blood Replacement Fluids: "
- IF '$ORDER(^SRF(SRTN,4,0))
- IF SRALL
- DO LINE(1)
- SET @SRG@(SRI)=SRLINE_"N/A"
- +11 IF $ORDER(^SRF(SRTN,4,0))
- DO LINE(1)
- SET @SRG@(SRI)=SRLINE
- DO REP
- +12 SET SRLF=1
- SET SR(25)=$GET(^SRF(SRTN,25))
- SET SPONGE=$PIECE(SR(25),"^")
- SET SHARP=$PIECE(SR(25),"^",2)
- SET INSTR=$PIECE(SR(25),"^",3)
- +13 SET Y=$PIECE(SR(25),"^",5)
- SET C=$PIECE(^DD(130,48,0),"^",2)
- IF Y'=""
- DO Y^DIQ
- IF Y=""
- SET Y="N/A"
- SET VERIFY=Y
- +14 SET Y=SPONGE
- SET C=$PIECE(^DD(130,44,0),"^",2)
- IF Y'=""
- DO Y^DIQ
- SET SPONGE=$SELECT(Y'="":Y,VERIFY'="N/A":"* NOT ENTERED *",1:"N/A")
- +15 SET Y=SHARP
- SET C=$PIECE(^DD(130,45,0),"^",2)
- IF Y'=""
- DO Y^DIQ
- SET SHARP=$SELECT(Y'="":Y,VERIFY'="N/A":"* NOT ENTERED *",1:"N/A")
- +16 SET Y=INSTR
- SET C=$PIECE(^DD(130,46,0),"^",2)
- IF Y'=""
- DO Y^DIQ
- SET INSTR=$SELECT(Y'="":Y,VERIFY'="N/A":"* NOT ENTERED *",1:"N/A")
- +17 SET Y=$PIECE(SR(25),"^",4)
- SET C=$PIECE(^DD(130,47,0),"^",2)
- IF Y'=""
- DO Y^DIQ
- SET COUNTER=$SELECT(Y'="":Y,VERIFY'="N/A":"* NOT ENTERED *",1:"N/A")
- +18 IF 'SRALL
- IF SPONGE="N/A"
- GOTO SHARP
- +19 DO LINE(1)
- SET @SRG@(SRI)="Sponge Count Correct:"
- SET @SRG@(SRI)=@SRG@(SRI)_$$SPACE(26)_SPONGE
- SHARP IF 'SRALL
- IF SHARP="N/A"
- GOTO INSTR
- +1 DO LINE(1)
- SET @SRG@(SRI)="Sharps Count Correct:"
- SET @SRG@(SRI)=@SRG@(SRI)_$$SPACE(26)_SHARP
- INSTR IF 'SRALL
- IF INSTR="N/A"
- GOTO COUNT
- +1 DO LINE(1)
- SET @SRG@(SRI)="Instrument Count Correct: "_INSTR
- COUNT IF 'SRALL
- IF COUNTER="N/A"
- GOTO CNTV
- +1 DO LINE(1)
- SET @SRG@(SRI)="Counter:"
- SET @SRG@(SRI)=@SRG@(SRI)_$$SPACE(26)_COUNTER
- CNTV IF 'SRALL
- IF VERIFY="N/A"
- GOTO DRESS
- +1 DO LINE(1)
- SET @SRG@(SRI)="Counts Verified By: "
- SET @SRG@(SRI)=@SRG@(SRI)_$$SPACE(26)_VERIFY
- DRESS SET SRLF=1
- SET SR(35)=$GET(^SRF(SRTN,35))
- SET DRESS=$PIECE(SR(35),"^")
- SET Y=$PIECE(SR(.8),"^",11)
- SET C=$PIECE(^DD(130,.875,0),"^",2)
- IF Y'=""
- DO Y^DIQ
- SET PACK=$SELECT(Y'="":Y,1:"N/A")
- +1 SET DRESS=$SELECT(DRESS'="":DRESS,1:"N/A")
- IF 'SRALL
- IF DRESS="N/A"
- GOTO PACK
- +2 DO LINE(1)
- SET @SRG@(SRI)="Dressing: "_DRESS
- PACK IF 'SRALL
- IF PACK="N/A"
- GOTO LOSS
- +1 DO LINE(1)
- SET @SRG@(SRI)="Packing: "_PACK
- LOSS SET SRLF=1
- SET BLOOD=$PIECE(SR(.2),"^",5)
- SET URINE=$PIECE(SR(.2),"^",16)
- IF 'SRALL
- IF BLOOD=""
- IF URINE=""
- GOTO NEXT
- +1 SET BLOOD=$SELECT(BLOOD="":"",1:BLOOD_" ml")
- SET URINE=$SELECT(URINE="":"",1:URINE_" ml")
- DO LINE(1)
- SET @SRG@(SRI)="Blood Loss: "_BLOOD
- SET @SRG@(SRI)=@SRG@(SRI)_$$SPACE(40)_"Urine Output: "_URINE
- NEXT DO ^SRONRPT3
- +1 QUIT
- REP ; replacement fluids
- +1 NEW FLUID,QTY,REP,SRCE,VID,SRCT
- +2 SET REP=0
- FOR
- SET REP=$ORDER(^SRF(SRTN,4,REP))
- IF 'REP
- QUIT
- Begin DoDot:1
- +3 SET X=^SRF(SRTN,4,REP,0)
- SET FLUID=$PIECE(^SRO(133.7,$PIECE(X,"^"),0),"^")
- SET QTY=$PIECE(X,"^",2)
- SET SRCE=$PIECE(X,"^",4)
- SET VID=$PIECE(X,"^",5)
- +4 IF QTY=""
- SET QTY="N/A"
- IF SRCE=""
- SET SRCE="N/A"
- IF VID=""
- SET VID="N/A"
- +5 DO LINE(1)
- SET @SRG@(SRI)=" "_FLUID
- SET @SRG@(SRI)=@SRG@(SRI)_$$SPACE(40)_"Quantity: "_QTY_" ml"
- +6 DO LINE(1)
- SET @SRG@(SRI)=" Source Identification: "_SRCE
- +7 DO LINE(1)
- SET @SRG@(SRI)=" VA Identification: "_VID
- +8 SET (SRCT,SRLINE)=0
- FOR
- SET SRLINE=$ORDER(^SRF(SRTN,4,REP,1,SRLINE))
- IF 'SRLINE
- QUIT
- SET SRCT=SRCT+1
- +9 IF 'SRCT
- QUIT
- DO LINE(1)
- SET SRLINE=0
- SET SRL=4
- SET SRLINE=$ORDER(^SRF(SRTN,4,REP,1,SRLINE))
- SET X=^SRF(SRTN,4,REP,1,SRLINE,0)
- +10 IF SRCT=1
- IF $LENGTH(X)<67
- SET @SRG@(SRI)=" Comments: "_X
- QUIT
- +11 SET @SRG@(SRI)=" Comments:"
- DO COMM^SRONRPT3(X,SRL)
- +12 FOR
- SET SRLINE=$ORDER(^SRF(SRTN,4,REP,1,SRLINE))
- IF 'SRLINE
- QUIT
- SET X=^SRF(SRTN,4,REP,1,SRLINE,0)
- DO COMM^SRONRPT3(X,SRL)
- End DoDot:1
- +13 QUIT
- IRR ; irrigations
- +1 NEW AMT,DOC,IRR,MM,SOLU,TIME,USED
- +2 SET IRR=0
- FOR
- SET IRR=$ORDER(^SRF(SRTN,26,IRR))
- IF 'IRR
- QUIT
- Begin DoDot:1
- +3 SET X=^SRF(SRTN,26,IRR,0)
- SET SOLU=$PIECE(^SRO(133.6,X,0),"^")
- DO LINE(1)
- SET @SRG@(SRI)=" "_SOLU
- +4 SET USED=0
- FOR
- SET USED=$ORDER(^SRF(SRTN,26,IRR,1,USED))
- IF 'USED
- QUIT
- SET MM=^SRF(SRTN,26,IRR,1,USED,0)
- SET Y=$PIECE(MM,"^")
- DO D^DIQ
- SET TIME=$PIECE(Y,"@")_" "_$PIECE(Y,"@",2)
- Begin DoDot:2
- +5 DO LINE(1)
- SET @SRG@(SRI)=" Time Used: "_TIME
- SET AMT=$PIECE(MM,"^",2)
- IF AMT=""
- SET AMT="N/A"
- +6 SET Y=$PIECE(MM,"^",3)
- SET C=$PIECE(^DD(130.39,2,0),"^",2)
- IF Y'=""
- DO Y^DIQ
- DO N(29)
- IF Y=""
- SET Y="N/A"
- SET DOC=Y
- +7 DO LINE(1)
- SET @SRG@(SRI)=" Amount: "_AMT
- SET @SRG@(SRI)=@SRG@(SRI)_$$SPACE(40)_"Provider: "_DOC
- End DoDot:2
- End DoDot:1
- +8 QUIT
- N(SRL) NEW SRN
- IF $LENGTH(Y)>SRL
- SET SRN=$PIECE(Y,",")_","_$EXTRACT($PIECE(Y,",",2))_"."
- SET Y=SRN
- +1 QUIT
- SPACE(NUM) ; create spaces
- +1 ;pass in position returns number of needed spaces
- +2 IF '$DATA(@SRG@(SRI))
- SET @SRG@(SRI)=""
- +3 QUIT $JUSTIFY("",NUM-$LENGTH(@SRG@(SRI)))
- LINE(NUM) ; create carriage returns
- +1 IF $GET(SRLF)
- SET NUM=NUM+1
- SET SRLF=0
- +2 FOR J=1:1:NUM
- SET SRI=SRI+1
- SET @SRG@(SRI)=""
- +3 QUIT