1 | SPNLGICI ; ISC-SF/GMB - SCD GATHER CURRENT INPATIENT DATA; 4 JUL 94 [ 09/21/94 9:48 AM ] ;6/23/95 11:29
|
---|
2 | ;;2.0;Spinal Cord Dysfunction;;01/02/1997
|
---|
3 | GATHER(DFN,FDATE) ;
|
---|
4 | ; DFN Patient's internal entry number in the Patient file
|
---|
5 | ; FDATE "From" date (IGNORED)
|
---|
6 | ; Data will be rolled up into the following global:
|
---|
7 | ; ^TMP("SPN",$J,"CI", (The node at this level has the total inpatient count)
|
---|
8 | ; with the following nodes:
|
---|
9 | ; ward,name^ssn) admit date^curr los^fytd los^room bed^diagnosos
|
---|
10 | N VADM,VA,NAME,SSNLAST4,WARD,VAIP,CURRLOS,FYTDLOS,CURRADM,ROOMBED,DIAG
|
---|
11 | D IN5^VADPT ; Is patient an inpatient right now?
|
---|
12 | S WARD=$P($G(VAIP(5)),U,2)
|
---|
13 | Q:WARD=""
|
---|
14 | S ROOMBED=$P($G(VAIP(6)),U,2) ; Room Bed
|
---|
15 | S DIAG=$G(VAIP(9)) ; Diagnosis
|
---|
16 | S FDATE=$E(DT,1,3)_"1001" ; Set FDATE to the start of the FY
|
---|
17 | I FDATE>DT S FDATE=FDATE-10000
|
---|
18 | D DEM^VADPT ; Get patient demographics
|
---|
19 | S NAME=VADM(1)
|
---|
20 | S SSNLAST4=VA("BID")
|
---|
21 | D ADMIT
|
---|
22 | S ^TMP("SPN",$J,"CI",WARD,NAME_"^"_SSNLAST4)=CURRADM_"^"_CURRLOS_"^"_FYTDLOS_"^"_ROOMBED_"^"_DIAG
|
---|
23 | S ^("CI")=$G(^TMP("SPN",$J,"CI"))+1 ; count of current inpatients
|
---|
24 | Q
|
---|
25 | ADMIT ;
|
---|
26 | N RECNR,NODE0,NODE70,ZDD,ZAD,X,X1,X2
|
---|
27 | S (CURRADM,CURRLOS,FYTDLOS,RECNR)=0
|
---|
28 | F S RECNR=$O(^DGPT("B",DFN,RECNR)) Q:RECNR="" D
|
---|
29 | . S NODE0=$G(^DGPT(RECNR,0))
|
---|
30 | . Q:$P(NODE0,U,11)'=1 ; 1=PTF record, 2=census record
|
---|
31 | . S NODE70=$G(^DGPT(RECNR,70))
|
---|
32 | . S ZDD=$P(NODE70,U,1) ; Discharge date
|
---|
33 | . Q:ZDD'=""&(ZDD<FDATE)
|
---|
34 | . S ZAD=$P(NODE0,U,2) ; Admit date
|
---|
35 | . S X2=$S(ZAD<FDATE:FDATE,1:ZAD)
|
---|
36 | . S X1=$S(ZDD="":DT,1:ZDD)
|
---|
37 | . D ^%DTC
|
---|
38 | . S FYTDLOS=FYTDLOS+X+1
|
---|
39 | . Q:ZDD'=""
|
---|
40 | . S CURRADM=ZAD
|
---|
41 | . I ZAD<FDATE D ;If current admission date is prior to this FY,
|
---|
42 | . . S X1=DT,X2=ZAD ;then redo the calculation to get the full number
|
---|
43 | . . D ^%DTC ;of admit days.
|
---|
44 | . S CURRLOS=X+1
|
---|
45 | Q
|
---|