| 1 | GMRCDPCK ;SLC/DCM - Check for a duplicate Consult/Request that has a status of active, pending or scheduled ;5/20/98  14:20
 | 
|---|
| 2 |  ;;3.0;CONSULT/REQUEST TRACKING;**1**;DEC 27, 1997
 | 
|---|
| 3 | EN(PTN,GMRCPRC,GMRCSVC) ;Main entry point
 | 
|---|
| 4 |  ;PTN=DFN, Patient IEN from ^DPT(
 | 
|---|
| 5 |  ;GMRCPRC=PROCEDURE, FROM PROTOCOL FILE - ^ORD(101,GMRCPRC
 | 
|---|
| 6 |  ;GMRCSVC=Service Name - i.e., 'MEDICINE' (this is not the IEN from file 123.5.
 | 
|---|
| 7 |  Q:GMRCSVC=""
 | 
|---|
| 8 |  K GMRCQUT N STS
 | 
|---|
| 9 |  S GMRCTO=$O(^GMR(123.5,"B",GMRCSVC,0)),GMRCDUP=0
 | 
|---|
| 10 |  S X1=DT,X2=-365 D C^%DTC S GMRCMDT=9999999-X ;Only look back 12 months for duplicates
 | 
|---|
| 11 |  F STS=5,6,8 S GMRCDATE=0 D
 | 
|---|
| 12 |  .F  S GMRCDATE=$O(^GMR(123,"AE",GMRCTO,STS,GMRCDATE)) Q:GMRCDATE>GMRCMDT!(GMRCDATE="")  S GMRCIEN=$O(^GMR(123,"AE",GMRCTO,STS,GMRCDATE,0)),GMRC(0)=^GMR(123,GMRCIEN,0) D
 | 
|---|
| 13 |  ..I $P(GMRC(0),"^",2)=PTN,$P(GMRC(0),"^",8)=GMRCPRC S Y=9999999-GMRCDATE X ^DD("DD") S GMRCDUP=GMRCDUP+1 D
 | 
|---|
| 14 |  ...W $C(7),!!,"A"_$S(GMRCDUP>1:"n Other",1:"")_" Consult/Request Order For an ",$S($D(^ORD(101,+GMRCPRI,.1)):^(.1),GMRCPR]"":GMRCPR,1:"")," Exists.",!!?10,"Date Ordered: ",$P(Y,"@",1),$S($P(Y,"@",2):" At "_$P(Y,"@",2),1:"")
 | 
|---|
| 15 |  ...W !?10,"Current Status: ",$S(STS=5:"Pending",STS=6:"Active",STS=8:"Scheduled: ",1:"No Status")
 | 
|---|
| 16 |  ...W !?10,"Ordering Provider: ",$S($P(GMRC(0),"^",14)]"":$P(^VA(200,$P(GMRC(0),"^",14),0),"^",1),1:"Unknown")
 | 
|---|
| 17 |  ...S GMRC(0)=""
 | 
|---|
| 18 |  ...Q
 | 
|---|
| 19 |  ..Q
 | 
|---|
| 20 |  .Q
 | 
|---|
| 21 |  I GMRCDUP>1 W !!,"Multiple Orders ("_GMRCDUP_") For a/an "_$S($D(^ORD(101,+GMRCPRI,.1)):^(.1),GMRCPR]"":GMRCPR,1:"")_" Exist."
 | 
|---|
| 22 |  I GMRCDUP W !!,"Do You Want To Continue - And Complete - This Order Anyway? N// " R Y:DTIME I $S(Y="":1,Y["N":1,Y["n":1,1:0) S GMRCQUT=1
 | 
|---|
| 23 |  K GMRC(0),GMRCDATE,GMRCDUP,GMRCIEN,GMRCMDT,GMRCTO
 | 
|---|