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

ADGDMM.m

Go to the documentation of this file.
  1. ADGDMM ; IHS/ADC/PDW/ENM - DISCHARGE M'CARE/M'CAID PRINT ; [ 03/25/1999 11:48 AM ]
  1. ;;5.0;ADMISSION/DISCHARGE/TRANSFER;;MAR 25, 1999
  1. ;
  1. ;
  1. N DGIFN,R,I,D,MCRN,MCDN,INSNM,INSN,DGED,DGBD,EED,DFN,IFN,X,Y,LN
  1. A ; -- main
  1. D BD I Y=-1 D Q Q
  1. D ED I Y=-1 D Q Q
  1. D ZIS I POP D Q Q
  1. I $D(IO("Q")) D QUE,Q Q
  1. D HD,L3,PG(0),Q Q
  1. ;
  1. BD ; -- beginning date
  1. S %DT="AEQ",%DT("A")="Select beginning date: ",X=""
  1. D ^%DT S DGBD=Y-.001 Q
  1. ;
  1. ED ; -- ending date
  1. S %DT="AEQ",%DT("A")="Select ending date: ",X=""
  1. D ^%DT S DGED=Y+.9 Q
  1. ;
  1. ZIS ; -- select device
  1. S %ZIS="PQ" D ^%ZIS Q
  1. ;
  1. ;
  1. L3 ; -- loop discharges
  1. S DGDT=DGBD F S DGDT=$O(^DGPM("AMV3",DGDT)) Q:'DGDT!(DGDT>DGED) D
  1. . S DFN=0 F S DFN=$O(^DGPM("AMV3",DGDT,DFN)) Q:'DFN D
  1. .. S DGIFN=0 F S DGIFN=$O(^DGPM("AMV3",DGDT,DFN,DGIFN)) Q:'DGIFN D 1
  1. Q
  1. ;
  1. 1 ; -- check for medicaid/care
  1. S (R,D,I)=0
  1. I $D(^AUPNMCR("B",DFN)) S IFN=$O(^(DFN,0)) D MCR
  1. I $D(^AUPNMCD("B",DFN)) S IFN=$O(^(DFN,0)) D MCD
  1. I $D(^AUPNPRVT("B",DFN)) S IFN=$O(^(DFN,0)) D INS
  1. I (R!D!I) D PRINT
  1. Q
  1. ;
  1. Q ; -- cleanup
  1. W:IO'=IO(0)!($D(IO("S"))) @IOF D ^%ZISC Q
  1. ;
  1. MCR ; -- medicare
  1. F ED=0:0 S ED=$O(^AUPNMCR(IFN,"11",ED)) Q:'ED D
  1. . S EED=$P(^AUPNMCR(IFN,11,ED,0),U,2),R=0 I EED>DGDT!('+EED) D
  1. .. S R=1,MCRN=$P(^AUPNMCR(IFN,0),U,3)_$P(^AUTTMCS($P(^(0),U,4),0),U)
  1. Q
  1. ;
  1. MCD ; -- medicaid
  1. F ED=0:0 S ED=$O(^AUPNMCD(IFN,"11",ED)) Q:'ED D
  1. . S EED=$P(^AUPNMCD(IFN,11,ED,0),U,2),D=0
  1. . I EED>DGDT!('+EED) S D=1,MCDN=$P(^AUPNMCD(IFN,0),U,3)
  1. Q
  1. ;
  1. INS ; -- private insurance
  1. F ED=0:0 S ED=$O(^AUPNPRVT(IFN,"11",ED)) Q:'ED D
  1. . S EED=$P(^AUPNPRVT(IFN,11,ED,0),U,7),I=0 I EED>DGDT!('+EED) D
  1. .. S I=1,INSN=$P(^AUPNPRVT(IFN,"11",ED,0),U,2)
  1. .. S INSNM=$P(^AUTNINS($P(^AUPNPRVT(IFN,"11",ED,0),U,1),0),U,1)
  1. Q
  1. ;
  1. PRINT ; -- print
  1. I $Y>(IOSL-6) D PG(1)
  1. W !,$E($P(^DPT(DFN,0),U),1,15) ;name
  1. I $D(DUZ(2))&($D(^AUPNPAT(DFN,41,DUZ(2),0))) W ?17,$J($P(^(0),U,2),6)
  1. I D W ?25,MCDN
  1. I R W ?37,MCRN
  1. I I W ?49,$E(INSNM,1,6)," ",INSN
  1. S Y=+^DGPM(DGIFN,0) X ^DD("DD") W ?68,$P(Y,"@") ;discharge date
  1. W ! Q
  1. ;
  1. HDH ; -- heading
  1. U IO W !,"MEDICARE/MEDICAID LIST for Discharges from "
  1. S Y=DGBD+.001 X ^DD("DD") W Y," to " S Y=$P(DGED,".") X ^DD("DD") W Y
  1. W !!,"Patient Name",?19,"HRCN",?25,"MCAID #",?37,"MCARE #"
  1. W ?49,"Insurer /#",?68,"DISCHARGED"
  1. S LN="",$P(LN,"-",IOM)="" W !,LN Q
  1. ;
  1. QUE ; -- queued outputs
  1. S ZTRTN="QUE^ADGDMM",ZTIO=ION
  1. S ZTDESC="DISCHARGE MEDICAID/MEDICARE REPORT"
  1. S ZTSAVE("DGBD")="",ZTSAVE("DGED")="" D ^%ZTLOAD D ^%ZISC K ZTSK Q
  1. ;
  1. PG(Z) ; -- page
  1. Q:IOST'["C-" W ! N X,Y K DIR S DIR(0)="E" D ^DIR W @IOF D HDH:Z Q
  1. ;
  1. HD ;
  1. Q:IOST'["C-" W @IOF D HDH Q