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

ABMDRPCC.m

Go to the documentation of this file.
  1. ABMDRPCC ; IHS/ASDST/DMJ - View PCC Visit ;
  1. ;;2.6;IHS 3P BILLING SYSTEM;**11,21**;NOV 12, 2009;Build 379
  1. ;IHS/SD/SDR -2.6*21 HEAT210601 - Added Q to stop LOOP if timeout or '^'; was causing <SUBSCR>LOOP+20^ABMDRPCC error
  1. ;
  1. START ;START HERE
  1. K APCDVDSP
  1. W !
  1. S AUPNLK("ALL")="" ;universal lookup ;abm*2.6*11 NOHEAT6
  1. S DIC="^AUPNPAT(",DIC(0)="AEMQ" D ^DIC Q:Y<0 S APCDPAT=+Y
  1. S ABM("PNM")=$P(^DPT(APCDPAT,0),U),ABM("SSN")=$P(^(0),"^",9)
  1. S ABM("SSN")=$E(ABM("SSN"),1,3)_"-"_$E(ABM("SSN"),4,5)_"-"_$E(ABM("SSN"),6,9)
  1. S $P(ABM("EQ"),"=",80)="",ABM("I")=0 D HDR
  1. LOOP ;LOOP HERE
  1. S ABM("VDT")=0 F S ABM("VDT")=$O(^AUPNVSIT("AA",APCDPAT,ABM("VDT"))) Q:'ABM("VDT")!($G(ABM("QUIT"))) D
  1. .S ABM("VDFN")=0 F S ABM("VDFN")=$O(^AUPNVSIT("AA",APCDPAT,ABM("VDT"),ABM("VDFN"))) Q:'ABM("VDFN")!($G(ABM("QUIT"))) D
  1. ..Q:$P(^AUPNVSIT(ABM("VDFN"),0),"^",11)
  1. ..S ABM("I")=ABM("I")+1,ABMN(ABM("I"))=ABM("VDFN")
  1. ..K ABM(9000010)
  1. ..S DIC="^AUPNVSIT(",DIQ="ABM(",DIQ(0)="E",DR=".01;.04;.06;.07",DA=ABM("VDFN") D EN^DIQ1 K DIQ
  1. ..W !,$J("("_ABM("I")_")",6)
  1. ..W ?9,ABM(9000010,DA,.01,"E")
  1. ..W ?30,$E(ABM(9000010,DA,.06,"E"),1,17)
  1. ..W ?50,ABM(9000010,DA,.07,"E")
  1. ..W !,?10,"Claim Status: ",ABM(9000010,DA,.04,"E")
  1. ..I $Y+5>IOSL,'(ABM("I")#2) D
  1. ...W ! S DIR(0)="NO^"_ABM("PST")_":"_ABM("I") D ^DIR K DIR
  1. ...I X S APCDVDSP=ABMN(X),ABM("QUIT")=1 Q
  1. ...I Y["^" S ABM("QUIT")=1 Q
  1. ...D HDR
  1. I '$D(ABMN) W !,"No PCC Visits Found for This Patient.",! S DIR(0)="E" D ^DIR K DIR K ABM Q
  1. I $G(ABM("QUIT")),'$G(APCDVDSP) K ABM Q
  1. I '$G(APCDVDSP) S DIR(0)="N^"_ABM("PST")_":"_ABM("I") D ^DIR K DIR I Y["^" K ABM Q
  1. Q:X=""!$D(DIROUT)!$D(DIRUT)!$D(DTOUT)!$D(DUOUT) ;abm*2.6*21 IHS/SD/SDR HEAT210601
  1. S APCDVDSP=ABMN(X)
  1. K ABM,ABMN
  1. DEV ;ASK FOR DEVICE
  1. S %ZIS("A")="Enter Device: ",%ZIS="NQ" D ^%ZIS Q:POP
  1. I IO'=IO(0) D QUE,HOME^%ZIS Q
  1. I $D(IO("S")) S IOP=ION D ^%ZIS
  1. TM ;TASKMAN COME HERE
  1. D ^APCDVDSP
  1. I $E(IOST)="P" W $$EN^ABMVDF("IOF")
  1. K APCDPAT,APCDVDSP Q
  1. HDR ;HEADER
  1. K ABMN
  1. S ABM("PST")=ABM("I")+1
  1. W $$EN^ABMVDF("IOF"),!,"PATIENT: ",ABM("PNM"),?40,"SSN: ",ABM("SSN")
  1. W !,?9,"VISIT DATE/TIME",?30,"VISIT LOCATION",?50,"SERVICE CATEGORY",!,ABM("EQ"),!
  1. Q
  1. QUE ;QUE TO TASKMAN
  1. S ZTRTN="TM^ABMDVPCC",ZTDESC="PCC INQUIRY"
  1. S ZTSAVE("APCDVDSP")="",ZTSAVE("APCDPAT")=""
  1. K ZTSK D ^%ZTLOAD W:$G(ZTSK) !,"Task # ",ZTSK," queued.",!
  1. Q