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

PSIVVW1.m

Go to the documentation of this file.
  1. PSIVVW1 ;BIR/PR-PRINT ACTIVITY LOG ;06 APR 97 / 5:47 PM
  1. ;;5.0;INPATIENT MEDICATIONS;**58,81,267**;16 DEC 97;Build 158
  1. ;
  1. ; Reference to ^PS(55 is supported by DBIA# 2191
  1. ;
  1. ;Called at top from Patient Profile option
  1. BEG ;Ask to view activity log
  1. K PSIVLOG,PSIVLAB F Q=0:0 W !,"View activity log" S %=1 D YN^DICN Q:% S HELP="ACTLOG" D ^PSIVHLP
  1. G:%<1 Q S:%=1 PSIVLOG=1
  1. ;
  1. BEG1 ;Ask to view label log
  1. F Q=0:0 W !!,"View label log" S %=1 D YN^DICN Q:% S HELP="LABLOG" D ^PSIVHLP2
  1. G:%<1 Q S:%=1 PSIVLAB=1 G ENPR
  1. ;
  1. EN ; Show activity, label, or history log.
  1. D FULL^VALM1
  1. S:'$D(ON55) ON55=ON
  1. K DIR S DIR(0)="SOA^A:Activity Log;L:Label Log;H:History Log;I:Instructions History",DIR("A")="(A)ctivity (L)abel (H)istory (I)nstructions History: "
  1. D ^DIR K DIR G:$D(DIRUT) Q N PSJHISEL S PSJHISEL=Y D:Y="H" ENHIS^PSJHIS(DFN,ON55,"V") I PSJHISEL="I" D ENHIS^PSJINHIS(DFN,ON55,"V") G EN
  1. K PSJHIS
  1. D:PSJHISEL="A" EN1 D:PSJHISEL="L" DATA^PSIVLTR1(DFN,+ON55) I $D(PSIVSCR),'$G(PSJDNE) D PAUSE
  1. G EN
  1. ;
  1. ENPR ;Entry from profile.
  1. D HOLDHDR^PSJOE
  1. K PSJDNE I $D(PSIVLOG) D EN1 I $D(PSIVSCR),'$D(PSJDNE) D PAUSE
  1. I '$D(PSJDNE),$D(PSIVLAB) D DATA^PSIVLTR1(DFN,+ON55) I $D(PSIVSCR),'$G(PSJDNE) D PAUSE
  1. I $D(PSIVSCR) K DIR S DIR(0)="E" D ^DIR K DIR
  1. ;
  1. Q K %,COU,I,L,N,OG,P1,P17,PSIVX,USER
  1. Q
  1. ;
  1. EN1 ;Entry for Inmed functionality and viewing the log from IV order entry
  1. K PSJDNE S PSIVSCR=$E(IOST)="C"
  1. I ON["P" D Q
  1. . NEW AT,PN,PX,UD,OD
  1. . S AT="S",PN=1,PX="" F Q=0:0 S Q=$O(^PS(53.1,+ON,"A",Q)) Q:'Q I $D(^(Q,0)) S AND=^(0) D:'(PN#6) NPAGE^PSGVW0 Q:PX["^" D AL1^PSGVW0
  1. . W !
  1. I '$O(^PS(55,DFN,"IV",+ON55,"A",0)) W !!,"No activity LOG to report." G Q
  1. D HDR F JJ=0:0 S JJ=$O(^PS(55,DFN,"IV",+ON55,"A",JJ)) Q:'JJ!$G(PSJDNE) S P1=$G(^(JJ,0)),Y=+$P(P1,"^",5) D ACT
  1. Q
  1. ;
  1. ACT ;This module is used for the screen profile
  1. X ^DD("DD") W !,JJ,?3,$P(Y,"@")," ",$P(Y,"@",2),?24 S X=$$CODES^PSIVUTL($P(P1,"^",2),55.04,.02) W X
  1. D NAME^PSJBCMA1($P(P1,U,6),.X) W ?50,X
  1. W !?3,"Comment: ",$P(P1,"^",4) D PAUSE Q:$D(PSJDNE)
  1. F A1=0:0 S A1=$O(^PS(55,DFN,"IV",+ON55,"A",JJ,1,A1)) Q:'A1!$D(PSJDNE) S P1=^(A1,0) D ACTW
  1. W !
  1. Q
  1. ;
  1. ACTW ;
  1. N II,NXTOPI
  1. I $P(P1,"^")'="OTHER PRINT INFO"!($P(P1,"^",2)]"")!($P(P1,"^",3)]"") D Q
  1. .I $P(P1,"^",2)=$P(P1,"^",3) Q
  1. .W ! D PAUSE W !?10,"Field: '",$P(P1,"^"),"'" D PAUSE W !?3,"Changed from: '",$P(P1,"^",2),"'" D PAUSE W !?13,"To: '",$P(P1,"^",3),"'" D PAUSE
  1. W ! D PAUSE W !?10,"Field: '",$P(P1,"^"),"'" D PAUSE W !?3,"Changed from: '"
  1. I $P(P1,"^")="OTHER PRINT INFO" D
  1. .N TXTLN S TXTLN=0 F S TXTLN=$O(^PS(55,DFN,"IV",+ON55,"A",JJ,2,TXTLN)) Q:'TXTLN D
  1. ..I TXTLN=1 W !?4,"'",^(TXTLN,0) Q
  1. ..W !?5,^(TXTLN,0) I '(TXTLN#12) D PAUSE
  1. .W "'",!
  1. D PAUSE
  1. I $P(P1,"^")="OTHER PRINT INFO" S NXTOPI=0 D
  1. .I '$D(^PS(55,DFN,"IV",+ON55,"A",JJ,3)) D Q
  1. ..S II=JJ F S II=$O(^PS(55,DFN,"IV",+ON55,"A",II)) Q:'II!$G(NXTOPI) I ($G(^(II,1,1,0))["OTHER PRINT INFO") S NXTOPI=II
  1. ..I '$G(NXTOPI) D Q
  1. ...S II=0 F S II=$O(^PS(55,DFN,"IV",+ON55,10,II)) Q:'II W:II=1 !?3,"To : ",!?4,"'",^(II,0) W:II>1 !?5,^(II,0)
  1. ..N TXTLN S TXTLN=0 F II=0:1 S TXTLN=$O(^PS(55,DFN,"IV",+ON55,"A",NXTOPI,2,TXTLN)) Q:'TXTLN W:II=1 !?3,"To : ",!?4,"'",^(II,0) W:(II>1) !?5,^(II,0)
  1. .N TXTLN S TXTLN=0 F II=0:1 S TXTLN=$O(^PS(55,DFN,"IV",+ON55,"A",JJ,3,TXTLN)) Q:'TXTLN W:TXTLN=1 !?3,"To : ",!?4,"'",^(TXTLN,0) W:TXTLN>1 !?5,^(TXTLN,0) I '(TXTLN#12) D PAUSE
  1. .I $G(II) W "'",!
  1. D PAUSE
  1. Q
  1. PAUSE ;
  1. I ($Y#IOSL)>18,PSIVSCR K DIR S DIR(0)="E" D ^DIR K DIR W !!! I $D(DUOUT)!$D(DTOUT) S (PSJS1,PSJS2,PSJS3,PSJS4)="~",(PSJDNE,PSJPR)=1
  1. Q
  1. ;
  1. HDR W !!,"ACTIVITY LOG:",!,"#",?3,"DATE",?14,"TIME",?24,"REASON",?50,"USER",! F I=1:1:79 W "="
  1. Q
  1. ;
  1. LOG1 ;This module is used for profile report. (hard printer copy usually)
  1. Q
  1. X ^DD("DD") W !,JJ,?3,$P(Y,"@")," ",$P(Y,"@",2),?24 S X=$$CODES^PSIVUTL($P(P1,"^",2),55.04,.02) W X
  1. W ?50,$P(P1,"^",3),!?3,"Comment: ",$P(P1,"^",4) I ($Y#IOSL)>22,PSIVSCR D PAUSE
  1. F PSIVX=0:0 S PSIVX=$O(^PS(55,DFN,"IV",+ON,"A",JJ,1,PSIVX)) Q:'PSIVX S P1=^(PSIVX,0) W !!?10,"Field: '",$P(P1,"^"),"'",!?3,"Changed from: '",$P(P1,"^",2),"'",!?13,"To: '",$P(P1,"^",3),"'" I ($Y#IOSL)>18,PSIVSCR D PAUSE
  1. Q
  1. ENLOG ;Entry for patient profile report OR patient purge report
  1. ;Called from routine PSIVPR
  1. S (ON,ON55)=PSJORD D HDR W:'$O(^PS(55,DFN,"IV",+ON,"A",0)) !!,"No activity LOG to report."
  1. ;
  1. K PSJDNE S PSIVSCR=$E(IOST)="C" F JJ=0:0 S JJ=$O(^PS(55,DFN,"IV",+ON,"A",JJ)) Q:'JJ!$D(PSJDNE) S P1=$S($D(^(JJ,0)):^(0),1:""),Y=+$P(P1,"^",5) D ACT
  1. G Q