Contents: | Main | Chapter | See Also: | Getting Started Manual | Programmer Manual |
When you use extended pointer syntax, a lookup is performed in the navigated-to file. This lookup usually evaluates to a single value. However, in some situations, extended pointer syntax can end up returning a Multiple-valued or "Multiline" result. Multiline responses can be generated by:
You cannot use extended pointer syntax that can evaluate to a Multiline value at VA FileMan's "SORT BY:" and "SEARCH FOR FIELD:" prompts. Some of the ways in which you can use extended pointers that evaluate to a Multiline value are:
WORD-PROCESSING field names (or field numbers preceded with a #) are allowed as elements in extended pointer expressions. For example, in the PATIENT file the HISTORY field is in the DIAGNOSIS Multiple. You can define this computed expression:
"B-12 Deficiency" IN DIAGNOSIS FILE:HISTORY
This Multiline computed expression would signify the WORD-PROCESSING HISTORY field text associated with a patient's B-12 Deficiency DIAGNOSIS. A lookup is done on the DIAGNOSIS Multiple using "B-12 Deficiency" as the lookup value. If the patient does not have that DIAGNOSIS (or no HISTORY is associated with it), the value of this extended pointer expression would be null.
You can use the simple pointer syntax to get data from Multiples of files pointed to by other files. The RADIOLOGY EXAM file described above points to the PATIENT file by way of the EXAMINEE field. In the PATIENT file there is a DIAGNOSIS Multiple. You could obtain a list of diagnoses associated with RADIOLOGY EXAM file entries by doing the following:
Select OPTION: PRINT FILE ENTRIES OUTPUT FROM WHAT FILE: RADIOLOGY EXAM// SORT BY: NAME// START WITH NAME: FIRST// FIRST PRINT FIELD: TEST NUMBER THEN PRINT FIELD: EXAMINEE:DIAGNOSIS THEN PRINT FIELD: HEADING: RADIOLOGY EXAM LIST// STORE PRINT LOGIC IN TEMPLATE: Exam Diagnoses
For each entry in the RADIOLOGY EXAM file, EXAMINEE points to an entry in the PATIENT file. The diagnoses associated with that patient are returned as the Multiline output of the expression EXAMINEE:DIAGNOSIS.
The following example shows how you can use the cross-referenced backward pointer that yields a Multiline response in an INPUT template:
INPUT TO WHAT FILE: PATIENT EDIT WHICH FIELD: ALL// NAME THEN EDIT FIELD: RADIOLOGY EXAM: By 'RADIOLOGY EXAM', do you mean the RADIOLOGY EXAM File, pointing via its 'EXAMINEE' Field? YES// (YES) WILL TERMINAL USER BE ALLOWED TO SELECT PROPER ENTRY IN 'RADIOLOGY EXAM' FILE? YES// (YES) DO YOU WANT TO PERMIT ADDING A NEW 'RADIOLOGY EXAM' ENTRY? NO// EDIT WHICH RADIOLOGY EXAM FIELD: DATE OF EXAM THEN EDIT WHICH RADIOLOGY EXAM FIELD: RESULTS THEN EDIT WHICH RADIOLOGY EXAM FIELD: THEN EDIT FIELD: ATTENDING PHYSICIAN THEN EDIT FIELD: STORE THESE FIELDS IN TEMPLATE: PATIENT-EXAM
To use this template you:
A sample editing session using this INPUT template looks like this:
INPUT TO WHAT FILE: PATIENT EDIT WHICH FIELD: ALL// [PATIENT-EXAM Select PATIENT NAME: BROWN,JOE NAME: BROWN,JOE// Select RADIOLOGY EXAM: ? CHOOSE FROM: 1. DEC 4, 1984 2. OCT 1, 1985 CHOOSE 1-2: 2 DATE OF EXAM: OCT 1, 1985// RESULTS: NORMAL ATTENDING PHYSICIAN: SMITH//
As indicated by this example, the only RADIOLOGY EXAM file entries you were allowed to choose were the two that pointed back to the selected patient (BROWN,JOE).
Each file, for the purpose of this editing sequence, is considered a subfile of the original, so that when no more fields within the second file are specified, the dialogue falls back to the original file. Having navigated over to a second file, you can use another extended pointer to move to still a third file.
You cannot cross file boundaries on input unless you have WRITE access to the file to which you move. This restriction applies to the individual who created this Patient-Exam INPUT template.
Reviewed/Updated: March 4, 2007