- IBOCNC ;ALB/ARH - CPT USAGE IN CLINICS (USER) ; 1/23/92
- ;;Version 2.0 ; INTEGRATED BILLING ;**31**; 21-MAR-94
- ;
- ;count of procedures used in clinics and bills
- ;if the sort is by clinic or procedure:
- ;loops through the Schduling Visits (409.5) file for 900 stop code entries ("AP" x-ref)
- ;for every 900 stop code entry, if each of the following conditions are ment then adds the stop code's procedures (409.5,10,21-25) to the report
- ; - outpt visit DATE/TIME (405.9,.01) within the date range entered by the user
- ; - ASSOCIATED CLINIC (409.5,10,3), checks if chosen by user
- ; - for each clinic chosen, checks that the clinics DIVISION (44,3.5) was chosen
- ;
- ;if the report is sorted by procedure the count of procedures found on bills (399,304 and 399,51-53,57-59) within the date range given by the user are also added to the report
- ;
- EN ;get parameters (date and clinic) then run the report
- ;I $D(XRT0) S:'$D(XRTN) XRTN="IBOCNC" D T1^%ZOSV ;stop rt clock
- ;S XRTL=$ZU(0),XRTN="IBOCNC-1" D T0^%ZOSV ;start rt clock
- D HOME^%ZIS S IBHDR="CLINIC CPT USAGE REPORT" W @IOF,?29,IBHDR,!!
- S DIR("?",1)="For the choosen date range and clinics:"
- S DIR("?",2)="""C"" - produces a count of procedures used, by clinic."
- S DIR("?",3)="""P"" - provides a total count of all procedures used"
- S DIR("?",4)=" including the total count used in billing."
- S DIR("?")="""D"" - same report as ""P"" plus the full procedure description."
- S DIR("0")="SO^C:CLINIC;P:PROCEDURE;D:PROCEDURE WITH EXTENDED DESCRIPTION;",DIR("A")="Sort report by" D ^DIR K DIR G:$D(DIRUT) EXIT S IBSRT=$S(Y="C":0,Y="P":1,1:2)
- D BDT^IBOUTL G:Y<0!(IBBDT="")!(IBEDT="") EXIT
- ;find division then clinic - can select all or some clinics for all/some divisions
- D DIVISION^VAUTOMA G:$D(VAUTD)<11&(VAUTD=0) EXIT
- S VAUTNI=2 D CLINIC^VAUTOMA G:$D(VAUTC)<11&(VAUTC=0) EXIT
- DEV ;get the device
- W !!,"This report requires 132 columns."
- S %ZIS="QM",%ZIS("A")="OUTPUT DEVICE: " D ^%ZIS G:POP EXIT
- I $D(IO("Q")) S ZTRTN="FIND^IBOCNC1",ZTDESC=IBHDR,ZTSAVE("IB*")="",ZTSAVE("VAU*")="" D ^%ZTLOAD K IO("Q"),ZTSK G EXIT
- U IO D ^IBOCNC1 D ^%ZISC
- ;
- EXIT ;clean up and quit
- ;I $D(XRT0) S:'$D(XRTN) XRTN="IBOCNC" D T1^%ZOSV ;stop rt clock
- D HOME^%ZIS
- I $D(ZTQUEUED) S ZTREQ="@" Q
- K IBBDT,IBEDT,IBSRT,IBHDR,VAUTC,VAUTD,VAUTNI,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
- Q
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HIBOCNC 2370 printed Feb 18, 2025@23:51:50 Page 2
- IBOCNC ;ALB/ARH - CPT USAGE IN CLINICS (USER) ; 1/23/92
- +1 ;;Version 2.0 ; INTEGRATED BILLING ;**31**; 21-MAR-94
- +2 ;
- +3 ;count of procedures used in clinics and bills
- +4 ;if the sort is by clinic or procedure:
- +5 ;loops through the Schduling Visits (409.5) file for 900 stop code entries ("AP" x-ref)
- +6 ;for every 900 stop code entry, if each of the following conditions are ment then adds the stop code's procedures (409.5,10,21-25) to the report
- +7 ; - outpt visit DATE/TIME (405.9,.01) within the date range entered by the user
- +8 ; - ASSOCIATED CLINIC (409.5,10,3), checks if chosen by user
- +9 ; - for each clinic chosen, checks that the clinics DIVISION (44,3.5) was chosen
- +10 ;
- +11 ;if the report is sorted by procedure the count of procedures found on bills (399,304 and 399,51-53,57-59) within the date range given by the user are also added to the report
- +12 ;
- EN ;get parameters (date and clinic) then run the report
- +1 ;I $D(XRT0) S:'$D(XRTN) XRTN="IBOCNC" D T1^%ZOSV ;stop rt clock
- +2 ;S XRTL=$ZU(0),XRTN="IBOCNC-1" D T0^%ZOSV ;start rt clock
- +3 DO HOME^%ZIS
- SET IBHDR="CLINIC CPT USAGE REPORT"
- WRITE @IOF,?29,IBHDR,!!
- +4 SET DIR("?",1)="For the choosen date range and clinics:"
- +5 SET DIR("?",2)="""C"" - produces a count of procedures used, by clinic."
- +6 SET DIR("?",3)="""P"" - provides a total count of all procedures used"
- +7 SET DIR("?",4)=" including the total count used in billing."
- +8 SET DIR("?")="""D"" - same report as ""P"" plus the full procedure description."
- +9 SET DIR("0")="SO^C:CLINIC;P:PROCEDURE;D:PROCEDURE WITH EXTENDED DESCRIPTION;"
- SET DIR("A")="Sort report by"
- DO ^DIR
- KILL DIR
- if $DATA(DIRUT)
- GOTO EXIT
- SET IBSRT=$SELECT(Y="C":0,Y="P":1,1:2)
- +10 DO BDT^IBOUTL
- if Y<0!(IBBDT="")!(IBEDT="")
- GOTO EXIT
- +11 ;find division then clinic - can select all or some clinics for all/some divisions
- +12 DO DIVISION^VAUTOMA
- if $DATA(VAUTD)<11&(VAUTD=0)
- GOTO EXIT
- +13 SET VAUTNI=2
- DO CLINIC^VAUTOMA
- if $DATA(VAUTC)<11&(VAUTC=0)
- GOTO EXIT
- DEV ;get the device
- +1 WRITE !!,"This report requires 132 columns."
- +2 SET %ZIS="QM"
- SET %ZIS("A")="OUTPUT DEVICE: "
- DO ^%ZIS
- if POP
- GOTO EXIT
- +3 IF $DATA(IO("Q"))
- SET ZTRTN="FIND^IBOCNC1"
- SET ZTDESC=IBHDR
- SET ZTSAVE("IB*")=""
- SET ZTSAVE("VAU*")=""
- DO ^%ZTLOAD
- KILL IO("Q"),ZTSK
- GOTO EXIT
- +4 USE IO
- DO ^IBOCNC1
- DO ^%ZISC
- +5 ;
- EXIT ;clean up and quit
- +1 ;I $D(XRT0) S:'$D(XRTN) XRTN="IBOCNC" D T1^%ZOSV ;stop rt clock
- +2 DO HOME^%ZIS
- +3 IF $DATA(ZTQUEUED)
- SET ZTREQ="@"
- QUIT
- +4 KILL IBBDT,IBEDT,IBSRT,IBHDR,VAUTC,VAUTD,VAUTNI,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
- +5 QUIT