STANDARD DATA DICTIONARY #800000 -- HMP SUBSCRIPTION FILE                                                         3/24/25    PAGE 1
STORED IN ^HMP(800000,  *** NO DATA STORED YET ***   SITE: WWW.BMIRWIN.COM   UCI: VISTA,VISTA                      (VERSION 2.0)   

DATA          NAME                  GLOBAL        DATA
ELEMENT       TITLE                 LOCATION      TYPE
-----------------------------------------------------------------------------------------------------------------------------------
This file contains the data needed for eHMP data retrieval. The top level fields store information about servers know to eHMP. Each
patient's subscription is stored in #800000.01 sub-file for a server.  


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

CROSS
REFERENCED BY: SERVER(B)

INDEXED BY:    DEFAULT? (AD), PATIENT NAME & STATUS (ADFN), OPERATION DATA (AITEM), NAME & ON (AROS)


    LAST MODIFIED: JAN 23,2017@14:26:31

800000,.01    SERVER                 0;1 FREE TEXT (Required)

              INPUT TRANSFORM:  K:$L(X)>64!($L(X)<1)!'(X'?1P.E) X
              LAST EDITED:      OCT 28, 2014 
              HELP-PROMPT:      Answer must be 1-64 characters in length. 
              DESCRIPTION:
                                This is the name of the client system that is subscribing to data updates.  

              CROSS-REFERENCE:  800000^B 
                                1)= S ^HMP(800000,"B",$E(X,1,64),DA)=""
                                2)= K ^HMP(800000,"B",$E(X,1,64),DA)


800000,.02    LASTUPDATE             0;2 FREE TEXT

              INPUT TRANSFORM:  K:$L(X)>100!($L(X)<3) X
              LAST EDITED:      JUL 19, 2016 
              HELP-PROMPT:      Answer must be 3-100 characters in length. (Do not modify.) 
              DESCRIPTION:      This field holds a flag, indicating if this URL should be notified via the nightly scheduled option
                                HMP APPOINTMENTS of the list of patients expected to be seen tomorrow.  


800000,.03    OPERATION DATA         0;3 SET

                                '0' FOR UNSUBCRIBED; 
                                '1' FOR SUBSCRIBED; 
                                '2' FOR INITIALIZED; 
              LAST EDITED:      JUL 20, 2016 
              HELP-PROMPT:      Select the type of notification for this URL. (Do Not Modify) 
              DESCRIPTION:      This field holds a flag, indicating if this URL should be notified via http when a patient is
                                admitted.  

              FIELD INDEX:      AITEM (#1331)    MUMPS    IR    ACTION
                  Short Descr:  AITEM TEST
                  Description:  This index will place the entry in the data monitor for this patient.  
                    Set Logic:  D HMPOSET^HMPDJFS(DA,X)
                     Set Cond:  I X(1)'=""
                   Kill Logic:  D HMPOKILL^HMPDJFS(DA)
                    Kill Cond:  I X(1)'=""
                   Whole Kill:  K ^HMP(800000,"AITEM")
                         X(1):  OPERATION DATA  (800000,.03)  (forwards)


800000,.04    REPEAT POLLS           0;4 NUMBER

              INPUT TRANSFORM:  K:+X'=X!(X>99999999)!(X<0)!(X?.E1"."1N.N) X
              LAST EDITED:      OCT 28, 2014 
              HELP-PROMPT:      Type a number between 0 and 99999999, 0 decimal digits. 
              DESCRIPTION:      This tracks the number of times the same "last update" value has been repeated.  A high repeat may
                                be normal if data are not changing.  


800000,.05    DISK USAGE STATUS      0;5 SET

                                '0' FOR WITHIN LIMIT; 
                                '1' FOR EXCEEDED LIMIT; 
              LAST EDITED:      JUN 24, 2015 
              HELP-PROMPT:      Enter current status of eHMP disk usage 
              DESCRIPTION:      The DISK USAGE STATUS flag is an indicator set automatically in the eHMP subscription process. If
                                the disk space usage in global ^XTMP by eHMP subscriptions is above the threshold in the HMP
                                EXTRACT DISK SIZE LIMIT is exceeded this flag will be set. Similarly the flag is reset if usage 
                                later falls below the threshold.  

              TECHNICAL DESCR:  The field is updated from subscription process by the STATUS^HMPMETA routine.  
                                 
                                The field is referenced by the fetch process using CHECK^HMPMETA routine.  


800000,.06    DISK USAGE STATUS TIME 0;6 DATE

              INPUT TRANSFORM:  S %DT="ESTXR" D ^%DT S X=Y K:X<1 X
              LAST EDITED:      JUN 24, 2015 
              HELP-PROMPT:      Enter the time the DISK USAGE STATUS field was updated. 
              DESCRIPTION:      The DISK USAGE STATUS TIME is a field set automatically in the eHMP subscription process. If the
                                disk space usage in global ^XTMP by eHMP subscriptions is above the threshold in the HMP EXTRACT
                                DISK SIZE LIMIT is exceeded the DISK USAGE STATUS field will be set and the time of the change
                                recorded in this field . Similarly the flag and time fields will be reset if usage later falls
                                below the threshold.  

              TECHNICAL DESCR:  The field is updated from subscription process by the STATUS^HMPMETA routine.  
                                 
                                The field is referenced by the fetch process using CHECK^HMPMETA routine.  


800000,.07    DEFAULT?               0;7 SET

                                '1' FOR YES; 
                                '0' FOR NO; 
              LAST EDITED:      JUL 20, 2016 
              HELP-PROMPT:      Enter 1 for the default eHMP primary subscription. 
              DESCRIPTION:      This field identifies the primary eHMP subscription for this server. It identifies this server as
                                the default for operations such as selecting a subscription to monitor in the option eHMP Dashboard
                                [HMPMON DASHBOARD].  Only one server at a time can be set as the default. If this file contains 
                                only one record, then it will be used automatically as the default.  

              TECHNICAL DESCR:
                                Used in $$GETSRVR^HMPMOND to identify the default subscription if this file contains more than one.  

              FIELD INDEX:      AD (#1413)    REGULAR    IR    SORTING ONLY
                  Short Descr:  Index of operational data by server.
                  Description:  This index is used to find operational data for each eHMP server.  
                    Set Logic:  S ^HMP(800000,"AD",X,DA)=""
                     Set Cond:  S X=X(1)
                   Kill Logic:  K ^HMP(800000,"AD",X,DA)
                    Kill Cond:  S X=X(1)
                   Whole Kill:  K ^HMP(800000,"AD")
                         X(1):  DEFAULT?  (800000,.07)  (Subscr 1)  (forwards)


800000,.1     URL                    .1;1 FREE TEXT

              INPUT TRANSFORM:  K:$L(X)>250!($L(X)<1) X
              LAST EDITED:      JUL 19, 2016 
              HELP-PROMPT:      Answer must be 1-250 characters in length. 
              DESCRIPTION:
                                This is the fully qualified URL to call when updates are available.  


800000,1      PATIENT                1;0 POINTER Multiple #800000.01

              DESCRIPTION:
                                This is a patient that will be monitored for new data and updates.  


              INDEXED BY:       STATUS & STATUS DATE/TIME (AP)

800000.01,.01   PATIENT NAME           0;1 POINTER TO PATIENT FILE (#2) (Multiply asked)

                INPUT TRANSFORM:  S DINUM=X
                LAST EDITED:      FEB 26, 2014 
                HELP-PROMPT:      Enter the name of a patient to be tracked. 
                DESCRIPTION:
                                  This is the name of the patient being monitored for new data.  

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

                RECORD INDEXES:   ADFN (#1330) (WHOLE FILE #800000)

800000.01,2     STATUS                 0;2 SET

                                  '0' FOR UNINITIALIZED; 
                                  '1' FOR INITIALIZING; 
                                  '2' FOR INITIALIZED; 
                LAST EDITED:      JUL 20, 2016 
                HELP-PROMPT:      Select the status for a patient sync. (Do Not Modify) 
                DESCRIPTION:      This field tracks the initialization progress of the patient.  When a patient is initially
                                  subscribed, they are added to this multiple.  The status is "1" when the extracts start and "2"
                                  when they finish.  At that point, freshness updates are moved into the stream.  

                RECORD INDEXES:   ADFN (#1330) (WHOLE FILE #800000), AP (#1333)

800000.01,3     STATUS DATE/TIME       0;3 DATE

                INPUT TRANSFORM:  S %DT="ESTXR" D ^%DT S X=Y K:Y<1 X
                LAST EDITED:      JUL 22, 2016 
                HELP-PROMPT:      Enter the date/time the status changed. 
                DESCRIPTION:
                                  This is the date/time of the last change in extract status.  

                RECORD INDEXES:   AP (#1333)

800000.01,4     ORDERS                 1;0 POINTER Multiple #800000.14 (Add New Entry without Asking)

                DESCRIPTION:      This multiple contains order data needed by eHMP data storage. The data in the sub-file are
                                  stored based on the date and time, including seconds, for an action with the order. 
                                   
                                  All data in this sub-file are to be manipulated by software only.  Users should NOT edit any data
                                  without consulting with the developers.  


800000.14,.01     ORDER NUMBER           0;1 POINTER TO ORDER FILE (#100)

                  INPUT TRANSFORM:  S DINUM=X
                  LAST EDITED:      JUL 19, 2016 
                  HELP-PROMPT:      Enter the Order number. 
                  DESCRIPTION:      All the data in this sub-file are entered programmatically.  
                                     
                                    The data are used to create timestamps with seconds in order to correctly sequence orders
                                    activities in the eHMP system. Two activities on an order may occur within the same minute.  

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

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


800000.14,.02     CREATE DATE/TIME       0;2 DATE

                  INPUT TRANSFORM:  S %DT="ESTX" D ^%DT S X=Y K:Y<1 X
                  LAST EDITED:      DEC 16, 2015 
                  HELP-PROMPT:      Enter the date and time the order was created. 
                  DESCRIPTION:      The date/time to include seconds that the order was created.  This field is entered
                                    programmatically.  


800000.14,.03     SIGNED BY              0;3 POINTER TO NEW PERSON FILE (#200)

                  LAST EDITED:      DEC 16, 2015 
                  HELP-PROMPT:      Enter the User who signed the order. 
                  DESCRIPTION:
                                    The person signing the order.  This field is entered programmatically.  


800000.14,.04     SIGNED DATE/TIME       0;4 DATE

                  INPUT TRANSFORM:  S %DT="ESTX" D ^%DT S X=Y K:Y<1 X
                  LAST EDITED:      JUL 19, 2016 
                  HELP-PROMPT:      Enter the date and time the order was signed. 
                  DESCRIPTION:
                                    The date/time with seconds the order was signed. This field is entered programmatically.  


800000.14,.05     VERIFYING NURSE        0;5 POINTER TO NEW PERSON FILE (#200)

                  LAST EDITED:      JUL 19, 2016 
                  HELP-PROMPT:      Enter the nurse who verified the order. 
                  DESCRIPTION:
                                    The nurse verifying the order.  This field is entered programmatically.  


800000.14,.06     NURSE VERIFY DATE/TIME 0;6 DATE

                  INPUT TRANSFORM:  S %DT="ESTX" D ^%DT S X=Y K:X<1 X
                  LAST EDITED:      JUL 26, 2016 
                  HELP-PROMPT:      Enter the date and time the nurse verified the order. 
                  DESCRIPTION:      The date/time, including seconds, when the nurse verified the order. This field is entered
                                    programmatically.  


800000.14,.07     VERIFYING CLERK        0;7 POINTER TO NEW PERSON FILE (#200)

                  LAST EDITED:      DEC 16, 2015 
                  HELP-PROMPT:      Enter the clerk who verified the order. 
                  DESCRIPTION:
                                    The clerk who verified the order.  This field is entered programmatically.  


800000.14,.08     CLERK VERIFY DATE/TIME 0;8 DATE

                  INPUT TRANSFORM:  S %DT="ESTX" D ^%DT S X=Y K:Y<1 X
                  LAST EDITED:      DEC 17, 2015 
                  HELP-PROMPT:      Enter the date and time the clerk verified the order. 
                  DESCRIPTION:      The date/time, including seconds, the clerk verified the order.  This field is entered
                                    programmatically.  


800000.14,.09     REVIEWED BY            0;9 POINTER TO NEW PERSON FILE (#200)

                  LAST EDITED:      DEC 16, 2015 
                  HELP-PROMPT:      Enter the user who reviewed the order. 
                  DESCRIPTION:
                                    The user who reviewed the order.  This field is entered programmatically.  


800000.14,.1      REVIEWED DATE/TIME     0;10 DATE

                  INPUT TRANSFORM:  S %DT="ESTR" D ^%DT S X=Y K:Y<1 X
                  LAST EDITED:      JUL 19, 2016 
                  HELP-PROMPT:      Enter the date and time the order was reviewed. 
                  DESCRIPTION:      The date/time, including seconds, that the order was reviewed. This field is entered
                                    programmatically.  


800000.14,.11     RELEASED BY            0;11 POINTER TO NEW PERSON FILE (#200)

                  LAST EDITED:      DEC 16, 2015 
                  HELP-PROMPT:      Enter the user who released the order. 
                  DESCRIPTION:
                                    The user who released the order.  This field is entered programmatically.  


800000.14,.12     RELEASED DATE/TIME     0;12 DATE

                  INPUT TRANSFORM:  S %DT="ESTX" D ^%DT S X=Y K:Y<1 X
                  LAST EDITED:      JUL 19, 2016 
                  HELP-PROMPT:      Enter the date and time the order was released. 
                  DESCRIPTION:      The date/time, including seconds, when the order was released. This field is entered
                                    programmatically.  


800000.14,.13     PURGE DATE/TIME        0;13 DATE

                  INPUT TRANSFORM:  S %DT="ESTR" D ^%DT S X=Y K:X<1 X
                  LAST EDITED:      JUL 20, 2016 
                  HELP-PROMPT:      The date this order can be purged from the file. 
                  DESCRIPTION:
                                    The earliest date/time the order data can be purged.  This field is entered programmatically.  


800000.14,.14     ORDER ACTION           0;14 SET

                                    'NW' FOR NEW; 
                                    'DC' FOR DISCONTINUED; 
                                    'HD' FOR HOLD; 
                                    'RL' FOR RELEASE HOLD; 
                                    'XX' FOR CHANGE; 
                                    'VA' FOR VALIDATE; 
                                    'IP' FOR TRANSFERRED TO IP; 
                                    'OP' FOR TRANSFERRED TO OP; 
                  LAST EDITED:      DEC 16, 2015 
                  HELP-PROMPT:      Enter the action performed on this order. 
                  DESCRIPTION:
                                    The action taken on the order.  This field is entered programmatically.  


800000.14,.15     ACTION DATE/TIME       0;15 DATE

                  INPUT TRANSFORM:  S %DT="ESTR" D ^%DT S X=Y K:X<1 X
                  LAST EDITED:      JUL 20, 2016 
                  HELP-PROMPT:      (No range limit on date) 
                  DESCRIPTION:
                                    The date/time of the order action. This field is entered programmatically.  


800000.14,1.01    TRACKING START         1;1 DATE

                  INPUT TRANSFORM:  S %DT="ESTX" D ^%DT S X=Y K:Y<1 X
                  LAST EDITED:      JAN 26, 2016 
                  HELP-PROMPT:      Enter the date and time that eHMP started tracking this Order. 
                  DESCRIPTION:
                                    This field is set to NOW when the Order is first added to this sub-file.  It is uneditable.  

                                    UNEDITABLE

800000.14,2       ORDER FLAG/UNFLAG DATE/TIME 2;0 DATE Multiple #800000.142 (Add New Entry without Asking)

                  LAST EDITED:      DEC 16, 2015 
                  DESCRIPTION:
                                    This sub-file contains flagging/unflagging actions on orders.  


800000.142,.01      ORDER FLAG/UNFLAG DATE/TIME 0;1 DATE

                    INPUT TRANSFORM:  S %DT="ESTR" D ^%DT S X=Y K:Y<1 X
                    LAST EDITED:      JUL 19, 2016 
                    HELP-PROMPT:      Enter the date and time the order was flagged or unflagged. 
                    DESCRIPTION:      This is the date/time with seconds that an order was flagged /unflagged.  This field is
                                      entered programmatically. An order can be flagged or unflagged multiple times.  

                    CROSS-REFERENCE:  800000.142^B 
                                      1)= S ^HMP(800000,DA(3),1,DA(2),1,DA(1),2,"B",$E(X,1,30),DA)=""
                                      2)= K ^HMP(800000,DA(3),1,DA(2),1,DA(1),2,"B",$E(X,1,30),DA)


800000.142,.02      FLAG ACTION            0;2 SET

                                      'F' FOR FLAGGED; 
                                      'U' FOR UNFLAGGED; 
                    LAST EDITED:      JUL 20, 2016 
                    HELP-PROMPT:      Select the flagged action for this order. 
                    DESCRIPTION:
                                      The flagging action, FLAGGED or UNFLAGGED.  This field is entered programmatically.  


800000.142,.03      FLAG/UNFLAG USER       0;3 POINTER TO NEW PERSON FILE (#200)

                    LAST EDITED:      DEC 16, 2015 
                    HELP-PROMPT:      Enter the user who flagged or unflagged the order. 
                    DESCRIPTION:
                                      The user who flagged /unflagged the order.  This field is entered programmatically.  


800000.142,.04      FLAG/UNFLAG REASON     0;4 FREE TEXT

                    REASON FOR FLAGGING /UNFLAGGING   
                    INPUT TRANSFORM:  K:$L(X)>80!($L(X)<1) X
                    LAST EDITED:      DEC 16, 2015 
                    HELP-PROMPT:      Answer must be 1-80 characters. 
                    DESCRIPTION:
                                      This is why the order was flagged /unflagged.  This field is entered programmatically.  








800000,2      ROSTER                 2;0 POINTER Multiple #800000.02

              LAST EDITED:      APR 17, 2013 
              DESCRIPTION:
                                This is a roster that will be monitored for new patients and updates.  


800000.02,.01   NAME                   0;1 POINTER TO HMP ROSTER FILE (#800001.2) (Multiply asked)

                INPUT TRANSFORM:  S DINUM=X
                LAST EDITED:      APR 17, 2013 
                HELP-PROMPT:      Enter the name of a roster to be tracked. 
                DESCRIPTION:
                                  This is the name of the roster being monitored for new patients.  

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

                RECORD INDEXES:   AROS (#1332) (WHOLE FILE #800000)

800000.02,2     ON                     0;2 SET

                                  '1' FOR YES; 
                                  '0' FOR NO; 
                LAST EDITED:      APR 17, 2013 
                HELP-PROMPT:      Enter YES to turn on data tracking for this roster. 
                DESCRIPTION:      This field turns on the Data Monitor for this roster and client system.  If ON=true, a new
                                  snapshot of this roster will be sent to the client when new data updates are requested.  

                RECORD INDEXES:   AROS (#1332) (WHOLE FILE #800000)



800000,91     CONCURRENT UPDATE CALLS 91;1 NUMBER

              INPUT TRANSFORM:  K:+X'=X!(X>999)!(X<0)!(X?.E1"."1N.N) X
              LAST EDITED:      FEB 18, 2015 
              HELP-PROMPT:      Type a number between 0 and 999, 0 decimal digits. 
              DESCRIPTION:      This field is used to track the number of simultaneous calls to getPtUpdates in API^HMPDJFS. This
                                allows checkHealth to report if a getPtUpdates RPC is in progress.  



      FILES POINTED TO                      FIELDS

HMP ROSTER (#800001.2)            ROSTER:NAME (#.01)

NEW PERSON (#200)                 ORDERS:SIGNED BY (#.03)
                                  VERIFYING NURSE (#.05)
                                  VERIFYING CLERK (#.07)
                                  REVIEWED BY (#.09)
                                  RELEASED BY (#.11)
                                  ORDER FLAG/UNFLAG DATE/TIME:FLAG/UNFLAG USER (#.03)

ORDER (#100)                      ORDERS:ORDER NUMBER (#.01)

PATIENT (#2)                      PATIENT:PATIENT NAME (#.01)


Subfile #800000.01

  Record Indexes:

  ADFN (#1330)    RECORD    MUMPS    IR    SORTING ONLY    WHOLE FILE (#800000)
      Short Descr:  Patients to track in the Data Monitor
      Description:  This index will place the entry in the data monitor for this patient.  
        Set Logic:  D HMPSET^HMPDJFS(.DA,.X)
         Set Cond:  S X=0 I +X(1)>0 S X=1
       Kill Logic:  D HMPKILL^HMPDJFS(.DA,.X)
        Kill Cond:  S X=0 I X(1)'="" S X=1
       Whole Kill:  K ^HMP(800000,"AITEM")
             X(1):  PATIENT NAME  (800000.01,.01)  (Subscr 1)  (forwards)
             X(2):  STATUS  (800000.01,2)  (forwards)

  AP (#1333)    RECORD    REGULAR    IR    SORTING ONLY
      Short Descr:  Subscribed patients by server not yet initialized.
      Description:  This index lists the patients who are not yet initialized: 
                     
                      SERVER_IEN, "AP", STATUS, STATUS TIME, DFN 
                     
                    Patients with an initialized status (STATUS = 2) do not appear in this index.  
        Set Logic:  S ^HMP(800000,DA(1),1,"AP",X(1),X(2),DA)=""
         Set Cond:  S X=(+X2(1)<2)
       Kill Logic:  K ^HMP(800000,DA(1),1,"AP",X(1),X(2),DA)
       Whole Kill:  K ^HMP(800000,DA(1),1,"AP")
             X(1):  STATUS  (800000.01,2)  (Subscr 1)  (forwards)
             X(2):  STATUS DATE/TIME  (800000.01,3)  (Subscr 2)  (forwards)

Subfile #800000.02

  Record Indexes:

  AROS (#1332)    RECORD    MUMPS    IR    SORTING ONLY    WHOLE FILE (#800000)
      Short Descr:  Rosters to track in the Data Monitor
      Description:  A cross-reference of rosters for groups of patients on wards.  
        Set Logic:  S:X2(2) ^HMP(800000,"AROS",X,DA(1))=""
       Kill Logic:  K:X1(2) ^HMP(800000,"AROS",X,DA(1))
       Whole Kill:  K ^HMP(800000,"AROS")
             X(1):  NAME  (800000.02,.01)  (Subscr 1)  (forwards)
             X(2):  ON  (800000.02,2)  (Subscr 2)


INPUT TEMPLATE(S):

PRINT TEMPLATE(S):

SORT TEMPLATE(S):

FORM(S)/BLOCK(S):