[613] | 1 | GMTSDGH ; SLC/MKB,KER/NDBI - Patient Hist by admissions ; 02/27/2002
|
---|
| 2 | ;;2.7;Health Summary;**28,49**;Oct 20, 1995
|
---|
| 3 | ;
|
---|
| 4 | ; External References
|
---|
| 5 | ; DBIA 17 ^DGPM("APCA"
|
---|
| 6 | ; DBIA 17 ^DGPM("ATID1"
|
---|
| 7 | ; DBIA 17 ^DGPM("ATS"
|
---|
| 8 | ; DBIA 2929 DSP^A7RHSM
|
---|
| 9 | ; DBIA 2929 LST^A7RHSM
|
---|
| 10 | ; DBIA 10061 IN5^VADPT
|
---|
| 11 | ; DBIA 10061 KVAR^VADPT
|
---|
| 12 | ;
|
---|
| 13 | MAIN ; Loop through admissions starting from most recent
|
---|
| 14 | N VAHOW
|
---|
| 15 | K VAIP
|
---|
| 16 | I $D(GMTSNDM),GMTSNDM>0 S CNTR=GMTSNDM
|
---|
| 17 | E S CNTR=100
|
---|
| 18 | S VA200=1,VAHOW=1,FLAG=-1,ADM=GMTS1
|
---|
| 19 | D:$$ROK^GMTSU("A7RHSM")&($$NDBI^GMTSU) LST^A7RHSM(DFN,.A7RHS)
|
---|
| 20 | F S ADM=$O(^DGPM("ATID1",DFN,ADM)) D:$$ROK^GMTSU("A7RHSM")&($$NDBI^GMTSU) DSP^A7RHSM(ADM) Q:('ADM)!(ADM>GMTS2)!(CNTR=0)!('DFN) D MVTS
|
---|
| 21 | D KILVAR K:$$NDBI^GMTSU A7RHS
|
---|
| 22 | Q
|
---|
| 23 | MVTS ; Loop through mvts chronologically, per admission
|
---|
| 24 | S ADA=0,ADA=$O(^DGPM("ATID1",DFN,ADM,ADA)) Q:'ADA
|
---|
| 25 | K VAIP,PREVDR,PREVSP,^UTILITY($J)
|
---|
| 26 | S VAIP("E")=ADA D IN5^VADPT
|
---|
| 27 | I $D(VAIP) D CKP^GMTSUP Q:$D(GMTSQIT) W:FLAG>0 ! D PRNT
|
---|
| 28 | D SETUTL
|
---|
| 29 | S MDM="" F S MDM=$O(^UTILITY($J,"GMTSMVTS",MDM)) Q:'MDM D GET
|
---|
| 30 | S CNTR=CNTR-1
|
---|
| 31 | Q
|
---|
| 32 | GET ; Get Inpatient Data [v5.0 and above]
|
---|
| 33 | I ^UTILITY($J,"GMTSMVTS",MDM)=ADA Q
|
---|
| 34 | K VAIP S VAIP("E")=^UTILITY($J,"GMTSMVTS",MDM) D IN5^VADPT
|
---|
| 35 | I $D(VAIP) D PRNT
|
---|
| 36 | Q
|
---|
| 37 | PRNT ; Output Data
|
---|
| 38 | S X=+$P(VAIP("MD"),U) D REGDT4^GMTSU
|
---|
| 39 | D CKP^GMTSUP Q:$D(GMTSQIT)
|
---|
| 40 | S DOC=$E($P(VAIP("DR"),U,2),1,10),TYPE=$P(VAIP("MT"),U,2),CODE=+$P(VAIP("TT"),U),SPEC=$E($P(VAIP("TS"),U,2),1,12)
|
---|
| 41 | S TT=$S(CODE=0:"NON",CODE=1:"ADM",CODE=2:"TR ",CODE=3:"DC ",CODE=4:"CIL",CODE=5:"COL",CODE=6:"TS ",1:" ")
|
---|
| 42 | I 'GMTSNPG,$D(PREVDR),PREVDR=$P(VAIP("DR"),U) S DOC=" "" "
|
---|
| 43 | I 'GMTSNPG,$D(PREVSP),PREVSP=$P(VAIP("TS"),U) S SPEC=" "" "
|
---|
| 44 | W X,?12,TT," ",$E(TYPE,1,34),?55,SPEC,?69,DOC,!
|
---|
| 45 | S FLAG=2,PREVDR=$P(VAIP("DR"),U),PREVSP=$P(VAIP("TS"),U)
|
---|
| 46 | Q
|
---|
| 47 | SETUTL ; Get Treating Specialty and Corresponding Admission
|
---|
| 48 | S (TSDM,MDM)=0
|
---|
| 49 | F S TSDM=$O(^DGPM("ATS",DFN,ADA,TSDM)) Q:'TSDM D NEXT1
|
---|
| 50 | F S MDM=$O(^DGPM("APCA",DFN,ADA,MDM)) Q:'MDM D NEXT2
|
---|
| 51 | Q
|
---|
| 52 | NEXT1 ; Treating Specialty (ATS)
|
---|
| 53 | S TS="",TS=$O(^DGPM("ATS",DFN,ADA,TSDM,TS)) Q:'TS
|
---|
| 54 | S TSDA=0,TSDA=$O(^DGPM("ATS",DFN,ADA,TSDM,TS,TSDA)) Q:'TSDA
|
---|
| 55 | S ^UTILITY($J,"GMTSMVTS",9999999-TSDM)=TSDA
|
---|
| 56 | Q
|
---|
| 57 | NEXT2 ; Corresponding Admission (APCA)
|
---|
| 58 | S MDA=0,MDA=$O(^DGPM("APCA",DFN,ADA,MDM,MDA)) Q:'MDA
|
---|
| 59 | I MDA'=ADA S ^UTILITY($J,"GMTSMVTS",MDM)=MDA
|
---|
| 60 | Q
|
---|
| 61 | KILVAR ; Clean-up, exit
|
---|
| 62 | D KVAR^VADPT
|
---|
| 63 | K FLAG,IN,IM,ADA,ADM,MDA,MDM,X,DOC,CNTR,CODE,TYPE,TT,PREVSP,PREVDR,SPEC
|
---|
| 64 | K ITS,TS,TSDM,TSDA,^UTILITY($J)
|
---|
| 65 | Q
|
---|