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

BHSPLOB.m

Go to the documentation of this file.
  1. BHSPLOB ;IHS/MSC/MGH - Health Summary for V OB notes ;12-Jul-2016 17:35;MGH
  1. ;;1.0;HEALTH SUMMARY COMPONENTS;**14**;Mar 17,2006;Build 4
  1. ;===================================================================
  1. OBDT ;DISPLAY V OB DATA SORTED BY DATE IN HEALTH SUMMARY
  1. N X,LINE,NUM,PRIEN,PROB,VCNT,VSCNT
  1. N INVDT,IEN,EDATE,SIGN,STAT,FOUND,SDATE,EIE,SIGNDT
  1. ;The default is the latest visit
  1. I $G(GMTSNDM)="" S NUM=99
  1. E S NUM=GMTSNDM
  1. D CKP^GMTSUP Q:$D(GMTSQIT)
  1. ;Get last date entries for each date of OB notes
  1. S VCNT=0,FOUND=0,SDATE="",VSCNT=0
  1. S VIEN=$G(VIEN)
  1. S PRIEN="" F S PRIEN=$O(^AUPNVOB("AE",DFN,PRIEN)) Q:'+PRIEN D
  1. .S INVDT="" F S INVDT=$O(^AUPNVOB("AE",DFN,PRIEN,INVDT)) Q:'+INVDT D
  1. ..S IEN="" F S IEN=$O(^AUPNVOB("AE",DFN,PRIEN,INVDT,IEN)) Q:IEN="" D
  1. ...S EIE=$$GET1^DIQ(9000010.43,IEN,.06,"I")
  1. ...Q:EIE=1
  1. ...S STAT=$P($G(^AUPNPROB(PRIEN,0)),U,12)
  1. ...Q:STAT="D"
  1. ...S EDATE=9999999-INVDT
  1. ...S EDATE=$$FMTE^XLFDT($P(EDATE,".",1),5)
  1. ...S SIGNDT=$$GET1^DIQ(9000010.58,IEN,.05,"I")
  1. ...S SIGNDT=$$FMTE^XLFDT($P(SIGNDT,".",1),5)
  1. ...S SIGN=$$GET1^DIQ(9000010.43,IEN,.04,"E")
  1. ...S PROB=$$GET1^DIQ(9000011,PRIEN,.05)
  1. ...W !,"Date: "_EDATE_" Problem: "_PROB
  1. ...D TEXT2(IEN)
  1. Q
  1. OBPR ;DISPLAY V OB data SORTED BY PROBLEM IN HEALTH SUMMARY
  1. N X,LINE,NUM,PRIEN,INVDT,IEN,EIE,STAT,OLDPRB,EDATE,SIGNDT,SIGN,PROB
  1. ;The default is the latest visit
  1. I $G(GMTSNDM)="" S NUM=99
  1. E S NUM=GMTSNDM
  1. D CKP^GMTSUP Q:$D(GMTSQIT)
  1. S PRIEN="" F S PRIEN=$O(^AUPNVOB("AE",DFN,PRIEN)) Q:'+PRIEN D
  1. .S OLDPRB=""
  1. .S INVDT="" F S INVDT=$O(^AUPNVOB("AE",DFN,PRIEN,INVDT)) Q:'+INVDT D
  1. ..S IEN="" F S IEN=$O(^AUPNVOB("AE",DFN,PRIEN,INVDT,IEN)) Q:IEN="" D
  1. ...S EIE=$$GET1^DIQ(9000010.43,IEN,.06,"I")
  1. ...Q:EIE=1
  1. ...S STAT=$P($G(^AUPNPROB(PRIEN,0)),U,12)
  1. ...Q:STAT="D"
  1. ...I OLDPRB="" D
  1. ....W !,"Problem: "_$$GET1^DIQ(9000011,PRIEN,.05)
  1. ....S OLDPRB=PRIEN
  1. ...S EDATE=9999999-INVDT
  1. ...S EDATE=$$FMTE^XLFDT($P(EDATE,".",1),5)
  1. ...S SIGNDT=$$GET1^DIQ(9000010.58,IEN,.05,"I")
  1. ...S SIGNDT=$$FMTE^XLFDT($P(SIGNDT,".",1),5)
  1. ...S SIGN=$$GET1^DIQ(9000010.43,IEN,.04,"E")
  1. ...S PROB=$$GET1^DIQ(9000010.43,IEN,.01)
  1. ...W !,"Date: "_EDATE
  1. ...D TEXT2(IEN)
  1. Q
  1. TEXT2(IEN) ;do the text
  1. N TXTIEN,WRAP,TXT,PRNT2,PRNT
  1. S (PRNT,PRNT2,WRAP)=""
  1. S TXTIEN=0 F S TXTIEN=$O(^AUPNVOB(IEN,11,TXTIEN)) Q:'+TXTIEN D
  1. .S TXT=$G(^AUPNVOB(IEN,11,TXTIEN,0))
  1. .S PRNT=PRNT2_TXT S PRNT2=""
  1. .I $L(PRNT)>500 S PRNT2=$E(PRNT,501,$L(PRNT))
  1. .D WRAP^BTIUPV1(.WRAP,PRNT,70)
  1. ;Process each wrapped line
  1. I $D(WRAP)>1 D PROC(.WRAP)
  1. W !
  1. Q
  1. PROC(WRAP) ;Process the word wrap
  1. N I,LINE
  1. F I=1:1:WRAP D
  1. .I I=WRAP D
  1. ..I $L(WRAP(I))<45 D
  1. ...S LINE=" "_$G(WRAP(I))_" ("_SIGNDT_" by "_SIGN_")"
  1. ...W !,LINE
  1. ..E D
  1. ...W !," "_$G(WRAP(I))
  1. ...W !," ("_SIGNDT_" by "_SIGN_")"
  1. .E W !," "_$G(WRAP(I))
  1. Q
  1. TMPGBL() ;EP
  1. K ^TMP("BHSPL",$J) Q $NA(^($J))