---------------------------------------------
Field Identifiers are defined using the FileMan Identifier option. The value at the node is a WRITE statement. If the identifier is to be used only to ask fields when a new entry is added, then the statement will only write null; otherwise, it will contain the code to write the external value of the field. An "I" is added to the second piece of the File Header when you add a field identifier, (as described in the "File Header" topic).
NOTE: WRITE statements in the FileMan-generated field identifier
nodes are not executed when VA FileMan is in silent mode. Since FileMan
generates the Field Identifier nodes, it knows their format. So in silent mode,
FileMan places what would have been Written into an array instead for use by
DBS calls. So Field Identifier nodes, although they contain WRITE statements,
are compatible with GUI applications (in contrast to
Write Identifier nodes).
---------------------------------------------
I specifically don't understand the sentence:
"If the identifier is to be used only to ask fields when a new entry is added, then the statement will only write null; otherwise, it will contain the code to write the external value of the field."
How is the identifier used when asking fields?? Is this only shown when prompting with a field name for input??
In my system, when I select a patient with ^DIC, I see some extra information about the record. As below:
---------------------------------------------
yottadb>set DIC=2,DIC(0)="MAEQ" D ^DIC W Y,!
Select PATIENT NAME: ZZTEST,BAB,BABY ZZTEST,BABY 9-19-09 109274297
NO 74592^ZZTEST,BABY
yottadb>
---------------------------------------------
Here, I assume that "9-19-09 109274297 NO 74592^ZZTEST,BABY" is coming from the identifiers", presumably the code that Sam linked earlier. And this is done WITHOUT new entry.
I tried making my own ID node for the 1 field (computed finding)
yottadb>zwr ^DD(22753.01,0,*)
^DD(22753.01,0)="ENTRIES SUB-FIELD^^1^4"
^DD(22753.01,0,"DT")=3230316
^DD(22753.01,0,"ID",1)="WRITE ""HELLO WORLD"",!"
^DD(22753.01,0,"IX","ASEQ",22753.01,.02)=""
^DD(22753.01,0,"IX","B",22753.01,.01)=""
^DD(22753.01,0,"NM","ENTRIES")=""
^DD(22753.01,0,"UP")=22753
But my Hello world doesn't show up.
---------------------------------------------
yottadb>DO P^DI
VA FileMan 22.2
Select OPTION: ENTER OR EDIT FILE ENTRIES
Input to what File: TMG ENCOUNTER DIAGNOSES// (2 entries)
EDIT WHICH FIELD: ALL//
Select TMG ENCOUNTER DIAGNOSES SECTION NAME: CARDIOVASCULAR
SECTION NAME: CARDIOVASCULAR//
SEQUENCE: 1//
Select DIAGNOSIS: I63.50// ?
Answer with ENTRIES DIAGNOSIS
Choose from:
I25.10
I48.91
I50.20
I50.30
I50.9
I63.50
I70.90
I71.4
I73.9
R07.9
You may enter a new ENTRIES, if you wish
Answer with ICD DIAGNOSIS CODE NUMBER, or DESCRIPTION
Do you want the entire 87356-Entry ICD DIAGNOSIS List? N (No)
Select DIAGNOSIS: I63.50// R07.9
One match found
R07.9 Chest pain, unspecified
OK? Yes// YES R07.9 Chest pain, unspecified
DIAGNOSIS: R07.9//
---------------------------------------------
When are identifier nodes executed?
Kevin
This code ....@(""$E(""_DIC_""%I,0),0)"")... resets the naked
reference. Why? Because the ID code for field .07 is next to be
executed. So what? Each ID node's code is supposed to be written
presuming the naked reference is at the ^(0) node of the record
being processed in the original file (8925). Since the ID code for
field .02 is navigating with a pointer to file 2 the naked
reference has been moved. Writing the zeroth character of the node
outputs nothing BUT it references the original node to do the
reset. Nifty trick that FM does, but it illustrates the potential
pitfalls awaiting those who write custom ID code.
To view this discussion on the web visit https://groups.google.com/d/msgid/hardhats/7a82f869-bc09-4ae8-b29b-a7ca668cb4ean%40googlegroups.com.