[613] | 1 | PXRMSTAT ; SLC/PKR - Routines for dealing with status. ;07/11/2005
|
---|
| 2 | ;;2.0;CLINICAL REMINDERS;**4**;Feb 04, 2005;Build 21
|
---|
| 3 | ;
|
---|
| 4 | ;===============================================
|
---|
| 5 | DEFAULT(FILENUM,STATUSA) ;Given the file number return the default
|
---|
| 6 | ;statuses.
|
---|
| 7 | ;Outpatient medications
|
---|
| 8 | I FILENUM=52 D Q
|
---|
| 9 | . S STATUSA(0)=5,STATUSA(1)="ACTIVE",STATUSA(2)="DISCONTINUED"
|
---|
| 10 | . S STATUSA(3)="DISCONTINUED (EDIT)",STATUSA(4)="EXPIRED"
|
---|
| 11 | . S STATUSA(5)="SUSPENDED"
|
---|
| 12 | ;
|
---|
| 13 | ;Inpatient medications
|
---|
| 14 | I FILENUM=55 D Q
|
---|
| 15 | . S STATUSA(0)=4,STATUSA(1)="ACTIVE",STATUSA(2)="DISCONTINUED (EDIT)"
|
---|
| 16 | . S STATUSA(3)="DISCONTINUED (RENEWAL)",STATUSA(4)="EXPIRED"
|
---|
| 17 | ;
|
---|
| 18 | ;Non-VA meds
|
---|
| 19 | I FILENUM="55NVA" D Q
|
---|
| 20 | . S STATUSA(0)=1,STATUSA(1)="ACTIVE"
|
---|
| 21 | ;
|
---|
| 22 | ;Radiology procedures
|
---|
| 23 | I FILENUM=70 D Q
|
---|
| 24 | . S STATUSA(0)=1,STATUSA(1)="COMPLETE"
|
---|
| 25 | ;
|
---|
| 26 | ;Orders
|
---|
| 27 | I FILENUM=100 D Q
|
---|
| 28 | . S STATUSA(0)=2,STATUSA(1)="ACTIVE",STATUSA(2)="PENDING"
|
---|
| 29 | ;
|
---|
| 30 | ;Problem List
|
---|
| 31 | I FILENUM=9000011 D Q
|
---|
| 32 | . S STATUSA(0)=1,STATUSA(1)="A"
|
---|
| 33 | Q
|
---|
| 34 | ;
|
---|
| 35 | ;===============================================
|
---|
| 36 | GETSTATI(FILENUM,FINDPA,STATUSA) ;Return the list of statuses to search
|
---|
| 37 | ;for in the array STATUSA. STATUSA(0) will contain the number found.
|
---|
| 38 | N IND,NUM
|
---|
| 39 | K STATUSA
|
---|
| 40 | S (IND,NUM)=0
|
---|
| 41 | ;Do Problem List first because it is a special case.
|
---|
| 42 | I FILENUM=9000011 D Q
|
---|
| 43 | . N STAT
|
---|
| 44 | . F S IND=+$O(FINDPA(5,IND)) Q:IND=0 D
|
---|
| 45 | .. S STAT=$S(FINDPA(5,IND)="ACTIVE":"A",FINDPA(5,IND)="INACTIVE":"I",1:"")
|
---|
| 46 | .. I STAT'="" S NUM=NUM+1,STATUSA(NUM)=STAT
|
---|
| 47 | . I NUM>0 S STATUSA(0)=NUM
|
---|
| 48 | . I NUM=0 S STATUSA(0)=1,STATUSA(1)="A"
|
---|
| 49 | .;If the status multiple is not defined check USE INACTIVE PROBLEMS
|
---|
| 50 | . I '$D(FINDPA(5)),$P($G(FINDPA(0)),U,9) S STATUSA(0)=2,STATUSA(2)="I"
|
---|
| 51 | ;
|
---|
| 52 | ;See if a status list is defined, if it is use it.
|
---|
| 53 | F S IND=+$O(FINDPA(5,IND)) Q:IND=0 D
|
---|
| 54 | . S NUM=NUM+1,STATUSA(NUM)=FINDPA(5,IND)
|
---|
| 55 | I NUM>0 S STATUSA(0)=NUM Q
|
---|
| 56 | ;
|
---|
| 57 | ;If no list is defined set the default statuses.
|
---|
| 58 | D DEFAULT(FILENUM,.STATUSA)
|
---|
| 59 | Q
|
---|
| 60 | ;
|
---|