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

ACHSIC3.m

Go to the documentation of this file.
  1. ACHSIC3 ; IHS/ITSC/FCJ - REPORT FOR PO WITH ICD ERRORS AND CORRECTIONS;
  1. ;;3.1;CONTRACT HEALTH MGMT SYSTEM;**22,23**;JUN 11, 2001;Build 43
  1. ;FIRST VERSION WITH POSSIBLE ERRORS....
  1. ;
  1. ;
  1. ST ;
  1. I '$D(^ACHSICD(DUZ(2),"D")) W !?5,"THERE ARE NOT ANY ICD ERRORS FOUND FOR THIS FACILITY" Q
  1. S ACHSIO=IO
  1. K X2,X3
  1. W !!,"REPORT FOR DOCUMENTS WITH 3 DIGIT ICD CODE ERRORS."
  1. W !,"This report is for FI processed PO's only. After the ICD file is processed"
  1. W !,"from the FI, this report will display the PO and ICD codes that were changed."
  1. ;
  1. DEV ;
  1. S %=$$PB^ACHS
  1. I %=U!$D(DTOUT)!$D(DUOUT) D K Q
  1. ;ACHS*3.1*23 CHNG RTN TO ACHSIC3
  1. I %="B" D VIEWR^XBLM("PRINT^ACHSIC3"),EN^XBVK("VALM"),K Q
  1. S %ZIS="OPQ"
  1. D ^%ZIS
  1. I POP D HOME^%ZIS G K
  1. G:'$D(IO("Q")) PRINT
  1. K IO("Q")
  1. I $D(IO("S"))!($E(IOST)'="P") W *7,!,"Please queue to system printers." D ^%ZISC G DEV
  1. S ZTRTN="PRINT^ACHSDST",ZTIO="",ZTDESC=$P($T(TITLE),";",3),ACHSQIO=ION_";"_IOST_";"_IOM_";"_IOSL
  1. F ACHS="ACHSQIO","ACHSRPT" S ZTSAVE(ACHS)=""
  1. D ^%ZTLOAD
  1. G:'$D(ZTSK) DEV
  1. K ;
  1. K ACHS,ACHSIO,ACHSQIO,ACHSBDT,ACHSEDT,ACHSRPT,ZTIO,ZTSK
  1. D ^%ZISC
  1. Q
  1. ;
  1. PRINT ;EP - From TaskMan.
  1. ;
  1. D FC^ACHSUF
  1. I $D(ACHSERR),ACHSERR=1 K ZTSK G KILL
  1. D BRPT^ACHSFU
  1. D HDR
  1. S X3=0
  1. A ; Main loop.
  1. S L=DUZ(2),L1=0,CT=0,ACHSQ=0
  1. F S L1=$O(^ACHSICD(L,"D",L1)) Q:L1'?1N.N D Q:ACHSQ
  1. .S L2=0 F S L2=$O(^ACHSICD(L,"D",L1,9,L2)) Q:L2'?1N.N D Q:ACHSQ
  1. ..S ICD2=$P(^ACHSICD(L,"D",L1,9,L2,0),U)
  1. ..S ICD3=$P(^ACHSICD(L,"D",L1,9,L2,0),U,3)
  1. ..S ACHSREC=^ACHSF(L,"D",L1,0),DA=L1
  1. ..D B
  1. G END
  1. ;
  1. B ;
  1. S CT=CT+1
  1. S ACHSDOC1=$P(ACHSREC,U),ACHSVPTR=$P(ACHSREC,U,8),ACHSDOC2=$P(ACHSREC,U,14)
  1. G A:ACHSVPTR']"",A:'$D(^AUTTVNDR(ACHSVPTR,0)) S ACHSVNDR=$P(^(0),U)
  1. S ACHSDOC=ACHSDOC2_"-"_ACHSFC_"-"_ACHSDOC1
  1. K ACHSNAME
  1. S DFN=$P(ACHSREC,U,22) I +DFN>0,$D(^DPT(DFN,0)) S ACHSNAME=$P(^(0),U)
  1. I '$D(ACHSNAME) S ACHSNAME=$S($P(ACHSREC,U,2)=1:"* BLANKET",1:"* SPECIAL TRANS")
  1. E ;
  1. S ACHSIDT=$P(ACHSREC,U,2)
  1. W $E(ACHSNAME,1,24),?25,$E(ACHSVNDR,1,26),?52,$E(ACHSIDT,4,7),$E(ACHSIDT,2,3)
  1. ;W !,ACHSDOC,?25,$P($$ICDDX^ICDCODE(ICD2),U,2),?52,$P($$ICDDX^ICDCODE(ICD3),U,2) ;ACHS*3.1*23
  1. W !,ACHSDOC,?25,$P($$ICDDX^ICDEX(ICD2),U,2),?52,$P($$ICDDX^ICDEX(ICD3),U,2) ;ACHS*3.1*23
  1. ;W ?80-$L(X),X
  1. P3 ; Ask RTRN if EOP, do header, go main loop.
  1. W !!
  1. I $Y>ACHSBM D RTRN^ACHS S:$D(DUOUT)!$D(DTOUT) ACHSQ=1 Q:ACHSQ D HDR
  1. Q
  1. ;
  1. END ; Print totals, ask RTRN, write IOF.
  1. W @IOF
  1. W !!,"TOTAL UPDATES = ",CT,!
  1. D RTRN^ACHS
  1. KILL ; Do ERPT, kill vars, quit.
  1. I $D(ZTQUEUED) K ACHSFC
  1. K ACHSDOC,ACHSDOC1,ACHSDOC2,ACHSBLNK,ACHSCNX,ACHSDOS,ACHSTYPE,ACHSVNDR,ACHSEIN,ACHSOPEN,ACHSNAME,ACHSSTS,ACHSTOS,ACHSTOTP,ACHSVPTR,AZUCHSCAN
  1. K CT,ACHSREC,ACHSQ,ACHSQUIT,DA,DFN,X2,X3
  1. Q
  1. ;
  1. HDR ; Print report header.
  1. S ACHSPG=ACHSPG+1
  1. W @IOF,!!,ACHSUSR,?71,"Page",$J(ACHSPG,3),!,$$C^XBFUNC("*** CONTRACT HEALTH MANAGEMENT SYSTEM ***",80),!!,ACHSLOC,!?24,"ICD 3 digit Purchase Order Report"
  1. I $D(ZTQUEUED) W ?77-$L(ZTSK),"(",ZTSK,")"
  1. W !,ACHSTIME,!!,"Patient Name",?25,"Provider of Service",?52,"Issue"
  1. W !,"Document number",?25,"DX CODE",?52,"NEW DX CODE",!,$$REPEAT^XLFSTR("=",79),!
  1. Q
  1. ;
  1. TITLE ;;ICD UPDATED DOCUMENTS FROM ICD CODE ERROR