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

APCLCPTD.m

Go to the documentation of this file.
  1. APCLCPTD ; IHS/CMI/LAB - PRINT VISIT REPORT ;
  1. ;;2.0;IHS PCC SUITE;;MAY 14, 2009
  1. ;
  1. DELIMIT ;EP - Set up header line, dash line
  1. S APCLFCNT=0
  1. K ^XTMP($J,"APCLFLAT") ;just in case
  1. K ^TMP($J,"APCLDELIMITED")
  1. S APCLDELC=0,APCLPIEC=0
  1. PROC ;process printing of report
  1. I APCLDELT="F" D OPEN
  1. S APCLPG=0 K APCLQUIT
  1. I '$D(^XTMP("APCLCPT1",APCLJ,APCLH)) D HEADER W !!,"No data to report.",! G DONE
  1. S APCLPN="" F S APCLPN=$O(^XTMP("APCLCPT1",APCLJ,APCLH,"CPTS",APCLPN)) Q:APCLPN=""!($D(APCLQUIT)) D
  1. .S APCLPIEN=0 F S APCLPIEN=$O(^XTMP("APCLCPT1",APCLJ,APCLH,"CPTS",APCLPN,APCLPIEN)) Q:APCLPIEN'=+APCLPIEN!($D(APCLQUIT)) D
  1. ..D HEADER
  1. ..W !!,"Provider Name"_U_"Discipline"
  1. ..S APCLDISC=$O(^XTMP("APCLCPT1",APCLJ,APCLH,"CPTS",APCLPN,APCLPIEN,""))
  1. ..W !,APCLPN_U_APCLDISC
  1. ..I APCLOI="B"!(APCLOI="O") D
  1. ...D AMBHDR
  1. ...S APCLY="" F S APCLY=$O(^XTMP("APCLCPT1",APCLJ,APCLH,"CPTS",APCLPN,APCLPIEN,APCLDISC,"OUTPATIENT",APCLY)) Q:APCLY=""!($D(APCLQUIT)) D
  1. ....S APCLN="" F S APCLN=$O(^XTMP("APCLCPT1",APCLJ,APCLH,"CPTS",APCLPN,APCLPIEN,APCLDISC,"OUTPATIENT",APCLY,APCLN)) Q:APCLN=""!($D(APCLQUIT)) D PRNO
  1. ..;INPATIENT
  1. ..I APCLOI="B"!(APCLOI="I") D
  1. ...D INPHDR
  1. ...S APCLY="" F S APCLY=$O(^XTMP("APCLCPT1",APCLJ,APCLH,"CPTS",APCLPN,APCLPIEN,APCLDISC,"INPATIENT",APCLY)) Q:APCLY=""!($D(APCLQUIT)) D
  1. ....S APCLN="" F S APCLN=$O(^XTMP("APCLCPT1",APCLJ,APCLH,"CPTS",APCLPN,APCLPIEN,APCLDISC,"INPATIENT",APCLY,APCLN)) Q:APCLN=""!($D(APCLQUIT)) D PRNI
  1. ..;TOTALS
  1. ..I APCLOI="B"!(APCLOI="O") D
  1. ...S APCLCNT=$G(^XTMP("APCLCPT1",APCLJ,APCLH,"OUTPATIENT",APCLPN,APCLPIEN,APCLDISC))
  1. ...W !!,"Total Outpatient Visits: "_U_APCLCNT
  1. ..I APCLOI="B"!(APCLOI="I") D
  1. ...S APCLCNT=$G(^XTMP("APCLCPT1",APCLJ,APCLH,"INPATIENT",APCLPN,APCLPIEN,APCLDISC))
  1. ...W !!,"Total Inpatient Services: "_U_APCLCNT
  1. ..W !!,"Total Patients: "_U_APCLCNT
  1. .Q
  1. Q
  1. PRNO ;
  1. S APCLCNT=^XTMP("APCLCPT1",APCLJ,APCLH,"CPTS",APCLPN,APCLPIEN,APCLDISC,"OUTPATIENT",APCLY,APCLN)
  1. W !,APCLY_U_APCLN_U_APCLCNT
  1. Q
  1. PRNI ;
  1. S APCLCNT=^XTMP("APCLCPT1",APCLJ,APCLH,"CPTS",APCLPN,APCLPIEN,APCLDISC,"INPATIENT",APCLY,APCLN)
  1. W !,APCLY_U_APCLN_U_APCLCNT
  1. Q
  1. AMBHDR ;
  1. W !!,"Ambulatory/Outpatient Services:"
  1. W !!,"CPT Code"_U_"CPT Narrative"_U_"# Subtotaled by CPT"
  1. Q
  1. INPHDR ;
  1. W !!,"Inpatient Services:"
  1. W !!,"CPT Code"_U_"CPT Narrative"_U_"# Subtotaled by CPT"
  1. Q
  1. G:'APCLPG HEADER1
  1. HEADER1 ;
  1. S APCLPG=APCLPG+1
  1. W !,$P(^VA(200,DUZ,0),U,2)_U_$$FMTE^XLFDT(DT)_U_"Page ",APCLPG,!
  1. W !,"*** CPT Code by Provider Report ***",!
  1. S X="Visit Dates: "_$$FMTE^XLFDT(APCLBD)_" to "_$$FMTE^XLFDT(APCLED) W X,!
  1. Q
  1. DONE ;
  1. ;write out delimited file
  1. I APCLDELT="F" D ^%ZISC
  1. K ^XTMP("APCLFLAT",$J),^TMP($J,"APCLDELIMITED")
  1. Q
  1. OPEN ;write flat file from global
  1. ;if screen selected do screen
  1. ;USE GS FROM GPRA TO OPEN AND WRITE FILE
  1. ;I APCLDELT="S" D SCREEN Q
  1. S Y=$$OPEN^%ZISH(APCLHDIR,APCLDELF,"W")
  1. I Y=1 W:'$D(ZTQUEUED) !!,"Cannot open host file to write out DELIMITED data. Notify programmer." Q
  1. U IO
  1. Q