1 | ECXTRYIT ;BIR/DMA-Test Run for Setup Extract Print Population ; [ 07/24/96 1:30 PM ]
|
---|
2 | ;;3.0;DSS EXTRACTS;;Dec 22, 1997
|
---|
3 | EN ;entry point from ooption
|
---|
4 | I '$D(DT) S DT=$$HTFM^XLFDT(+$H)
|
---|
5 | W !!,"This option will print the admission data and data for the last",!,"transfer and treating specialty change for all patients who",!,"were in the hospital on the day you select.",!!
|
---|
6 | W !!,"NOTE - This will generate a report of your inpatient population on the",!,"BEGINNING of the day you select, not the end of the day as MAS reports do.",!
|
---|
7 | W "For example, for this report, if you choose October 1, 1994, the report will",!,"start at midnight at the beginning of the day."
|
---|
8 | W " For the MAS report, you would",!,"choose September 30, 1994. The MAS report begins at midnight at the end",!,"of the day.",!!!
|
---|
9 | DATE S DIR(0)="D",DIR("A")="Select the date ",DIR("B")=$$HTE^XLFDT($H-1) D ^DIR K DIR G END:$D(DIRUT) S ECD=Y I Y>DT W !!,"Must be a date in the past",!! G DATE
|
---|
10 | W !!,"This report must be queued to a 132 column printer.",!
|
---|
11 | S %ZIS="NQ" D ^%ZIS K %ZIS G END:POP S ZTSAVE("ECD")="",ZTDESC="Print inpatient list (DSS)",ZTRTN="START^ECXTRYIT" D ^%ZTLOAD
|
---|
12 | END K POP,X,Y,ECD D ^%ZISC Q
|
---|
13 | ;
|
---|
14 | START ;queued entry point
|
---|
15 | K ^TMP($J) S DFN="",ECD0=9999999.9999999-ECD
|
---|
16 | F S DFN=$O(^DGPM("ATID1",DFN)) Q:'DFN S EC1=$O(^(DFN,ECD0)) I EC1 S ECDA=$O(^(EC1,0)) I $D(^DGPM(ECDA,0)) S EC=^(0),ECX=+$P(EC,"^",17),ECAS=$P(EC,"^",18)=40 S:$S('ECX:1,$G(^DGPM(ECX,0))>ECD:1,1:0) ^TMP($J,DFN,ECDA)=$P(EC,"^",6) I ECAS D
|
---|
17 | .F EC1=EC1:0 S EC1=$O(^DGPM("ATID1",DFN,EC1)) Q:'EC1 S ECDA=$O(^(EC1,0)) I ECDA S EC=^DGPM(ECDA,0) I $P(EC,"^",18)'=40 S ECX=$P(EC,"^",17) Q
|
---|
18 | .I EC1,ECDA,$S('ECX:1,'$D(^DGPM(ECX,0)):1,^DGPM(ECX,0)>ECD:1,1:0) S ^TMP($J,DFN,ECDA)=$P(EC,"^",6)
|
---|
19 | ;
|
---|
20 | S DFN=0 F S DFN=$O(^TMP($J,DFN)) Q:'DFN S X=$O(^(DFN,0)) I $O(^(X)) K ^(X)
|
---|
21 | ;if he has an NHCU and an ASIH open, get rid of the NHCU one since
|
---|
22 | ;he may have been transferred in the hospital and we don't want to
|
---|
23 | ;find him twice
|
---|
24 | ;
|
---|
25 | ;now hunt transfers
|
---|
26 | ;
|
---|
27 | S DFN=0 F S DFN=$O(^TMP($J,DFN)),ECCA=0 Q:'DFN F S ECCA=$O(^TMP($J,DFN,ECCA)) Q:'ECCA S ECM=$O(^DGPM("APMV",DFN,ECCA,ECD0)) I ECM S ECDA=$O(^(ECM,0)) I ECDA,ECDA'=ECCA,$D(^DGPM(ECDA,0)) S EC=^(0),^TMP($J,DFN,ECCA)=$P(EC,"^",6)
|
---|
28 | ;
|
---|
29 | ;now put in name order
|
---|
30 | S DFN=0 F S DFN=$O(^TMP($J,DFN)),ECCA=0 Q:'DFN F S ECCA=$O(^TMP($J,DFN,ECCA)) Q:'ECCA D
|
---|
31 | .S W=+^(ECCA),W=$P($G(^DIC(42,W,0)),"^") S:W="" W="unknown" S ^TMP($J,"L",W,$P(^DPT(DFN,0),"^")_"^"_DFN)=$P(^DPT(DFN,0),"^",9)_"^"_$P($P(^DGPM(ECCA,0),"^"),".")
|
---|
32 | ;
|
---|
33 | S W="" F S W=$O(^TMP($J,"L",W)),NAM="" Q:W="" D HEAD F S NAM=$O(^TMP($J,"L",W,NAM)) Q:NAM="" S EC=^(NAM) W !,?5,$P(NAM,"^"),?45,$P(EC,"^"),?66,$$FMTE^XLFDT($P(EC,"^",2)) I $Y+4>IOSL,$O(^TMP($J,"L",W,NAM))]"" D HEAD
|
---|
34 | K ^TMP($J) S ZTREQ="@" D ^%ZISC Q
|
---|
35 | ;
|
---|
36 | HEAD W:$Y @IOF W !!,?30,"INPATIENT WARD LIST (DSS) FOR ",$$FMTE^XLFDT(ECD)," FOR WARD ",W,!!,?12,"PATIENT",?50,"SSN",?66,"ADMIT DATE",!
|
---|
37 | Q
|
---|