GMRVEE1 ;HIRMFO/RM,YH-ENTERED IN ERROR EDIT ;7/15/97
;;4.0;Vitals/Measurements;**1**;Apr 25, 1997
EN1 ; ENTRY FROM ROUTINE GMRVEE1 TO CONTINUE EDITING VITALS IN ERROR
W !!,"*** DATA TO BE ENTERED IN ERROR ***"
F GMRX=0:0 S GMRX=$O(GMRARTY(GMRX)) Q:GMRX'>0 I $D(GMRARTY(GMRX,GMRVDT)) S GMRDA=GMRARTY(GMRX,GMRVDT) D PRTEED^GMRVEE2
Q
RESLS ; RESELECT REASON FOR ERROR
W !!?4,"1 INCORRECT DATE/TIME",!?4,"2 INCORRECT "_$S(GMRVITY'="A":"READING",1:"PATIENT"),!?4,"3 "_$S(GMRVITY'="A":"INCORRECT PATIENT",1:"INVALID VITAL/RECORD") W:GMRVITY'="A" !?4,"4 INVALID VITAL/RECORD"
RESCH K GMRCHC S GMROUT=0
W !,"Select the reason(s) for entering ",$S(GMRVITY'="A":"this vital/measurement",1:"these vital/measurements")," in error",!,"or type '^' to exit: " R GMRX:DTIME I '$T!(GMRX="^") S GMROUT=1 W !!,"NO UPDATING WAS DONE" Q
REHLP I GMRX?.P&(GMRX'["-"&(GMRX'[","))!(GMRX'?.NP&(GMRX'?.N)) W !!?3,$C(7),"Answer with selection number(s) with ranges separated with hyphens (-),",!?3,"and multiple selections separated by commas (,).",! G RESLS:GMRX?1"?".E,RESCH
F GMRY=1:1 S GMRZ=$P(GMRX,",",GMRY) Q:GMRZ="" S GMRZ(1)=$P(GMRZ,"-"),GMRZ(2)=$P(GMRZ,"-",2) D CHKRG G:GMROUT REHLP F GMRY(0)=+GMRZ:1:$S(GMRZ(2)="":+GMRZ,1:+GMRZ(2)) S GMRCHC(GMRY(0))=""
I GMRVITY="A" S:$D(GMRCHC(3)) GMRCHC(4)="" K GMRCHC(3) S:$D(GMRCHC(2)) GMRCHC(3)="" K GMRCHC(2)
I $D(GMRCHC(4)),$O(GMRCHC(0))'=4 W !!,?3,$C(7),"The INVALID RECORD reason cannot be used in combination with any",!?3,"other selections." G RESCH
TIME I $D(GMRCHC(1)) D EN1^GMRVEE2 Q:GMROUT I '$D(GMRCHC(3)) S GDT=GMRCHC(1) D EN1^GMRVADM Q:GMROUT S Y=GMRCHC(1),GDATE=9999999-GMRCHC(1) D DD^%DT,DUPREC^GMRVEE2 Q:GMROUT
G:GMROUT QUIT
I $D(GMRCHC(2)) S GMRX=$O(GMRARTY(0)) Q:GMRX'>0 S GMRVIDT=$O(GMRARTY(GMRX,0)) Q:GMRVIDT'>0 D EN2^GMRVEE2 Q:GMROUT
G:GMROUT QUIT
PERSON I $D(GMRCHC(3)) D EN3^GMRVEE2 Q:GMROUT S GDFN=DFN,DFN=+GMRCHC(3),GDT=$S($D(GMRCHC(1)):GMRCHC(1),1:GMRVDT) D EN1^GMRVADM Q:GMROUT S Y=GDT,GDATE=9999999-Y D DD^%DT,DUPREC^GMRVEE2 S DFN=GDFN
G:GMROUT QUIT
W ! F GMRY=0:0 S GMRY=$O(GMRARTY(GMRY)) Q:GMRY'>0 I $D(GMRARTY(GMRY,GMRVDT)) S GMRDA=GMRARTY(GMRY,GMRVDT) D QUALIFY^GMRVEE3,ENTERR
QUIT K GBLNK,GLVL,GQUAL,GSIDE,GTYPE,GCHA,GCOL,GDATA,GENTR,GLAST,GLINE,GLN,GMRING,GMRVLST,GORDER Q
CHKRG ; CHECK RANGE
I GMRZ'?1N1"-"1N&(GMRZ'?1N) S GMRX="",GMROUT=1 Q
I (GMRZ(2)'=""&(GMRZ(2)'?1N))!(GMRZ(1)'?1N) S GMRX="",GMROUT=1 Q
I GMRZ(1)<1!(GMRZ(1)>$S(GMRVITY'="A":4,1:3)) S GMRX="",GMROUT=1 Q
I GMRZ(2)'="",(GMRZ(2)<1!(GMRZ(2)>$S(GMRVITY'="A":4,1:3))) S GMRX="",GMROUT=1 Q
Q
ENTERR ; ENTER RECORD DEFINED BY GMRDA IN ERROR
G:$D(GMRCHC(4)) ERREN
I $D(GMRCHC(1)),'$D(GMRCHC(3)),$D(^GMR(120.5,"AA",DFN,GMRY,9999999-GMRCHC(1))) S GDATE=9999999-GMRCHC(1),GSAVE=GMRDA D DUPDT^GMRVEE2 S GMRDA=GSAVE
I $D(GMRCHC(1)),$D(GMRCHC(3)),$D(^GMR(120.5,"AA",+GMRCHC(3),GMRY,9999999-GMRCHC(1))) S GDATE=9999999-GMRCHC(1),GSAVE=GMRDA,GDFN=DFN,DFN=+GMRCHC(3) D DUPDT^GMRVEE2 S DFN=GDFN,GMRDA=GSAVE
I $D(GMRCHC(3)),'$D(GMRCHC(1)),$D(^GMR(120.5,"AA",+GMRCHC(3),GMRY,9999999-GMRVDT)) S GDATE=9999999-GMRVDT,GDFN=DFN,DFN=+GMRCHC(3),GSAVE=GMRDA D DUPDT^GMRVEE2 S DFN=GDFN,GMRDA=GSAVE
S GMRDAT=$S($D(^GMR(120.5,GMRDA,0)):^(0),1:"")
S GMRSTR=$P($S($D(^GMRD(120.51,GMRY,0)):^(0),1:0),"^",2)
S GMRDAT(GMRSTR)=$S('$D(GMRCHC(2)):$P(GMRDAT,"^",8),$P(GMRCHC(2),"^")'="":$P(GMRCHC(2),"^"),1:$P(GMRDAT,"^",8)),GMRVIDT=$S('$D(GMRCHC(1)):$P(GMRDAT,"^"),$P(GMRCHC(1),"^")'="":$P(GMRCHC(1),"^"),1:$P(GMRDAT,"^"))
S GMRDFN=DFN,DFN=$S('$D(GMRCHC(3)):DFN,$P(GMRCHC(3),"^")'="":$P(GMRCHC(3),"^"),1:DFN),GMRVHLOC=$P(GMRDAT,"^",5)
S:'$D(GMRCHC(2)) GMRO2(GMRSTR)=$P(GMRDAT,"^",10)
W "." S GMREDB="P",GMRSTR(0)=";"_GMRSTR I $E(GMRSTR(0),$L(GMRSTR(0)))'=";" S GMRSTR(0)=GMRSTR(0)_";",GMRENTY=8 D EN4^GMRVED2 S DFN=GMRDFN
ERREN ; EDIT A RECORD ENTERED IN ERROR
S DA=GMRDA,DR="2///^S X=1;3///^S X=""`""_DUZ",DIE="^GMR(120.5," W "." D ^DIE S ^GMR(120.5,DA,2.1,0)="^120.506S^^",DA(1)=DA
F GMRZ=0:0 S GMRZ=$O(GMRCHC(GMRZ)) Q:GMRZ'>0 S DIC="^GMR(120.5,"_DA(1)_",2.1,",DLAYGO=120.506,DIC(0)="L",X=GMRZ D ^DIC K DLAYGO
S GMROUT=1
Q
GMRVEE1 ;HIRMFO/RM,YH-ENTERED IN ERROR EDIT ;7/15/97
+1 ;;4.0;Vitals/Measurements;**1**;Apr 25, 1997
EN1 ; ENTRY FROM ROUTINE GMRVEE1 TO CONTINUE EDITING VITALS IN ERROR
+1 WRITE !!,"*** DATA TO BE ENTERED IN ERROR ***"
+2 FOR GMRX=0:0
SET GMRX=$ORDER(GMRARTY(GMRX))
IF GMRX'>0
QUIT
IF $DATA(GMRARTY(GMRX,GMRVDT))
SET GMRDA=GMRARTY(GMRX,GMRVDT)
DO PRTEED^GMRVEE2
+3 QUIT
RESLS ; RESELECT REASON FOR ERROR
+1 WRITE !!?4,"1 INCORRECT DATE/TIME",!?4,"2 INCORRECT "_$SELECT(GMRVITY'="A":"READING",1:"PATIENT"),!?4,"3 "_$SELECT(GMRVITY'="A":"INCORRECT PATIENT",1:"INVALID VITAL/RECORD")
IF GMRVITY'="A"
WRITE !?4,"4 INVALID VITAL/RECORD"
RESCH KILL GMRCHC
SET GMROUT=0
+1 WRITE !,"Select the reason(s) for entering ",$SELECT(GMRVITY'="A":"this vital/measurement",1:"these vital/measurements")," in error",!,"or type '^' to exit: "
READ GMRX:DTIME
IF '$TEST!(GMRX="^")
SET GMROUT=1
WRITE !!,"NO UPDATING WAS DONE"
QUIT
REHLP IF GMRX?.P&(GMRX'["-"&(GMRX'[","))!(GMRX'?.NP&(GMRX'?.N))
WRITE !!?3,$CHAR(7),"Answer with selection number(s) with ranges separated with hyphens (-),",!?3,"and multiple selections separated by commas (,).",!
IF GMRX?1"?".E
GOTO RESLS
GOTO RESCH
+1 FOR GMRY=1:1
SET GMRZ=$PIECE(GMRX,",",GMRY)
IF GMRZ=""
QUIT
SET GMRZ(1)=$PIECE(GMRZ,"-")
SET GMRZ(2)=$PIECE(GMRZ,"-",2)
DO CHKRG
IF GMROUT
GOTO REHLP
FOR GMRY(0)=+GMRZ:1:$SELECT(GMRZ(2)="":+GMRZ,1:+GMRZ(2))
SET GMRCHC(GMRY(0))=""
+2 IF GMRVITY="A"
IF $DATA(GMRCHC(3))
SET GMRCHC(4)=""
KILL GMRCHC(3)
IF $DATA(GMRCHC(2))
SET GMRCHC(3)=""
KILL GMRCHC(2)
+3 IF $DATA(GMRCHC(4))
IF $ORDER(GMRCHC(0))'=4
WRITE !!,?3,$CHAR(7),"The INVALID RECORD reason cannot be used in combination with any",!?3,"other selections."
GOTO RESCH
TIME IF $DATA(GMRCHC(1))
DO EN1^GMRVEE2
IF GMROUT
QUIT
IF '$DATA(GMRCHC(3))
SET GDT=GMRCHC(1)
DO EN1^GMRVADM
IF GMROUT
QUIT
SET Y=GMRCHC(1)
SET GDATE=9999999-GMRCHC(1)
DO DD^%DT
DO DUPREC^GMRVEE2
IF GMROUT
QUIT
+1 IF GMROUT
GOTO QUIT
+2 IF $DATA(GMRCHC(2))
SET GMRX=$ORDER(GMRARTY(0))
IF GMRX'>0
QUIT
SET GMRVIDT=$ORDER(GMRARTY(GMRX,0))
IF GMRVIDT'>0
QUIT
DO EN2^GMRVEE2
IF GMROUT
QUIT
+3 IF GMROUT
GOTO QUIT
PERSON IF $DATA(GMRCHC(3))
DO EN3^GMRVEE2
IF GMROUT
QUIT
SET GDFN=DFN
SET DFN=+GMRCHC(3)
SET GDT=$SELECT($DATA(GMRCHC(1)):GMRCHC(1),1:GMRVDT)
DO EN1^GMRVADM
IF GMROUT
QUIT
SET Y=GDT
SET GDATE=9999999-Y
DO DD^%DT
DO DUPREC^GMRVEE2
SET DFN=GDFN
+1 IF GMROUT
GOTO QUIT
+2 WRITE !
FOR GMRY=0:0
SET GMRY=$ORDER(GMRARTY(GMRY))
IF GMRY'>0
QUIT
IF $DATA(GMRARTY(GMRY,GMRVDT))
SET GMRDA=GMRARTY(GMRY,GMRVDT)
DO QUALIFY^GMRVEE3
DO ENTERR
QUIT KILL GBLNK,GLVL,GQUAL,GSIDE,GTYPE,GCHA,GCOL,GDATA,GENTR,GLAST,GLINE,GLN,GMRING,GMRVLST,GORDER
QUIT
CHKRG ; CHECK RANGE
+1 IF GMRZ'?1N1"-"1N&(GMRZ'?1N)
SET GMRX=""
SET GMROUT=1
QUIT
+2 IF (GMRZ(2)'=""&(GMRZ(2)'?1N))!(GMRZ(1)'?1N)
SET GMRX=""
SET GMROUT=1
QUIT
+3 IF GMRZ(1)<1!(GMRZ(1)>$SELECT(GMRVITY'="A":4,1:3))
SET GMRX=""
SET GMROUT=1
QUIT
+4 IF GMRZ(2)'=""
IF (GMRZ(2)<1!(GMRZ(2)>$SELECT(GMRVITY'="A":4,1:3)))
SET GMRX=""
SET GMROUT=1
QUIT
+5 QUIT
ENTERR ; ENTER RECORD DEFINED BY GMRDA IN ERROR
+1 IF $DATA(GMRCHC(4))
GOTO ERREN
+2 IF $DATA(GMRCHC(1))
IF '$DATA(GMRCHC(3))
IF $DATA(^GMR(120.5,"AA",DFN,GMRY,9999999-GMRCHC(1)))
SET GDATE=9999999-GMRCHC(1)
SET GSAVE=GMRDA
DO DUPDT^GMRVEE2
SET GMRDA=GSAVE
+3 IF $DATA(GMRCHC(1))
IF $DATA(GMRCHC(3))
IF $DATA(^GMR(120.5,"AA",+GMRCHC(3),GMRY,9999999-GMRCHC(1)))
SET GDATE=9999999-GMRCHC(1)
SET GSAVE=GMRDA
SET GDFN=DFN
SET DFN=+GMRCHC(3)
DO DUPDT^GMRVEE2
SET DFN=GDFN
SET GMRDA=GSAVE
+4 IF $DATA(GMRCHC(3))
IF '$DATA(GMRCHC(1))
IF $DATA(^GMR(120.5,"AA",+GMRCHC(3),GMRY,9999999-GMRVDT))
SET GDATE=9999999-GMRVDT
SET GDFN=DFN
SET DFN=+GMRCHC(3)
SET GSAVE=GMRDA
DO DUPDT^GMRVEE2
SET DFN=GDFN
SET GMRDA=GSAVE
+5 SET GMRDAT=$SELECT($DATA(^GMR(120.5,GMRDA,0)):^(0),1:"")
+6 SET GMRSTR=$PIECE($SELECT($DATA(^GMRD(120.51,GMRY,0)):^(0),1:0),"^",2)
+7 SET GMRDAT(GMRSTR)=$SELECT('$DATA(GMRCHC(2)):$PIECE(GMRDAT,"^",8),$PIECE(GMRCHC(2),"^")'="":$PIECE(GMRCHC(2),"^"),1:$PIECE(GMRDAT,"^",8))
SET GMRVIDT=$SELECT('$DATA(GMRCHC(1)):$PIECE(GMRDAT,"^"),$PIECE(GMRCHC(1),"^")'="":$PIECE(GMRCHC(1),"^"),1:$PIECE(GMRDAT,"^"))
+8 SET GMRDFN=DFN
SET DFN=$SELECT('$DATA(GMRCHC(3)):DFN,$PIECE(GMRCHC(3),"^")'="":$PIECE(GMRCHC(3),"^"),1:DFN)
SET GMRVHLOC=$PIECE(GMRDAT,"^",5)
+9 IF '$DATA(GMRCHC(2))
SET GMRO2(GMRSTR)=$PIECE(GMRDAT,"^",10)
+10 WRITE "."
SET GMREDB="P"
SET GMRSTR(0)=";"_GMRSTR
IF $EXTRACT(GMRSTR(0),$LENGTH(GMRSTR(0)))'=";"
SET GMRSTR(0)=GMRSTR(0)_";"
SET GMRENTY=8
DO EN4^GMRVED2
SET DFN=GMRDFN
ERREN ; EDIT A RECORD ENTERED IN ERROR
+1 SET DA=GMRDA
SET DR="2///^S X=1;3///^S X=""`""_DUZ"
SET DIE="^GMR(120.5,"
WRITE "."
DO ^DIE
SET ^GMR(120.5,DA,2.1,0)="^120.506S^^"
SET DA(1)=DA
+2 FOR GMRZ=0:0
SET GMRZ=$ORDER(GMRCHC(GMRZ))
IF GMRZ'>0
QUIT
SET DIC="^GMR(120.5,"_DA(1)_",2.1,"
SET DLAYGO=120.506
SET DIC(0)="L"
SET X=GMRZ
DO ^DIC
KILL DLAYGO
+3 SET GMROUT=1
+4 QUIT