NURCCPU1 ;HIRMFO/RM/MD-NURSING CARE PLAN UTILITIES (cont.) ;8/16/95
;;4.0;NURSING SERVICE;;Apr 25, 1997
EN1 ; ENTRY FOR ACTION TO ENSURE THAT NURSCPE VARIABLE SET IN NCP.
I '$D(NURSPROB) S NURSPROB=0
Q:$D(NURSCPE) S NURSCPE=$O(^NURSC(216.8,"B",GMRGPDA,0)) D:NURSCPE'>0 NEWPL^NURCPP0 I NURSCPE'>0 S GMRGOUT=1
Q
EN2 ; ENTRY TO PRINT OUTCOME INFORMATION IF PRESENT
Q:'$P(GMRGSEL,"^",3)
S NURSTRDT=$O(^NURSC(216.8,NURSCPE,"TARG","AA",$P(GMRGSEL,"^"),0)) G:NURSTRDT'>0 Q2 S NURSTRDA=$O(^(NURSTRDT,0)) G:NURSTRDA'>0 Q2 S NURSTRND=$S($D(^NURSC(216.8,NURSCPE,"TARG",NURSTRDA,0)):^(0),1:"")
S Y=$P(NURSTRND,"^",5) S NURSTRDT=$S(Y:$E(Y,4,5)_"/"_$E(Y,6,7)_"/"_$E(Y,2,3),1:""),NURSTRMT=$P(NURSTRND,"^",2)
S GMRGHPRT(1)="68^"_NURSTRDT_$S(NURSTRMT=1:"(M)",NURSTRMT=2:"(DC)",1:"(T)")
Q2 K NURSTRDT,NURSTRDA,NURSTRND,NURSTRMT
Q
EN3 ; ENTRY TO PRINT EVALUATION INFORMATION IF PRESENT
Q:'$P(GMRGSEL,"^",3)
S NURSEVDT=$O(^NURSC(216.8,NURSCPE,"EVAL","AA",$P(GMRGSEL,"^"),0)) G:NURSEVDT'>0 Q3 S NURSEVDA=$O(^(NURSEVDT,0)) G:NURSEVDA'>0 Q3 S NURSEVND=$S($D(^NURSC(216.8,NURSCPE,"EVAL",NURSEVDA,0)):^(0),1:"")
S Y=$P(NURSEVND,"^") S NURSEVDT=$S(Y:$E(Y,4,5)_"/"_$E(Y,6,7)_"/"_$E(Y,2,3),1:"") S Y=$P(NURSEVND,"^",5) S NURSEVRD=$S(Y:$E(Y,4,5)_"/"_$E(Y,6,7)_"/"_$E(Y,2,3),1:"")
S GMRGHPRT(1)="67^"_$S(NURSEVRD'="":NURSEVRD,NURSEVDT'="":NURSEVDT,1:" ")_" ("_$P("E^R^S^U","^",$P(NURSEVND,"^",4)+1)_")"
Q3 K NURSEVDT,NURSEVDA,NURSEVND,NURSEVRD,NURSEVUS,NURSEVST
Q
EN4 ; ENTRY TO PRINT THE PROBLEM AT THE TOP OF THE SCREEN FOR ALL
; CHILDREN THAT ARE UNDER A PROBLEM.
Q:'$D(NURSPROB) Q:'$D(NURSPROB(NURSPROB)) Q:'$P(NURSPROB(NURSPROB),"^")
S GMRGXPRT=$P(NURSPROB(NURSPROB),"^",2),GMRGXPRT(0)=$S($P(NURSPROB(NURSPROB),"^",3)="":"",$D(^GMR(124.3,GMRGPDA,1,$P(NURSPROB(NURSPROB),"^",3),0)):$P(^(0),"^",2),1:""),GMRGXPRT(1)="^^1^^1" D EN1^GMRGRUT2
S GMRGPLN=GMRGXPRT F NURSH=1:1 S GMRGLEN=IOM-17 D FITLINE^GMRGRUT1 Q:GMRGPLN(0)="" S GMRGHPRT(NURSH)=$S(NURSH=1:"PATIENT PROBLEM: ",1:" "),GMRGHPRT(NURSH)=GMRGHPRT(NURSH)_GMRGPLN(0),GMRGPLN=GMRGPLN(1)
K GMRGXPRT,NURSH Q
EN5 ; SCREEN FROM THE ORDERABLE (#.02) SUBFIELD OF THE ORDERS INFO (#4)
; FIELD OF THE NURS CARE PLAN (#216.8) FILE)
S NURS("OK")=0,NURS("IN")=$O(^GMRD(124.25,"B","ORDERABLE",0)),NURS("P")=$P(^NURSC(216.8,DA(1),0),U) G Q5:NURS("IN")=""!(NURS("P")="")!($P(^GMRD(124.2,+Y,0),U,4)'=NURS("IN")),Q5:'$D(^GMR(124.3,NURS("P"),1,"B",+Y))
F NURS=0:0 S NURS=$O(^GMRD(124.2,"AKID",+Y,NURS)) Q:NURS'>0!NURS("OK") F NURS(0)=0:0 S NURS(0)=$O(^GMRD(124.2,"AKID",NURS,NURS(0))) Q:NURS(0)'>0 I $D(^NURSC(216.8,D0,"PROB","B",NURS(0))) S NURS("OK")=1 Q
Q5 I NURS("OK")
K NURS
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HNURCCPU1 2679 printed Nov 22, 2024@17:30:19 Page 2
NURCCPU1 ;HIRMFO/RM/MD-NURSING CARE PLAN UTILITIES (cont.) ;8/16/95
+1 ;;4.0;NURSING SERVICE;;Apr 25, 1997
EN1 ; ENTRY FOR ACTION TO ENSURE THAT NURSCPE VARIABLE SET IN NCP.
+1 IF '$DATA(NURSPROB)
SET NURSPROB=0
+2 if $DATA(NURSCPE)
QUIT
SET NURSCPE=$ORDER(^NURSC(216.8,"B",GMRGPDA,0))
if NURSCPE'>0
DO NEWPL^NURCPP0
IF NURSCPE'>0
SET GMRGOUT=1
+3 QUIT
EN2 ; ENTRY TO PRINT OUTCOME INFORMATION IF PRESENT
+1 if '$PIECE(GMRGSEL,"^",3)
QUIT
+2 SET NURSTRDT=$ORDER(^NURSC(216.8,NURSCPE,"TARG","AA",$PIECE(GMRGSEL,"^"),0))
if NURSTRDT'>0
GOTO Q2
SET NURSTRDA=$ORDER(^(NURSTRDT,0))
if NURSTRDA'>0
GOTO Q2
SET NURSTRND=$SELECT($DATA(^NURSC(216.8,NURSCPE,"TARG",NURSTRDA,0)):^(0),1:"")
+3 SET Y=$PIECE(NURSTRND,"^",5)
SET NURSTRDT=$SELECT(Y:$EXTRACT(Y,4,5)_"/"_$EXTRACT(Y,6,7)_"/"_$EXTRACT(Y,2,3),1:"")
SET NURSTRMT=$PIECE(NURSTRND,"^",2)
+4 SET GMRGHPRT(1)="68^"_NURSTRDT_$SELECT(NURSTRMT=1:"(M)",NURSTRMT=2:"(DC)",1:"(T)")
Q2 KILL NURSTRDT,NURSTRDA,NURSTRND,NURSTRMT
+1 QUIT
EN3 ; ENTRY TO PRINT EVALUATION INFORMATION IF PRESENT
+1 if '$PIECE(GMRGSEL,"^",3)
QUIT
+2 SET NURSEVDT=$ORDER(^NURSC(216.8,NURSCPE,"EVAL","AA",$PIECE(GMRGSEL,"^"),0))
if NURSEVDT'>0
GOTO Q3
SET NURSEVDA=$ORDER(^(NURSEVDT,0))
if NURSEVDA'>0
GOTO Q3
SET NURSEVND=$SELECT($DATA(^NURSC(216.8,NURSCPE,"EVAL",NURSEVDA,0)):^(0),1:"")
+3 SET Y=$PIECE(NURSEVND,"^")
SET NURSEVDT=$SELECT(Y:$EXTRACT(Y,4,5)_"/"_$EXTRACT(Y,6,7)_"/"_$EXTRACT(Y,2,3),1:"")
SET Y=$PIECE(NURSEVND,"^",5)
SET NURSEVRD=$SELECT(Y:$EXTRACT(Y,4,5)_"/"_$EXTRACT(Y,6,7)_"/"_$EXTRACT(Y,2,3),1:"")
+4 SET GMRGHPRT(1)="67^"_$SELECT(NURSEVRD'="":NURSEVRD,NURSEVDT'="":NURSEVDT,1:" ")_" ("_$PIECE("E^R^S^U","^",$PIECE(NURSEVND,"^",4)+1)_")"
Q3 KILL NURSEVDT,NURSEVDA,NURSEVND,NURSEVRD,NURSEVUS,NURSEVST
+1 QUIT
EN4 ; ENTRY TO PRINT THE PROBLEM AT THE TOP OF THE SCREEN FOR ALL
+1 ; CHILDREN THAT ARE UNDER A PROBLEM.
+2 if '$DATA(NURSPROB)
QUIT
if '$DATA(NURSPROB(NURSPROB))
QUIT
if '$PIECE(NURSPROB(NURSPROB),"^")
QUIT
+3 SET GMRGXPRT=$PIECE(NURSPROB(NURSPROB),"^",2)
SET GMRGXPRT(0)=$SELECT($PIECE(NURSPROB(NURSPROB),"^",3)="":"",$DATA(^GMR(124.3,GMRGPDA,1,$PIECE(NURSPROB(NURSPROB),"^",3),0)):$PIECE(^(0),"^",2),1:"")
SET GMRGXPRT(1)="^^1^^1"
DO EN1^GMRGRUT2
+4 SET GMRGPLN=GMRGXPRT
FOR NURSH=1:1
SET GMRGLEN=IOM-17
DO FITLINE^GMRGRUT1
if GMRGPLN(0)=""
QUIT
SET GMRGHPRT(NURSH)=$SELECT(NURSH=1:"PATIENT PROBLEM: ",1:" ")
SET GMRGHPRT(NURSH)=GMRGHPRT(NURSH)_GMRGPLN(0)
SET GMRGPLN=GMRGPLN(1)
+5 KILL GMRGXPRT,NURSH
QUIT
EN5 ; SCREEN FROM THE ORDERABLE (#.02) SUBFIELD OF THE ORDERS INFO (#4)
+1 ; FIELD OF THE NURS CARE PLAN (#216.8) FILE)
+2 SET NURS("OK")=0
SET NURS("IN")=$ORDER(^GMRD(124.25,"B","ORDERABLE",0))
SET NURS("P")=$PIECE(^NURSC(216.8,DA(1),0),U)
if NURS("IN")=""!(NURS("P")="")!($PIECE(^GMRD(124.2,+Y,0),U,4)'=NURS("IN"))
GOTO Q5
if '$DATA(^GMR(124.3,NURS("P"),1,"B",+Y))
GOTO Q5
+3 FOR NURS=0:0
SET NURS=$ORDER(^GMRD(124.2,"AKID",+Y,NURS))
if NURS'>0!NURS("OK")
QUIT
FOR NURS(0)=0:0
SET NURS(0)=$ORDER(^GMRD(124.2,"AKID",NURS,NURS(0)))
if NURS(0)'>0
QUIT
IF $DATA(^NURSC(216.8,D0,"PROB","B",NURS(0)))
SET NURS("OK")=1
QUIT
Q5 IF NURS("OK")
+1 KILL NURS
+2 QUIT