Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: BTIULO10

BTIULO10.m

Go to the documentation of this file.
  1. BTIULO10 ; MSC/IHS/MGH - Outside Meds ;10-Mar-2014 15:24;DU
  1. ;;1.0;TEXT INTEGRATION UTILITIES;**1006,1013**;NOV 04, 2004;Build 33
  1. Q
  1. ;
  1. ; Created Outside med object
  1. ;
  1. ACTHMMD(DFN) ; EP Logic taken from PSOP2 retrieve non-VA meds
  1. ;
  1. N TITLE
  1. S TITLE=$$GET^XPAR("ALL","BEHORX NONVA LABEL")
  1. Q:$G(DFN)="" "No DFN"
  1. Q:'$D(^DPT(DFN,0)) "No patient"
  1. Q:'$O(^PS(55,DFN,"NVA",0)) "No "_TITLE_" Medications"
  1. N HOMMD,CNT,MCNT,OUTMED,PPP,NVA,NVAOR,PCNT
  1. K PQT S CNT=0,PCNT=1
  1. K ^TMP($J,"ACTIVE-OUTSIDE-MEDS")
  1. S HOMMD="^TMP($J,""ACTIVE-OUTSIDE-MEDS"")"
  1. S CNT=CNT+1
  1. S @HOMMD@(CNT,0)=" Active "_TITLE_" Medications"
  1. S CNT=CNT+1
  1. S @HOMMD@(CNT,0)="==============================================="
  1. S MCNT=0
  1. F PPP=0:0 S PPP=$O(^PS(55,DFN,"NVA",PPP)) Q:'PPP!($G(PQT)) S NVAOR=^PS(55,DFN,"NVA",PPP,0),NVA=1 D
  1. .;
  1. .Q:'$P(NVAOR,"^")
  1. .Q:$P(NVAOR,"^",7)
  1. .S MCNT=MCNT+1
  1. .S OUTMED=MCNT_") "_$S($P(NVAOR,"^",2):$P($G(^PSDRUG(+$P(NVAOR,"^",2),0)),"^"),1:$P($G(^PS(50.7,$P(NVAOR,"^"),0)),"^")_" "_$P($G(^PS(50.606,+$P($G(^(0)),"^",2),0)),"^"))
  1. .S OUTMED=OUTMED_" Date Documented: "_$E($P(NVAOR,"^",10),4,5)_"/"_$E($P(NVAOR,"^",10),6,7)_"/"_$E($P(NVAOR,"^",10),2,3)
  1. .S CNT=CNT+1,@HOMMD@(CNT,0)=OUTMED
  1. .I $P(NVAOR,"^",3)'="" S CNT=CNT+1,@HOMMD@(CNT,0)=" Dosage: "_$P(NVAOR,"^",3)_$S($P(NVAOR,"^",5)'="":", Schedule: "_$P(NVAOR,"^",5),1:" ")
  1. .;S CNT=CNT+1,@HOMMD@(CNT,0)="Status: "_$S($P(NVAOR,"^",7):"Discontinued ("_$E($P(NVAOR,"^",7),4,5)_"/"_$E($P(NVAOR,"^",7),6,7)_"/"_$E($P(NVAOR,"^",7),2,3)_")",1:"Active")
  1. .;S CNT=CNT+1,@HOMMD@(CNT,0)=" "
  1. .Q
  1. I $D(^TMP($J,"ACTIVE-OUTSIDE-MEDS",4)) Q "~@"_$NA(@HOMMD)
  1. E Q "No "_TITLE_" Meds"
  1. Q
  1. ;
  1. ; *****************************
  1. ; removes trailing spaces from text
  1. ; i.e : "have a nice daysssss"
  1. ; result: "have a nice day"
  1. ;
  1. STRIP(TXT) ;
  1. N MSCNT
  1. Q:$L(TXT)<2 ""
  1. F MSCNT=46:-1:1 Q:$E(TXT,MSCNT)'=" " D
  1. . S TXT=$E(TXT,1,$L(TXT)-1)
  1. Q TXT
  1. PAPWC(DFN,TARGET) ;EP; -- returns last pap date and result and result text
  1. N N,Y,BW,DATE,LINE,L
  1. S CNT=0
  1. I $P(^DPT(DFN,0),U,2)="M" Q ""
  1. S N=0 F S N=$O(^BWPCD("C",DFN,N)) Q:'N D
  1. .S Y=$G(^BWPCD(N,0))
  1. .I $P(Y,U,4)=1 S DATE=$P(Y,U,12) D
  1. ..S BW("PAP",9999999-DATE)=DATE_U_$P(Y,U,5)_U_N
  1. I '$D(BW("PAP")) Q "No PAP on record"
  1. S N=$O(BW("PAP",0)) I 'N Q "No PAP on record"
  1. S N=BW("PAP",N)
  1. S LINE="Last PAP: "_$$FMTE^XLFDT(+N,"5D")
  1. S LINE=LINE_" Result - "_$$GET1^DIQ(9002086.31,$P(N,U,2),.01)
  1. S LINE=LINE_" ("_$$GET1^DIQ(9002086.1,$P(N,U,3),.14)_")"
  1. S CNT=CNT+1
  1. S @TARGET@(CNT,0)=LINE
  1. N WP,IENS,LINE
  1. S IENS=$P(N,U,3)_","
  1. S WP=$$GET1^DIQ(9002086.1,IENS,1.01,"Z","WP")
  1. S L=0
  1. F S L=$O(WP(L)) Q:L="" D
  1. .S CNT=CNT+1
  1. .S LINE=$G(WP(L,0))
  1. .I L=1 S LINE="Results: "_LINE
  1. .S @TARGET@(CNT,0)=LINE
  1. Q "~@"_$NA(@TARGET)