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

BHLFO.m

Go to the documentation of this file.
  1. BHLFO ; cmi/flag/maw - BHL Get Inbound Filing Order ;
  1. ;;3.01;BHL IHS Interfaces with GIS;**12**;JUL 01, 2001
  1. ;
  1. ;
  1. ;this routine will look at the message and get the inbound filing
  1. ;order
  1. ;
  1. MAIN ;-- this is the main routine driver
  1. D FO,PRS
  1. Q
  1. ;
  1. FO ;-- get the inbound filing order
  1. S BHLCNT=0
  1. S BHLMDA=0 F S BHLMDA=$O(^INTHL7M(BHLMIEN,1,"AS",BHLMDA)) Q:'BHLMDA D
  1. . S BHLMFN=$O(^INTHL7M(BHLMIEN,1,"AS",BHLMDA,0))
  1. . S BHLSEG=$P($G(^INTHL7S(+$P($G(^INTHL7M(BHLMIEN,1,BHLMFN,0)),U),0)),U,2)
  1. . S BHLCNT=BHLCNT+1
  1. . S BHLFO(BHLCNT)=BHLSEG
  1. Q
  1. ;
  1. PRS ;-- reparse INV for filer
  1. S BHLINV=0 F S BHLINV=$O(INV(BHLINV)) Q:BHLINV="" D
  1. . S BHLSEG=$E(BHLINV,1,3)
  1. . S BHLSEQ=+$E(BHLINV,4,6)
  1. . S BHLML=$O(INV(BHLINV,0))
  1. . I BHLML="" S BHL(BHLSEG,1,BHLSEQ)=$G(INV(BHLINV)) Q
  1. . S BHLML=0 F S BHLML=$O(INV(BHLINV,BHLML)) Q:'BHLML D
  1. .. I $O(INV(BHLINV,BHLML,0)) D PAR Q
  1. .. S BHL(BHLSEG,BHLML,BHLSEQ)=$G(INV(BHLINV,BHLML)) Q
  1. Q
  1. ;
  1. PAR ;-- break down array into lower level
  1. S BHLPR=0 F S BHLPR=$O(INV(BHLINV,BHLML,BHLPR)) Q:'BHLPR D
  1. . I $O(INV(BHLINV,BHLML,BHLPR,0)) D SUBPAR Q
  1. . S BHL(BHLSEG,BHLML,BHLPR,BHLSEQ)=$G(INV(BHLINV,BHLML,BHLPR))
  1. Q
  1. ;
  1. SUBPAR ;-- break down the relationship to the next level
  1. S BHLSPR=0 F S BHLSPR=$O(INV(BHLINV,BHLML,BHLPR,BHLSPR)) Q:'BHLSPR D
  1. . S BHL(BHLSEG,BHLML,BHLPR,BHLSPR,BHLSEQ)=$G(INV(BHLINV,BHLML,BHLPR,BHLSPR))
  1. Q
  1. ;