Making DBS calls (they are reentrant) from the New Style Xref is a terrific, safe way to create very powerful 'triggers' that are far more flexible than the traditional ones.  But that is not a fair comparison, since with the new approach you have to write all the code and the traditional trigger figured it out for you.... ;-)

Greg Woodhouse wrote:
Calling the following code from the set logic of a new style
cross-reference (on .01) should do the job:


XREF    ;
        S ^TMP($J,"WP",1)="LINE ONE"
        S ^TMP($J,"WP",2)="LINE TWO"
        D WP^DIE(file#,DA_",",field#,,$NA(^TMP($J,"WP")))
        K ^TMP($J,"WP")
        Q
--- Thurman Pedigo <[EMAIL PROTECTED]> wrote:

  
Kevin,

Guess that's because I don't understand it either. However, I find
trigger
one of the most tools I have in FileMan. It has been around for over
20
years (think MS SQL implemented it around 5-6 yr ago - with much
fanfare).
Just by using the change of value of a field as an event, one can
populate
almost any other field with whatever data appropriate - stored or
free text.
I say "almost" because I still can't trigger to WP. I need to
investigate
the cross-reference that calls WP^DIE a little further. 

I worked on this problem a few years ago and gave up on it because of
inability to trigger a WP field. I'm not sure what it is you feel you
don't
understand, as you sure know this code better than I. Below, I
present a
couple of examples, just to see if we are in the same book. Sorry to
chew up
so much bandwidth. Just like to be sure we are on same sheet..


1. Example 1: I created two fields to test WPTEST (WP field) and
(WPCODETRGTEST)  a SET OF CODES FIELD.
================================================================
Select Utility Functions Option: cross-Reference A Field

What type of cross-reference (Traditional or New)? Traditional//
TRADITIONAL

MODIFY WHAT FILE: ENCOUNTERS FILE//
Select FIELD: wpcODETRGTEST

NO CURRENT CROSS-REFERENCE
WANT TO CREATE A NEW CROSS-REFERENCE FOR THIS FIELD? No// y  (Yes)
CROSS-REFERENCE NUMBER: 1//
Select TYPE OF INDEXING: REGULAR// tRIGGER

WHEN THE WPCODETRGTEST field (#2021) of the ENCOUNTERS FILE File
(#20036) IS
CHA
NGED,
WHAT FIELD SHOULD BE 'TRIGGERED': WPTEST
  ...WPTEST
YOU MUST IDENTIFY SOME FIELD, EITHER WITHIN THE
'ENCOUNTERS FILE' FILE OR IN SOME OTHER

WHEN THE WPCODETRGTEST field (#2021) of the ENCOUNTERS FILE File
(#20036) IS
CHA
NGED,
WHAT FIELD SHOULD BE 'TRIGGERED':

As you see, nothing happens here when I try to fire trigger at
WPTEST.

Now look at the inelegant, though powerful, one that works. As you
can see,
I lack programming proficiency. However, if I can make this thing
work,
think of the possibilities for general population.....tx/t

  
Example 2: Two fields (both date fields - though anything except WP
works)

    
=======================================================================
  
MODIFY WHAT FILE: ENCOUNTERS FILE//
Select FIELD: DATETRG

NO CURRENT CROSS-REFERENCE
WANT TO CREATE A NEW CROSS-REFERENCE FOR THIS FIELD? No// Y  (Yes)
CROSS-REFERENCE NUMBER: 1//
Select TYPE OF INDEXING: REGULAR// TRIGGER

WHEN THE DATETRG field (#2025) of the ENCOUNTERS FILE File (#20036)
IS
CHANGED,
WHAT FIELD SHOULD BE 'TRIGGERED': TRGDA
   By 'TRGDA', do you mean ENCOUNTERS FILE 'TRGDATERESULT'? Yes//  
(Yes)
...OK


---SET LOGIC---

IN ANSWERING THE FOLLOWING QUESTION, 'TRGDATERESULT'
  CAN BE USED TO REFER TO THE EXISTING TRIGGERED FIELD VALUE.
PLEASE ENTER AN _expression_ WHICH WILL BECOME THE VALUE OF THE
TRGDATERESULT field (#2026) of the ENCOUNTERS FILE File (#20036)
 WHENEVER THE 'DATETRG' FIELD IS ENTERED OR CHANGED: DATETRG

DO YOU WANT TO MAKE THE SETTING OF 'TRGDATERESULT' CONDITIONAL? No//
Y
(Yes)
ENTER AN _expression_ FOR THE CONDITION: TRGDATERESULT=""
---KILL LOGIC---

IN ANSWERING THE FOLLOWING QUESTION, 'TRGDATERESULT'
  CAN BE USED TO REFER TO THE EXISTING TRIGGERED FIELD VALUE.
  NOTE: 'OLD DATETRG' CAN BE USED TO REFER TO THE VALUE OF THE
  DATETRG FIELD BEFORE ITS CHANGE OR DELETION.
PLEASE ENTER AN _expression_ WHICH WILL BECOME THE VALUE OF THE
TRGDATERESULT field (#2026) of the ENCOUNTERS FILE File (#20036)
 WHENEVER THE 'DATETRG' FIELD IS CHANGED OR DELETED: DATETRG

DO YOU WANT TO MAKE THE SETTING OF 'TRGDATERESULT' CONDITIONAL? No//
Y
(Yes)
  NOTE: 'OLD DATETRG' CAN BE USED TO REFER TO THE VALUE OF THE
  DATETRG FIELD BEFORE ITS CHANGE OR DELETION.

ENTER AN _expression_ FOR THE CONDITION: TRGDATERESULT=""//

WANT TO PROTECT THE 'TRGDATERESULT' FIELD, SO THAT
IT CAN'T BE CHANGED BY THE 'ENTER & EDIT' ROUTINE? No//   (No)

...CROSS-REFERENCE IS SET

DO YOU WANT TO RUN THE CROSS-REFERENCE FOR EXISTING ENTRIES NOW? No//
  (No)

    
==========================================================================
  
-----Original Message-----
From: [EMAIL PROTECTED]
      
[mailto:hardhats-
    
[EMAIL PROTECTED]] On Behalf Of Kevin Toppenberg
Sent: Tuesday, January 25, 2005 7:33 PM
To: hardhats-members@lists.sourceforge.net
Subject: RE: [Hardhats-members] Where is the data structure for WP
      
fields
    
documented?

Thurman,

I understand a full 10% of what you just said.
But having said that, I think I saw that one can work
with WP fields when making computed fields.  Does that
relate at all?

Kevin


--- Thurman Pedigo <[EMAIL PROTECTED]> wrote:

      
This has the potential of being a powerful addition
to VistA. For some time
I have wondered if one could "trigger" text into the
WP field. If so, an
entire new array of "macro's" can be "triggered"
into this field, creating a
nice narrative historical (or physical) entry. I
tried the concept a few
time and never got it to work.

Is the trigger to WP possible as the product now
exists? It needs to allow
repeating triggers for it to be of much value.

Thank,

thurman

        
-----Original Message-----
From: [EMAIL PROTECTED]
          
[mailto:hardhats-
        
[EMAIL PROTECTED]] On Behalf Of
          
Kevin Toppenberg
        
Sent: Tuesday, January 25, 2005 6:54 PM
To: Hardhats Sourceforge
Subject: [Hardhats-members] Where is the data
          
structure for WP fields
        
documented?

Hello all,

I am wondering where i get get information about
          
how
        
WP fields are stored.

Here is an example WP field:

^TIU(8925.2,0)="TIU UPLOAD BUFFER^8925.2^240^2"
^TIU(8925.2,238,0)="19062^90^3050121.162059"
^TIU(8925.2,238,"ERR",0)="^8925.22PA^1^1"
^TIU(8925.2,238,"ERR",1,0)=3119
^TIU(8925.2,238,"ERR","B",3119,1)=""
^TIU(8925.2,238,"TEXT",0)="^^31^31^3050125^"
^TIU(8925.2,238,"TEXT",1,0)="[NewDict]: NOTE"
^TIU(8925.2,238,"TEXT",2,0)="Patient Name: XXX,X"
^TIU(8925.2,238,"TEXT",3,0)="Date Of Birth:
          
00/00/00"
        
^TIU(8925.2,238,"TEXT",4,0)="Social Sec. Number:
          
P"
        
^TIU(8925.2,238,"TEXT",5,0)="Chart Number: 1"
^TIU(8925.2,238,"TEXT",6,0)="DOB: 00/00/00"
^TIU(8925.2,238,"TEXT",7,0)="Provider: Topp,Kevin"
^TIU(8925.2,238,"TEXT",8,0)="Location:
Laughlin_Office"
^TIU(8925.2,238,"TEXT",9,0)="[TEXT]"
^TIU(8925.2,238,"TEXT",10,0)=" "
^TIU(8925.2,238,"TEXT",11,0)="Name: MEDIC,TEST ,
          
DOB:
        
12:00:00 AM"
^TIU(8925.2,238,"TEXT",12,0)=" "
-snip-

^TIU(8925.2,238,"TEXT",28,0)="         2. Benign
appearing lesion on the ear sta
tus post cryotherapy today"
^TIU(8925.2,238,"TEXT",29,0)="         Follow up
routinely."
^TIU(8925.2,238,"TEXT",30,0)="         Kevin
Toppenberg MD"
^TIU(8925.2,238,"TEXT",31,0)="         KT/nlh"



So it looks like the field is stored as:
(...,"TEXT",x,0), with x being the subsequent
          
lines of
        
the document.

^TIU(8925.2,238,"TEXT",0)="^^31^31^3050125^"

The line I really want to understand is the line
above.  Those 31's refer to the number of lines in
          
the
        
document.  I want to be able to insert text into a
          
WP
        
field programatically.  So I will need to changed
          
the
        
Maxline property etc.

So does anyone know where I can find the
          
documentation
        
for these field/pieces?

Thanks
Kevin


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam
          
protection around
        
http://mail.yahoo.com



          
-------------------------------------------------------
      
This SF.Net email is sponsored by: IntelliVIEW --
          
Interactive Reporting
        
Tool for open source databases. Create drag-&-drop
          
reports. Save time
        
by over 75%! Publish reports on the web. Export to
          
DOC, XLS, RTF, etc.
        
Download a FREE copy at
          
http://www.intelliview.com/go/osdn_nl
        
_______________________________________________
Hardhats-members mailing list
Hardhats-members@lists.sourceforge.net

          
https://lists.sourceforge.net/lists/listinfo/hardhats-members
      


        
-------------------------------------------------------
      
This SF.Net email is sponsored by: IntelliVIEW --
Interactive Reporting
Tool for open source databases. Create drag-&-drop
reports. Save time
by over 75%! Publish reports on the web. Export to
DOC, XLS, RTF, etc.
Download a FREE copy at
http://www.intelliview.com/go/osdn_nl
_______________________________________________
Hardhats-members mailing list
Hardhats-members@lists.sourceforge.net

        
https://lists.sourceforge.net/lists/listinfo/hardhats-members
      



__________________________________
Do you Yahoo!?
Yahoo! Mail - You care about security. So do we.
http://promotions.yahoo.com/new_mail


-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive
      
Reporting
    
Tool for open source databases. Create drag-&-drop reports. Save
      
time
    
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF,
      
etc.
    
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
Hardhats-members mailing list
Hardhats-members@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hardhats-members
      

-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive
Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF,
etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
Hardhats-members mailing list
Hardhats-members@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hardhats-members

    


=====
A practical man is a man who practices the errors of his forefathers. --Benjamin Disraeli
====
Greg Woodhouse 
[EMAIL PROTECTED] 
[EMAIL PROTECTED] 





-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
Hardhats-members mailing list
Hardhats-members@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hardhats-members

  

-- 
Greg Kreis      http://www.PioneerDataSys.com

"You are today where your thoughts have brought you, you will
   be tomorrow where your thoughts take you." (James Lane Allen)

Reply via email to