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

PSNPPSI1.m

Go to the documentation of this file.
  1. PSNPPSI1 ;HP/MJE-PPSN update NDF data for parsing DATANT records ; 05 Mar 2014 1:20 PM
  1. ;;4.0;NATIONAL DRUG FILE;**513**; 30 Oct 98;Build 53
  1. ;
  1. Q
  1. ;
  1. ;This routine parses DATANT records which add .01 fields to files and sub-files
  1. DATANT ;
  1. K FDA
  1. S FDA(57.231,CTRLXIEN_","_CTRLIEN_",",6)="DATANT"
  1. D UPDATE^DIE("","FDA","CTRLIEN")
  1. K FDA
  1. D CTRLFILE^PSNPPSMS(0)
  1. D CTRLSS^PSNPPSMS(0)
  1. D CTRLIEN^PSNPPSMS(0)
  1. S FILE=0,GROOT=$NA(^TMP("PSN PPSN PARSED",$J,"DATANT")),PSNTMPN="DATANT"
  1. F S FILE=$O(@GROOT@(FILE)) Q:'FILE D CTRLFILE^PSNPPSMS(FILE) S ROOT=$$ROOT^DILFD(FILE) I ROOT]"" S GROOT1=$NA(@GROOT@(FILE)) F JJ=1:2 Q:'$D(@GROOT1@(JJ)) D
  1. .S (DIA,NEW)=""
  1. .S DIA=@GROOT1@(JJ) I $G(@GROOT1@(JJ+1))]"" S NEW=@GROOT1@(JJ+1)
  1. .D CTRLSS^PSNPPSMS($TR(GROOT1,"^")_","_JJ)
  1. .S DA=+DIA K FDA,IENS
  1. .I FILE=50.68 S ^TMP("PSN PPSN PARSED",$J,"AE_PRODUCTS",DA)="" S:$P(DIA,"^",3)=.01 ^TMP("PSN PPSN PARSED",$J,"NEW PRODUCTS",DA)=""
  1. .;
  1. .I PSNPS="N",FILE=50.416 D INGRED^PSNPPSNK
  1. .I PSNPS="N",FILE=56 D
  1. ..K STAT
  1. ..S STAT="A"
  1. ..I $D(^PS(56,DA)) S STAT="E" S:$$GET1^DIQ(56,DA,7)'="" STAT="I"
  1. ..S ^TMP("PSN PPSN PARSED",$J,"POST_RUN",5000.56,FILE,DA,.01)=STAT
  1. .;
  1. .I PSNPS="N",FILE=50.68 D
  1. ..D NDFK^PSNPPSNK
  1. ..K FDA,ORD,ERROR
  1. ..S ORD=""
  1. ..I $D(^PSNDF(50.68,DA)) S ORD=$$GET1^DIQ(FILE,DA_",",31,"I","ERROR")
  1. ..S ^TMP("PSN PPSN PARSED",$J,"POST_RUN",5000.608,FILE,DA,.01)=ORD
  1. .;
  1. .I $$GET1^DIQ(FILE,DA,.01)]"" S FDA(FILE,DA_",",.01)=NEW D FILE^DIE("","FDA"),CTRLIEN^PSNPPSMS(DA) Q
  1. .S DINUM=DA,X=NEW,DIC=ROOT,DIC(0)="L",DIC("DR")="S Y=0" K DD,DO D FILE^DICN
  1. ;
  1. D DATAN^PSNPPSI2
  1. Q