Ignore:
Timestamp:
Dec 4, 2009, 8:26:01 PM (14 years ago)
Author:
George Lilly
Message:

WorldVistAEHR overlayed on FOIAVistA

Location:
FOIAVistA/tag/r
Files:
1 edited
1 copied

Legend:

Unmodified
Added
Removed
  • FOIAVistA/tag/r/CLINICAL_REMINDERS-PXRM/PXRMEXDG.m

    r628 r636  
    1 PXRMEXDG ;SLC/PJH - Reminder Dialog Exchange index build ;05/16/2007
    2  ;;2.0;CLINICAL REMINDERS;**6**;Feb 04, 2005;Build 123
     1PXRMEXDG ;SLC/PJH - Reminder Dialog Exchange index build ;02/25/2004
     2 ;;2.0;CLINICAL REMINDERS;;Feb 04, 2005
    33 ;
    44 ;=====================================================================
    5 DIALOG(RIEN,DLIST,FLIST,OLIST,TLIST,SPONLIST) ;
     5DIALOG(RIEN,DLIST,FLIST,OLIST,TLIST) ;
    66 ;
    77 ;Routine to get dialog details for a given reminder
     
    2727 S DCNT=0,FCNT=0,RCNT=0,TCNT=0
    2828 ;Get details
    29  D GETSPON^PXRMEXPR(801.41,DIEN,.SPONLIST)
    30  D DGET(DIEN,.SPONLIST)
     29 D DGET(DIEN)
    3130 ;
    3231 ;Now build the dialog list (components first)
     
    4140 N CNT,COUNT,DTYP
    4241 S COUNT=0
    43  F DTYP="RESULT ELEMENT" D
    44  .S CNT=0 F  S CNT=$O(TEMP(DTYP,CNT)) Q:CNT'>0  D
    45  ..S DIEN=$G(TEMP(DTYP,CNT)) Q:DIEN'>0
    46  ..S COUNT=COUNT+1,DLIST("DIALOG",COUNT,DIEN)=""
    47  ;
    48  F DTYP="RESULT" D
    49  .S CNT=0 F  S CNT=$O(TEMP(DTYP,CNT)) Q:CNT'>0  D
    50  ..S DIEN=$G(TEMP(DTYP,CNT)) Q:DIEN'>0
    51  ..S COUNT=COUNT+1,DLIST("DIALOG",COUNT,DIEN)=""
    52  ;
    53  ;F DTYP="RESULT","DIALOG" D
    54  F DTYP="DIALOG" D
     42 F DTYP="RESULT","DIALOG" D
    5543 .F CNT=1:1 S DIEN=$G(TEMP(DTYP,CNT)) Q:'DIEN  D
    5644 ..S COUNT=COUNT+1,DLIST("DIALOG",COUNT,DIEN)=""
     
    9179 ;Get the dialog components
    9280 ;-------------------------
    93 DGET(D0,SPONLIST) ;Save dialog ien
     81DGET(D0) ;Save dialog ien
    9482 N D1
    9583 I $G(D0)=83
    9684 I $G(^PXRMD(801.41,D0,49))'="",$P(^PXRMD(801.41,D0,49),U,3)>0 D
    97  .S D1=$P($G(^PXRMD(801.41,D0,49)),U,3) D DGET1(D0,.SPONLIST) D DGET1(D1,.SPONLIST)
    98  E  D DGET1(D0,.SPONLIST)
    99  Q
    100 DGET1(D0,SPONLIST) ;
     85 .S D1=$P($G(^PXRMD(801.41,D0,49)),U,3) D DGET1(D0) D DGET1(D1)
     86 E  D DGET1(D0)
     87 Q
     88DGET1(D0) ;
    10189 S DCNT=DCNT+1,DARRAY(DCNT)=D0
    10290 ;And details (except for reminder dialog)
    10391 I DCNT>1 D
    104  .D GETSPON^PXRMEXPR(801.41,D0,.SPONLIST)
    10592 .;Finding items
    10693 .D DFIND(D0)
     
    119106 .S DDATA=$G(^PXRMD(801.41,DCOMP,0)) Q:DDATA=""
    120107 .;Exclude national PXRM prompts
    121  .I +$G(PXRMINST)=0,$E(DDATA,1,4)="PXRM",$P($G(^PXRMD(801.41,DCOMP,100)),U)="N" Q
     108 .I $E(DDATA,1,4)="PXRM",$P($G(^PXRMD(801.41,DCOMP,100)),U)="N" Q
    122109 .;Sub-components
    123  .D DGET(DCOMP,.SPONLIST)
     110 .D DGET(DCOMP)
    124111 .;I $G(DCOMP1)'="" D DGET(DCOMP1) S DCOMP1=""
    125112 Q
     
    175162 ;---------------------------
    176163DRESULT(DIEN) ;
    177  N CNT,RIEN,RECNT,RGCNT
     164 N RIEN
    178165 ;Result Group/Element pointer
    179  S RECNT=$O(TEMP("RESULT ELEMENT",""),-1)
    180  S RGCNT=$O(TEMP("RESULT",""),-1)
    181  S CNT=0
    182  F  S CNT=$O(^PXRMD(801.41,DIEN,51,CNT)) Q:CNT'>0  D
    183  .S RIEN=$P($G(^PXRMD(801.41,DIEN,51,CNT,0)),U) Q:RIEN'>0
    184  .;S RIEN=$P($G(^PXRMD(801.41,DIEN,0)),U,15) Q:'RIEN  Q:$D(RESULT(RIEN))
    185  .;Result group compoments
    186  .N DSUB,REIEN
    187  .S DSUB=0
    188  .F  S DSUB=$O(^PXRMD(801.41,RIEN,10,DSUB)) Q:'DSUB  D
    189  ..;Get result element
    190  ..S REIEN=$P($G(^PXRMD(801.41,RIEN,10,DSUB,0)),U,2) Q:'REIEN
    191  ..Q:'$D(^PXRMD(801.41,REIEN,0))
    192  ..;If element exists get save it
    193  ..S RECNT=RECNT+1,TEMP("RESULT ELEMENT",RECNT)=REIEN
    194  ..;S RCNT=RCNT+1,OUTPUT("RESULT",RCNT)=REIEN
    195  .;
    196  .;Save result group
    197  .S RGCNT=RGCNT+1,TEMP("RESULT",RGCNT)=RIEN
    198  .;S RCNT=RCNT+1,RESULT(RIEN)="",TEMP("RESULT",RCNT)=RIEN
     166 S RIEN=$P($G(^PXRMD(801.41,DIEN,0)),U,15) Q:'RIEN  Q:$D(RESULT(RIEN))
     167 ;Result group compoments
     168 N DSUB,REIEN
     169 S DSUB=0
     170 F  S DSUB=$O(^PXRMD(801.41,RIEN,10,DSUB)) Q:'DSUB  D
     171 .;Get result element
     172 .S REIEN=$P($G(^PXRMD(801.41,RIEN,10,DSUB,0)),U,2) Q:'REIEN
     173 .Q:'$D(^PXRMD(801.41,REIEN,0))
     174 .;If element exists get save it
     175 .S RCNT=RCNT+1,OUTPUT("RESULT",RCNT)=REIEN
     176 ;
     177 ;Save result group
     178 S RCNT=RCNT+1,RESULT(RIEN)="",TEMP("RESULT",RCNT)=RIEN
    199179 Q
    200180 ;
Note: See TracChangeset for help on using the changeset viewer.