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

APSQCNDC.m

Go to the documentation of this file.
  1. APSQCNDC ;IHS/ASD/ENM/POC - FINDS PROBLEM NDC NUMBERS IN DRUG FILE [ 11/21/2002 10:37 AM ]
  1. ;;6.0;OUTPATIENT PHARMACY;**3,4**;11/20/2002
  1. ;CHECK NDCS FOR DRUG FILE
  1. ;FORMAT IT FOR SCREEN OR PRINTER
  1. S %ZIS="" ;NO QUEUEING
  1. D ^%ZIS
  1. N APSQIEN,APSQNDC,DIV,CNT,CNTGOOD,CNTBAD,NOWRITE,HEAD,PAGE,END
  1. S (CNT,CNTGOOD,CNTBAD)=0
  1. S NOWRITE=0
  1. S U="^"
  1. S (END,PAGE)=0
  1. U IO D @("HDR"_(2-($E(IOST,1,2)="C-")))
  1. S APSQIEN=0 F S APSQIEN=$O(^PSDRUG(APSQIEN)) Q:(APSQIEN'=+APSQIEN)!END D
  1. .I $S('$D(^PSDRUG(+APSQIEN,"I")):0,DT'>^("I"):0,1:1) Q ;INACTIVE
  1. .I $P(^PSDRUG(APSQIEN,0),U,1)["OUTSIDE DRUG" Q ;DONT SHOW THIS ONE
  1. .;Q:$P($G(^PSDRUG(+APSQIEN,9999999)),U,3)'=+PSOSITE S DIV="FOR DIVISION "_$P(^PS(59,+PSOSITE,0),U,1) ;MUST BE SAME DIVISION PATCH 4
  1. .S APSQNDC=$P($G(^PSDRUG(+APSQIEN,2)),U,4)
  1. .D HDR:$Y+5>IOSL
  1. .S CNT=CNT+1
  1. .I 'APSQNDC W !,?2,$E($P(^PSDRUG(+APSQIEN,0),U,1),1,20),?25," (",+APSQIEN,")",?40,"HAS NO NDC" S CNTBAD=CNTBAD+1 Q
  1. .S X=APSQNDC D I '$G(X) W !,?2,$E($P(^PSDRUG(+APSQIEN,0),U,1),1,20),?25," (",+APSQIEN,")",?40,"HAS INCORRECT FORMAT - ",APSQNDC S CNTBAD=CNTBAD+1 Q
  1. ..I X'?5N1"-"4N1"-"2N K X Q
  1. .S CNTGOOD=CNTGOOD+1
  1. Q:END
  1. S NOWRITE=1 D HDR ;SO WONT WRITE PART OF HEADER FOR THIS SEGMENT
  1. W !
  1. W !,?2,"DRUGS WITH APPROPRIATE NDC NUMBERS: "_$J(CNTGOOD,5)
  1. W !,?2,"DRUGS WITH PROBLEM NDC NUMBERS: "_$J(CNTBAD,5)
  1. W !,?2," ","------"
  1. W !,?2,"TOTAL DRUGS COUNTED: "_$J(CNT,5)
  1. D ^%ZISC ;NEED TO CLOSE IT DUMMY IHS/OKCAO/POC 8/14/2001
  1. Q
  1. HDR ;HEADER
  1. I $E(IOST,1,2)="C-" W !,"PRESS RETURN TO CONTINUE OR '^' TO EXIT: " R X:DTIME S END='$T!(X="^") Q:END
  1. HDR1 W @IOF
  1. HDR2 S PAGE=PAGE+1
  1. ;W ?20,"HEADING",?(IOM-10),"PAGE: ",$J(PAGE,3)
  1. ;S AZODATE=$$FMTE^XLFDT(AZOBDT,"2")_"-"_$$FMTE^XLFDT(AZOEDT,"2")
  1. ;S AZOLOC=$P(^AUTTLOC(DUZ(2),0),"^",2)
  1. S HEAD="INAPPROPRIATE NDC NUMBERS FOR ACTIVE DRUGS"_$G(DIV)
  1. W ?(IOM-$L(HEAD)-2/2),HEAD,?(IOM-10),"PAGE: ",$J(PAGE,3)
  1. W:'$G(NOWRITE) !,?2,"DRUG",?25,"NUMBER",?40,"PROBLEM"
  1. Q