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/DSS_EXTRACTS-ECX/ECXUTL6.m

    r628 r636  
    1 ECXUTL6 ;ALB/JRC - Utilities for DSS Extracts ; 11/28/07 11:34am
    2  ;;3.0;DSS EXTRACTS;**92,105**;Dec 22, 1997;Build 70
     1ECXUTL6 ;ALB/JRC - Utilities for DSS Extracts ; 11/2/06 8:30am
     2 ;;3.0;DSS EXTRACTS;**92**;Dec 22, 1997;Build 30
    33 ;
    44NUTKEY(P,D) ;Generate n&fs feeder key
     
    66 ;      p  - diet type production diet, standing orders, supplemental
    77 ;           feedings, or tube feedings.
    8  ;      d  - diet ien from files 116.2, 118.3, 118, or 118.2
     8 ;      d  - diet ien from files 116.2, 116.3, 118, or 118.2
    99 ;Check input
    1010 I $G(P)=""!'$G(D) Q ""
     
    1313 S (PRO,IENS,CODE,DIET)=0
    1414 S PRO=$O(^ECX(728.45,"B",P,PRO))
    15  S CODE=D_$S(P="PD":";FH(116.2,",P="SO":";FH(118.3,",P="SF":";FH(118,",P="TF":";FH(118.2,",1:"")
     15 S CODE=D_$S(P="PD":";FH(116.2,",P="SO":";FH(116.3,",P="SF":";FH(118,",P="TF":";FH(118.2,",1:"")
    1616 S DIET=0,DIET=$O(^ECX(728.45,+PRO,1,"B",CODE,DIET))
    1717 S IENS=""_DIET_","_PRO_","_""
     
    2828 ;            location
    2929 ;Init variables
    30  N WARD,TRSVP,CRSVP,OPLOC,MASWARD
    31  S (CRSVP,TRSVP)=0,(WARD,DLT,DFL,MASWARD)=""
     30 N WARD,TRSVP,OPLOC,MASWARD
     31 S TRSVP=0,(WARD,ECXDLT,ECXDFL,MASWARD)=""
    3232 S OPLOC=""
    3333 ;Check input
     
    3838 ;119.72 (production facility) field 2.
    3939 I P="INP" D
    40  .S WARD=$P($G(^FHPT(FHDFN,"A",+ECXADM,0)),U,8)
     40 .S WARD=$P($G(^FHPT(FHDFN,"A",ECXADM,0)),U,8)
    4141 .S TRSVP=$$GET1^DIQ(119.6,WARD,3,"I")
    42  .S CRSVP=$$GET1^DIQ(119.6,WARD,4,"I")
    4342 .;Get divisions
    4443 .D GETDIV
     
    8079 I P["OP",D["GM" D
    8180 .S OPLOC=""_$P(NODE,U,5)_","_"",TRSVP=$$GET1^DIQ(119.6,OPLOC,3,"I")
    82  .S FPF=$$GET1^DIQ(119.72,""_TRSVP_","_"",2,"I")
     81 .S ECXFPF=$$GET1^DIQ(119.72,""_TRSVP_","_"",2,"I")
    8382 .;Get delivery division
    8483 .D GETDIV
     
    9695 ;   all other meals are null
    9796 I P="INP",D="PD" D
    98  .S DLT=$P($G(NODE),U,8)
     97 .S ECXDLT=$P($G(NODE),U,8)
    9998 I P="OP",((D="RM")!(D="SM")) D
    100  .S DLT=$E($$GET1^DIQ(119.6,""_$P(NODE,U,3)_","_"",101,"E"),1)
     99 .S ECXDLT=$E($$GET1^DIQ(119.6,""_$P(NODE,U,3)_","_"",101,"E"),1)
    101100 I P="OP",D="GM" D
    102  .S DLT=$E($$GET1^DIQ(119.6,""_$P(NODE,U,5)_","_"",101,"E"),1)
     101 .S ECXDLT=$E($$GET1^DIQ(119.6,""_$P(NODE,U,5)_","_"",101,"E"),1)
    103102 ;
    104103 ;Delivery feeder location
    105  I DLT="C" D
    106  .S DFL=$E($$GET1^DIQ(119.6,WARD,4,"E"),1,10)
    107  .S IEN=$$GET1^DIQ(119.72,+CRSVP,2,"I")
    108  .S IEN=""_IEN_";FH(119.71,"
    109  .S FPF=$O(^ECX(728.46,"B",IEN,FPF))
    110  .S FPF=$E($$GET1^DIQ(728.46,FPF,.01,"E"),1,10)
    111  I (DLT["T")!(DLT["D") D
    112  .I P="INP" D
    113  ..S MASWARD=$O(^FH(119.6,+WARD,"W","B",0))
    114  ..S DFL=$$GET1^DIQ(42,+MASWARD,44,"I")
    115  .I P="OP" D
    116  ..S DFL=$O(^FH(119.6,+OPLOC,"L","B",0))
    117  I (DLT=""),"SFTFSO"[D D
    118  .S DFL=$S(TRSVP:$$GET1^DIQ(119.6,WARD,3,"E"),1:$$GET1^DIQ(119.6,WARD,4,"E"))
     104 I ECXDLT="C" S ECXDFL=$P(NODE,U,8) D
     105 .S ECXDFL=$E($$GET1^DIQ(119.72,ECXDFL,2,"E"),1,10)
     106 I (ECXDLT["T")!(ECXDLT["D") D
     107 .S MASWARD=$O(^FH(119.6,$S(WARD:+WARD,+OPLOC:+OPLOC,1:""),"W","B",0))
     108 .S ECXDFL=$$GET1^DIQ(42,+MASWARD,44,"I")
    119109 Q 1
    120110 ;
     
    122112 ;Init variables
    123113 N IEN,SIEN
    124  S (FDD,FPF,FPD)=""
     114 S (ECXFDD,ECXFPF,ECXFPD)=""
    125115 S IEN=$$GET1^DIQ(119.72,+TRSVP,2,"I")
    126116 Q:'IEN
    127117 ;Get delivery division
    128118 S SIEN=""_+TRSVP_";FH(119.72,"
    129  S FDD=$O(^ECX(728.46,"B",SIEN,FDD))
    130  S FDD=""_$$GET1^DIQ(728.46,FDD,1,"I")_","_""
    131  S FDD=$$GET1^DIQ(4,FDD,99,"E")
     119 S ECXFDD=$O(^ECX(728.46,"B",SIEN,ECXFDD))
     120 S ECXFDD=""_$$GET1^DIQ(728.46,ECXFDD,1,"I")_","_""
     121 S ECXFDD=$$GET1^DIQ(4,ECXFDD,99,"E")
    132122 ;Get production division and food production facility
    133123 S IEN=""_IEN_";FH(119.71,"
    134  S FPF=$O(^ECX(728.46,"B",IEN,FPF))
    135  S FPD=""_$$GET1^DIQ(728.46,FPF,1,"I")_","_""
    136  S FPD=$$GET1^DIQ(4,FPD,99,"E")
    137  S FPF=$E($$GET1^DIQ(728.46,FPF,.01,"E"),1,10)
     124 S ECXFPF=$O(^ECX(728.46,"B",IEN,ECXFPF))
     125 S ECXFPD=""_$$GET1^DIQ(728.46,ECXFPF,1,"I")_","_""
     126 S ECXFPD=$$GET1^DIQ(4,ECXFPD,99,"E")
     127 S ECXFPF=$E($$GET1^DIQ(728.46,ECXFPF,.01,"E"),1,10)
    138128 Q
    139  ;
    140 SUR(CRST,STCD,CLINIC) ;Surgery stop codes and clinic (outpatients only)
    141  ;Init variables
    142  S (CRST,STCD,CLINIC)=""
    143  ;Quit if not outpatient
    144  Q:$P(EC0,U,12)'="O" ""
    145  ;Get stop codes (outpatient only)
    146  I $P(EC0,U,12)="O" D
    147  .;Get credit stop code (outpatient only)
    148  .S CRST=""_$$GET1^DIQ(40.7,""_$$GET1^DIQ(44,$$GET1^DIQ(137.45,$P(EC0,U,4),2,"I")_","_""_","_"",2503,"I")_","_"",1,"E")
    149  .;Get stop code (outpatient only)
    150  .S STCD=""_$$GET1^DIQ(40.7,""_$$GET1^DIQ(44,$$GET1^DIQ(137.45,$P(EC0,U,4),2,"I")_","_""_","_"",8,"I")_","_"",1,"E")
    151  ;Clinic for non-or case use associated clinic else non-or location
    152  ;If non-or case
    153  I $P($G(ECNO),U)="Y" S CLINIC=$S($P(EC0,U,21):$P(EC0,U,21),1:$P(ECNO,U,2))
    154  ;Get stop codes non-or cases
    155  I $P($G(ECNO),U)="Y" D
    156  .;Get credit stop code for non-or case
    157  .S CRST=$$GET1^DIQ(40.7,$$GET1^DIQ(44,CLINIC,2503,"I"),1,"E")
    158  .;Get stop code for non-or case
    159  .S STCD=$$GET1^DIQ(40.7,$$GET1^DIQ(44,CLINIC,8,"I"),1,"E")
    160  ;Clinic, not a non-or case use surgical specialty associated clinic
    161  I $P($G(ECNO),U)'="Y" S CLINIC=$$GET1^DIQ(137.45,+$P(EC0,U,4),2,"I")
    162  Q 1
    163  ;
    164 SURPODX(PRODX,PODX1,PODX2,PODX3,PODX4,PODX5) ;Get postop diagnosis codes
    165  ;Init variables
    166  N CODE,I,PODX
    167  S (PRODX,PODX1,PODX2,PODX3,PODX4,PODX5)="",CODE=0
    168  ;Check input
    169  Q:'$D(DATAOP) 0
    170  ;Get principal postop dx code
    171  S PRODX=$$GET1^DIQ(80,$P(DATAOP,U,3),.01)
    172  ;Get other postop dx codes
    173  S (CODE,I)=0 F  S CODE=$O(^SRO(136,ECD0,4,CODE)) Q:'CODE  Q:I>5  D
    174  .S I=I+1,PODX="PODX"_I,@PODX=$$GET1^DIQ(80,$P(^SRO(136,ECD0,4,CODE,0),U),.01)
    175  Q 1
Note: See TracChangeset for help on using the changeset viewer.