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

BHLXRFL.m

Go to the documentation of this file.
  1. BHLXRFL ; cmi/flag/maw - BHL Read X12 File in and stuff into ^INTHU ; [ 10/10/2002 9:29 AM ]
  1. ;;3.01;BHL IHS Interfaces with GIS;6;JUL 01, 2001
  1. ;
  1. ;
  1. ;
  1. ;this routine will grab a file from HFS and stuff it into the ^INTHU
  1. ;global for processing
  1. ;
  1. MAIN(XMSG,BHLXDIR,BHLXPRE,BHLXTF) ;-- this is the main routine driver
  1. D ^%ZISC
  1. K ^BHLX12($J)
  1. D READ
  1. D ^%ZISC
  1. D EOJ
  1. Q
  1. ;
  1. READ ;-- read the file in
  1. ;cmi/maw we need to set up dynamic directory reads here
  1. I $G(BHLXTF)="" S BHLXTF="T"
  1. S BHLXLST=$$LIST^%ZISH(BHLXDIR,BHLXPRE,.BHLXLST)
  1. S BHLXFDA=0 F S BHLXFDA=$O(BHLXLST(BHLXFDA)) Q:'BHLXFDA D
  1. . D ^%ZISC
  1. . S BHLXFNM=$G(BHLXLST(BHLXFDA))
  1. . S Y=$$OPEN^%ZISH(BHLXDIR,BHLXFNM,"R")
  1. . F I=1:1 U IO R BHLXT:DTIME Q:BHLXT="" D
  1. .. I BHLXTF="P" F J=1:1 S BHLXREC=$P(BHLXT,"~",J),^BHLX12($J,J)=$G(BHLXREC) Q:BHLXREC="" ;real messages
  1. .. I BHLXTF="T" S BHLXREC=BHLXT,^BHLX12($J,I)=$G(BHLXREC) Q:BHLXREC="" ;test messages
  1. . D STUFF
  1. Q
  1. ;
  1. STUFF ;-- stuff the information into ^INTHU
  1. D NOW^%DTC S BHLXDTM=$G(%)
  1. S BHLXH=$H
  1. S BHLXDEST=$O(^INRHD("B","X1 IHS "_XMSG_" IN",0))
  1. S BHLXSTAT="N"
  1. S BHLXIO="I"
  1. S BHLXPRIO=1
  1. K DD,DO
  1. S DIC="^INTHU(",DIC(0)="L",X=BHLXDTM
  1. S DIC("DR")=".02////"_BHLXDEST_";.03////"_BHLXSTAT_";.1////"_BHLXIO
  1. S DIC("DR")=DIC("DR")_";.16///"_BHLXPRIO
  1. D FILE^DICN
  1. S BHLXUIF=+Y
  1. S BHLXDA=0 F S BHLXDA=$O(^BHLX12($J,BHLXDA)) Q:'BHLXDA D
  1. . K DIC,DD,DO
  1. . S DIC="^INTHU("_BHLXUIF_",3,",DIC(0)="L"
  1. . S DIC("P")=$P(^DD(4001,3,0),"",2)
  1. . S DA(1)=BHLXUIF,X=$G(^BHLX12($J,BHLXDA))_"|CR|"
  1. . Q:X=""
  1. . D FILE^DICN
  1. K ^INTHU(BHLXUIF,3,"B") ;don't need b index on msg multiple
  1. S ^INLHSCH(BHLXPRIO,BHLXH,BHLXUIF)=""
  1. Q
  1. ;
  1. EOJ ;-- kill variables and quit
  1. K I,J
  1. D EN^XBVK("BHLX")
  1. K ^BHLX12($J)
  1. Q
  1. ;