Ignore:
Timestamp:
Dec 4, 2009, 12:11:15 AM (14 years ago)
Author:
George Lilly
Message:

revised back to 6/30/08 version

File:
1 edited

Legend:

Unmodified
Added
Removed
  • WorldVistAEHR/trunk/r/CLINICAL_REMINDERS-PXRM/PXRMXTE.m

    r613 r623  
    1 PXRMXTE ; SLC/PJH - Reminder Reports Template Edit ;11/27/2006
    2         ;;2.0;CLINICAL REMINDERS;**4,6**;Feb 04, 2005;Build 123
    3         ;
    4         ; Called from PXRMYD,PXRMXD
    5         ;
    6         ;Option to Edit
    7         ;--------------
    8 EDIT    ;
    9         N DIDEL,DIE,DR K DTOUT,DUOUT
    10         ;Edit report name, title and PXRMSEL (patient sample)
    11         S DIE=810.1,DA=$P(PXRMTMP,U),DR=".01T;1.9;1.2",DIDEL=810.1
    12         D ^DIE I $D(Y) S DUOUT=1 Q
    13         ;Check if template has been deleted
    14         I '$D(DA) Q
    15         ;Get updated value of PXRMXSEL
    16         N PXRMSEL,PXRMFUT S PXRMSEL=X
    17         ;Needed for 1.6 validation - Prior/Future or Current/Admissions
    18         ;N PXRMINP
    19         ;Further fields depend on value in PXRMXSEL
    20         I PXRMSEL="I" S DR="6T~R",PXRMINP=0
    21         I PXRMSEL="R" S DR="14T",PXRMINP=0
    22         I PXRMSEL="L" D  Q:$D(DUOUT)
    23         .;Get location report type
    24         .S DR="3T;1.5R" D ^DIE I $D(Y) S DUOUT=1 Q
    25         .N PXRMLCSC S PXRMLCSC=X,DR="",PXRMINP=0
    26         .;All location reports - prompt for prior/future/current/admissions
    27         .I PXRMLCSC="HAI" S PXRMINP=1,DR="1.6" Q
    28         .I PXRMLCSC="HA" S PXRMINP=0,DR="1.6"
    29         .I PXRMLCSC="CA" S PXRMINP=0,DR="1.6"
    30         .D ^DIE I $D(Y) S DUOUT=1 Q
    31         .S PXRMFUT=X,DR=""
    32         .;Selected Location/Stop Code/Clinic Group fields
    33         .I PXRMLCSC="HS" D  Q:$D(DUOUT)
    34         ..S DR="10T~R"
    35         ..D ^DIE I $D(Y) S DUOUT=1 Q
    36         ..;Determine if locations input are all wards
    37         ..S PXRMINP=$$INP^PXRMXAP(PXRMLCSC,.PXRMLOCN)
    38         ..;Select Prior/Future or Current Inpatient/Admissions
    39         ..S DR="1.6"
    40         ..D ^DIE I $D(Y) S DUOUT=1 Q
    41         ..S PXRMFUT=X,DR=""
    42         .;Clinic Stop input and prior/future
    43         .I PXRMLCSC="CS" S PXRMINP=0,DR="11T~R;1.6" D  I $G(DUOUT)=1 Q
    44         ..D ^DIE I $D(Y) S DUOUT=1 Q
    45         ..S PXRMFUT=X,DR=""
    46         .;Clinic Group input and prior/future
    47         .I PXRMLCSC="GS" S PXRMINP=0,DR="12T~R;1.6" D  I $G(DUOUT)=1 Q
    48         ..D ^DIE I $D(Y) S DUOUT=1 Q
    49         ..S PXRMFUT=X,DR=""
    50         .;Service categories (except for inpatient reports)
    51         .I PXRMINP=0,PXRMFUT'="F",PXRMFUT'="C" S DR=DR_";9T~R"
    52         ;OE/RR teams
    53         I PXRMSEL="O" S DR="7T~R"
    54         ;PCMM Provider and Primary care/All
    55         I PXRMSEL="P" S DR="4T~R;1.3"
    56         ;PCMM teams
    57         I PXRMSEL="T" S DR="3T~R;8T~R"
    58         ;Report type (detail or summary)
    59         S DR=DR_";1.4"
    60         ;Print Locations without patients
    61         S DR=DR_";1.7"
    62         ;Reminder Categories
    63         I $D(^PXRMPT(810.1,DA,12,0))>0 D
    64         .N IEN,CNT,NODE
    65         .S CNT=0,IEN=0 F  S IEN=$O(^PXRMPT(810.1,DA,12,IEN)) Q:IEN'>0  D
    66         ..S CNT=CNT+1,NODE=$G(^PXRMPT(810.1,DA,12,IEN,0))
    67         ..S PXRMTCAT(DA,CNT)=$P(NODE,U)_U_$P($G(^PXRMD(811.7,$P(NODE,U),0)),U)_U_$P(NODE,U,2)
    68         S DR=DR_";13T"
    69         ;Reminders
    70         I $D(^PXRMPT(810.1,DA,1,0))>0 D
    71         .N IEN,CNT,NODE,REMNODE
    72         .S CNT=0,IEN=0 F  S IEN=$O(^PXRMPT(810.1,DA,1,IEN)) Q:IEN'>0  D
    73         ..S CNT=CNT+1,NODE=$G(^PXRMPT(810.1,DA,1,IEN,0))
    74         ..S REMNODE=$G(^PXD(811.9,$P(NODE,U),0))
    75         ..S PXRMTREM(DA,CNT)=$P(NODE,U)_U_$P(REMNODE,U)_U_$P(NODE,U,2)_U_$P($G(REMNODE),U,3)
    76         S DR=DR_";2T"
    77         ;
    78         ;Strip of any leading semi-colons
    79         I $E(DR)=";" S DR=$P(DR,";",2,99)
    80         ;
    81         D ^DIE I $D(Y) S DUOUT=1 Q
    82         ;
    83         ;If all reminders have been deleted from the template disallow save
    84         I +$P($G(^PXRMPT(810.1,DA,1,0)),U,4)=0 D
    85         .;Check categories also
    86         .I +$P($G(^PXRMPT(810.1,DA,12,0)),U,4)>0 D  Q
    87         .. N CAT,CATIEN
    88         .. S CAT=0 F  S CAT=$O(^PXRMPT(810.1,DA,12,CAT)) Q:+CAT'>0  D
    89         ... S CATIEN=$P($G(^PXRMPT(810.1,DA,12,CAT,0)),U)
    90         ... I +$P($G(^PXRMD(811.7,CATIEN,2,0)),U,4)<1 W !!,"** WARNING **",!,"Reminder Category "_$P($G(^PXRMD(811.7,CATIEN,0)),U)_" does not have any reminders assigned to it"
    91         .S DUOUT=1
    92         .W !!,"No reminders defined"
    93         Q
    94         ;
     1PXRMXTE ; SLC/PJH - Reminder Reports Template Edit ;08/03/2006
     2 ;;2.0;CLINICAL REMINDERS;**4**;Feb 04, 2005;Build 21
     3 ;
     4 ; Called from PXRMYD,PXRMXD
     5 ;
     6 ;Option to Edit
     7 ;--------------
     8EDIT ;
     9 N DIDEL,DIE,DR K DTOUT,DUOUT
     10 ;Edit report name, title and PXRMSEL (patient sample)
     11 S DIE=810.1,DA=$P(PXRMTMP,U),DR=".01T;1.9;1.2",DIDEL=810.1
     12 D ^DIE I $D(Y) S DUOUT=1 Q
     13 ;Check if template has been deleted
     14 I '$D(DA) Q
     15 ;Get updated value of PXRMXSEL
     16 N PXRMSEL,PXRMFUT S PXRMSEL=X
     17 ;Needed for 1.6 validation - Prior/Future or Current/Admissions
     18 ;N PXRMINP
     19 ;Further fields depend on value in PXRMXSEL
     20 I PXRMSEL="I" S DR="6T~R",PXRMINP=0
     21 I PXRMSEL="R" S DR="14T",PXRMINP=0
     22 I PXRMSEL="L" D  Q:$D(DUOUT)
     23 .;Get location report type
     24 .S DR="3T;1.5R" D ^DIE I $D(Y) S DUOUT=1 Q
     25 .N PXRMLCSC S PXRMLCSC=X,DR="",PXRMINP=0
     26 .;All location reports - prompt for prior/future/current/admissions
     27 .I PXRMLCSC="HAI" S PXRMINP=1,DR="1.6" Q
     28 .I PXRMLCSC="HA" S PXRMINP=0,DR="1.6"
     29 .I PXRMLCSC="CA" S PXRMINP=0,DR="1.6"
     30 .D ^DIE I $D(Y) S DUOUT=1 Q
     31 .S PXRMFUT=X,DR=""
     32 .;Selected Location/Stop Code/Clinic Group fields
     33 .I PXRMLCSC="HS" D  Q:$D(DUOUT)
     34 ..S DR="10T~R"
     35 ..D ^DIE I $D(Y) S DUOUT=1 Q
     36 ..;Determine if locations input are all wards
     37 ..S PXRMINP=$$INP^PXRMXAP(PXRMLCSC,.PXRMLOCN)
     38 ..;Select Prior/Future or Current Inpatient/Admissions
     39 ..S DR="1.6"
     40 ..D ^DIE I $D(Y) S DUOUT=1 Q
     41 ..S PXRMFUT=X,DR=""
     42 .;Clinic Stop input and prior/future
     43 .I PXRMLCSC="CS" S PXRMINP=0,DR="11T~R;1.6" D  I $G(DUOUT)=1 Q
     44 ..D ^DIE I $D(Y) S DUOUT=1 Q
     45 ..S PXRMFUT=X,DR=""
     46 .;Clinic Group input and prior/future
     47 .I PXRMLCSC="GS" S PXRMINP=0,DR="12T~R;1.6" D  I $G(DUOUT)=1 Q
     48 ..D ^DIE I $D(Y) S DUOUT=1 Q
     49 ..S PXRMFUT=X,DR=""
     50 .;Service categories (except for inpatient reports)
     51 .I PXRMINP=0,PXRMFUT'="F",PXRMFUT'="C" S DR=DR_";9T~R"
     52 ;OE/RR teams
     53 I PXRMSEL="O" S DR="7T~R"
     54 ;PCMM Provider and Primary care/All
     55 I PXRMSEL="P" S DR="4T~R;1.3"
     56 ;PCMM teams
     57 I PXRMSEL="T" S DR="3T~R;8T~R"
     58 ;Report type (detail or summary)
     59 S DR=DR_";1.4"
     60 ;Reminder Categories
     61 I $D(^PXRMPT(810.1,DA,12,0))>0 D
     62 .N IEN,CNT,NODE
     63 .S CNT=0,IEN=0 F  S IEN=$O(^PXRMPT(810.1,DA,12,IEN)) Q:IEN'>0  D
     64 ..S CNT=CNT+1,NODE=$G(^PXRMPT(810.1,DA,12,IEN,0))
     65 ..S PXRMTCAT(DA,CNT)=$P(NODE,U)_U_$P($G(^PXRMD(811.7,$P(NODE,U),0)),U)_U_$P(NODE,U,2)
     66 S DR=DR_";13T"
     67 ;Reminders
     68 I $D(^PXRMPT(810.1,DA,1,0))>0 D
     69 .N IEN,CNT,NODE,REMNODE
     70 .S CNT=0,IEN=0 F  S IEN=$O(^PXRMPT(810.1,DA,1,IEN)) Q:IEN'>0  D
     71 ..S CNT=CNT+1,NODE=$G(^PXRMPT(810.1,DA,1,IEN,0))
     72 ..S REMNODE=$G(^PXD(811.9,$P(NODE,U),0))
     73 ..S PXRMTREM(DA,CNT)=$P(NODE,U)_U_$P(REMNODE,U)_U_$P(NODE,U,2)_U_$P($G(REMNODE),U,3)
     74 S DR=DR_";2T"
     75 ;
     76 ;Strip of any leading semi-colons
     77 I $E(DR)=";" S DR=$P(DR,";",2,99)
     78 ;
     79 D ^DIE I $D(Y) S DUOUT=1 Q
     80 ;
     81 ;If all reminders have been deleted from the template disallow save
     82 I +$P($G(^PXRMPT(810.1,DA,1,0)),U,4)=0 D
     83 .;Check categories also
     84 .I +$P($G(^PXRMPT(810.1,DA,12,0)),U,4)>0 D  Q
     85 .. N CAT,CATIEN
     86 .. S CAT=0 F  S CAT=$O(^PXRMPT(810.1,DA,12,CAT)) Q:+CAT'>0  D
     87 ... S CATIEN=$P($G(^PXRMPT(810.1,DA,12,CAT,0)),U)
     88 ... I +$P($G(^PXRMD(811.7,CATIEN,2,0)),U,4)<1 W !!,"** WARNING **",!,"Reminder Category "_$P($G(^PXRMD(811.7,CATIEN,0)),U)_" does not have any reminders assigned to it"
     89 .S DUOUT=1
     90 .W !!,"No reminders defined"
     91 Q
     92 ;
Note: See TracChangeset for help on using the changeset viewer.