| 1 | PXRMVPTR ; SLC/PKR - Routines for dealing with variable pointers. ; 02/06/2001
 | 
|---|
| 2 |  ;;2.0;CLINICAL REMINDERS;**6**;Feb 04, 2005;Build 123
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 |  ;==================================================
 | 
|---|
| 5 | BLDALIST(FILE,FIELD,LIST) ;Build a list of variable pointer information
 | 
|---|
| 6 |  ;indexed by the abbreviation.
 | 
|---|
| 7 |  N ABBR,FN,IND,ROOT,TEMP
 | 
|---|
| 8 |  S IND=0
 | 
|---|
| 9 |  F  S IND=$O(^DD(FILE,FIELD,"V",IND)) Q:+IND=0  D
 | 
|---|
| 10 |  . S TEMP=^DD(FILE,FIELD,"V",IND,0)
 | 
|---|
| 11 |  . S FN=$P(TEMP,U,1)
 | 
|---|
| 12 |  . S ROOT=$$ROOT^DILFD(FN)
 | 
|---|
| 13 |  . S ROOT=$P(ROOT,"^",2)
 | 
|---|
| 14 |  . S ABBR=$P(TEMP,U,4)
 | 
|---|
| 15 |  . S LIST(ABBR)=TEMP
 | 
|---|
| 16 |  Q
 | 
|---|
| 17 |  ;
 | 
|---|
| 18 |  ;==================================================
 | 
|---|
| 19 | BLDNLIST(FILE,FIELD,LIST) ;Build a list of variable pointer information
 | 
|---|
| 20 |  ;indexed by the file number.
 | 
|---|
| 21 |  N FN,IND,ROOT,TEMP
 | 
|---|
| 22 |  ;DBIA #2991
 | 
|---|
| 23 |  S IND=0
 | 
|---|
| 24 |  F  S IND=$O(^DD(FILE,FIELD,"V",IND)) Q:+IND=0  D
 | 
|---|
| 25 |  . S TEMP=^DD(FILE,FIELD,"V",IND,0)
 | 
|---|
| 26 |  . S FN=$P(TEMP,U,1)
 | 
|---|
| 27 |  . S ROOT=$$ROOT^DILFD(FN)
 | 
|---|
| 28 |  . S ROOT=$P(ROOT,"^",2)
 | 
|---|
| 29 |  . S LIST(FN)=TEMP
 | 
|---|
| 30 |  Q
 | 
|---|
| 31 |  ;
 | 
|---|
| 32 |  ;==================================================
 | 
|---|
| 33 | BLDRLIST(FILE,FIELD,LIST) ;Build a list of variable pointer information
 | 
|---|
| 34 |  ;indexed by the root.
 | 
|---|
| 35 |  N FN,IND,ROOT,TEMP
 | 
|---|
| 36 |  S IND=0
 | 
|---|
| 37 |  F  S IND=$O(^DD(FILE,FIELD,"V",IND)) Q:+IND=0  D
 | 
|---|
| 38 |  . S TEMP=^DD(FILE,FIELD,"V",IND,0)
 | 
|---|
| 39 |  . S FN=$P(TEMP,U,1)
 | 
|---|
| 40 |  . S ROOT=$$ROOT^DILFD(FN)
 | 
|---|
| 41 |  . S ROOT=$P(ROOT,"^",2)
 | 
|---|
| 42 |  . S LIST(ROOT)=TEMP
 | 
|---|
| 43 |  Q
 | 
|---|
| 44 |  ;
 | 
|---|