STANDARD DATA DICTIONARY #779.4 -- HLO SUBSCRIPTION REGISTRY FILE                                                 6/27/25    PAGE 1
STORED IN ^HLD(779.4,  (3 ENTRIES)   SITE: WWW.BMIRWIN.COM   UCI: VISTA,VISTA                                      (VERSION 1.6)   

DATA          NAME                  GLOBAL        DATA
ELEMENT       TITLE                 LOCATION      TYPE
-----------------------------------------------------------------------------------------------------------------------------------
This file is used to store static routing lists for messages.  
 
Static routing lists are lists of recipients that an application may create in advance for its messages.  The alternate routing
method is dynamic routing, whereby the recipient list is created by the application at the time the message is created.  


              DD ACCESS: @
              RD ACCESS: @
              WR ACCESS: @
             DEL ACCESS: @
           LAYGO ACCESS: @
           AUDIT ACCESS: @

PRIMARY KEY:        A (#65)
  Uniqueness Index: C (#738)
       File, Field: 1) NAME (779.4,.01)

POINTED TO BY: HL7 HLO SUBSCRIBER LIST field (#7) of the CLINICAL SPECIALTY DICOM & HL7 File (#2006.5831) 
               

CROSS
REFERENCED BY: OWNER APPLICATION(AH), NAME(B)

INDEXED BY:    OWNER APPLICATION & LOOKUP 1 & LOOKUP 2 & LOOKUP 3 & LOOKUP 4 & LOOKUP 5 & LOOKUP 6 (AH), NAME (C)




779.4,.01     NAME                   0;1 FREE TEXT (Required) (Key field)

              INPUT TRANSFORM:  K:$L(X)>30!($L(X)<3) X
              LAST EDITED:      MAR 23, 2009 
              HELP-PROMPT:      Enter a unique name, 3-30 characters, namespaced by the application. 
              DESCRIPTION:      There are two means of assigning a name to a subscription list: 
                                 
                                1) Subscription lists may be created at design time when developing a new 
                                   messaging application via the user option.  I that case the is textual and 
                                   should be a unique identifier namespaced by the application.  
                                 
                                2) New subscription lists may be created dynamically via an API.  For example, 
                                   a subscription list may be added for a new patient for an existing 
                                   messaging applcation.  In that case the name is numeric, equal to the 
                                   IEN of the entry.  
                                 

              NOTES:            XXXX--CAN'T BE ALTERED EXCEPT BY PROGRAMMER

              CROSS-REFERENCE:  779.4^B 
                                1)= S ^HLD(779.4,"B",$E(X,1,30),DA)=""
                                2)= K ^HLD(779.4,"B",$E(X,1,30),DA)

              FIELD INDEX:      C (#738)    REGULAR    IR    LOOKUP & SORTING
                   Unique for:  Key A (#65), File #779.4
                  Short Descr:  Uniqueness Index for Key 'A' of File #779.4
                    Set Logic:  S ^HLD(779.4,"C",X,DA)=""
                   Kill Logic:  K ^HLD(779.4,"C",X,DA)
                   Whole Kill:  K ^HLD(779.4,"C")
                         X(1):  NAME  (779.4,.01)  (Subscr 1)


779.4,.02     OWNER APPLICATION      0;2 FREE TEXT (Required)

              INPUT TRANSFORM:  K:$L(X)>40!($L(X)<1) X
              LAST EDITED:      MAR 23, 2009 
              HELP-PROMPT:      What application owns the subscription? 3-40 characters allowed. 
              DESCRIPTION:
                                This is the application or package responsible for creating this subscription.  

              CROSS-REFERENCE:  779.4^AH^MUMPS 
                                1)= Q
                                2)= D KILLAH^HLOASUB1(DA)
                                The AH x-ref is maintained by the owner of the subscription.  It represents a private index by
                                which the application my perform a lookup to find a subscription.  The use of a private index is
                                optional, the alternative being that the owning application may store the ien of the subscription
                                entry with the application's data.  
                                 
                                The format of the index is as follows: 
                                 
                                ^HLS(779.4,"AH",,,)="" 


              RECORD INDEXES:   AH (#712)

779.4,.03     DESCRIPTION            1;1 FREE TEXT

              INPUT TRANSFORM:  K:$L(X)>75!($L(X)<1) X
              LAST EDITED:      DEC 07, 1999 
              HELP-PROMPT:      Answer must be 1-75 characters in length 

779.4,3.01    LOOKUP 1               3;1 FREE TEXT

              INPUT TRANSFORM:  K:$L(X)>40!($L(X)<1) X
              LAST EDITED:      JAN 24, 2007 
              HELP-PROMPT:      Answer must be 1-40 characters in length 
              RECORD INDEXES:   AH (#712)

779.4,3.02    LOOKUP 2               3;2 FREE TEXT

              INPUT TRANSFORM:  K:$L(X)>40!($L(X)<1) X
              LAST EDITED:      JAN 24, 2007 
              HELP-PROMPT:      Answer must be 1-40 characters in length 
              RECORD INDEXES:   AH (#712)

779.4,3.03    LOOKUP 3               3;3 FREE TEXT

              INPUT TRANSFORM:  K:$L(X)>40!($L(X)<1) X
              LAST EDITED:      JAN 24, 2007 
              HELP-PROMPT:      Answer must be 1-40 characters in length 
              RECORD INDEXES:   AH (#712)

779.4,3.04    LOOKUP 4               3;4 FREE TEXT

              INPUT TRANSFORM:  K:$L(X)>40!($L(X)<1) X
              LAST EDITED:      JAN 24, 2007 
              HELP-PROMPT:      Answer must be 1-40 characters in length 
              RECORD INDEXES:   AH (#712)

779.4,3.05    LOOKUP 5               3;5 FREE TEXT

              INPUT TRANSFORM:  K:$L(X)>40!($L(X)<1) X
              LAST EDITED:      JAN 24, 2007 
              HELP-PROMPT:      Answer must be 1-40 characters in length 
              RECORD INDEXES:   AH (#712)

779.4,3.06    LOOKUP 6               3;6 FREE TEXT

              INPUT TRANSFORM:  K:$L(X)>40!($L(X)<1) X
              LAST EDITED:      JAN 24, 2007 
              HELP-PROMPT:      Answer must be 1-40 characters in length 
              RECORD INDEXES:   AH (#712)

779.4,20      RECIPIENTS             2;0 Multiple #779.41


              INDEXED BY:       DATE/TIME ADDED & DATE/TIME TERMINATED (AC), RECEIVING APPLICATION (AD), RECEIVING APPLICATION &
                                FACILITY LOGICAL LINK & MIDDLEWARE LOGICAL LINK (AE)

779.41,.01      RECEIVING APPLICATION  0;1 FREE TEXT (Required) (Multiply asked)

                INPUT TRANSFORM:  K:$L(X)>60!($L(X)<3) X
                LAST EDITED:      MAY 06, 2013 
                HELP-PROMPT:      Enter the name of the application that will receive the messages. (3-60 characters) 
                CROSS-REFERENCE:  779.41^B 
                                  1)= S ^HLS(779.4,DA(1),2,"B",$E(X,1,30),DA)=""
                                  2)= K ^HLS(779.4,DA(1),2,"B",$E(X,1,30),DA)

                FIELD INDEX:      AD (#93)    MUMPS    IR    SORTING ONLY
                    Short Descr:  Used to determine if the recipient is already on the subscription list.
                      Set Logic:  S ^HLD(779.4,DA(1),2,"AD",X2(1),+X2(2),X2(3),DA)=""
                     Kill Logic:  K ^HLD(779.4,DA(1),2,"AD",X1(1),+X1(2),X1(3),DA)
                           X(1):  RECEIVING APPLICATION  (779.41,.01)  (Subscr 1)  (forwards)
                           X(2):  Computed Code: S X=$$TLINK^HLOASUB(DA(1),DA)
                                    (Subscr 2)  (Len 10)  (forwards)
                           X(3):  Computed Code: S X=$TR($P(^HLD(779.4,DA(1),2,DA,0),"^",3,5),"^","")
                                    (Subscr 3)  (forwards)

                RECORD INDEXES:   AE (#306)

779.41,.02      MIDDLEWARE LOGICAL LINK 0;2 POINTER TO HL LOGICAL LINK FILE (#870)

                INPUT TRANSFORM:  S DIC("S")="I $P($G(^HLCS(870,Y,400)),""^"",3)=""C""" D ^DIC K DIC S DIC=$G(DIE),X=+Y K:Y<0 X
                LAST EDITED:      MAY 28, 2009 
                HELP-PROMPT:      If messages should be routed via middleware, such as an interface engine, what is the HL Logical 
                                  Link? 
                DESCRIPTION:      This field determines the HL Logical Link over which to transmit messages to this recipient. It
                                  determines the IP address and port, but not the receiving facility field that appears in the
                                  message header. 
                                   
                                  This field is optional and should be entered only if messages should be routed through
                                  middleware, such as an interface engine. Otherwise it should not be entered, and the field
                                  FACILITY LOGICAL LINK will be used to determine the IP address and port over which to send
                                  messages.  
                                   
                                   
                                   

                SCREEN:           S DIC("S")="I $P($G(^HLCS(870,Y,400)),""^"",3)=""C"""
                EXPLANATION:      Allows only TCP clients.
                RECORD INDEXES:   AE (#306)

779.41,.021     FACILITY LOGICAL LINK  0;6 POINTER TO HL LOGICAL LINK FILE (#870) (Required)

                INPUT TRANSFORM:  S DIC("S")="I $P($G(^HLCS(870,Y,400)),""^"",3)=""C""" D ^DIC K DIC S DIC=$G(DIE),X=+Y K:Y<0 X
                LAST EDITED:      MAY 28, 2009 
                HELP-PROMPT:      What is the HL Logical Link for the receiving facility? 
                DESCRIPTION:      This field determines the receiving facility field that appears in the message header for
                                  messages sent to this recipient.  If the MIDDLEWARE LOGICAL LINK field is blank, then this field
                                  also determines the IP address and port over which to send the message.  
                                   
                                   

                SCREEN:           S DIC("S")="I $P($G(^HLCS(870,Y,400)),""^"",3)=""C"""
                EXPLANATION:      Allows only TCP clients.
                RECORD INDEXES:   AE (#306)

779.41,.03      RECEIVING FACILITY COMPONENT 1 0;3 FREE TEXT

                INPUT TRANSFORM:  K:$L(X)>50!($L(X)<1) X
                LAST EDITED:      MAR 25, 2009 
                HELP-PROMPT:      Answer must be 1-50 characters in length 
                DESCRIPTION:      This is the value that should be placed in component 1 of the receiving facility field of the
                                  message header.  


779.41,.04      RECEIVING FACILITY COMPONENT 2 0;4 FREE TEXT

                INPUT TRANSFORM:  K:$L(X)>50!($L(X)<1) X
                LAST EDITED:      MAR 25, 2009 
                HELP-PROMPT:      Answer must be 1-50 characters in length 
                DESCRIPTION:      This is the value that should be placed in component 2 of the receiving facility field of the
                                  message header.  


779.41,.05      RECEIVING FACILITY COMPONENT 3 0;5 FREE TEXT

                INPUT TRANSFORM:  K:$L(X)>10!($L(X)<1) X
                LAST EDITED:      MAR 25, 2009 
                HELP-PROMPT:      Answer must be 1-10 characters in length 
                DESCRIPTION:      This is the value that should be placed in component 3 of the receiving facility field of the
                                  message header.  


779.41,1.01     DATE/TIME ADDED        1;1 DATE (Required)

                INPUT TRANSFORM:  S %DT="ESTXR" D ^%DT S X=Y K:X<1 X
                LAST EDITED:      MAY 26, 2004 
                HELP-PROMPT:      Enter the date and time that this recipient was added to the subscription list. 
                RECORD INDEXES:   AC (#92), AC (#713)

779.41,1.02     DATE/TIME TERMINATED   1;2 DATE

                INPUT TRANSFORM:  S %DT="ESTXR" D ^%DT S X=Y K:X<1 X
                LAST EDITED:      MAY 26, 2004 
                HELP-PROMPT:      Enter the date and time that this recipient was dropped from the subscription list 
                RECORD INDEXES:   AC (#92), AC (#713)




      FILES POINTED TO                      FIELDS

HL LOGICAL LINK (#870)            RECIPIENTS:MIDDLEWARE LOGICAL LINK (#.02)
                                  FACILITY LOGICAL LINK (#.021)


File #779.4

  Record Indexes:

  AH (#712)    RECORD    MUMPS    IR    ACTION
      Short Descr:  LOOKUP
      Description:   
                     
                     
                    
        Set Logic:  D SETAH1^HLOASUB1(DA,X(1),X(2),X(3),X(4),X(5),X(6),X(7))
       Kill Logic:  D KILLAH1^HLOASUB1(X(1),X(2),X(3),X(4),X(5),X(6),X(7))
       Whole Kill:  K ^HLD(779.4,"AH")
             X(1):  OWNER APPLICATION  (779.4,.02)  (Subscr 1)  (forwards)
             X(2):  LOOKUP 1  (779.4,3.01)  (forwards)
             X(3):  LOOKUP 2  (779.4,3.02)  (forwards)
             X(4):  LOOKUP 3  (779.4,3.03)  (forwards)
             X(5):  LOOKUP 4  (779.4,3.04)  (forwards)
             X(6):  LOOKUP 5  (779.4,3.05)  (forwards)
             X(7):  LOOKUP 6  (779.4,3.06)  (forwards)

Subfile #779.41

  Record Indexes:

  AC (#92)    RECORD    MUMPS    IR    SORTING ONLY
      Short Descr:  Used to find recipients who have not been terminated.
        Set Logic:  S ^HLD(779.4,DA(1),2,"AC",DA)=""
         Set Cond:  S X=$S($G(X2(2)):0,1:1)
       Kill Logic:  K ^HLD(779.4,DA(1),2,"AC",DA)
        Kill Cond:  S X=1
             X(1):  DATE/TIME ADDED  (779.41,1.01)  (Subscr 1)  (forwards)
             X(2):  DATE/TIME TERMINATED  (779.41,1.02)  (forwards)

  AC (#713)    RECORD    MUMPS    IR    SORTING ONLY
      Short Descr:  Used to find recipients who have not been terminated.
        Set Logic:  S ^HLD(779.4,DA(1),2,"AC",DA)=""
         Set Cond:  S X=$S($G(X2(2)):0,1:1)
       Kill Logic:  K ^HLD(779.4,DA(1),2,"AC",DA)
        Kill Cond:  S X=1
             X(1):  DATE/TIME ADDED  (779.41,1.01)  (Subscr 1)  (forwards)
             X(2):  DATE/TIME TERMINATED  (779.41,1.02)  (forwards)

  AE (#306)    RECORD    REGULAR    IR    SORTING ONLY
      Short Descr:  Used to determine if a subscriber is on the subscriber list.
      Description:  The index is: 
                     
                    ^HLD(779.4,DA(1),2,"AE", RECEIVING APPLICATION, +FACILITY LOGICAL LINK, +MIDDLEWARE LOGICAL LINK)="" 
                     
                     
                    **Note that if the logical link fields are null, then their place in the index will be populated with zero.  
        Set Logic:  S ^HLD(779.4,DA(1),2,"AE",$E(X(1),1,30),X(4),X(5),DA)=""
       Kill Logic:  K ^HLD(779.4,DA(1),2,"AE",$E(X(1),1,30),X(4),X(5),DA)
       Whole Kill:  K ^HLD(779.4,DA(1),2,"AE")
             X(1):  RECEIVING APPLICATION  (779.41,.01)  (Subscr 1)  (Len 30)  (forwards)
             X(2):  FACILITY LOGICAL LINK  (779.41,.021)  (Len 10)  (forwards)
             X(3):  MIDDLEWARE LOGICAL LINK  (779.41,.02)  (Len 10)  (forwards)
             X(4):  Computed Code: S X=+X(2)
                      (Subscr 2)
             X(5):  Computed Code: S X=+X(3)
                      (Subscr 3)


INPUT TEMPLATE(S):
HLO EDIT SUBSCRIPTION         APR 01, 2009@10:25  USER #0    

PRINT TEMPLATE(S):

SORT TEMPLATE(S):

FORM(S)/BLOCK(S):