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

ANSEA.m

Go to the documentation of this file.
  1. ANSEA ;IHS/OIRM/DSD/CSC - ENTER/EDIT ACUITY DATA; [ 02/25/98 10:32 AM ]
  1. ;;3.0;NURSING PATIENT ACUITY;;APR 01, 1996
  1. ;ENTRY POINT TO ADD OR EDIT PATIENT ACUITY DATA
  1. EN N C,D,I,L,N,P,T,X,Y,Z
  1. K ANSDT
  1. F D EN1 Q:$D(DTOUT)!$D(DUOUT)
  1. EXIT K ANS,ANSDA,ANSDT,ANSP,ANSS,ANSSH,ANSSTR,ANSUN,ANT,ANSX
  1. Q
  1. EN1 D HEAD,^ANSUD
  1. Q:'$D(ANSUN)!'$D(ANSDT)!'$D(ANSSH)
  1. F D EN2 Q:$D(DTOUT)!$D(DUOUT)!'$D(ANSDFN)
  1. K DTOUT,DUOUT
  1. Q
  1. EN2 D DISP
  1. K ANSDFN,DTOUT,DUOUT
  1. D ^ANSUPT
  1. Q:$D(DTOUT)!$D(DUOUT)!'$D(ANSDFN)
  1. D FIND
  1. I '$D(^ANSR(+ANSADM,0)) D Q
  1. .W *7,!!," NOT An Inpatient During This Time."
  1. .D PAUSE^ANSDIC
  1. I ANSUN'=$P(^ANSR(ANSADM,0),U,3) D Q
  1. .W *7,!!," NOT Admitted to this Unit During This Time."
  1. .D PAUSE^ANSDIC
  1. D CUR
  1. D ^ANSEA1
  1. K DUOUT,DTOUT
  1. Q
  1. FIND ;FIND MOST RECENT ADMISSION
  1. S I=9999998-ANSDT,ANSADM=0,W=ANSDT_"."_ANSSH
  1. F S I=$O(^ANSR("AA",ANSDFN,I)) Q:'I D
  1. .S N=0
  1. .F S N=$O(^ANSR("AA",ANSDFN,I,N)) Q:'N!ANSADM D
  1. ..S A=$P(^ANSR(N,0),U)_"."_$P(^(0),U,2),E=$P($G(^("DX")),U,5)
  1. ..S D=DT_".9"
  1. ..I E,$D(^ANSR(E,0)) S D=$P(^(0),U)_"."_$P(^(0),U,2)
  1. ..I W'<A,W'>D S ANSADM=N
  1. Q
  1. CUR ;DATA FOR CURRENT ADMISSION
  1. S (A,ANSDA,N,M)=0,X=ANSDT_"."_ANSSH
  1. S ANSMR=$P(^ANSR(ANSADM,0),U)_"."_$P(^(0),U,2)
  1. F I=1:1 S M=$O(^ANSR(ANSADM,"AT",X,M)) Q:M="" I $D(^ANSR(M,0)),$P(^(0),U,5)="O" S (N,ANSDA)=M
  1. S M=0
  1. F S M=$O(^ANSR(ANSADM,"AT",M)) Q:M=""!(M>X) D
  1. .S O=0,ANSMR=M
  1. .F S O=$O(^ANSR(ANSADM,"AT",M,O)) Q:O="" I $D(^ANSR(O,0)) D
  1. ..I $P(^ANSR(O,0),U,5)="D" S A=0 Q
  1. ..S N=O
  1. S (ANSCL,ANSAF,ANSDX)=""
  1. I ANSDA S N=ANSDA
  1. I $O(^ANSR(ANSADM,"AT",X))="" S ANSDX=$G(^ANSR(ANSADM,"DX")) I $P(ANSDX,U,2)'=ANSUN S ANSDX=$P(ANSDX,U)
  1. Q:'N
  1. S M=0
  1. F S M=$O(^ANSR(N,"L",M)) Q:M<1 D
  1. .S $P(ANSCL,U,M)=$P($G(^ANSR(N,"L",M,0)),U,2)
  1. S M=0
  1. F S M=$O(^ANSR(N,"F",M)) Q:M="" D
  1. .I $D(^ANSR(N,"F",M,0)) S ANSAF=$G(ANSAF)_M_U
  1. Q
  1. S ANSX="PATIENT ACUITY ASSESSMENT"
  1. W !!,?80-$L(ANSX)/2,ANSX
  1. Q
  1. SUBH S Y=ANSDT
  1. X ^DD("DD")
  1. W !!,?6,Y
  1. S Y="",ANSS=$P(ANSPAR,U,5)
  1. I $D(ANSSH) S X=$T(@ANSS),Y=$P($P(X,";;",ANSSH+1),U,2) W ?30,Y," Shift"
  1. I ANSUN,$D(^ANSD(59.1,ANSUN,0)) S Z=$P(^(0),U) W ?56,"Unit ",Z
  1. Q
  1. DISP D HEAD,SUBH
  1. Q
  1. 2 ;;1^DAY;;2^NIGHT
  1. 3 ;;1^DAY;;2^EVENING;;3^NIGHT