| 1 | PXRMRESN ; SLC/PJH - Edit/Inquire resolution statuses ;03/17/2000
 | 
|---|
| 2 |  ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | START N DIC,PXRMGTYP,PXRMHD,PXRMRESN,Y
 | 
|---|
| 5 |  ;Select reminder category for display
 | 
|---|
| 6 | SELECT ;General selection
 | 
|---|
| 7 |  S PXRMHD="Reminder Resolution Status",PXRMGTYP="RESN",PXRMRESN=""
 | 
|---|
| 8 |  D START^PXRMSEL(PXRMHD,PXRMGTYP,"PXRMRESN")
 | 
|---|
| 9 |  ;Should return a value
 | 
|---|
| 10 |  I PXRMRESN D  G SELECT
 | 
|---|
| 11 |  .S PXRMHD="REMINDER RESOLUTION STATUS NAME:"
 | 
|---|
| 12 |  .;Listman option
 | 
|---|
| 13 |  .D START^PXRMGEN(PXRMHD,PXRMGTYP,PXRMRESN)
 | 
|---|
| 14 |  ;
 | 
|---|
| 15 | END Q
 | 
|---|
| 16 |  ;
 | 
|---|
| 17 |  ;REMINDER RESOLUTION STATUSES #801.9
 | 
|---|
| 18 |  ;-----------------------------------
 | 
|---|
| 19 |  ;Temporary list of STATUSES
 | 
|---|
| 20 | DISP N CNT,CODE,DES,SUB,TXT
 | 
|---|
| 21 |  W #,"REMINDER RESOLUTION STATUS SELECTION",!
 | 
|---|
| 22 |  S CODE="",CNT=0
 | 
|---|
| 23 |  F  S CODE=$O(^PXRMD(801.9,"B",CODE)) Q:CODE=""  D
 | 
|---|
| 24 |  .S CNT=CNT+1
 | 
|---|
| 25 |  .W !,CODE
 | 
|---|
| 26 |  W !
 | 
|---|
| 27 |  Q
 | 
|---|
| 28 |  ;
 | 
|---|
| 29 |  ;Build display for selected status - Called from PXRMGEN
 | 
|---|
| 30 |  ;---------------------------------------------------------
 | 
|---|
| 31 | RESN(PXRMRESN) ;
 | 
|---|
| 32 |  N DATA,DARRAY,SUB
 | 
|---|
| 33 |  S VALMCNT=0 K ^TMP("PXRMGENS",$J),^TMP("PXRMGEN",$J)
 | 
|---|
| 34 |  ;
 | 
|---|
| 35 |  ;Format headings to include resolution name
 | 
|---|
| 36 |  S HEADER=PXRMHD_" "_$P(^PXRMD(801.9,PXRMRESN,0),U)
 | 
|---|
| 37 |  ;
 | 
|---|
| 38 |  ;Build Reminder Resolution Status Display
 | 
|---|
| 39 |  D BUILD(.DARRAY,PXRMRESN) M ^TMP("PXRMGENS",$J)=DARRAY
 | 
|---|
| 40 |  ; 
 | 
|---|
| 41 |  ;Put the list into the array List Manager is using.
 | 
|---|
| 42 |  S SUB=""
 | 
|---|
| 43 |  S VALMCNT=0
 | 
|---|
| 44 |  F  S SUB=$O(^TMP("PXRMGENS",$J,SUB)) Q:SUB=""  D
 | 
|---|
| 45 |  .S DATA=$G(^TMP("PXRMGENS",$J,SUB))
 | 
|---|
| 46 |  .S VALMCNT=VALMCNT+1
 | 
|---|
| 47 |  .S ^TMP("PXRMGEN",$J,VALMCNT,0)=DATA
 | 
|---|
| 48 |  S ^TMP("PXRMGEN",$J,"VALMCNT")=VALMCNT
 | 
|---|
| 49 |  K ^TMP("PXRMGENS",$J)
 | 
|---|
| 50 |  ;Create headings
 | 
|---|
| 51 |  D CHGCAP^VALM("HEADER1","")
 | 
|---|
| 52 |  D CHGCAP^VALM("HEADER2","")
 | 
|---|
| 53 |  D CHGCAP^VALM("HEADER3","")
 | 
|---|
| 54 |  Q
 | 
|---|
| 55 |  ;
 | 
|---|
| 56 |  ;Build Resolution Status Inquiry array
 | 
|---|
| 57 |  ;-------------------------------------
 | 
|---|
| 58 | BUILD(ARRAY,D0) ;
 | 
|---|
| 59 |  N DIWF,DIWL,DIWR,IC,SUB,TAB,TXT,X
 | 
|---|
| 60 |  N ABBR,COL,CREA,DATA,DESC,FOUND,INACT,REST
 | 
|---|
| 61 |  S DIWF="C70",DIWL=0,DIWR=70,IC=0
 | 
|---|
| 62 |  K ^UTILITY($J,"W")
 | 
|---|
| 63 |  ;Get Resolution status details
 | 
|---|
| 64 |  S DATA=$G(^PXRMD(801.9,D0,0))
 | 
|---|
| 65 |  S DESC=$P(DATA,U),ABBR=$P(DATA,U,2),COL=$P(DATA,U,3),INACT=$P(DATA,U,4)
 | 
|---|
| 66 |  S CREA=$P(DATA,U,5),REST=$P(DATA,U,6)
 | 
|---|
| 67 |  ;
 | 
|---|
| 68 |  ;Resolution Status
 | 
|---|
| 69 |  S TXT="Resolution Status: "_DESC
 | 
|---|
| 70 |  ;Restricted edit is same as National
 | 
|---|
| 71 |  S:REST TXT="National "_TXT D SET(0,TXT,1)
 | 
|---|
| 72 |  ;
 | 
|---|
| 73 |  S TXT="Resolution Status Description" D SET(0,TXT,0)
 | 
|---|
| 74 |  ;Get Resolution Status description
 | 
|---|
| 75 |  S SUB=0,TAB=0,FOUND=0
 | 
|---|
| 76 |  F  S SUB=$O(^PXRMD(801.9,D0,1,SUB)) Q:SUB=""  D
 | 
|---|
| 77 |  .S X=$G(^PXRMD(801.9,D0,1,SUB,0))
 | 
|---|
| 78 |  .D ^DIWP
 | 
|---|
| 79 |  F  S SUB=$O(^UTILITY($J,"W",0,SUB)) Q:SUB=""  D
 | 
|---|
| 80 |  .D SET(5,^UTILITY($J,"W",0,SUB,0),0) S FOUND=1
 | 
|---|
| 81 |  K ^UTILITY($J,"W")
 | 
|---|
| 82 |  ;Display no description message
 | 
|---|
| 83 |  I 'FOUND S TXT="*NONE*" D SET(5,TXT,0)
 | 
|---|
| 84 |  D SET(0,"",1)
 | 
|---|
| 85 |  ;
 | 
|---|
| 86 |  ;Related National Status from cross reference
 | 
|---|
| 87 |  I 'REST D
 | 
|---|
| 88 |  .;Get national code from cross reference
 | 
|---|
| 89 |  .N IEN S IEN=$O(^PXRMD(801.9,"AC",D0,""))
 | 
|---|
| 90 |  .;If none allocated say so
 | 
|---|
| 91 |  .I 'IEN S TXT="***UNDEFINED***"
 | 
|---|
| 92 |  .;Get name of national status and display
 | 
|---|
| 93 |  .I IEN S TXT=$P($G(^PXRMD(801.9,IEN,0)),U)
 | 
|---|
| 94 |  .S TXT="Related National Status:  "_TXT D SET(3,TXT,0)
 | 
|---|
| 95 |  ;
 | 
|---|
| 96 |  ;Abbreviated Name
 | 
|---|
| 97 |  S TXT="Abbreviated name:  "_ABBR D SET(10,TXT,0)
 | 
|---|
| 98 |  ;Report Column Headings
 | 
|---|
| 99 |  S TXT="Report Column Headings:  "_ABBR D SET(4,TXT,0)
 | 
|---|
| 100 |  ;Inactive flag
 | 
|---|
| 101 |  S TXT="Inactive Flag:  "_$S(INACT:"INACTIVE",1:"") D SET(13,TXT,0)
 | 
|---|
| 102 |  ;Creator for local codes
 | 
|---|
| 103 |  I CREA,'REST D
 | 
|---|
| 104 |  .S TXT="Creator:  "_$$GET1^DIQ(200,CREA,.01) D SET(19,TXT,0)
 | 
|---|
| 105 |  ;Local Resolution Statuses
 | 
|---|
| 106 |  I REST D
 | 
|---|
| 107 |  .N LARRAY,LIEN S SUB=0,FOUND=0
 | 
|---|
| 108 |  .F  S SUB=$O(^PXRMD(801.9,D0,10,SUB)) Q:'SUB  D
 | 
|---|
| 109 |  ..S LIEN=$P($G(^PXRMD(801.9,D0,10,SUB,0)),U)
 | 
|---|
| 110 |  ..I LIEN S LARRAY(LIEN)="",FOUND=1
 | 
|---|
| 111 |  .S TXT="Local Resolution Statuses:" D SET(0,"",1),SET(0,TXT,0)
 | 
|---|
| 112 |  .I 'FOUND S TXT="*NONE*" D SET(5,TXT,0) Q 
 | 
|---|
| 113 |  .S LIEN="" F  S LIEN=$O(LARRAY(LIEN)) Q:'LIEN  D
 | 
|---|
| 114 |  ..S TXT=$P($G(^PXRMD(801.9,LIEN,0)),U) D SET(4,TXT,0)
 | 
|---|
| 115 |  Q
 | 
|---|
| 116 |  ;
 | 
|---|
| 117 |  ;Save local array
 | 
|---|
| 118 |  ;----------------
 | 
|---|
| 119 | SET(TAB,TXT,LF) ;
 | 
|---|
| 120 |  ;Save main line
 | 
|---|
| 121 |  S IC=IC+1,ARRAY(IC)=$J("",TAB)_TXT
 | 
|---|
| 122 |  ;Additional line feeds
 | 
|---|
| 123 |  I LF D
 | 
|---|
| 124 |  .N CNT F CNT=1:1:LF S IC=IC+1,ARRAY(IC)=$J("",79)
 | 
|---|
| 125 |  Q
 | 
|---|