Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: PXRMSTAT

PXRMSTAT.m

Go to the documentation of this file.
  1. PXRMSTAT ; SLC/PKR - Routines for dealing with status. ;29-Nov-2017 09:31;DU
  1. ;;2.0;CLINICAL REMINDERS;**4,1005,1009**;Feb 04, 2005;Build 17
  1. ;IHS/MSC/MGH Add IHS problem statuses
  1. ;===============================================
  1. DEFAULT(FILENUM,STATUSA) ;Given the file number return the default
  1. ;statuses.
  1. ;Outpatient medications
  1. I FILENUM=52 D Q
  1. . S STATUSA(0)=5,STATUSA(1)="ACTIVE",STATUSA(2)="DISCONTINUED"
  1. . S STATUSA(3)="DISCONTINUED (EDIT)",STATUSA(4)="EXPIRED"
  1. . S STATUSA(5)="SUSPENDED"
  1. ;
  1. ;Inpatient medications
  1. I FILENUM=55 D Q
  1. . S STATUSA(0)=4,STATUSA(1)="ACTIVE",STATUSA(2)="DISCONTINUED (EDIT)"
  1. . S STATUSA(3)="DISCONTINUED (RENEWAL)",STATUSA(4)="EXPIRED"
  1. ;
  1. ;Non-VA meds
  1. I FILENUM="55NVA" D Q
  1. . S STATUSA(0)=1,STATUSA(1)="ACTIVE"
  1. ;
  1. ;Radiology procedures
  1. I FILENUM=70 D Q
  1. . S STATUSA(0)=1,STATUSA(1)="COMPLETE"
  1. ;
  1. ;Orders
  1. I FILENUM=100 D Q
  1. . S STATUSA(0)=2,STATUSA(1)="ACTIVE",STATUSA(2)="PENDING"
  1. ;
  1. ;Problem List
  1. I FILENUM=9000011 D Q
  1. . S STATUSA(0)=4,STATUSA(1)="A"
  1. . ;IHS/MSC/MGH Add IHS statuses - Patch 1009 added status R
  1. . S STATUSA(2)="S",STATUSA(3)="E",STATUSA(4)="O",STATUSA(5)="R"
  1. Q
  1. ;
  1. ;===============================================
  1. GETSTATI(FILENUM,FINDPA,STATUSA,TAXIEN) ;Return the list of statuses to search
  1. ;for in the array STATUSA. STATUSA(0) will contain the number found.
  1. N IND,NUM
  1. S TAXIEN=$G(TAXIEN)
  1. K STATUSA
  1. S (IND,NUM)=0
  1. ;Do Problem List first because it is a special case.
  1. I FILENUM=9000011 D Q
  1. . N STAT
  1. . F S IND=+$O(FINDPA(5,IND)) Q:IND=0 D
  1. .. S STAT=$S(FINDPA(5,IND)="ACTIVE":"A",FINDPA(5,IND)="INACTIVE":"I",1:"")
  1. .. I STAT'="" D
  1. ...I STAT="A" D ADDSTAT
  1. ...I STAT="I" S NUM=NUM+1,STATUSA(NUM)="I"
  1. . I NUM>0 S STATUSA(0)=NUM
  1. . ;I NUM=0 S STATUSA(0)=1,STATUSA(1)="A"
  1. . I NUM=0 D ADDSTAT S STATUSA(0)=NUM
  1. .;If the status multiple is not defined check USE INACTIVE PROBLEMS
  1. . I '$D(FINDPA(5)),$P($G(FINDPA(0)),U,9) S STATUSA(0)=2,STATUSA(2)="I"
  1. ;
  1. ;See if a status list is defined, if it is use it.
  1. F S IND=+$O(FINDPA(5,IND)) Q:IND=0 D
  1. . S NUM=NUM+1,STATUSA(NUM)=FINDPA(5,IND)
  1. I NUM>0 S STATUSA(0)=NUM Q
  1. ;
  1. ;If no list is defined set the default statuses.
  1. D DEFAULT(FILENUM,.STATUSA)
  1. Q
  1. ;
  1. ADDSTAT ;Add active statuses
  1. S NUM=NUM+1,STATUSA(NUM)="A"
  1. S NUM=NUM+1,STATUSA(NUM)="E"
  1. S NUM=NUM+1,STATUSA(NUM)="S"
  1. S NUM=NUM+1,STATUSA(NUM)="O"
  1. S NUM=NUM+1,STATUSA(NUM)="R"
  1. ;IHS/MSC/MGH added for inactive problems
  1. I +TAXIEN D
  1. .I $P($G(^PXD(811.2,TAXIEN,0)),U,9)=1 S NUM=NUM+1,STATUSA(NUM)="I"
  1. Q