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

BTIUPCC4.m

Go to the documentation of this file.
  1. BTIUPCC4 ; IHS/CIA/MGH - IHS PCC INPT OBJECTS ;13-Dec-2013 09:55;DU
  1. ;;1.0;TEXT INTEGRATION UTILITIES;**1004,1005,1006,1010,1012**;NOV 04, 2004;Build 45
  1. ;Patch 1005 added measurment list object
  1. ;Patch 1010 adds qualifiers
  1. ;==================================================================
  1. LSTMEAS(DFN,TIUMSR,VAIN) ; -- returns most current measurement (internal values)
  1. ;Designed to return most recent vital signs for inpatients
  1. NEW MSR,VDT,IEN,X,TIU,LINE,ARR,DATE,STOP,ISINP,QUALIF
  1. S MSR=$O(^AUTTMSR("B",TIUMSR,0)) I MSR="" Q ""
  1. ;
  1. ;Check whether patient is an inpatient or not
  1. I $G(VAIN(1)) D
  1. .S STOP=(9999999-$P(VAIN(7),U,1)\1)+1
  1. I 'STOP Q "Patient is not an inpatient" ;none to be found
  1. S VDT=0
  1. F S VDT=$O(^AUPNVMSR("AE",DFN,MSR,VDT)) Q:'VDT!(VDT>STOP) D
  1. . S IEN=0
  1. . F S IEN=$O(^AUPNVMSR("AE",DFN,MSR,VDT,IEN)) Q:'IEN D
  1. .. K TIU D ENP^XBDIQ1(9000010.01,IEN,".03;.04;1201;2","TIU(","I")
  1. .. ; value ^ visit ien ^ event date internal format
  1. .. Q:TIU(2,"I")=1 ;Quit if entered in error
  1. .. S QUALIF=$$QUAL^BTIULO7A(IEN)
  1. .. S LINE=$G(TIU(.04))_U_$G(TIU(.03,"I"))_U_$G(TIU(1201,"I"))_U_QUALIF
  1. .. S DATE=$S($G(TIU(1201,"I"))]"":TIU(1201,"I"),1:(9999999-$P(VDT,"."))_"."_$P(VDT,".",2))
  1. .. S ARR(DATE,IEN)=LINE
  1. ;
  1. I '$D(ARR)!($D(ARR)=0) S LINE="Not done while inpatient" Q LINE
  1. S DATE=$O(ARR(""),-1),IEN=$O(ARR(DATE,""),-1),LINE=ARR(DATE,IEN)
  1. K VAIN
  1. Q $G(LINE)
  1. ;
  1. LSTDATE(DATE1,DATE2,YES) ;EP -- returns event date or visit date;PATCH 1002 fixed typo
  1. I 'YES Q "" ;no date asked for
  1. ;
  1. ;IHS/ITSC/LJF 02/24/2005 PATCH 1002 add parens around dates
  1. ;I $G(DATE2) Q " "_$$FMTE^XLFDT(DATE2) ;event date
  1. ;Q " "_$$GET1^DIQ(9000010,+DATE1,.01) ;visit date from visit ien
  1. I $G(DATE2) Q " ("_$$FMTE^XLFDT(DATE2)_")" ;event date
  1. I 'DATE1 Q " "
  1. Q " ("_$$GET1^DIQ(9000010,+DATE1,.01)_")" ;visit date from visit ien
  1. ;
  1. PAD(DATA,LENGTH) ; -- SUBRTN to pad length of data
  1. Q $E(DATA_$$REPEAT^XLFSTR(" ",LENGTH),1,LENGTH)
  1. ;
  1. SP(NUM) ; -- SUBRTN to pad spaces
  1. Q $$PAD(" ",NUM)
  1. MEASLST(DFN,TARGET) ;EP Get last of each type of vital
  1. ;Use the system list from the BEHOENVM VITAL LIST parameter
  1. N ARRAY,MEAS,MITEM,MTYPE,CNT,TIUMSR
  1. S CNT=0
  1. D GETLST^XPAR(.ARRAY,"SYS","BEHOVM VITAL LIST","I")
  1. S MEAS="" F S MEAS=$O(ARRAY(MEAS)) Q:MEAS="" D
  1. .S MITEM=$G(ARRAY(MEAS))
  1. .Q:MITEM=""
  1. .S MTYPE=$P($G(^AUTTMSR(MITEM,0)),U,1)
  1. .I MTYPE'="" D
  1. ..S TIUMSR=$$LASTMSR^BTIUPCC1(DFN,MTYPE,1,1)
  1. ..I TIUMSR'="" D
  1. ...S CNT=CNT+1
  1. ...S @TARGET@(CNT,0)=TIUMSR
  1. I CNT=0 S @TARGET@(1,0)="No measurement data on file"
  1. Q "~@"_$NA(@TARGET)