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

AQAOPV21.m

Go to the documentation of this file.
  1. AQAOPV21 ; IHS/ORDC/LJF - PRINT QI CODES ;
  1. ;;1.01;QAI MANAGEMENT;;OCT 05, 1995
  1. ;
  1. ;This routine lets a user select providers/persons/vendors to match
  1. ;the names with their corresponding QI code.
  1. ; Routine added with Enhancement #1
  1. ;
  1. ;-- Logic Flow:
  1. ; LOOP until user finishes with selection
  1. ; calls LOOKUP to dic call to appropriate file
  1. ; DEV to select print device
  1. ; PRINT loops thru selections
  1. ; use PERSON to print data for providers/persons
  1. ; use VENDOR to print data for chs vendors
  1. ; EXIT to clean up and quit
  1. ;
  1. D LOOKUP^AQAOHPRV ;intro text
  1. K AQAOARR ;make sure array is empty to start
  1. S AQAOX=0 ;flag for first time thru
  1. ;
  1. LOOP ; -- ask for names or qi codes until user is done
  1. K DIR W !! S DIR(0)="FO^3:50^I (X'?1""I."".E),(X'?1""C."".E) K X"
  1. S DIR("A")="Select "_$S(AQAOX:"ANOTHER ",1:"")_"NAME or QI CODE"
  1. S DIR("A")=DIR("A")_" (eg.: I.SMITH or C.345)"
  1. S DIR("?")="Enter Provider/Employee Name or QI Code."
  1. S DIR("?",1)="Use 'I.' as the prefix for an IHS Provider or Employee."
  1. S DIR("?",2)="Use 'C.' as the prefix for a CHS Provider."
  1. S DIR("?",3)="Examples:"
  1. S DIR("?",4)=" I.SMITH for IHS provider Dr. Joe Smith."
  1. S DIR("?",5)=" I.234 for IHS provider/employee with QI code I234."
  1. S DIR("?",6)=" C.ABC DIAGNOSTIC SRV for CHS provider by that name."
  1. S DIR("?",7)=" C.567 for CHS provider with QI code C567."
  1. S DIR("?",8)=" "
  1. D ^DIR I $D(DIRUT) D DEV Q
  1. ;
  1. S S=$S(Y?1"I.".E:"",1:"I $P(^(0),Y,5)=""""") ;code for dic(s)
  1. I Y?1"I.".E D LOOKUP(200,S,Y) S AQAOX=1 D LOOP Q
  1. I Y?1"C.".E D LOOKUP(9999999.11,S,Y) S AQAOX=1 D LOOP Q
  1. ;
  1. ;
  1. DEV ; -- SUBRTN to get print device and call print rtn
  1. I '$D(AQAOARR) D EXIT Q ;no one selected
  1. W !! S %ZIS="QP" D ^%ZIS
  1. I POP D EXIT Q
  1. I '$D(IO("Q")) D PRINT Q
  1. K IO("Q") S ZTRTN="PRINT^AQAOPV21",ZTDESC="SINGLE QI CODES"
  1. S ZTSAVE("AQAOARR(")="" D ^%ZTLOAD K ZTSK D ^%ZISC
  1. D PRTOPT^AQAOVAR D EXIT Q
  1. ;
  1. ;
  1. EXIT ; -- SUBRTN for eoj
  1. I '$D(ZTQUEUED),(IOST["C-") D PRTOPT^AQAOVAR ;ask to hit return
  1. D ^%ZISC D KILL^AQAOUTIL Q
  1. ;
  1. ;
  1. PRINT ;EP; -- loop thru user's selections
  1. U IO D INIT^AQAOUTIL S AQAOHCON="Provider"
  1. S AQAOTY="LISTING OF SELECTED QI CODES"
  1. D HEADING^AQAOUTIL,HEADING2
  1. ;
  1. F AQAOI="C","I" Q:AQAOSTOP=U D
  1. . S AQAOX=0
  1. . F S AQAOX=$O(AQAOARR(AQAOI,AQAOX)) Q:AQAOX="" Q:AQAOSTOP=U D
  1. .. I $Y>(IOSL-4) D NEWPG^AQAOUTIL Q:AQAOSTOP=U D HEADING2
  1. .. S X=$S(AQAOI="I":"PERSON",1:"VENDOR")_"(AQAOI,AQAOX)" D @X
  1. D EXIT
  1. Q
  1. ;
  1. ;
  1. PERSON(AQAOI,AQAOX) ;EP; -- SUBRTN to print provider/person data
  1. NEW AQAO
  1. D ENP^XBDIQ1(200,AQAOX,".01;8;53.5;9999999.039","AQAO(")
  1. W !?1,AQAOI,AQAOX
  1. W ?10,$E(AQAO(.01),1,25)
  1. I AQAO(53.5)]"" W ?40,"IHS ",$E(AQAO(53.5),1,20)
  1. E W ?40,"IHS ",$E(AQAO(8),1,20)
  1. I AQAO(9999999.039)]"" W " (",AQAO(9999999.039),")"
  1. Q
  1. ;
  1. ;
  1. VENDOR(AQAOI,AQAOX) ;EP; -- SUBRTN to print vendor data
  1. NEW AQAO
  1. D ENP^XBDIQ1(9999999.11,AQAOX,".01;1102.01","AQAO(")
  1. W !?1,AQAOI,AQAOX
  1. W ?10,$E(AQAO(.01),1,25),?40,"CHS "
  1. S X=$$VALI^XBDIQ1(9999999.11,AQAOX,1103) ;vendor type code
  1. I X W $E($$VAL^XBDIQ1(9999999.34,X,.02),1,25) ;vendor type name
  1. W:AQAO(1102.01)]"" " (",AQAO(1102.01),")"
  1. Q
  1. ;
  1. ;
  1. HEADING2 ;EP; -- SUBRTN to print second half of heading
  1. W ?14,"(Please forward any INACTIVE NAMES to the proper dept.)"
  1. W !,AQAOLIN2,!,"QI Code",?10,"Name",?40,"Description"
  1. W !,AQAOLINE,! Q
  1. ;
  1. ;
  1. LOOKUP(DIC,DICS,INPUT) ; -- SUBRTN to find prov/pers/vendr from user input
  1. NEW X,Y
  1. S DIC(0)="EQ",X=$P(INPUT,".",2) I +X S X="`"_X
  1. S:DICS]"" DIC("S")=DICS D ^DIC I Y=-1 W *7,"Try again",! Q
  1. S AQAOARR($E(INPUT,1),+Y)=""
  1. Q