IMAGING |
Washington/Silver Spring |
Vistarad generates a temporary file containing a "master" list of radiology
exam records to display on demand to the workstation in response to an RPC
call. It is important that the list is delivered to the workstation within
one to 2 seconds of initiation of the RPC call. The actual records to be
displayed for a given list that is requested generally consist of a subset of
the master list, filtered according to selection criteria defined in a List
Definition file (#2006.631). The code that executes this filtering uses
search logic that has been created by calling EN^DIS, Fileman search logic
entry function. To accommodate the needs of the filtering program, the
internal representation of the Fileman search logic that was generated must be
stored with the List definition, to be re-used whenever the filtered list is
produced.
Since the Fileman Search results are stored in ^DIBT, some of the information
required to implement the above logic must be read from ^DIBT at the time that
the search logic is defined. The specific nodes that are read are:
^DIBT(IEN,"DC"), ff. ^DIBT(IEN,"DL"), ff. ^DIBT(IEN,"O"), ff.
The code to read the global is the following, where variable DIARI equals the
IEN for the entry in the SORT TEMPLATE file, and GREF is the global array for
an Imaging file, 2006.631: S GREF=$NA(^MAG(2006.631,MAGIEN,"DEF"))
...
...
S GLIN=$NA(^DIBT(DIARI)) ; Copy search logic to 2006.631 "DEF" nodes F
TNOD=3,4 S FNOD=$P("^^DC^DL",U,TNOD) D . S T="",CT=0 . F S
T=$O(@GLIN@(FNOD,T)) Q:T="" S X=^(T) I X]"" S
CT=CT+1,@GREF@(TNOD,CT)=X . S @GREF@(TNOD,0)=CT S T=0 F S
T=$O(@GLIN@("O",T)) Q:T="" S @GREF@(5,T)=^(T,0) Q
Imaging understands that the nodes read from the DIBT global are not
documented and may change.
Please note that the variable DIARI is an undocumented output variable from
the api EN^DIS. A NOIS entry, ISW-0302-20006, has been entered by Imaging
requesting the FileMan v22 Programmer Manual to be updated to documenting this
variable. this variable.
|