| 1 | SRSRQST ;BIR/MAM,ADM - MAKE OPERATION REQUESTS ;11/01/01  9:40 AM
 | 
|---|
| 2 |  ;;3.0; Surgery ;**3,58,67,88,103,105,100,144**;24 Jun 93
 | 
|---|
| 3 | MUST S SRLINE="" F I=1:1:80 S SRLINE=SRLINE_"="
 | 
|---|
| 4 |  W @IOF W:$D(SRCC) !,?29,$S(SRSCON=1:"FIRST",1:"SECOND")_" CONCURRENT CASE" W !,?20,"OPERATION REQUEST: REQUIRED INFORMATION",!!,SRNM_" ("_SRSSN_")",?65,SREQDT,!,SRLINE,!
 | 
|---|
| 5 | SURG ; surgeon
 | 
|---|
| 6 |  K DIR S DIR(0)="130,.14",DIR("A")="Surgeon" D ^DIR K DIR I $D(DTOUT)!(X="^") S SRSOUT=1 G END
 | 
|---|
| 7 |  I Y=""!(X["^") W !!,"To make an operation request, a Surgeon MUST be selected.  Enter '^' to exit.",! G SURG
 | 
|---|
| 8 |  S SRSDOC=+Y
 | 
|---|
| 9 | CASE K DA,DIC,DD,DO,DINUM,SRTN S X=SRSDPT,DIC="^SRF(",DIC(0)="L",DLAYGO=130 D FILE^DICN K DD,DO,DIC,DLAYGO S SRTN=+Y
 | 
|---|
| 10 |  N SRLCK S SRLCK=$$LOCK^SROUTL(SRTN)
 | 
|---|
| 11 |  S ^SRF(SRTN,8)=SRSITE("DIV"),^SRF(SRTN,"OP")=""
 | 
|---|
| 12 |  D NOW^%DTC S SREQDAY=+$E(%,1,12),SRNOCON=1 K DR,DIE
 | 
|---|
| 13 |  S DA=SRTN,DIE=130,DR="36////1;Q;.09////"_SRSDATE_";.14////"_SRSDOC_";1.098////"_+SREQDAY_";1.099////"_DUZ_";Q" D ^DIE K DR
 | 
|---|
| 14 | ASURG ; attending surgeon
 | 
|---|
| 15 |  K DIR S DIR(0)="130,.164",DIR("A")="Attending Surgeon" D ^DIR K DIR I $D(DTOUT)!(X="^") S SRSOUT=1 G DEL
 | 
|---|
| 16 |  I Y=""!(X["^") W !!,"To make an operation request, Attending Surgeon MUST be selected.  Enter '^' to exit.",! G ASURG
 | 
|---|
| 17 |  S SRATTND=+Y
 | 
|---|
| 18 | SPEC ; surgical specialty
 | 
|---|
| 19 |  I SRWL W !,"Surgical Specialty: "_$P(^SRO(137.45,SRSS,0),"^") G OP
 | 
|---|
| 20 |  K DIR S DIR(0)="130,.04",DIR("A")="Surgical Specialty" D ^DIR K DIR I $D(DTOUT)!(X="^") S SRSOUT=1 G DEL
 | 
|---|
| 21 |  I Y=""!(X["^") W !!,"To make an operation request, a Surgical Specialty MUST be selected.  Enter '^'",!,"to exit.",! G SPEC
 | 
|---|
| 22 |  S SRSS=+Y
 | 
|---|
| 23 | OP ; principal operative procedure
 | 
|---|
| 24 |  I SRWL W !,"Principal Operative Procedure: "_SRSOP G OPD
 | 
|---|
| 25 |  K DIR S DIR(0)="130,26",DIR("A")="Principal Operative Procedure" D ^DIR K DIR I $D(DTOUT)!(X="^") S SRSOUT=1 G DEL
 | 
|---|
| 26 |  I X["^" W !!,"Principal procedure must not contain an up-arrow (^).",! G OP
 | 
|---|
| 27 |  S SRSOP=Y
 | 
|---|
| 28 | OPD ; Principal Preoperative Diagnosis
 | 
|---|
| 29 |  K DIR S DIR(0)="130,32",DIR("A")="Principal Preoperative Diagnosis" D ^DIR K DIR I $D(DTOUT)!(X="^") S SRSOUT=1 G DEL
 | 
|---|
| 30 |  I Y=""!(X["^") W !,"Principal Preoperative Diagnosis MUST be entered",!,"before proceeding with this request. Enter '^' to exit.",! G OPD
 | 
|---|
| 31 |  I X[";" W !!,"The Principal Preoperative Diagnosis cannot contain a semicolon (;).",!,"Please re-enter the Diagnosis, using commas in place of the semicolons." G OPD
 | 
|---|
| 32 |  S SRSOPD=Y
 | 
|---|
| 33 |  W !!,"The information entered into the Principal Preoperative Diagnosis field",!,"has been transferred into the Indications for Operation field.",!,"The Indications for Operation field can be updated later if necessary.",!
 | 
|---|
| 34 |  W !!,"Press RETURN to continue  " R X:DTIME
 | 
|---|
| 35 | UPDATE S DA=SRTN,DIE=130,DR="26////"_SRSOP_";68////"_SRSOP_";.04////"_SRSS_";.164////"_SRATTND_";32////"_SRSOPD D ^DIE
 | 
|---|
| 36 |  I SRWL K DA,DIE,DR S DA=SRTN,DIE=130,DR=".016////"_SRCL(16)_";.017////"_SRCL(17)_";.018////"_SRCL(18)_";.019////"_SRCL(19)_";.0155////"_SRCL(20)_";.022////"_SRCL(21)_";.023////"_SRCL(22) D ^DIE
 | 
|---|
| 37 |  K DR,DA S DR="[SRO-NOCOMP]",DA=SRTN,DIE=130 D ^DIE K DR
 | 
|---|
| 38 |  S ^SRF(SRTN,8)=SRSITE("DIV") D ^SROXRET K SRNOCON
 | 
|---|
| 39 | OTHER ; other required fields
 | 
|---|
| 40 |  S SRFLD=0 F  S SRFLD=$O(^SRO(133,SRSITE,4,SRFLD)) Q:'SRFLD!(SRSOUT)  D OTHDIR Q:SRSOUT
 | 
|---|
| 41 |  I SRSOUT G DEL
 | 
|---|
| 42 |  S SRSOPD(1)=SRSOPD D WP^DIE(130,SRTN_",",55,"A","SRSOPD")
 | 
|---|
| 43 |  I $D(SRCC),SRSCON=2 S DIE=130,DR="35////"_SRSCON(1),DA=SRTN D ^DIE K DR S DR="35////"_SRTN,DA=SRSCON(1),DIE=130 D ^DIE K DR,DA
 | 
|---|
| 44 |  D ^SROERR I $D(SRDUOUT) S SRSOUT=1 Q
 | 
|---|
| 45 |  I '$D(SRCC) D ^SRSRQST1
 | 
|---|
| 46 |  D:$G(SRLCK) UNLOCK^SROUTL(SRTN)
 | 
|---|
| 47 |  Q
 | 
|---|
| 48 | DEL I SRSOUT S DA=SRTN,DIK="^SRF(" D ^DIK
 | 
|---|
| 49 | END D:$G(SRLCK) UNLOCK^SROUTL(SRTN)
 | 
|---|
| 50 |  I SRSOUT W !!,"No request has been entered.",! S:'$D(SRCC) SRSOUT=0
 | 
|---|
| 51 |  Q
 | 
|---|
| 52 | CON ; request concurrent case
 | 
|---|
| 53 |  D MUST Q:SRSOUT  S SRSCON(SRSCON,"DOC")=$P(^VA(200,SRSDOC,0),"^"),SRSCON(SRSCON,"SS")=$P(^SRO(137.45,SRSS,0),"^"),SRSCON(SRSCON,"OP")=SRSOP,SRSCON(SRSCON)=SRTN K DA
 | 
|---|
| 54 |  Q
 | 
|---|
| 55 | OTHDIR ; call to reader for site specific required fields
 | 
|---|
| 56 |  K DIR,SREQ,SRY S FLD=$P(^SRO(133,SRSITE,4,SRFLD,0),"^") D FIELD^DID(130,FLD,"","TITLE","SRY") S DIR(0)="130,"_FLD,DIR("A")=SRY("TITLE") D ^DIR I $D(DTOUT)!(X="^") S SRSOUT=1 Q
 | 
|---|
| 57 |  I Y=""!(X["^") W !!,"It is mandatory that you provide this information before proceeding with this",!,"request.",! D ASK Q:SRSOUT  G OTHDIR
 | 
|---|
| 58 |  S SREQ(130,SRTN_",",FLD)=$P(Y,"^") D FILE^DIE("","SREQ","^TMP(""SR"",$J)")
 | 
|---|
| 59 |  Q
 | 
|---|
| 60 | ASK K DIR S DIR(0)="Y",DIR("A")="Do you want to continue with this request ",DIR("B")="YES"
 | 
|---|
| 61 |  S DIR("?")="Enter RETURN to continue with this request, or 'NO' to discontinue this request." D ^DIR S:'Y SRSOUT=1
 | 
|---|
| 62 |  Q
 | 
|---|