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

ACHSRDOS.m

Go to the documentation of this file.
  1. ACHSRDOS ;IHS/OIT/FCJ - ESTIMATED DATE OF SERVICE REPORT FOR CHS [ 07/24/2000 10:57 AM ]
  1. ;;3.1;CONTRACT HEALTH MGMT SYSTEM;;JUN 11, 2001;Build 43
  1. ;
  1. S ACHSIO=IO,ACHSPG=0
  1. D BM^ACHSFU
  1. W !,"Report for Actual or Estimated DOS with Issue Date"
  1. DOCS ; Select type of docs to print.
  1. S ACHSRPT=$$DIR^XBDIR("S^1:Actual Date of Service;2:Estimated Date of Service","Print which documents","1","","","^D HELP^ACHS(""H1"",""ACHSRDOS"")",2)
  1. G EXT:$D(DUOUT)!$D(DTOUT)
  1. S ACHSRPT1=$S(ACHSRPT=1:"Actual Date of Service",1:"Estimated Date of Service")
  1. BDT ; Enter beginning date.
  1. S ACHSBDT=$$DATE^ACHS("B",ACHSRPT1,"")
  1. G EXT:$D(DUOUT)!$D(DTOUT)!(ACHSBDT<1)
  1. EDT ; Enter the ending date.
  1. S ACHSEDT=$$DATE^ACHS("E",ACHSRPT1,"")
  1. G BDT:$D(DUOUT),EXT:$D(DTOUT)!(ACHSEDT<1),EDT:$$EBB^ACHS(ACHSBDT,ACHSEDT)
  1. DEV ; Select device for report.
  1. W !
  1. S %=$$PB^ACHS
  1. I %=U!$D(DTOUT)!$D(DUOUT) D EXT Q
  1. I %="B" D VIEWR^XBLM("TRNS^ACHSRDOS"),EN^XBVK("VALM") D EXT Q
  1. K IOP,%ZIS
  1. S %ZIS="PQ"
  1. D ^%ZIS,SLV^ACHSFU:$D(IO("S"))
  1. K %ZIS
  1. I POP W !,*7,"No device specified." D HOME^%ZIS G EXT
  1. G:'$D(IO("Q")) TRNS
  1. K IO("Q")
  1. I $E(IOST)'="P" W *7,!,"Please queue to printers only." G DEV
  1. S ZTIO="",ACHSQIO=ION_";"_IOST_";"_IOM_";"_IOSL,ZTRTN="TRNS^ACHSRDOS",ZTDESC="CHS "_ACHSRPT1_", "_$$FMTE^XLFDT(ACHSBDT)_" to "_$$FMTE^XLFDT(ACHSEDT)
  1. F %="ACHSQIO","ACHSBDT","ACHSRPT","ACHSEDT","ACHSRPT1" S ZTSAVE(%)=""
  1. D ^%ZTLOAD
  1. G:'$D(ZTSK) DEV
  1. ;
  1. ;end of interactive portion. The rest performed by Taskman
  1. ;
  1. TRNS ;START OF TRANSACTIONS
  1. W !
  1. S ACHSQUIT=0,ACHSBDT1=ACHSBDT-1
  1. I ACHSRPT=1 F S ACHSBDT1=$O(^ACHSF(DUZ(2),"PDOS",ACHSBDT1)) Q:(ACHSBDT1>ACHSEDT)!(ACHSBDT1="") D Q:ACHSQUIT
  1. .S ACHSDIEN=0 F S ACHSDIEN=$O(^ACHSF(DUZ(2),"PDOS",ACHSBDT1,ACHSDIEN)) Q:ACHSDIEN="" D Q:ACHSQUIT
  1. ..S ACHSTIEN=0 F S ACHSTIEN=$O(^ACHSF(DUZ(2),"PDOS",ACHSBDT1,ACHSDIEN,ACHSTIEN)) Q:(ACHSTIEN=ACHSTIEN+1)!(ACHSTIEN="")
  1. ..D TRNS2
  1. E F S ACHSBDT1=$O(^ACHSF(DUZ(2),"ES",ACHSBDT1)) Q:(ACHSBDT1>ACHSEDT)!(ACHSBDT1="") D Q:ACHSQUIT
  1. .S ACHSDIEN=0 F S ACHSDIEN=$O(^ACHSF(DUZ(2),"ES",ACHSBDT1,ACHSDIEN)) Q:ACHSDIEN="" D TRNS2 Q:ACHSQUIT
  1. I '$D(ZTSK),'ACHSQUIT D RTRN^ACHS
  1. G EXT
  1. ;
  1. TRNS2 ;
  1. S (ACHSPAT,ACHSDOS,ACHSORDT,ACHSCLRK)=""
  1. S ACHSREC=^ACHSF(DUZ(2),"D",ACHSDIEN,0)
  1. S ACHSDOC=$P(ACHSREC,"^",14)_"-"_$P(ACHSREC,"^",1)
  1. I $P(ACHSREC,"^",22)="" S ACHSPAT="NONE SPECIFIED"
  1. E S ACHSPAT=$E($P(^DPT($P(ACHSREC,"^",22),0),"^",1),1,23)
  1. S ACHSORDT=$$FMTE^XLFDT($P(ACHSREC,"^",2),"2D")
  1. S ACHSCLRK=$E($P(^VA(200,($P(ACHSREC,"^",18)),0),"^",1),1,15)
  1. I ACHSRPT1=1 S ACHSDOS=$$FMTE^XLFDT($P($G(^ACHSF(DUZ(2),"D",ACHSDIEN,"T",ACHSTIEN,0)),"^",10),"2D")
  1. E S ACHSDOS=$$FMTE^XLFDT($P($G(^ACHSF(DUZ(2),"D",ACHSDIEN,3)),"^",9),"2D")
  1. D PRINT
  1. Q
  1. PRINT ;
  1. I '$D(ZTSK),$Y>ACHSBM D RTRN^ACHS Q:$D(DUOUT)!$D(DTOUT) D HDR
  1. I ACHSPG=0 D HDR
  1. W !,ACHSDOC,?10,ACHSPAT,?36,ACHSDOS,?48,ACHSORDT,?60,ACHSCLRK
  1. Q
  1. HDR ;
  1. S ACHSPG=ACHSPG+1
  1. W @IOF
  1. I ACHSRPT=1 W !,"DOCUMENT LISTING BY PAID DATE OF SERVICE",?68,"PAGE: ",ACHSPG
  1. E W "DOCUMENT LISTING BY ESTIMATE DATE OF SERVICE",?68,"PAGE: ",ACHSPG
  1. W !!,"P.O. NO. PATIENT NAME "_$S(ACHSRPT=1:"ACT",1:"EST")_" D.O.S. DATE ISSUED ISSUED BY",!
  1. F I=1:1:76 W "-"
  1. Q
  1. EXT ;
  1. K ACHSREC,ACHSDIEN,ACHSTIEN,ACHSPAT,ACHSORDT,ACHSCLRK,ACHSBDT1,ACHSDOC,ACHSDOS
  1. K ACHSQUIT,ACHSRPT1,ACHSDOS
  1. D ERPT^ACHS
  1. Q
  1. H1 ;EP - From HELP^ACHS() via ^DIR.
  1. ;;@;!
  1. ;;Enter a '1' if you want Actual Date of Service to be listed.
  1. ;;Enter a '2' if you want Estimated Date of Service to be listed.
  1. ;;###
  1. ;