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

PSODEARU.m

Go to the documentation of this file.
  1. PSODEARU ;WILM/BDB - EPCS Utilities and Reports; [5/7/02 5:53am] ;10/5/21 14:50
  1. ;;7.0;OUTPATIENT PHARMACY;**667,545,731**;DEC 1997;Build 18
  1. ;External reference to DEA NUMBERS file (#8991.9) is supported by DBIA 7002
  1. ;External reference to XUEPCS DATA file (#8991.6) is supported by DBIA 7015
  1. ;External reference to XUEPCS PSDRPH AUDIT file (#8991.7) is supported by DBIA 7016
  1. ;External reference to KEYS sub-file (#200.051) is supported by DBIA 7054
  1. ;
  1. Q
  1. ;
  1. OENDL(PSONS,BDT,EDT,FN) ;
  1. I '+$G(GUIFLAG) K IOP,%ZIS S PSOION=ION,%ZIS="M" D ^%ZIS I POP S IOP=PSOION D ^%ZIS Q
  1. N PAGE,LINE,LEN,XTV,ARR,I,J,RHD,HCL,FSP,RDT,DV,DVS,FE
  1. N HEADER,DIVDA,PSODIV,START,DA,DATA,IEN K DIRUT
  1. N PROVNAME,EDITOR,FLDNAME,OLDVAL,NEWVAL,EDITDATE,DEA,SRCFILE
  1. K ^XTMP(PSONS,$J),^TMP($J,"EPCSRPT")
  1. S LD=BDT F S LD=$O(^XTV(FN,"DT",LD)) Q:'LD!(LD>EDT) D
  1. . S ND=0 F S ND=$O(^XTV(FN,"DT",LD,ND)) Q:'ND D
  1. .. Q:'$D(^XTV(FN,ND,0))
  1. .. S DAT=^XTV(FN,ND,0)
  1. .. I FN=8991.6 I $P(DAT,"^",3)=.03 Q ;P731 detox/x-waiver removal
  1. .. S IEN=$P(DAT,"^")
  1. .. S (DV,DVS)=0 F S DV=$O(^VA(200,IEN,2,DV)) Q:('DV)&(DVS>0) S:'DV DV=999999 D
  1. ... S DVS=DVS+1
  1. ... S ^XTMP(PSONS,$J,DV,LD,ND)=""
  1. I '$D(^XTMP(PSONS,$J)) D Q
  1. . U IO W !," *************** NO MATCHING DATA ***************",!!
  1. S HEADER="Division^Provider Name^Edited by Name^Field Name^Original Data^Edited Data^Source File^Date Edited^DEA Number"
  1. I +$G(GUIFLAG) S ROW=1 S ^TMP($J,"EPCSRPT",ROW)=HEADER
  1. I '+$G(GUIFLAG) U IO W !,$TR(HEADER,"^","|")
  1. S DIVDA="" F S DIVDA=$O(^XTMP(PSONS,$J,DIVDA)) Q:'DIVDA D
  1. . S PSODIV=$S(DIVDA=999999:"NO DIVISION",1:$$GET1^DIQ(4,DIVDA,.01))
  1. . S START=0 F S START=$O(^XTMP(PSONS,$J,DIVDA,START)) Q:'START D Q:$D(DIRUT)
  1. .. S DA=0 F S DA=$O(^XTMP(PSONS,$J,DIVDA,START,DA)) Q:'DA D Q:$D(DIRUT)
  1. ... S DATA=^XTV(FN,DA,0),IEN=$P(DATA,"^"),FE=$P(DATA,"^",3)
  1. ... D GETS^DIQ(FN,DA,".01;.02;.03;.04;.05;.06;.08","E","XTV")
  1. ... S PROVNAME=$G(XTV(FN,DA_",",.01,"E"))
  1. ... S EDITOR=$G(XTV(FN,DA_",",.02,"E"))
  1. ... S FLDNAME=$P($G(^DD($S(FE>50:200,1:8991.9),FE,0)),U)
  1. ... I FE=.04 D
  1. .... S Y=$P(DATA,"^",4) X ^DD("DD") S OLDVAL=Y
  1. .... S Y=$P(DATA,"^",5) X ^DD("DD") S NEWVAL=Y
  1. ... I FE'=.04 D
  1. .... S OLDVAL=$S($G(XTV(FN,DA_",",.04,"E"))="True":1,$G(XTV(FN,DA_",",.04,"E"))="False":0,1:$G(XTV(FN,DA_",",.04,"E")))
  1. .... S NEWVAL=$S($G(XTV(FN,DA_",",.05,"E"))="True":1,$G(XTV(FN,DA_",",.05,"E"))="False":0,1:$G(XTV(FN,DA_",",.05,"E")))
  1. ... S SRCFILE=$S(FE>50:200,1:8991.9)
  1. ... S Y=$P($P(DATA,"^",6),".",1) X ^DD("DD") S EDITDATE=Y
  1. ... S DEA=$P(DATA,"^",8)
  1. ... S RECORD=PSODIV_U_PROVNAME_U_EDITOR_U_FLDNAME_U_OLDVAL_U_NEWVAL_U_SRCFILE_U_EDITDATE_U_DEA
  1. ... I +$G(GUIFLAG) S ROW=ROW+1 S ^TMP($J,"EPCSRPT",ROW)=RECORD
  1. ... I '+$G(GUIFLAG) W !,$TR(RECORD,"^","|")
  1. I '+$G(GUIFLAG) W !!,"End of Report. If 'Logging', please turn off 'Logging'.",! K DIR S DIR(0)="E",DIR("A")="Press Return to continue" D ^DIR K DIR
  1. Q
  1. EXPORT(PSONS,BDT,EDT,FN) ;Put in delimited format for exporting to Excel
  1. N GUIFLAG,ROW
  1. S GUIFLAG=1
  1. D OENDL^PSODEARU(PSONS,BDT,EDT,FN)
  1. Q
  1. TYPE ;Prompt for report format or delimited list
  1. W ! K DIR,Y S DIR(0)="SA^P:Print List;D:Delimited File"
  1. S DIR("?",1)="Enter 'P' to see the output in a report format,"
  1. S DIR("?")="enter 'D' for a delimited list that can be exported to excel."
  1. S DIR("A")="Select (P)rint Report or (D)elimited File: "
  1. D ^DIR K DIR I $D(DIRUT) S PSOOUT=1 Q
  1. S PSOTYP=Y
  1. Q
  1. ;
  1. DL ;Delimited File message
  1. ;
  1. W !!,"You have selected the delimited file output." D YN Q:$G(PSOOUT)
  1. W @IOF
  1. W !,"The report output will be displayed on the screen in a delimited format, so"
  1. W !,"it can be captured and exported. If you are using Reflections, you can turn"
  1. W !,"logging on by selecting 'Tools' on the top of the screen, then"
  1. W !,"select 'Logging' and capture to your desired location. To avoid undesired"
  1. W !,"wrapping, you may need to set your terminal session display settings to"
  1. W !,"180 columns. Please enter '0;180;9999' at the 'DEVICE:' prompt. Lines"
  1. W !,"may need to be deleted at the top and bottom of the logged file before"
  1. W !,"importing."
  1. W !!,"The format of the output is as follows, using '|' as the delimiter:"
  1. W !,"Division|Provider Name|Edited by Name|Field Name|Original Data|Edited Data"
  1. W !,"|Source File|Date Edited|DEA Number"
  1. D YN
  1. Q
  1. ;
  1. YN ;yes or no prompt if no audited fields found for a file
  1. W ! K DIR,Y,PSOOUT S DIR(0)="E",DIR("A")="Press Return to continue" D ^DIR K DIR
  1. I $D(DTOUT)!($D(DUOUT))!('Y) S PSOOUT=1
  1. Q
  1. ;