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

ACHSSIGA.m

Go to the documentation of this file.
  1. ACHSSIGA ;IHS/ITSC/JVK -PROGRAM TO LIST SIGNED PO'S WITH E-SIG [ 01/11/2005 7:31 AM ]
  1. ;;3.1;CONTRACT HEALTH MGMT SYSTEM;**7,19**;JUNE 11,2001
  1. ;;ACHS*3.1*7 - NEW ROUTINE E-SIG REPORT OF SIGNED PO'S
  1. ;;CALLED BY ACHSESIGRPT
  1. ;
  1. TITLE ;;E-Signature Approved
  1. S ACHSIO=IO
  1. S ACHSCNT=0
  1. K X2,X3
  1. BDT ;--ASK THE DATE RANGE--
  1. W !!,"This report captures documents signed over a specific dates range.",!
  1. S ACHSBDT=$$DATE^ACHS("B",$P($T(TITLE),";",3),"E-SIG")
  1. G K:$D(DUOUT)!$D(DTOUT)!(ACHSBDT<1)
  1. EDT ;
  1. S ACHSEDT=$$DATE^ACHS("E",$P($T(TITLE),";",3),"E-SIG")
  1. G K:$D(DTOUT)!(ACHSEDT<1),BDT:$D(DUOUT)
  1. G:$$EBB^ACHS(ACHSBDT,ACHSEDT) EDT
  1. DEV ;
  1. S %=$$PB^ACHS
  1. I %=U!$D(DTOUT)!$D(DUOUT) D K Q
  1. I %="B" D VIEWR^XBLM("PRINT^ACHSSIGA"),EN^XBVK("VALM"),K Q
  1. S %ZIS="OPQ"
  1. D ^%ZIS
  1. I POP D HOME^%ZIS G K
  1. G:'$D(IO("Q")) PRINT
  1. K IO("Q")
  1. I $D(IO("S"))!($E(IOST)'="P") W *7,!,"Please queue to system printers." D ^%ZISC G DEV
  1. ;ITSC/SET/JVK ACHS*3.1*12
  1. ;S ZTRTN="PRINT^ACHSDST",ZTIO="",ZTDESC=$P($T(TITLE),";",3)_", Type "_ACHSRPT_", "_$$FMTE^XLFDT(ACHSBDT)_" to "_$$FMTE^XLFDT(ACHSEDT),ACHSQIO=ION_";"_IOST_";"_IOM_";"_IOSL
  1. S ZTRTN="PRINT^ACHSSIGA",ZTIO="",ZTDESC=$P($T(TITLE),";",3)_", Type "_ACHSRPT_", "_$$FMTE^XLFDT(ACHSBDT)_" to "_$$FMTE^XLFDT(ACHSEDT),ACHSQIO=ION_";"_IOST_";"_IOM_";"_IOSL
  1. F ACHS="ACHSQIO","ACHSBDT","ACHSEDT" S ZTSAVE(ACHS)=""
  1. D ^%ZTLOAD
  1. G:'$D(ZTSK) DEV
  1. K ;
  1. K ACHS,ACHSIO,ACHSQIO,ACHSBDT,ACHSEDT,ACHSRPT,ZTIO,ZTSK
  1. D ^%ZISC
  1. Q
  1. PRINT ;
  1. D FC^ACHSUF
  1. I $D(ACHSERR),ACHSERR=1 K ZTSK G KILL
  1. D BRPT^ACHSFU
  1. S ACHST1=$$C^XBFUNC("Purchase Orders with Electronic Signature",80)
  1. S ACHST2=$$C^XBFUNC("Duing the Period of "_$$FMTE^XLFDT(ACHSBDT)_" through "_$$FMTE^XLFDT(ACHSEDT),80)
  1. D HDR
  1. S X3=0,ACHSBDT=ACHSBDT-1
  1. LOOP1 ;--LOOP THRU THE "ESIG" CROSS REFERENCE--
  1. S ACHSBDT=$O(^ACHSF(DUZ(2),"ESIG",ACHSBDT))
  1. G END:+ACHSBDT=0!(+ACHSBDT>ACHSEDT)
  1. S DA=0
  1. LOOP2 ;
  1. S DA=$O(^ACHSF(DUZ(2),"ESIG",ACHSBDT,DA))
  1. G LOOP1:+DA=0,LOOP1:'$D(^ACHSF(DUZ(2),"D",DA,0))
  1. DATAFLD ;--GET THE DATA FIELDS FOR THE REPORT --
  1. S ACHSDOC1=$P(^ACHSF(DUZ(2),"D",DA,0),U),ACHSDOC2=$P(^(0),U,14)
  1. S ACHSVPTR=$P(^ACHSF(DUZ(2),"D",DA,0),U,8)
  1. S ACHSODT=$P(^ACHSF(DUZ(2),"D",DA,0),U,2)
  1. S ACHS("$")=$P(^ACHSF(DUZ(2),"D",DA,0),U,9),ACHSESIG=$P(^(0),U,24)
  1. S:'$P(^ACHSF(DUZ(2),"D",DA,0),U,3) ACHSPAT=$P(^(0),U,22),ACHSPAT=$P(^DPT(ACHSPAT,0),U)
  1. I $P(^ACHSF(DUZ(2),"D",DA,0),U,3)=1 S ACHSPAT="BLANKET ORDER" ;ACHS*3.1*19
  1. S ACHSESIG=$P(^VA(200,ACHSESIG,0),U)
  1. S ACHSESIG=$P(ACHSESIG,",",2)_" "_$P(ACHSESIG,",",1)
  1. ;**TESTING**
  1. S ACHSASIG=$P($G(^ACHSF(DUZ(2),"D",DA,0)),U,29),ACHSADT=$P($G(^(0)),U,30)
  1. I ACHSASIG S ACHSASIG=$P(^VA(200,ACHSASIG,0),U),ACHSASIG=$P(ACHSASIG,",",2)_" "_$P(ACHSASIG,",",1)
  1. ;I 'ACHSASIG,$P(^ACHSESIG(DUZ(2),0),U,2)=0 S ACHSASIG=""
  1. I ACHSASIG="",$P(^ACHSESIG(DUZ(2),0),U,2)=1 S ACHSASIG="NEEDS AUTH. OFC. SIG"
  1. ;** END TESTING**
  1. G LOOP1:ACHSVPTR']"",LOOP1:'$D(^AUTTVNDR(ACHSVPTR,0)) S ACHSVNDR=$P(^(0),U)
  1. S ACHSDOC=ACHSDOC2_"-"_ACHSFC_"-"_ACHSDOC1
  1. W !,ACHSDOC,?20,$E(ACHSVNDR,1,26),?48,$E(ACHSBDT,4,7),$E(ACHSBDT,2,3),?58,ACHSESIG,!
  1. ;W ACHSPAT,?48,$E(ACHSODT,4,7),$E(ACHSODT,2,3),?58,$FN(ACHS("$"),",",2),!
  1. W ACHSPAT,?20,$FN(ACHS("$"),",",2),?48,$E(ACHSODT,4,7),$E(ACHSODT,2,3),?58,ACHSASIG,!
  1. S ACHSCNT=ACHSCNT+1
  1. G LOOP2
  1. HDR ;
  1. S ACHSPG=ACHSPG+1
  1. W @IOF,!!,ACHSUSR,?71,"Page",$J(ACHSPG,3),!,$$C^XBFUNC("*** CONTRACT HEALTH MANNAGEMENT SYSTEM ***",80),!!,ACHSLOC,!?29,"ELECTRONIC SIGNATURE REPORT"
  1. I $D(ZTQUEUED) W ?77-$L(ZTSK),"(",ZTSK,")"
  1. W !,ACHSTIME,!,ACHST1,!,ACHST2,!!,"Document Number",?20,"Provider of Service",?48,"Sig Date",?58,"Ordering Official",!
  1. W "Patient",?20,"Oligation Amt.",?48,"Order Dt.",?58,"Authorizing Official",!,$$REPEAT^XLFSTR("=",79),!
  1. Q
  1. END ;
  1. W !,$$REPEAT^XLFSTR("-",79),!
  1. W "Total Documents: ",ACHSCNT,!
  1. D RTRN^ACHS
  1. W @IOF
  1. KILL ;
  1. I $D(ZTQUEUED) K ACHSFC
  1. D ERPT^ACHS
  1. K ACHSDOC,ACHSDOC1,ACHSDOC2,ACHSESIG,ACHSVNDR,ACHSCNT
  1. K DA,DFN,X2,X3
  1. Q