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

ABMDLCPT.m

Go to the documentation of this file.
  1. ABMDLCPT ; IHS/SD/SDR - REPORT OF CPT codes ;
  1. ;;2.6;IHS Third Party Billing;**1**;NOV 12, 2009
  1. ;
  1. S U="^"
  1. SEL K DIR,DIC,DIE,X,Y,DA,DR
  1. S DIR(0)="PO^81"
  1. S DIR("A")="START WITH CPT CODE"
  1. D ^DIR K DIR
  1. Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
  1. I X="" S Y=0
  1. S ABMFROM=+Y
  1. I ABMFROM'=0 D
  1. .K DIR,DIC,DIE,X,Y,DA,DR
  1. .S DIR(0)="PO^81"
  1. .S DIR("A")="FINISH WITH CPT CODE"
  1. .D ^DIR K DIR
  1. .Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
  1. .S ABMTO=+Y
  1. I +$G(ABMTO)<1 S ABMTO=$O(^ICPT(9999999999),-1)
  1. ;
  1. W1 W !!!
  1. S %ZIS="NQ",%ZIS("B")=""
  1. D ^%ZIS G:'$D(IO)!$G(POP) XIT
  1. S ABM("ION")=ION G:$D(IO("Q")) QUE
  1. I IO'=IO(0),$E(IOST)'="C",'$D(IO("S")),$P($G(^ABMDPARM(DUZ(2),1,0)),U,13)="Y" W !!,"As specified in the 3P Site Parameters File FORCED QUEUEING is in effect!",! G QUE
  1. PRQUE ;EP - Entry Point for Taskman
  1. S ABM("PG")=0
  1. S ABM("HD",0)="CPT FILE LISTING"
  1. I ABMFROM'=0 S ABM("HD",1)="SELECTED RANGE: "_$P($G(^ICPT(ABMFROM,0)),U)_" TO "_$P($G(^ICPT(ABMTO,0)),U)
  1. D HDB
  1. D SET
  1. W !!,$$EN^ABMVDF("HIN"),"E N D O F R E P O R T",$$EN^ABMVDF("HIF"),!
  1. XIT ;
  1. D ^%ZISC
  1. K ABM
  1. Q
  1. ;
  1. QUE K IO("Q")
  1. S ZTRTN="PRQUE^ABMDLCPT"
  1. S ZTDESC="REPORT OF CPT CODES"
  1. F ABM="ABM(" S ZTSAVE(ABM)=""
  1. D ^%ZTLOAD W:$D(ZTSK) !,"REQUEST QUEUED!",! G XIT
  1. ;
  1. SET ;
  1. S:ABMFROM>0 ABMFROM=ABMFROM-.1
  1. F S ABMFROM=$O(^ICPT(ABMFROM)) Q:(+ABMFROM=0!(+$G(ABMTO)'=0&(ABMFROM>ABMTO))) D Q:$D(DUOUT)!$D(DTOUT)!$D(DIROUT)
  1. .K ABMZ
  1. .;.01=CPT CODE
  1. .;2=SHORT DESC
  1. .;5=INACTIVE FLAG
  1. .;9999999.1=coor. dx (CSV)
  1. .;4=coor. dx (pre-CSV)
  1. .I $$VERSION^XPDUTL("BCSV")>0 D GETS^DIQ(81,ABMFROM,".01;2;5;81.04*","EZ","ABMZ")
  1. .I $$VERSION^XPDUTL("BCSV")<1 D GETS^DIQ(81,ABMFROM,".01;2;5;4*","EZ","ABMZ")
  1. .S ABMIEN=ABMFROM_","
  1. .W !?2,ABMZ(81,ABMIEN,".01","E") ;cpt code
  1. .W ?10,ABMZ(81,ABMIEN,"2","E") ;short description
  1. .W ?55,$S($G(ABMZ(81,ABMIEN,"5","E"))=1:"INACTIVE",1:"") ;inactive flag
  1. .S ABMCD=""
  1. .F S ABMCD=$O(ABMZ(81.04,ABMCD)) Q:ABMCD="" D
  1. ..W ?65,$G(ABMZ(81.04,ABMCD,.01,"E"))
  1. ..I $O(ABMZ(81.04,ABMCD))'="" W !
  1. .I $Y>(IOSL-5) D PAZ^ABMDRUTL Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)!$D(DIRUT) D HDB Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT) W !," (cont)" Q
  1. Q
  1. HDB ;
  1. S ABM("PG")=+$G(ABM("PG"))+1
  1. D WHD^ABMDRHD
  1. W !,"CPT CODE",?10,"SHORT DESCRIPTION",?55,"INACTIVE FLAG",?65,"COOR. DX"
  1. Q