DGPMHST ;ALB/JDS - HISTORICAL INPATIENT OUTPUT- FORMERLY DGIN ;01 JAN 1986
;;5.3;Registration;;Aug 13, 1993
;
; NOTE: This used to be named DGIN
; ----
EN K TD,DGF S %DT="AEXPT",%DT("A")="Enter date of Stay: " D ^%DT G Q:Y'>0 G EN:+Y>(DT+1) S DGT=+Y,DG2=DGT,L=0,DGT=$S(DGT[".":DGT,1:DGT_".2400"),DG2=DGT
EN1 S Y=DGT X ^DD("DD") S DHD="INPATIENT LIST FOR "_Y,L=0
EN2 S DIS(1)="D SET^DGPMHST I DG1 S ^UTILITY($J,""DG"",DFN)=DG1"
S DIC("A")="Enter WARD: ",DIC="^DGPM(",FLDS="[DGPM INPATIENT PRINT]",FR=",",TO=DGT_"," K BY
I '$D(TD),$D(^DG(43,1,"GL")),$P(^("GL"),U,2) S BY="[DGPM INP HISTORICAL DIVISION]" S FR=FR_"@,",TO=TO_","
I '$D(BY) S BY="[DGPM INP HISTORICAL 1 DIVISION]"
S FR=FR_"?,",TO=TO_"?,"
D EN1^DIP
Q Q:$D(DGF) K DGT,^UTILITY($J,"DG")
K %DT,%X,%H,DFN,DG1,DGA1,DGX,DP,P,DGXFR0,B,%Y,DG2,DNP,FLDS,FR,TO,%,DHD,DIS,K,L,POP,X,X1 Q
SET S DG1=0 Q:'$D(^DGPM(D0,0)) Q:$P(^DGPM(D0,0),"^",3)']"" S DFN=$P(^DGPM(D0,0),U,3) Q:$D(^UTILITY($J,"DG1",DFN)) S ^(DFN)=1
D ^DGPMSTAT
Q:'DG1 S $P(DG1,U,4)=+DG1,$P(DG1,U,1)=+^DGPM(DGA1,0) I $P(^(0),U,17)]"" S $P(DG1,U,6)=+^DGPM($P(^(0),U,17),0)
I $P(DG1,U,3) S $P(DG1,U,5)=+DGXFR0 S A=$P(DG1,U,3),$P(DG1,U,7)=$S(A=1:1,A=2:2,A=3:3,A=25:3,"^43^45^"[(U_A_U):4,1:0)
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HDGPMHST 1268 printed Dec 13, 2024@02:49:45 Page 2
DGPMHST ;ALB/JDS - HISTORICAL INPATIENT OUTPUT- FORMERLY DGIN ;01 JAN 1986
+1 ;;5.3;Registration;;Aug 13, 1993
+2 ;
+3 ; NOTE: This used to be named DGIN
+4 ; ----
EN KILL TD,DGF
SET %DT="AEXPT"
SET %DT("A")="Enter date of Stay: "
DO ^%DT
if Y'>0
GOTO Q
if +Y>(DT+1)
GOTO EN
SET DGT=+Y
SET DG2=DGT
SET L=0
SET DGT=$SELECT(DGT[".":DGT,1:DGT_".2400")
SET DG2=DGT
EN1 SET Y=DGT
XECUTE ^DD("DD")
SET DHD="INPATIENT LIST FOR "_Y
SET L=0
EN2 SET DIS(1)="D SET^DGPMHST I DG1 S ^UTILITY($J,""DG"",DFN)=DG1"
+1 SET DIC("A")="Enter WARD: "
SET DIC="^DGPM("
SET FLDS="[DGPM INPATIENT PRINT]"
SET FR=","
SET TO=DGT_","
KILL BY
+2 IF '$DATA(TD)
IF $DATA(^DG(43,1,"GL"))
IF $PIECE(^("GL"),U,2)
SET BY="[DGPM INP HISTORICAL DIVISION]"
SET FR=FR_"@,"
SET TO=TO_","
+3 IF '$DATA(BY)
SET BY="[DGPM INP HISTORICAL 1 DIVISION]"
+4 SET FR=FR_"?,"
SET TO=TO_"?,"
+5 DO EN1^DIP
Q if $DATA(DGF)
QUIT
KILL DGT,^UTILITY($JOB,"DG")
+1 KILL %DT,%X,%H,DFN,DG1,DGA1,DGX,DP,P,DGXFR0,B,%Y,DG2,DNP,FLDS,FR,TO,%,DHD,DIS,K,L,POP,X,X1
QUIT
SET SET DG1=0
if '$DATA(^DGPM(D0,0))
QUIT
if $PIECE(^DGPM(D0,0),"^",3)']""
QUIT
SET DFN=$PIECE(^DGPM(D0,0),U,3)
if $DATA(^UTILITY($JOB,"DG1",DFN))
QUIT
SET ^(DFN)=1
+1 DO ^DGPMSTAT
+2 if 'DG1
QUIT
SET $PIECE(DG1,U,4)=+DG1
SET $PIECE(DG1,U,1)=+^DGPM(DGA1,0)
IF $PIECE(^(0),U,17)]""
SET $PIECE(DG1,U,6)=+^DGPM($PIECE(^(0),U,17),0)
+3 IF $PIECE(DG1,U,3)
SET $PIECE(DG1,U,5)=+DGXFR0
SET A=$PIECE(DG1,U,3)
SET $PIECE(DG1,U,7)=$SELECT(A=1:1,A=2:2,A=3:3,A=25:3,"^43^45^"[(U_A_U):4,1:0)