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

BHSAMI.m

Go to the documentation of this file.
  1. BHSAMI ;IHS/MSC/MGH - Health Summary Components for V AMI file ;03-Oct-2013 06:01;JS
  1. ;;1.0;HEALTH SUMMARY COMPONENTS;**8**;March 17, 2006;Build 22
  1. ; ==================================================================
  1. ;
  1. AMI ;EP - display AMI visits, date limits and numbers are applicable
  1. N BHSPAT,BHSAMI,V,Y,X,BHSIVD,BHIEN,VIEN,BHSOB,CNT,LINE,BHSOBI,TARGET,ZMAX,ZVIST
  1. S BHSPAT=DFN
  1. S ZMAX=$S(+($G(GMTSNDM))>0:+($G(GMTSNDM)),1:9999)
  1. I '$D(^AUPNVAMI("AA",BHSPAT)) Q ;no AMI data for this patient
  1. ; <DISPLAY>
  1. K BHSOB
  1. S BHSOBI=0 F S BHSOBI=$O(^AUPNVAMI("AA",BHSPAT,BHSOBI)) Q:BHSOBI="" D
  1. .S BHSIVD="" F S BHSIVD=$O(^AUPNVAMI("AA",BHSPAT,BHSOBI,BHSIVD)) Q:BHSIVD=""!(BHSIVD>GMTSDLM) D
  1. ..S BHIEN=0 F S BHIEN=$O(^AUPNVAMI("AA",BHSPAT,BHSOBI,BHSIVD,BHIEN)) Q:'+BHIEN D
  1. ...S VIEN=$P($G(^AUPNVAMI(BHIEN,0)),U,3)
  1. ...Q:$G(VIEN)=""
  1. ...S BHSAMI(VIEN,BHSIVD)="" ;Save off the visits by date
  1. ;Now loop through the visits and call the API to return all the problems for that visit
  1. S VIEN="",CNT=0
  1. D CKP^GMTSUP Q:$D(GMTSQIT)
  1. S TARGET=$$TMPGBL
  1. F S VIEN=$O(BHSAMI(VIEN)) Q:VIEN=""!(CNT>ZMAX)!($D(GMTSQIT)) D
  1. .S CNT=CNT+1
  1. .S ZVIST=$$GET1^DIQ(9000010,VIEN,.01,"E")
  1. .W !,"Visit: "_ZVIST,!,"------------------------------------------------------------",!!
  1. .K @TARGET
  1. .S X=$$VAMI^BTIUVAMI(DFN,TARGET,VIEN) ;PEP - Returns AMI entry for a Visit
  1. .S LINE=""
  1. .F S LINE=$O(^TMP("BTIUVAMI",$J,LINE)) Q:LINE="" D
  1. ..D CKP^GMTSUP Q:$D(GMTSQIT) I GMTSNPG W !!!
  1. ..S Y=$G(^TMP("BTIUVAMI",$J,LINE,0))
  1. ..W Y,!
  1. K @TARGET
  1. Q
  1. STR ;EP-Display STROKE visits, date limits and numbers are applicable
  1. N BHSPAT,V,Y,X,BHSIVD,BHIEN,VIEN,BHSOB,CNT,LINE,BHSOBI,BHSTR,TARGET,ZMAX,ZVIST
  1. S BHSPAT=DFN
  1. S ZMAX=$S(+($G(GMTSNDM))>0:+($G(GMTSNDM)),1:9999)
  1. I '$D(^AUPNVSTR("AA",BHSPAT)) Q ;no STROKE data for this patient
  1. ; <DISPLAY>
  1. K BHSOB
  1. S BHSOBI=0 F S BHSOBI=$O(^AUPNVSTR("AA",BHSPAT,BHSOBI)) Q:BHSOBI="" D
  1. .S BHSIVD="" F S BHSIVD=$O(^AUPNVSTR("AA",BHSPAT,BHSOBI,BHSIVD)) Q:BHSIVD=""!(BHSIVD>GMTSDLM) D
  1. ..S BHIEN=0 F S BHIEN=$O(^AUPNVSTR("AA",BHSPAT,BHSOBI,BHSIVD,BHIEN)) Q:'+BHIEN D
  1. ...S VIEN=$P($G(^AUPNVSTR(BHIEN,0)),U,3)
  1. ...Q:$G(VIEN)=""
  1. ...S BHSTR(VIEN,BHSIVD)="" ;Save off the visits by date
  1. ;Now loop through the visits and call the API to return all the problems for that visit
  1. S VIEN="",CNT=0
  1. D CKP^GMTSUP Q:$D(GMTSQIT)
  1. S TARGET=$$TMPGBL2
  1. F S VIEN=$O(BHSTR(VIEN)) Q:VIEN=""!(CNT>ZMAX)!($D(GMTSQIT)) D
  1. .S CNT=CNT+1
  1. .S ZVIST=$$GET1^DIQ(9000010,VIEN,.01,"E") ; VISIT/ADMIT DATE&TIME
  1. .W !,"Visit: "_ZVIST,!,"------------------------------------------------------------",!!
  1. .K @TARGET
  1. .S X=$$VSTR^BTIUVSTR(DFN,TARGET,VIEN) ;PEP - Returns STROKE entry(s) for a Visit
  1. .S LINE=""
  1. .F S LINE=$O(^TMP("BTIUVSTR",$J,LINE)) Q:LINE="" D
  1. ..D CKP^GMTSUP Q:$D(GMTSQIT) I GMTSNPG W !!!
  1. ..S Y=$G(^TMP("BTIUVSTR",$J,LINE,0))
  1. ..W Y,!
  1. K @TARGET
  1. Q
  1. STSCORE ;EP-Display STROKE scores
  1. N BHSPAT,BHSTR,HCNT,V,Y,X,BHSIVD,BHIEN,VIEN,BHSOB,CNT,LINE,BHSOBI,TARGET,ZMAX,ZVIST
  1. S BHSPAT=DFN
  1. S ZMAX=$S(+($G(GMTSNDM))>0:+($G(GMTSNDM)),1:9999)
  1. I '$D(^AUPNVSTR("AA",BHSPAT)) Q ;no STROKE data for this patient
  1. ; <DISPLAY>
  1. K BHSOB
  1. S BHSOBI=0 F S BHSOBI=$O(^AUPNVSTR("AA",BHSPAT,BHSOBI)) Q:BHSOBI="" D
  1. .S BHSIVD="" F S BHSIVD=$O(^AUPNVSTR("AA",BHSPAT,BHSOBI,BHSIVD)) Q:BHSIVD=""!(BHSIVD>GMTSDLM) D
  1. ..S BHIEN=0 F S BHIEN=$O(^AUPNVSTR("AA",BHSPAT,BHSOBI,BHSIVD,BHIEN)) Q:'+BHIEN D
  1. ...S VIEN=$P($G(^AUPNVSTR(BHIEN,0)),U,3)
  1. ...Q:$G(VIEN)=""
  1. ...S BHSTR(VIEN,BHSIVD)="" ;Save off the visits by date
  1. ;Now loop through the visits and call the API to return all the problems for that visit
  1. S VIEN="",CNT=0
  1. D CKP^GMTSUP Q:$D(GMTSQIT)
  1. S HCNT=GMTSNDM
  1. S TARGET=$$TMPGBL2
  1. F S VIEN=$O(BHSTR(VIEN)) Q:VIEN=""!(CNT>ZMAX)!($D(GMTSQIT)) D
  1. .S CNT=CNT+1
  1. .S CNT=GMTSNDM=HCNT
  1. .K @TARGET
  1. .S X=$$STSCALE^BTIUSTSC(DFN,TARGET,VIEN,.HCNT) ;PEP - Returns STROKE scales
  1. .S LINE=""
  1. .F S LINE=$O(^TMP("BTIUVSTR",$J,LINE)) Q:LINE="" D
  1. ..D CKP^GMTSUP Q:$D(GMTSQIT) I GMTSNPG W !!!
  1. ..S Y=$G(^TMP("BTIUVSTR",$J,LINE,0))
  1. ..W Y,!
  1. K @TARGET
  1. Q
  1. TMPGBL() ;EP
  1. K ^TMP("BTIUVAMI",$J) Q $NA(^($J))
  1. TMPGBL2() ;EP
  1. K ^TMP("BTIUVSTR",$J) Q $NA(^($J))