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

RAHLROUT.m

Go to the documentation of this file.
  1. RAHLROUT ;HIRMFO/CRT - Rad/Nuc Med HL7 Interfaces Routing Logic
  1. ;;5.0;Radiology/Nuclear Medicine;**25**;Mar 16, 1998
  1. ;
  1. RADIV ; Get the Division from the HL7 message, Piece 3 of Piece 21 of OBR.
  1. ;
  1. N I,J,RAPC,RAHLAPP
  1. S RADVSN=0,RAPC=21
  1. F I=1:1 X HLNEXT Q:HLQUIT'>0 D Q:RADVSN
  1. .Q:$P(HLNODE,HL("FS"))'="OBR"
  1. .I $L(HLNODE,HL("FS"))'<RAPC D
  1. ..N X
  1. ..S X=$P(HLNODE,HL("FS"),RAPC)
  1. ..D FORMAT^RAHLTCPB
  1. ..S RADVSN=$P(X,$E(HL("ECH")),3)
  1. .I $L(HLNODE,HL("FS"))<RAPC D
  1. ..S RAPC=RAPC+1-$L(HLNODE,HL("FS"))
  1. ..S J=0 F S J=$O(HLNODE(J)) Q:'J Q:$L(HLNODE(J),HL("FS"))'<RAPC D
  1. ...S RAPC=RAPC+1-$L(HLNODE(J),HL("FS"))
  1. ..N X
  1. ..S X=$P(HLNODE(J),HL("FS"),RAPC)
  1. ..D FORMAT^RAHLTCPB
  1. ..S RADVSN=$P(X,$E(HL("ECH")),3)
  1. ;
  1. RAHLL ; Check field .129 in Division File #79 for specific interfaces.
  1. ;
  1. ; If Receiving App listed as interface for this division, set and quit.
  1. ;
  1. S RAHLAPP=$P($G(^ORD(101,+HL("EIDS"),770)),"^",2)
  1. Q:'RAHLAPP
  1. I $D(^RA(79,+RADVSN,"HL7","B",+RAHLAPP)) D LINK(HL("EIDS")) Q
  1. ;
  1. ; Otherwise just QUIT, no message will be created for this SUBSCRIBER.
  1. Q
  1. ;
  1. ; INPUT - IEN: IEN of protocol file
  1. ; OUTPUT - SUBSCRIBER PROTOCOL^LOGICAL LINK in HLL("LINKS",1)
  1. ;
  1. S IEN=$G(IEN) Q:(IEN="")
  1. ;
  1. ; Make sure this is a subscriber type
  1. Q:$P($G(^ORD(101,IEN,0)),"^",4)'="S"
  1. ;
  1. S HLL("LINKS",1)=$P(^ORD(101,IEN,0),"^")_"^"_$P($G(^HLCS(870,+$P(^ORD(101,IEN,770),"^",7),0)),"^")
  1. Q