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

BHSMEAP.m

Go to the documentation of this file.
  1. BHSMEAP ;IHS/CIA/MGH - Health Summary for Measurement Panels ;09-Dec-2010 09:21;DU
  1. ;;1.0;HEALTH SUMMARY COMPONENTS;**1,2,4**;Mar 17, 2006;Build 13
  1. ;===================================================================
  1. ;Taken from APCHS2A
  1. ; IHS/TUCSON/LAB - PART 2A OF APCHS -- SUMMARY PRODUCTION COMPONENTS ;
  1. ;;2.0;IHS RPMS/PCC Health Summary;;JUN 24, 1997
  1. ;VA Health summary format of IHS health summary component for measurement panels
  1. ;Patch 4 skip vitals entered in error
  1. MEASP ; ******************** MEASUREMENT PANELS * 9000010.01 *******
  1. ; <SETUP>
  1. N BHSPAT,BHSP,BHSQ,APCHSPAT,APCHSIDT
  1. S (BHSPAT,APCHSPAT)=DFN
  1. Q:'$D(^AUPNVMSR("AA",BHSPAT))
  1. D CKP^GMTSUP
  1. ; <BUILD> BHSCTL-HLTH SUM TYPE
  1. Q:$O(GMTSEG(GMTSEGN,9001017,0))'>0
  1. F BHSPOR=0:0 S BHSPOR=$O(GMTSEG(GMTSEGN,9001017,BHSPOR)) Q:'BHSPOR!(BHSPOR?1A) S BHSND2=GMTSNDM,BHSDMX=0 D PBLD
  1. MEASPX K BHSPOR,BHSPDF,BHSCOR,BHSCT,BHSCT2,BHSCT3,BHSCLN,BHSMT,BHSML,BHSTSQ,BHSTVL,BHSVAL,APCHSIVD,BHST,BHSC,BHSND2,BHSDMX,BHSDFN,BHSEDAT,BHSDAT,BHSDM2,BHSPS1,BHSIDT,BHSNTS,Y,X
  1. Q
  1. PBLD S BHSPDF=$G(GMTSEG(GMTSEGN,9001017,BHSPOR)) Q:BHSPDF=""
  1. K BHSTSQ,BHSTVL,BHSNTS
  1. S BHSNTS=0
  1. F BHSPS1=1,0 F BHSCOR=0:0 S BHSCOR=$O(^APCHSMPN(BHSPDF,1,BHSCOR)) Q:BHSCOR=""!(BHSCOR?1A) D CBLD
  1. D POUT
  1. Q
  1. CBLD S BHSP=^APCHSMPN(BHSPDF,1,BHSCOR,0) S BHSCT3=$G(^(1))
  1. S BHSCT=$P(BHSP,U,2),BHSCLN=$P(BHSP,U,3)
  1. S X=$P(BHSP,U,5) S:X]"" BHSNTS(X)=""
  1. S:BHSCT="" BHSCT=" " S BHSCT2=$S($D(^AUTTMSR(BHSCT,0)):$P(^(0),U,1),1:BHSCT)
  1. S:$P(BHSP,U,4)]"" BHSCT2=$P(BHSP,U,4)
  1. S:BHSCLN="" BHSCLN=10
  1. S BHSTSQ(BHSCOR,1)=BHSCT2,BHSTSQ(BHSCOR,2)=BHSCLN,BHSTSQ(BHSCOR,3)=BHSCT3
  1. I BHSPS1 S APCHSIVD="" F BHSQ=0:0 S APCHSIVD=$O(^AUPNVMSR("AA",BHSPAT,BHSCT,APCHSIVD)) Q:APCHSIVD=""!(APCHSIVD>GMTSDLM) D CBLD2
  1. I 'BHSPS1 S APCHSIVD=$O(^AUPNVMSR("AA",BHSPAT,BHSCT,0)) I APCHSIVD,'$D(BHSTVL(APCHSIVD,BHSCOR)) D CBLD3
  1. Q
  1. CBLD2 I '$D(BHSTVL(APCHSIVD)) S BHSND2=BHSND2-1 I BHSND2=-1 S BHSND2=0 Q:BHSDMX&(APCHSIVD'<BHSDMX) K BHSTVL(BHSDMX) F BHSDM2=0:0 S BHSDM2=$O(BHSTVL(BHSDM2)) Q:'BHSDM2 S BHSDMX=BHSDM2
  1. S:APCHSIVD>BHSDMX BHSDMX=APCHSIVD
  1. CBLD3 S BHSDFN="" F S BHSDFN=$O(^AUPNVMSR("AA",BHSPAT,BHSCT,APCHSIVD,BHSDFN)) Q:BHSDFN="" D
  1. . Q:$P($G(^AUPNVMSR(BHSDFN,2)),U,1) ;entered in error
  1. . S BHSVAL=$P(^AUPNVMSR(BHSDFN,0),U,4),BHSEDAT=$P($G(^AUPNVMSR(BHSDFN,12)),U,1)
  1. .I BHSEDAT'="" S BHSEDAT=9999999-BHSEDAT
  1. .I BHSEDAT="" S BHSEDAT=APCHSIVD
  1. .S BHSTVL(BHSEDAT,BHSCOR)=BHSVAL_"^"_$P(^AUPNVMSR(BHSDFN,0),U,6)
  1. Q
  1. ; <DISPLAY>
  1. POUT D CKP^GMTSUP Q:$D(GMTSQIT) W !
  1. D CKP^GMTSUP Q:$D(GMTSQIT) D PHDR
  1. S APCHSIVD="" F BHSQ=0:0 S APCHSIVD=$O(BHSTVL(APCHSIVD)) Q:APCHSIVD="" D CKP^GMTSUP Q:$D(GMTSQIT) D:GMTSNPG PHDR D PLINE
  1. I $O(BHSNTS(0))]"" W ! S X="" F S X=$O(BHSNTS(X)) Q:X="" W X,!
  1. Q
  1. PHDR S BHST=16,BHSC=""
  1. F BHSQ=0:0 S BHSC=$O(BHSTSQ(BHSC)) Q:BHSC="" S BHSMT=BHSTSQ(BHSC,1),BHSML=BHSTSQ(BHSC,2) W ?(BHST+1+(BHSML-$L(BHSMT)\2)),BHSMT S BHST=BHST+BHSML+2
  1. W !
  1. Q
  1. PLINE S (BHSIDT,APCHSIDT)=APCHSIVD
  1. ;IHS/MSC/MGH changed to fix bug in date display
  1. ;S X=BHSIDT I BHSEDAT="" S X=-APCHSIVD\1+9999999
  1. S X=-APCHSIDT+9999999
  1. D REGDTM^GMTSU
  1. S BHSDAT=X
  1. W BHSDAT S BHST=18
  1. S BHSC="" F BHSQ=0:0 S BHSC=$O(BHSTSQ(BHSC)) Q:BHSC="" D PVAL
  1. W !
  1. Q
  1. PVAL ;
  1. K BHSVNM
  1. S BHSML=BHSTSQ(BHSC,2)
  1. S (BHSVAL,BHSVNM)="",BHSVAL=$P($G(BHSTVL(APCHSIVD,BHSC)),U) I $P($G(BHSTVL(APCHSIVD,BHSC)),U,2)]"" S BHSVNM=$P($G(BHSTVL(APCHSIVD,BHSC)),U,2)
  1. I BHSVAL]"" S X=BHSVAL X BHSTSQ(BHSC,3) S BHSVAL=$P(X,"^",1),X=$P(X,"^",2) S:X]"" BHSNTS(X)=""
  1. S:BHSVAL]"" BHSVAL=$S($P(BHSML,".",2)="":$J(BHSVAL,$P(BHSML,".",1)),1:$J(BHSVAL,$P(BHSML,".",1),$P(BHSML,".",2)))
  1. W ?BHST,BHSVAL S BHST=BHST+BHSML+2
  1. K BHSVNM
  1. Q