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/HEALTH_SUMMARY-GMTS/GMTSPSO.m

    r613 r623  
    1 GMTSPSO ; SLC/JER,KER/NDBI - OP Rx Summary Component (V6) ; 08/27/2002
    2         ;;2.7;Health Summary;**15,28,37,56,78,80**;Oct 20, 1995;Build 9
    3         ;
    4         ; External References
    5         ;   DBIA  10141  $$VERSION^XPDUTL
    6         ;   DBIA   2931  HS^A7RPSOHS
    7         ;   DBIA   2931  HS^A7RPSOHS
    8         ;   DBIA    330  ^PSOHCSUM, ACS^PSOHCSUM
    9         ;   DBIA    522  ^PS(55,
    10         ;   DBIA  10035  ^DPT(  file #2
    11         ;   DBIA   3136  ^PS(59.7,
    12         ;                   
    13 MAIN    ; OP Rx HS Comp
    14         ;   Check for version 7 (or greater)   MAIN^GMTSPSO7
    15         I $$VERSION^XPDUTL("PSO")'<7 G MAIN^GMTSPSO7
    16         ;   If not version 7                   MAIN^GMTSPSO
    17         N ECD,GMR,IX,PSOBEGIN,PSOACT,GMX,GMTOP
    18         S PSOBEGIN=$S(GMTS2'=9999999:(9999999-GMTS2),1:"")
    19         I PSOBEGIN="" S PSOACT=1 K PSOBEGIN
    20         K ^TMP("PSOO",$J),^TMP($J,"GMTSPS")
    21         D PROF^PSO52API(DFN,"GMTSPS",1,9999999)
    22         D:$$ROK^GMTSU("A7RPSOHS")&($$NDBI^GMTSU) HS^A7RPSOHS(DFN)
    23         I +$G(^TMP($J,"GMTSPS",DFN,0))<1,'$D(^TMP($J,"GMTSPS",DFN,"ARC")) Q
    24         I '$G(^TMP($J,"GMTSPS",DFN,0)),$D(^TMP($J,"GMTSPS",DFN,"ARC")) D CKP^GMTSUP Q:$D(GMTSQIT)  W "Patient Has Archived OP Prescriptions",!
    25         ;I '$D(^PS(55,DFN,"P")),'$D(^("ARC")),'$D(^TMP("PSOO",$J)) Q
    26         ;I '$O(^PS(55,DFN,"P",0)),$D(^PS(55,DFN,"ARC")) D CKP^GMTSUP Q:$D(GMTSQIT)  W "Patient Has Archived OP Prescriptions",!
    27         I $L($T(ACS^PSOHCSUM))>0 D ACS^PSOHCSUM D:$$ROK^GMTSU("A7RPSOHS")&($$NDBI^GMTSU) HS^A7RPSOHS(DFN) I '$D(^TMP("PSOO",$J)) Q
    28         I $L($T(ACS^PSOHCSUM))'>0 D ^PSOHCSUM D:$$ROK^GMTSU("A7RPSOHS")&($$NDBI^GMTSU) HS^A7RPSOHS(DFN) I '$D(^TMP("PSOO",$J)) Q
    29         S GMTSLO=GMTSLO+3
    30         S (GMX,GMTOP,IX)=0
    31         F  S IX=$O(^TMP("PSOO",$J,IX)) Q:IX'>0  S GMR=$G(^(IX,0)) D WRT
    32         S GMTSLO=GMTSLO-3
    33         K ^TMP("PSOO",$J)
    34         Q
    35 WRT     ; Writes OP Pharmacy Segment Record
    36         N ID,LFD,X,MI,NL,CF,GMD,GMV,GMI,GUI S GUI=$$HF^GMTSU
    37         S ID=$P(GMR,U),LFD=$P(GMR,U,2),ECD=$P(GMR,U,11),CF=$P(GMR,U,10)
    38         ;   Don't display when issue date is after To Date
    39         Q:+$G(GMRANGE)&(ID>(9999999-GMTS1))
    40         F GMV="ID","LFD","ECD" S X=@GMV D REGDT4^GMTSU S @GMV=X K X
    41         S MI=$G(^TMP("PSOO",$J,IX,1)),NL=0 I $L(MI)>73 D PARSE
    42         S GMD=$P($P(GMR,U,4),";",2)
    43         D CKP^GMTSUP Q:$D(GMTSQIT)
    44         D:GMTSNPG!(GMX'>0) HEAD W:'GMTOP ! S GMTOP=0 W $P($P(GMR,U,3),";",2)
    45         W !,?18,$P(GMR,U,6),?31,$S($P($P(GMR,U,5),";")="S":"ACTIVE/SUSP",1:$P($P(GMR,U,5),";",2)),?45,$P(GMR,U,7),?54,ID,?65,LFD,?76,"("_$P(GMR,U,8)_")",!
    46         S GMX=1 I 'NL D CKP^GMTSUP Q:$D(GMTSQIT)  D:GMTSNPG HEAD W ?2,"SIG: ",MI,! S GMTOP=0
    47         F GMI=1:1:NL D CKP^GMTSUP Q:$D(GMTSQIT)  D:GMTSNPG HEAD W:GMI=1 ?2,"SIG: " W ?7,MI(GMI),! S GMTOP=0
    48         D CKP^GMTSUP Q:$D(GMTSQIT)  D:GMTSNPG HEAD W ?4,"Provider: ",$E(GMD,1,22) W:CF ?37,"Cost/Fill: $",$J(CF,6,2)
    49         I "EC"[$P($P(GMR,U,5),";"),ECD]"" W ?57,"Exp/Can Dt: "_ECD
    50         W ! S GMTOP=0
    51         Q
    52 PARSE   ; Parses Medication Instructions
    53         N GMI,NW,WPL
    54         S NL=$S(($L(MI)/73)>($L(MI)\73):($L(MI)\73)+1,1:$L(MI)\73)
    55         S NW=$L(MI," "),WPL=$S((NW/NL)>(NW\NL):(NW\NL)+1,1:NW\NL)
    56         F GMI=1:1:NL S MI(GMI)=$P(MI," ",(GMI-1)*WPL+1,GMI*WPL)
    57         Q
    58 HEAD    ; Prints Header
    59         S GMTOP=1
    60         K ^TMP($J,"GMTSPSSYS") D PSS^PSS59P7(1,,"GMTSPSSYS")
    61         I GMX'>0,$D(^DPT(DFN,.1)),^(.1)]"",+$G(^TMP($J,"GMTSPSSYS",1,40.1)) D CKP^GMTSUP Q:$D(GMTSQIT)  W "Outpatient prescriptions are cancelled 72 hours after admission",!
    62         ;I GMX'>0,$D(^DPT(DFN,.1)),^(.1)]"",+($P($G(^PS(59.7,1,40.1)),"^")) D CKP^GMTSUP Q:$D(GMTSQIT)  W "Outpatient prescriptions are cancelled 72 hours after admission",!
    63         D CKP^GMTSUP Q:$D(GMTSQIT)  W !,"Drug....................................",?65,"Last",!
    64         D CKP^GMTSUP Q:$D(GMTSQIT)
    65         W ?18,"Rx #",?31,"Stat",?45,"Qty",?54,"Issued",?65,"Filled",?76,"Rem"
    66         W:$Y'>(IOSL-GMTSLO)!(+($G(GUI))>0) !
    67         Q
     1GMTSPSO ; SLC/JER,KER/NDBI - OP Rx Summary Component (V6) ; 08/27/2002
     2 ;;2.7;Health Summary;**15,28,37,56,78**;Oct 20, 1995
     3 ;
     4 ; External References
     5 ;   DBIA  10141  $$VERSION^XPDUTL
     6 ;   DBIA   2931  HS^A7RPSOHS
     7 ;   DBIA   2931  HS^A7RPSOHS
     8 ;   DBIA    330  ^PSOHCSUM, ACS^PSOHCSUM
     9 ;   DBIA    522  ^PS(55,
     10 ;   DBIA  10035  ^DPT(  file #2
     11 ;   DBIA   3136  ^PS(59.7,
     12 ;                   
     13MAIN ; OP Rx HS Comp
     14 ;   Check for version 7 (or greater)   MAIN^GMTSPSO7
     15 I $$VERSION^XPDUTL("PSO")'<7 G MAIN^GMTSPSO7
     16 ;   If not version 7                   MAIN^GMTSPSO
     17 N ECD,GMR,IX,PSOBEGIN,PSOACT,GMX,GMTOP
     18 S PSOBEGIN=$S(GMTS2'=9999999:(9999999-GMTS2),1:"")
     19 I PSOBEGIN="" S PSOACT=1 K PSOBEGIN
     20 K ^TMP("PSOO",$J)
     21 D:$$ROK^GMTSU("A7RPSOHS")&($$NDBI^GMTSU) HS^A7RPSOHS(DFN)
     22 I '$D(^PS(55,DFN,"P")),'$D(^("ARC")),'$D(^TMP("PSOO",$J)) Q
     23 I '$O(^PS(55,DFN,"P",0)),$D(^PS(55,DFN,"ARC")) D CKP^GMTSUP Q:$D(GMTSQIT)  W "Patient Has Archived OP Prescriptions",!
     24 I $L($T(ACS^PSOHCSUM))>0 D ACS^PSOHCSUM D:$$ROK^GMTSU("A7RPSOHS")&($$NDBI^GMTSU) HS^A7RPSOHS(DFN) I '$D(^TMP("PSOO",$J)) Q
     25 I $L($T(ACS^PSOHCSUM))'>0 D ^PSOHCSUM D:$$ROK^GMTSU("A7RPSOHS")&($$NDBI^GMTSU) HS^A7RPSOHS(DFN) I '$D(^TMP("PSOO",$J)) Q
     26 S GMTSLO=GMTSLO+3
     27 S (GMX,GMTOP,IX)=0
     28 F  S IX=$O(^TMP("PSOO",$J,IX)) Q:IX'>0  S GMR=$G(^(IX,0)) D WRT
     29 S GMTSLO=GMTSLO-3
     30 K ^TMP("PSOO",$J)
     31 Q
     32WRT ; Writes OP Pharmacy Segment Record
     33 N ID,LFD,X,MI,NL,CF,GMD,GMV,GMI,GUI S GUI=$$HF^GMTSU
     34 S ID=$P(GMR,U),LFD=$P(GMR,U,2),ECD=$P(GMR,U,11),CF=$P(GMR,U,10)
     35 ;   Don't display when issue date is after To Date
     36 Q:+$G(GMRANGE)&(ID>(9999999-GMTS1))
     37 F GMV="ID","LFD","ECD" S X=@GMV D REGDT4^GMTSU S @GMV=X K X
     38 S MI=$G(^TMP("PSOO",$J,IX,1)),NL=0 I $L(MI)>73 D PARSE
     39 S GMD=$P($P(GMR,U,4),";",2)
     40 D CKP^GMTSUP Q:$D(GMTSQIT)
     41 D:GMTSNPG!(GMX'>0) HEAD W:'GMTOP ! S GMTOP=0 W $P($P(GMR,U,3),";",2)
     42 W !,?18,$P(GMR,U,6),?31,$S($P($P(GMR,U,5),";")="S":"ACTIVE/SUSP",1:$P($P(GMR,U,5),";",2)),?45,$P(GMR,U,7),?54,ID,?65,LFD,?76,"("_$P(GMR,U,8)_")",!
     43 S GMX=1 I 'NL D CKP^GMTSUP Q:$D(GMTSQIT)  D:GMTSNPG HEAD W ?2,"SIG: ",MI,! S GMTOP=0
     44 F GMI=1:1:NL D CKP^GMTSUP Q:$D(GMTSQIT)  D:GMTSNPG HEAD W:GMI=1 ?2,"SIG: " W ?7,MI(GMI),! S GMTOP=0
     45 D CKP^GMTSUP Q:$D(GMTSQIT)  D:GMTSNPG HEAD W ?4,"Provider: ",$E(GMD,1,22) W:CF ?37,"Cost/Fill: $",$J(CF,6,2)
     46 I "EC"[$P($P(GMR,U,5),";"),ECD]"" W ?57,"Exp/Can Dt: "_ECD
     47 W ! S GMTOP=0
     48 Q
     49PARSE ; Parses Medication Instructions
     50 N GMI,NW,WPL
     51 S NL=$S(($L(MI)/73)>($L(MI)\73):($L(MI)\73)+1,1:$L(MI)\73)
     52 S NW=$L(MI," "),WPL=$S((NW/NL)>(NW\NL):(NW\NL)+1,1:NW\NL)
     53 F GMI=1:1:NL S MI(GMI)=$P(MI," ",(GMI-1)*WPL+1,GMI*WPL)
     54 Q
     55HEAD ; Prints Header
     56 S GMTOP=1
     57 I GMX'>0,$D(^DPT(DFN,.1)),^(.1)]"",+($P($G(^PS(59.7,1,40.1)),"^")) D CKP^GMTSUP Q:$D(GMTSQIT)  W "Outpatient prescriptions are cancelled 72 hours after admission",!
     58 D CKP^GMTSUP Q:$D(GMTSQIT)  W !,"Drug....................................",?65,"Last",!
     59 D CKP^GMTSUP Q:$D(GMTSQIT)
     60 W ?18,"Rx #",?31,"Stat",?45,"Qty",?54,"Issued",?65,"Filled",?76,"Rem"
     61 W:$Y'>(IOSL-GMTSLO)!(+($G(GUI))>0) !
     62 Q
Note: See TracChangeset for help on using the changeset viewer.