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

APSPNDCR.m

Go to the documentation of this file.
  1. APSPNDCR ;IHS/MSC/MGH - DRUG NDC REPORT ;14-Mar-2013 18:39;DU
  1. ;;7.0;IHS PHARMACY MODIFICATIONS;**1016**;Sep 23, 2004;Build 74
  1. EN ;EP
  1. N APSPNUM,APSPQ,APSPARY,APSPNAME,QFLG,APSPCNT
  1. S APSPQ=""
  1. ;All or selection of drugs
  1. W @IOF
  1. W !,"Active Drug NDC Report",!!
  1. S APSPNUM=$$DIR^APSPUTIL("S^A:All Drugs(this will be VERY LONG);U:Unmatched Drugs;N:Drugs with NO NDC code;M:Drugs with Mis-Matched codes","Type of Report? ",,,.APSPQ)
  1. Q:APSPNUM=""
  1. D DEV
  1. Q
  1. DEV ;EP
  1. N XBRP,XBNS
  1. S XBRP="OUT^APSPNDCR"
  1. S XBNS="APS*"
  1. D ^XBDBQUE
  1. Q
  1. OUT ;EP
  1. N IEN,NODE,INACT,DRUG,INACTDT,NDC,VA,VANDC,VAIEN
  1. U IO
  1. D HDR
  1. S IEN=0 F S IEN=$O(^PSDRUG(IEN)) Q:IEN=""!('+IEN) D
  1. .S (VANDC,VA)=""
  1. .S INACTDT=$$GET1^DIQ(50,IEN,100,"I")
  1. .Q:+INACTDT
  1. .S DRUG=$$GET1^DIQ(50,IEN,.01,"E")
  1. .S NDC=$$GET1^DIQ(50,IEN,31)
  1. .S NDC=$TR(NDC,"-","")
  1. .S VAIEN=$$GET1^DIQ(50,IEN,22,"I")
  1. .I VAIEN'="" D
  1. ..S VA=$$GET1^DIQ(50.68,VAIEN,.01)
  1. ..S VANDC=$$GET1^DIQ(50.68,VAIEN,13)
  1. .I $L(VANDC)=12 S VANDC=$E(VANDC,2,12)
  1. .I APSPNUM="A" D
  1. ..S APSPARY(DRUG)=IEN_U_NDC_U_VA_U_VANDC
  1. .I APSPNUM="U" D
  1. ..I VA="" S APSPARY(DRUG)=IEN_U_NDC_U_VA_U_VANDC
  1. .I APSPNUM="N" D
  1. ..I NDC=""&(VANDC="") S APSPARY(DRUG)=IEN_U_NDC_U_VA_U_VANDC
  1. .I APSPNUM="M" D
  1. ..I NDC'=""&(VANDC'="")&(NDC'=VANDC) S APSPARY(DRUG)=IEN_U_NDC_U_VA_U_VANDC
  1. S APSPQ=0
  1. S DRUG="" F S DRUG=$O(APSPARY(DRUG)) Q:DRUG=""!(+APSPQ) D
  1. .S NODE=$G(APSPARY(DRUG))
  1. .S IEN=$P(NODE,U,1),NDC=$P(NODE,U,2),VA=$P(NODE,U,3),VANDC=$P(NODE,U,4)
  1. .W !,IEN,?8,$E(DRUG,1,50),?58,NDC
  1. .W !,?10,$E(VA,1,44),?58,VANDC,!
  1. .I $Y+4>IOSL,IOST["C-" D PAUS Q:APSPQ D HDR
  1. .Q:APSPQ=1
  1. K APSPARY
  1. Q
  1. PAUS ;
  1. N DTOUT,DUOUT,DIR
  1. S DIR("?")="Enter '^' to Halt or Press Return to continue"
  1. S DIR(0)="FO",DIR("A")="Press Return to continue or '^' to Halt"
  1. D ^DIR
  1. I $D(DUOUT) S APSPQ=1
  1. Q
  1. HDR ;
  1. I IOST["C-" W @IOF
  1. W !,"Active Drug NDC Report"
  1. W !,"IEN",?8,"Drug Name",?58,"NDC"
  1. W !,?10,"VA Product",?58,"VA NDC",!
  1. Q