SROAUTLC ;BIR/ADM - CARDIAC RISK ASSESSMENT UTILITY ;08/23/07
;;3.0; Surgery ;**38,71,90,88,95,97,102,96,125,153,163,164,166**;24 Jun 93;Build 6
;
; Reference to ^DIC(45.3 supported by DBIA #218
;
SITE ; determine if site is a cardiac facility
I $$CARD Q
W @IOF,!,"The SURGERY SITE PARAMETERS file indicates this site/division does not use ",!,"the Cardiac Risk Assessment module. Therefore, this option is not available",!,"for use.",!
S XQUIT="" W !!,"Press RETURN to continue " R X:DTIME W @IOF
Q
CARD() ; extrinsic call to determine if site is cardiac facility
N CARD S CARD=0 Q:'$G(SRSITE) CARD
I $P($G(^SRO(133,SRSITE,0)),"^",5)="Y" S CARD=1
Q CARD
NOW ; update date/time of surgical priority entry
N X I $$CARD,$P($G(^SRF(DA,208)),"^",12)'="" D NOW^%DTC S $P(^SRF(DA,208),"^",13)=$E(%,1,12)
Q
KNOW ; delete date/time of surgical priority entry
I $D(^SRF(DA,208)) S $P(^SRF(DA,208),"^",13)=""
Q
EM ; input transform logic on Case Schedule Type field (.035)
Q:'$$CARD N DIR,SREM,SRNOT,SRQ,SRSP
I X'="EM" S:X="U" $P(^SRF(DA,208),"^",12)=2 S:X'="U" $P(^SRF(DA,208),"^",12)=1 D NOW Q
S SRQ=0,SRSP=$P(^DIC(45.3,$P(^SRO(137.45,$P(^SRF(DA,0),"^",4),0),"^",2),0),"^") Q:SRSP'=48&(SRSP'=58) D:SRSP=58 YN Q:SRQ
D CAT
Q
CAT N X K DIR S DIR("A",1)="",DIR("A",2)=" Enter category of emergency.",DIR("A",3)=" 1. Emergent (ongoing ischemia)",DIR("A",4)=" 2. Emergent (hemodynamic compromise)",DIR("A",5)=" 3. Emergent (arrest with CPR)"
S DIR("A",6)="",DIR("A")=" Enter number (1, 2 or 3): ",DIR(0)="NA^1:3",DIR("?")="^D HELP^SROAUTLC" D ^DIR I $D(DTOUT)!$D(DUOUT) Q
S SREM=Y,$P(^SRF(DA,208),"^",12)=SREM+2 D NOW
Q
YN N X K DIR S DIR("A",1)="",DIR("A",2)=" Is this emergency case a cardiac procedure requiring cardiopulmonary",DIR("A")=" bypass (Y/N)? ",DIR(0)="YA" D ^DIR I $D(DTOUT)!$D(DUOUT) S SRQ=1 Q
I 'Y S SRQ=1
Q
HELP K SRHLP S SRHLP(1)="This is the category of emergency reflecting the patient's cardiovascular",SRHLP(2)="condition at the time of transport to the operating room:",SRHLP(3)=""
S SRHLP(4)="1. Emergent (ongoing ischemia) - Clinical condition mandates immediate",SRHLP(5)="surgery usually on day of catheterization because of ischemia despite"
S SRHLP(6)="medical therapy, such as intravenous nitroglycerine. Ischemia should",SRHLP(7)="be manifested as chest pain and/or ST-segment depression."
S SRHLP(8)="",SRHLP(9)="2. Emergent (hemodynamic compromise) - Persistent hypotension (arterial",SRHLP(10)="systolic pressure < 80 mm Hg) and/or low cardiac output (cardiac index"
S SRHLP(11)="< 2.0 L/min/MxM) despite iontropic and/or mechanical circulatory",SRHLP(12)="support mandates immediates surgery within hours of the cardiac",SRHLP(13)="catheterization."
S SRHLP(14)="",SRHLP(15)="3. Emergent (arrest with CPR) - Patient is taken to the operating room in",SRHLP(16)="full cardiac arrest with the circulation supported by cardiopulmonary"
S SRHLP(17)="resuscitation (excludes patients being adequately perfused by a",SRHLP(18)="cardiopulmonary support system).",SRHLP(19)=""
S SRHLP(20)="Enter the appropriate number to designate the category of emergency.",SRHLP(21)="",SRHLP(22)="" D EN^DDIOL(.SRHLP) K SRHLP
N DIR S DIR(0)="FOA",DIR("A")="Enter RETURN to continue: " D ^DIR I $D(DTOUT)!$D(DUOUT) S SRQ=1 Q
Q
CHK ; check for missing cardiac assessment information
K SRX,SRZZ F SRC="CLIN","LAB","CATH","OP","CAR","OUT","R" K DA,DIC,DIQ,DR,SRY S DIC="^SRF(",DA=SRTN,DIQ="SRY",DIQ(0)="I" D @SRC D EN^DIQ1 D ^SROAUTL4
D RED^SROAUTL4
Q
CLIN S DR="236;237;475;203;347;209;348;510;349;350;240;351;205;352;485;265;264;267;207;353;354;355;474;463"
Q
CATH S DR="476;357;358;359;360;363;415;477;361;362.1;362.2;362.3;478;479;480"
Q
R S DR="418;419;440;.205;.232;470;471;473;472;442;513;515"
Q
OP S DR="364;364.1;1.13;414;414.1;.22;.23"
Q
OUT S DR="384"
Q
CAR S DR="365;366;464;465;416;367;368;369;370;371;481;483;512;376;380;378;377;379;373;372;505;502;381;382;451;450;468;469"
I $P($G(^SRF(SRTN,209)),"^",13)="Y"!($P($G(^SRF(SRTN,209)),"^",13)="") S DR=DR_";484"
Q
LAB S DR="457;457.1;461;461.1;462;462.1;458;458.1;459;459.1;460;460.1;223;290;225;292;219;239;504;504.1"
Q
SROAUTLC ;BIR/ADM - CARDIAC RISK ASSESSMENT UTILITY ;08/23/07
+1 ;;3.0; Surgery ;**38,71,90,88,95,97,102,96,125,153,163,164,166**;24 Jun 93;Build 6
+2 ;
+3 ; Reference to ^DIC(45.3 supported by DBIA #218
+4 ;
SITE ; determine if site is a cardiac facility
+1 IF $$CARD
QUIT
+2 WRITE @IOF,!,"The SURGERY SITE PARAMETERS file indicates this site/division does not use ",!,"the Cardiac Risk Assessment module. Therefore, this option is not available",!,"for use.",!
+3 SET XQUIT=""
WRITE !!,"Press RETURN to continue "
READ X:DTIME
WRITE @IOF
+4 QUIT
CARD() ; extrinsic call to determine if site is cardiac facility
+1 NEW CARD
SET CARD=0
IF '$GET(SRSITE)
QUIT CARD
+2 IF $PIECE($GET(^SRO(133,SRSITE,0)),"^",5)="Y"
SET CARD=1
+3 QUIT CARD
NOW ; update date/time of surgical priority entry
+1 NEW X
IF $$CARD
IF $PIECE($GET(^SRF(DA,208)),"^",12)'=""
DO NOW^%DTC
SET $PIECE(^SRF(DA,208),"^",13)=$EXTRACT(%,1,12)
+2 QUIT
KNOW ; delete date/time of surgical priority entry
+1 IF $DATA(^SRF(DA,208))
SET $PIECE(^SRF(DA,208),"^",13)=""
+2 QUIT
EM ; input transform logic on Case Schedule Type field (.035)
+1 IF '$$CARD
QUIT
NEW DIR,SREM,SRNOT,SRQ,SRSP
+2 IF X'="EM"
IF X="U"
SET $PIECE(^SRF(DA,208),"^",12)=2
IF X'="U"
SET $PIECE(^SRF(DA,208),"^",12)=1
DO NOW
QUIT
+3 SET SRQ=0
SET SRSP=$PIECE(^DIC(45.3,$PIECE(^SRO(137.45,$PIECE(^SRF(DA,0),"^",4),0),"^",2),0),"^")
IF SRSP'=48&(SRSP'=58)
QUIT
IF SRSP=58
DO YN
IF SRQ
QUIT
+4 DO CAT
+5 QUIT
CAT NEW X
KILL DIR
SET DIR("A",1)=""
SET DIR("A",2)=" Enter category of emergency."
SET DIR("A",3)=" 1. Emergent (ongoing ischemia)"
SET DIR("A",4)=" 2. Emergent (hemodynamic compromise)"
SET DIR("A",5)=" 3. Emergent (arrest with CPR)"
+1 SET DIR("A",6)=""
SET DIR("A")=" Enter number (1, 2 or 3): "
SET DIR(0)="NA^1:3"
SET DIR("?")="^D HELP^SROAUTLC"
DO ^DIR
IF $DATA(DTOUT)!$DATA(DUOUT)
QUIT
+2 SET SREM=Y
SET $PIECE(^SRF(DA,208),"^",12)=SREM+2
DO NOW
+3 QUIT
YN NEW X
KILL DIR
SET DIR("A",1)=""
SET DIR("A",2)=" Is this emergency case a cardiac procedure requiring cardiopulmonary"
SET DIR("A")=" bypass (Y/N)? "
SET DIR(0)="YA"
DO ^DIR
IF $DATA(DTOUT)!$DATA(DUOUT)
SET SRQ=1
QUIT
+1 IF 'Y
SET SRQ=1
+2 QUIT
HELP KILL SRHLP
SET SRHLP(1)="This is the category of emergency reflecting the patient's cardiovascular"
SET SRHLP(2)="condition at the time of transport to the operating room:"
SET SRHLP(3)=""
+1 SET SRHLP(4)="1. Emergent (ongoing ischemia) - Clinical condition mandates immediate"
SET SRHLP(5)="surgery usually on day of catheterization because of ischemia despite"
+2 SET SRHLP(6)="medical therapy, such as intravenous nitroglycerine. Ischemia should"
SET SRHLP(7)="be manifested as chest pain and/or ST-segment depression."
+3 SET SRHLP(8)=""
SET SRHLP(9)="2. Emergent (hemodynamic compromise) - Persistent hypotension (arterial"
SET SRHLP(10)="systolic pressure < 80 mm Hg) and/or low cardiac output (cardiac index"
+4 SET SRHLP(11)="< 2.0 L/min/MxM) despite iontropic and/or mechanical circulatory"
SET SRHLP(12)="support mandates immediates surgery within hours of the cardiac"
SET SRHLP(13)="catheterization."
+5 SET SRHLP(14)=""
SET SRHLP(15)="3. Emergent (arrest with CPR) - Patient is taken to the operating room in"
SET SRHLP(16)="full cardiac arrest with the circulation supported by cardiopulmonary"
+6 SET SRHLP(17)="resuscitation (excludes patients being adequately perfused by a"
SET SRHLP(18)="cardiopulmonary support system)."
SET SRHLP(19)=""
+7 SET SRHLP(20)="Enter the appropriate number to designate the category of emergency."
SET SRHLP(21)=""
SET SRHLP(22)=""
DO EN^DDIOL(.SRHLP)
KILL SRHLP
+8 NEW DIR
SET DIR(0)="FOA"
SET DIR("A")="Enter RETURN to continue: "
DO ^DIR
IF $DATA(DTOUT)!$DATA(DUOUT)
SET SRQ=1
QUIT
+9 QUIT
CHK ; check for missing cardiac assessment information
+1 KILL SRX,SRZZ
FOR SRC="CLIN","LAB","CATH","OP","CAR","OUT","R"
KILL DA,DIC,DIQ,DR,SRY
SET DIC="^SRF("
SET DA=SRTN
SET DIQ="SRY"
SET DIQ(0)="I"
DO @SRC
DO EN^DIQ1
DO ^SROAUTL4
+2 DO RED^SROAUTL4
+3 QUIT
CLIN SET DR="236;237;475;203;347;209;348;510;349;350;240;351;205;352;485;265;264;267;207;353;354;355;474;463"
+1 QUIT
CATH SET DR="476;357;358;359;360;363;415;477;361;362.1;362.2;362.3;478;479;480"
+1 QUIT
R SET DR="418;419;440;.205;.232;470;471;473;472;442;513;515"
+1 QUIT
OP SET DR="364;364.1;1.13;414;414.1;.22;.23"
+1 QUIT
OUT SET DR="384"
+1 QUIT
CAR SET DR="365;366;464;465;416;367;368;369;370;371;481;483;512;376;380;378;377;379;373;372;505;502;381;382;451;450;468;469"
+1 IF $PIECE($GET(^SRF(SRTN,209)),"^",13)="Y"!($PIECE($GET(^SRF(SRTN,209)),"^",13)="")
SET DR=DR_";484"
+2 QUIT
LAB SET DR="457;457.1;461;461.1;462;462.1;458;458.1;459;459.1;460;460.1;223;290;225;292;219;239;504;504.1"
+1 QUIT