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

PXKMASC.m

Go to the documentation of this file.
  1. PXKMASC ;ISL/JVS - Build and Pass to auto-check-out ;7/25/96 08:53
  1. ;;1.0;PCE PATIENT CARE ENCOUNTER;**22,41,73**;Aug 12, 1996
  1. ; Builds and passes data to MAS for Auto-checkout
  1. ;Variable List
  1. ;
  1. EN1 ;Build the Temp global for MAS AND THE WORLD.
  1. ;S PXKGN=$P($T(GLOBAL^@PXKRTN),";;",2)_"("_PXKPIEN_","
  1. ;^TMP("PXKCO",$J,<VISIT IEN>,"PRV",<PROVIDER ien>,0,"AFTER")=DATA
  1. ; "" "" "" ,"BEFORE")=DATA
  1. N PXKGG,PXKSUB,PXKMOD,PXKSEQ
  1. Q:PXKSOR=$O(^PX(839.7,"B","PIMS CHECK-OUT",0))
  1. S PXKGG=0
  1. S PXKSUB=""
  1. F S PXKSUB=$O(PXKAFT(PXKSUB)) Q:PXKSUB="" D
  1. . I PXKSUB'=1 D PXGO Q
  1. . S PXKSEQ=""
  1. . F S PXKSEQ=$O(PXKAFT(PXKSUB,PXKSEQ)) Q:PXKSEQ="" D
  1. .. S PXKMOD=PXKAFT(PXKSUB,PXKSEQ)
  1. .. D PXGO
  1. Q
  1. PXGO ;
  1. S PXKGG=0
  1. S PXKGN=$P($T(GLOBAL^@PXKRTN),";;",2)_"("_PXKPIEN_","
  1. I PXKSUB'=1 D
  1. . I $D(^TMP("PXKCO",$J,PXKVST,PXKCAT,PXKPIEN,PXKSUB,"BEFORE")) S PXKGG=1
  1. . S PXKGN=PXKGN_PXKSUB_")"
  1. I PXKSUB=1 D
  1. . I PXKMOD]"",$D(^TMP("PXKCO",$J,PXKVST,PXKCAT,PXKPIEN,PXKSUB,"BEFORE",PXKMOD)) S PXKGG=1
  1. . S PXKGN=PXKGN_PXKSUB_","_PXKSEQ_","_0_")"
  1. D @$S(PXKGG=1:"DUP",1:"ORG")
  1. D DEL
  1. D PTR
  1. Q
  1. ;
  1. DUP ;Overwrite if a duplicate just the After Node
  1. I PXKSUB'=1 D Q
  1. . S ^TMP("PXKCO",$J,PXKVST,PXKCAT,PXKPIEN,PXKSUB,"AFTER")=$G(@PXKGN)
  1. I $G(@PXKGN)]"" D
  1. . S ^TMP("PXKCO",$J,PXKVST,PXKCAT,PXKPIEN,PXKSUB,"AFTER",$G(@PXKGN))=""
  1. Q
  1. ;
  1. ORG ;If original copy both
  1. I PXKSUB'=1 D Q
  1. . S ^TMP("PXKCO",$J,PXKVST,PXKCAT,PXKPIEN,PXKSUB,"AFTER")=$G(@PXKGN)
  1. . S ^TMP("PXKCO",$J,PXKVST,PXKCAT,PXKPIEN,PXKSUB,"BEFORE")=$G(PXKBEF(PXKSUB))
  1. I $G(@PXKGN)]"" D
  1. . S ^TMP("PXKCO",$J,PXKVST,PXKCAT,PXKPIEN,PXKSUB,"AFTER",$G(@PXKGN))=""
  1. I $G(PXKBEF(PXKSUB,PXKSEQ))]"" D
  1. . S ^TMP("PXKCO",$J,PXKVST,PXKCAT,PXKPIEN,PXKSUB,"BEFORE",PXKBEF(PXKSUB,PXKSEQ))=""
  1. Q
  1. ;
  1. DEL ;DELETE IF BOTH ARE NULL
  1. I '$D(^TMP("PXKCO",$J,PXKVST,PXKCAT,PXKPIEN,0)) D
  1. .K ^TMP("PXKCO",$J,PXKVST,PXKCAT,PXKPIEN)
  1. I $G(^TMP("PXKCO",$J,PXKVST,PXKCAT,PXKPIEN,0,"AFTER"))']"" D
  1. .I $G(^TMP("PXKCO",$J,PXKVST,PXKCAT,PXKPIEN,0,"BEFORE"))']"" D
  1. ..K ^TMP("PXKCO",$J,PXKVST,PXKCAT,PXKPIEN)
  1. I $P($G(^TMP("PXKCO",$J,PXKVST,PXKCAT,PXKPIEN,0,"AFTER")),"^",1)="@" D
  1. .K ^TMP("PXKCO",$J,PXKVST,PXKCAT,PXKPIEN)
  1. Q
  1. ;
  1. PTR ; Set the Provider Narriative equal to the pointer in the files etc.
  1. N PXJ,PXJJ,PXJJJ,PXKR
  1. I $D(PXKPTR) S PXJ="" F S PXJ=$O(PXKPTR(PXJ)) Q:PXJ="" D
  1. .S PXJJ="" F S PXJJ=$O(PXKPTR(PXJ,PXJJ)) Q:PXJJ="" D
  1. ..S PXJJJ="" F S PXJJJ=$O(PXKPTR(PXJ,PXJJ,PXJJJ)) Q:PXJJJ="" D
  1. ...S PXKR=$P($T(GLOBAL^@PXKRTN),";;",2)_"("_PXJ_","_PXJJ_")"
  1. ...I $D(^TMP("PXKCO",$J,PXKVST,PXKCAT,PXJ,PXJJ,"AFTER")) D
  1. ....S $P(^TMP("PXKCO",$J,PXKVST,PXKCAT,PXJ,PXJJ,"AFTER"),"^",PXJJJ)=$P($G(@PXKR),"^",PXJJJ)
  1. Q
  1. ;
  1. EVENT ; EVENT TO PRESENT THE DATA TO OTHER USERS
  1. Q:'$D(PXKCO("SOR"))
  1. I '$D(^TMP("PXKCO",$J)) Q
  1. S PXKVVST=+$O(^TMP("PXKCO",$J,0))
  1. S ^TMP("PXKCO",$J,PXKVVST,"VST",PXKVVST,0,"AFTER")=$G(^AUPNVSIT(PXKVVST,0))
  1. S ^TMP("PXKCO",$J,PXKVVST,"VST",PXKVVST,21,"AFTER")=$G(^AUPNVSIT(PXKVVST,21))
  1. S ^TMP("PXKCO",$J,PXKVVST,"VST",PXKVVST,800,"AFTER")=$G(^AUPNVSIT(PXKVVST,800))
  1. S ^TMP("PXKCO",$J,PXKVVST,"VST",PXKVVST,811,"AFTER")=$G(^AUPNVSIT(PXKVVST,811))
  1. S ^TMP("PXKCO",$J,PXKVVST,"VST",PXKVVST,150,"AFTER")=$G(^AUPNVSIT(PXKVVST,150))
  1. S ^TMP("PXKCO",$J,PXKVVST,"SOR",PXKCO("SOR"),0,"AFTER")=$G(^PX(839.7,PXKCO("SOR"),0))
  1. S ^TMP("PXKCO",$J,PXKVVST,"SOR",PXKCO("SOR"),0,"BEFORE")=$G(^PX(839.7,PXKCO("SOR"),0))
  1. S X=+$O(^ORD(101,"B","PXK VISIT DATA EVENT",0))_";ORD(101,"
  1. ;D ENCEVENT^PXKENC(PXKVVST) ;makes the ^TMP("PXKENC",$J, array
  1. D COEVENT^PXKENC(PXKVVST) ;finishes the ^TMP("PXKCO",$J array
  1. D EN^XQOR
  1. D FINAL^SCDXHLDR(PXKVVST,$G(PXKVST))
  1. UPD ;UP DATE VISIT FILE
  1. ;--REMOVE CHECK OUT DATE TIME
  1. N VSIT
  1. I $D(PXKVVST),$D(^AUPNVSIT(PXKVVST)) S VSIT("IEN")=PXKVVST,VSIT("COD")="@" D UPD^VSIT
  1. K ^TMP("PXKCO",$J),PXKVVST,PXKCO,VSIT
  1. K ^TMP("PXKENC",$J)
  1. Q