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

PXQUTL.m

Go to the documentation of this file.
  1. PXQUTL ;ISL/JVS - FUNCTION CALLS FOR DEBUGGING UTILITIES;8/29/96 10:34 ;3/26/97 09:25
  1. ;;1.0;PCE PATIENT CARE ENCOUNTER;**4,14,29**;Aug 12, 1996
  1. ;
  1. LCFLE() ;--LOCATION FILES
  1. N LOCCNT,IHSCNT
  1. ;--COUNT FROM LOCATION FILE 4
  1. S LOCCNT=$P($G(^DIC(4,0)),"^",3)
  1. ;--COUNT FROM IHS LOCATION FILE 9999999.06
  1. S IHSCNT=$P($G(^AUTTLOC(0)),"^",3)
  1. Q LOCCNT_"^"_IHSCNT
  1. ;
  1. PTFLE() ;--PATIENT FILES
  1. N DPTCNT,IHSCNT
  1. ;--COUNT FROM DPT FILE 2
  1. S DPTCNT=$P($G(^DPT(0)),"^",3)
  1. ;--COUNT FORM AUPNPAT FILE 9000010
  1. S IHSCNT=$P($G(^AUPNPAT(0)),"^",3)
  1. Q DPTCNT_"^"_IHSCNT
  1. ;
  1. RE(ENTRY) ;--RECORD ENTRY TO BE PRINTED
  1. Q:$G(ENTRY)="" ""
  1. I $L(ENTRY)>80 S ENTRY=$E(ENTRY,1,78)_""""
  1. S PXQRECI=PXQRECI+1
  1. S ^TMP("PXQRECORD",$J,PXQRECI,ENTRY)=""
  1. Q ""
  1. ;
  1. READ ;--READ
  1. N VAR,I,ANS,DX,DY
  1. W !,"**************************************************************"
  1. S (DX,DY)=0 X ^%ZOSF("XY")
  1. S I=0
  1. I '$G(CNT) S CNT=0
  1. F S I=$O(^TMP("PXQRECORD",$J,I)) Q:I="" D
  1. .S VAR=$O(^TMP("PXQRECORD",$J,I,0))
  1. .;--NEW 3/25/97
  1. .I VAR["^" S VAR=$TR(VAR,"?!","11")
  1. .;--END OF NEW
  1. .I VAR'["?"&(VAR'["!") W !,$O(^TMP("PXQRECORD",$J,I,0))
  1. .I VAR["?"!(VAR["!") W !,@$O(^TMP("PXQRECORD",$J,I,0))
  1. .S CNT=CNT+1
  1. .;I $Y>(IOSL-2) D
  1. .I CNT>(IOSL-4) S CNT=0 D
  1. ..I IOST["C-" R !,"ENTER to continue",ANS:DTIME
  1. ..I $G(ANS)="^" S I=9999999999999
  1. ..S (DX,DY)=0 X ^%ZOSF("XY")
  1. K ^TMP("PXQRECORD",$J),PXQPRM
  1. I IOST["C-",$G(ANS)'="^" R !," END OF DISPLAY",ANS:DTIME
  1. ;I IOST["C-",$G(ANS)'="^" W !," END OF DISPLAY"
  1. Q
  1. ASKPAT() ;Ask user for a patient
  1. ;DIC on file 9000001
  1. N DIR,DIC,Y,X,DA
  1. S DIR(0)="PO^9000001:AEMQ"
  1. S DIR("A")="Patient Name"
  1. D ^DIR
  1. Q $S(+Y>0:+Y,1:-1)
  1. ;
  1. ;
  1. ASKNUM() ;Ask user for a VISIT
  1. ;DIC on file 9000010
  1. N DIR,DIC,Y,X,DA
  1. I $D(^DISV(DUZ,"PXQREP3")) S DIR("B")=$G(^DISV(DUZ,"PXQREP3"))
  1. S DIR(0)="P^9000010:AEMQ"
  1. S DIR("A")="Enter VISIT (UNIQUE ID or `1239)"
  1. D ^DIR
  1. Q $S(+Y>0:+Y,1:-1)
  1. ;
  1. ASKNUM1() ;Ask user for a VISIT
  1. ;DIC on file 9000010
  1. N DIC,Y,X,DA
  1. I $D(^DISV(DUZ,"PXQREP3")) S DIR("B")=$G(^DISV(DUZ,"PXQREP3"))
  1. S DIR(0)="P^9000010:AEMQ"
  1. S DIR("A")="Enter VISIT (UNIQUE ID or `1239)"
  1. D ^DIR
  1. Q $S(+Y>0:+Y,1:-1)
  1. ;
  1. ASKENC() ;Ask user for a ENCOUNTER
  1. ;DIC on file 409.68
  1. N DIR,DIC,Y,X,DA
  1. S DIR(0)="P^409.68:AEMQ"
  1. S DIR("A")="Enter ENCOUNTER (`2344)"
  1. D ^DIR
  1. Q $S(+Y>0:+Y,1:-1)
  1. ;
  1. ;
  1. SOR(IEN) ;--SOURCE IF SELECTED FROM MENU
  1. Q:'$G(IEN) ""
  1. W $$RE^PXQUTL("!")
  1. W $$RE^PXQUTL("----------------VISIT "_IEN_"---SOURCES-------------")
  1. ;
  1. ;
  1. ;
  1. S DATEC=$P($G(^AUPNVSIT(IEN,0)),"^",2) D
  1. .S Y=DATEC D DD^%DT S DATEC=Y
  1. W $$RE^PXQUTL("?5,""CREATED : ""_DATEC")
  1. ;
  1. ;
  1. S DATEE=$P($G(^AUPNVSIT(IEN,0)),"^",13) D
  1. .S Y=DATEE D DD^%DT S DATEE=Y
  1. W $$RE^PXQUTL("?5,""EDITED : ""_DATEE")
  1. ;
  1. ;
  1. S USER=$S(+$P($G(^AUPNVSIT(IEN,0)),"^",23)>0:$P(^VA(200,+$P($G(^AUPNVSIT(IEN,0)),"^",23),0),"^",1),1:"")
  1. W $$RE^PXQUTL("?5,""USER : ""_USER")
  1. ;
  1. ;
  1. I $D(^DIC(19,+$P($G(^AUPNVSIT(IEN,0)),"^",24),0)) D
  1. .S OPTION=$S(+$P($G(^AUPNVSIT(IEN,0)),"^",24)>0:$P(^DIC(19,+$P($G(^AUPNVSIT(IEN,0)),"^",24),0),"^",2),1:"")
  1. .W $$RE^PXQUTL("?5,""OPTION : ""_OPTION")
  1. ;
  1. I $D(^ORD(101,+$P($G(^AUPNVSIT(IEN,0)),"^",25),0)) D
  1. .S PROTOCOL=$S(+$P($G(^AUPNVSIT(IEN,0)),"^",25)>0:$P(^ORD(101,+$P($G(^AUPNVSIT(IEN,0)),"^",25),0),"^",2),1:"")
  1. .W $$RE^PXQUTL("?5,""PROTOCOL: ""_PROTOCOL")
  1. ;
  1. ;
  1. I $D(^DIC(9.4,+$P($G(^AUPNVSIT(IEN,812)),"^",2),0)) D
  1. .S PACKAGE=$S(+$P($G(^AUPNVSIT(IEN,812)),"^",2)>0:$P(^DIC(9.4,+$P($G(^AUPNVSIT(IEN,812)),"^",2),0),"^",1),1:"")
  1. .W $$RE^PXQUTL("?5,""PACKAGE : ""_PACKAGE")
  1. ;
  1. ;
  1. I $P($G(^AUPNVSIT(IEN,812)),"^",3) D
  1. .I $D(^PX(839.7,$P($G(^AUPNVSIT(IEN,812)),"^",3),0)) D
  1. ..S SOURCE=$S(+$P($G(^AUPNVSIT(IEN,812)),"^",3)>0:$P(^PX(839.7,+$P($G(^AUPNVSIT(IEN,812)),"^",3),0),"^",1),1:"")
  1. ..W $$RE^PXQUTL("?5,""SOURCE : ""_SOURCE")
  1. ;
  1. W $$RE^PXQUTL("______________________________________________________")
  1. Q ""
  1. ;
  1. SDV ;--IF AN APPOINTMENT ON THAT DAY
  1. N JUNK,PATIENT,ENTRY,CNT,CS,DAY,DAY2,ERR,POINT,STOP
  1. N PXC,PXCC,PXCCC,PXCCCC
  1. S (PXC,PXCC,PXCCC,PXCCCC)=""
  1. I $G(BROKEN),'$G(DFN),'$G(PATIENT),'$G(DATE) Q
  1. I $G(DFN) S PATIENT=DFN
  1. I '$G(DFN) S (PATIENT,DFN)=$P(^AUPNVSIT(IEN,0),"^",5)
  1. Q:'$G(PATIENT)
  1. I '$G(BROKEN) S DATE=$P(^AUPNVSIT(IEN,0),"^",1)
  1. S CNT=0
  1. S DAY=$P(DATE,".",1)
  1. F S DAY=$O(^SDV("C",PATIENT,DAY)) Q:DAY'[$P(DATE,".",1) S CNT=CNT+1 D
  1. .W $$RE^PXQUTL("!")
  1. .W !
  1. .S REF="^SDV(DAY)"
  1. .F S REF=$Q(@REF) Q:REF'[DAY S DAY2=$P($P(REF,"(",2),",") I '$G(ERR),$P($G(^SDV(DAY2,0)),"^",2)=PATIENT,REF'["""CS"",""B""," S ENTRY=REF_" = "_@REF W $$RE^PXQUTL(ENTRY) I REF["""PR""" D CPT2
  1. .;---
  1. .W $$RE^PXQUTL(" ")
  1. .S CS=0 F S CS=$O(^SDV(DAY2,"CS",CS)) Q:CS'>0 D
  1. ..Q:$P($G(^SDV(DAY2,0)),"^",2)'=PATIENT
  1. ..S POINT=$P($G(^SDV(DAY2,"CS",CS,0)),"^",1)
  1. ..S STOP=$G(^DIC(40.7,POINT,0))
  1. ..W $$RE^PXQUTL("STOP CODE "_POINT_" = "_STOP)
  1. .S PXC=0 F S PXC=$O(PXQSDV(PXC)) Q:PXC="" Q:'$D(PXQSDV) D
  1. ..S PXCC=$O(PXQSDV(PXC,0))
  1. ..S PXCCC=$E($P($G(^ICPT(PXC,0)),"^",2),1,30)
  1. ..S PXCCCC=$P($G(^ICPT(PXC,0)),"^",1)
  1. ..S ENTRY="CPT "_$G(PXCCCC)_" - "_$G(PXCCC)_" = "_$G(PXCC)_" TIMES"
  1. ..W $$RE^PXQUTL(ENTRY)
  1. D CPT
  1. K PXQSDV,DATE
  1. W $$RE^PXQUTL(" ")
  1. Q
  1. CPT ;--PROCEDURES
  1. I $D(^AUPNVCPT("AD",VISIT)),CNT=0 W $$RE^PXQUTL("THERE ARE PROCEDURES IN PCE BUT NO RECORD IN SCHEDULING **")
  1. Q
  1. CPT2 ;--COUNT PROCEDURES
  1. N PXQC,PXQQ
  1. S PXQQ=0
  1. F I=1:1:5 S PXQC=$P(@REF,"^",I) I PXQC]"" D
  1. .I $D(PXQSDV(PXQC)) S PXQQ=$O(PXQSDV(PXQC,0))
  1. .K PXQSDV(PXQC,PXQQ)
  1. .S PXQSDV(PXQC,(PXQQ+1))=""
  1. .S PXQQ=0
  1. Q
  1. ;
  1. ;
  1. EXP(ROOT,IEN) ;---EXPAND ENTRIES
  1. N I,REF,REF2,ENTRY
  1. I ROOT["SCE",$P($G(^SCE(IEN,0)),"^",6)']"",$G(PXQPRM)=1 D
  1. .W $$RE^PXQUTL(" ~~~~ERROR~~~")
  1. .W $$RE^PXQUTL("** There is more Than 1 PARENT OUTPATIENT ENCOUNTER pointing to the same VISIT**")
  1. .W $$RE^PXQUTL(" ")
  1. I ROOT["SCE"&($P($G(^SCE(IEN,0)),"^",6)']"") S PXQPRM=1
  1. I $G(BROKEN),ROOT["AUPNVCPT" S (DFN,PATIENT)=$P($G(^AUPNVCPT(IEN,0)),"^",2)
  1. I $G(BROKEN),ROOT["SCE",'$G(DATE) S DATE=$P($G(^SCE(IEN,0)),"^",1),(DFN,PATIENT)=$P($G(^SCE(IEN,0)),"^",2)
  1. S REF=$P(ROOT,"""",1)_IEN_")"
  1. S REF2=$P(ROOT,"""",1)_IEN
  1. F S REF=$Q(@REF) Q:REF'[REF2 S ENTRY=REF_" = "_@REF W $$RE^PXQUTL($G(ENTRY))
  1. W $$RE^PXQUTL(" ")
  1. Q ""