[613] | 1 | ORQPTQ3 ; SLC/CLA/KER - Demographic Functions ; 01/09/2003
|
---|
| 2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**159**;Dec 17, 1997
|
---|
| 3 | ;
|
---|
| 4 | DEMOG(Y,DFN) ; RETURN PATIENT'S DEMOGRAPHIC INFO
|
---|
| 5 | ;DEM: SSN^DOB^AGE^SEX^RACE^ETHNICITY^RELIGION^MARITAL STATUS
|
---|
| 6 | ;INP: PRIMARY DUZ;NAME^ATTENDING DUZ;NAME^LOCATION^WARD^RMBED
|
---|
| 7 | N ORPTDEMO,ATTDUZ,PRIMDUZ,ORI,ORR,ORE,ORD,ORO D DEM^VADPT
|
---|
| 8 | S ORI=0 F S ORI=$O(VADM(11,ORI)) Q:+ORI=0 S ORD=$P(VADM(11,ORI),"^",2) S:$L(ORD) ORE=$G(ORE)_", "_ORD
|
---|
| 9 | F Q:$E(ORE,1,2)'=", " S ORE=$E(ORE,3,$L(ORE))
|
---|
| 10 | S ORI=0 F S ORI=$O(VADM(12,ORI)) Q:+ORI=0 S ORD=$P($G(VADM(12,ORI)),"^",2) S:$L(ORD) ORR=$G(ORR)_", "_ORD
|
---|
| 11 | F Q:$E(ORR,1,2)'=", " S ORR=$E(ORR,3,$L(ORR))
|
---|
| 12 | S ORO=$P(VADM(8),U,2) S:'$L(ORE)&('$L(ORR))&('$D(VADM(11)))&('$D(VADM(12))) ORE=ORO
|
---|
| 13 | S ORPTDEMO=$P(VADM(2),U)_U_$P(VADM(3),U,2)_U_VADM(4)_U_$P(VADM(5),U,2)_U_ORR_U_ORE_U_$P(VADM(9),U,2)_U_$P(VADM(10),U,2)
|
---|
| 14 | K VAINDT,VADM,VAERR S VA200=1
|
---|
| 15 | D INP^VADPT
|
---|
| 16 | S Y=ORPTDEMO_U_$P(VAIN(2),U)_";"_$P(VAIN(2),U,2)_U_$P(VAIN(11),U)_";"_$P(VAIN(11),U,2)_U_U_$P(VAIN(4),U,2)_U_VAIN(5)
|
---|
| 17 | K VA200,VAIN,VAERR
|
---|
| 18 | Q
|
---|
| 19 | WRB(Y,DFN) ;return patient's ward, room-bed: ward ien^ward name room-bed
|
---|
| 20 | N WNAME,WIEN S WIEN="",Y=""
|
---|
| 21 | S WNAME=$G(^DPT(DFN,.1)) I $L(WNAME) S WIEN=$O(^DIC(42,"B",WNAME,WIEN))
|
---|
| 22 | I $L($G(WNAME)),$L($G(WIEN)) S Y=WIEN_U_WNAME_" "_$G(^DPT(DFN,.101))
|
---|
| 23 | Q
|
---|
| 24 | NAME(ORY,DFN) ; return patient's name in mixed case
|
---|
| 25 | I '$L($G(^DPT(DFN,0))) S ORY="Not found" Q
|
---|
| 26 | S ORY=$$LOWER^VALM1($P(^DPT(DFN,0),U))
|
---|
| 27 | Q
|
---|
| 28 | ADDR(Y,DFN) ; RETURN PATIENT'S ADDRESS & PHONE NUMBER
|
---|
| 29 | D ADD^VADPT
|
---|
| 30 | S Y=VAPA(1)_"^"_VAPA(2)_"^"_VAPA(3)_"^"_VAPA(4)_"^"_$P(VAPA(5),"^",2)_"^"_VAPA(6)_"^"_VAPA(8)
|
---|
| 31 | K VAPA
|
---|
| 32 | Q
|
---|
| 33 | ATTPRIM(ORY,DFN) ; return patient's attending physician and primary provider
|
---|
| 34 | ; format: ATTEND DUZ^ATTEND NAME;PRIMARY DUZ^PRIMARY NAME
|
---|
| 35 | K VAINDT S VA200=1
|
---|
| 36 | D INP^VADPT
|
---|
| 37 | S ORY=$S($L($G(VAIN(11))):VAIN(11),1:"^not found") ;attending physician
|
---|
| 38 | S ORY=ORY_";"_$S($L($G(VAIN(2))):VAIN(2),1:"^not found") ;primary provider
|
---|
| 39 | K VA200,VAIN
|
---|
| 40 | Q
|
---|
| 41 | WARD(Y,DFN) ; RETURN PATIENT'S WARD
|
---|
| 42 | D INP^VADPT
|
---|
| 43 | S Y=VAIN(4)
|
---|
| 44 | K VAIN
|
---|
| 45 | Q
|
---|
| 46 | RMBED(Y,DFN) ; RETURN PATIENT'S ROOM-BED
|
---|
| 47 | D INP^VADPT
|
---|
| 48 | S Y=VAIN(5)
|
---|
| 49 | K VAIN
|
---|
| 50 | Q
|
---|
| 51 | ATTEND(Y,DFN) ; RETURN PATIENT'S ATTENDING PHYSICIAN
|
---|
| 52 | ;NOT YET IMPLEMENTED
|
---|
| 53 | ;D INP^VADPT
|
---|
| 54 | Q
|
---|
| 55 | SSN(Y,DFN) ; RETURN PATIENT'S SSN
|
---|
| 56 | D DEM^VADPT
|
---|
| 57 | S Y=VADM(2)
|
---|
| 58 | K VADM
|
---|
| 59 | Q
|
---|
| 60 | DOB(Y,DFN) ; RETURN PATIENT'S DATE OF BIRTH
|
---|
| 61 | D DEM^VADPT
|
---|
| 62 | S Y=VADM(3)
|
---|
| 63 | K VADM
|
---|
| 64 | Q
|
---|
| 65 | AGE(Y,DFN) ; RETURN PATIENT'S AGE
|
---|
| 66 | D DEM^VADPT
|
---|
| 67 | S Y=VADM(4)
|
---|
| 68 | K VADM
|
---|
| 69 | Q
|
---|
| 70 | SEX(Y,DFN) ; RETURN PATIENT'S SEX
|
---|
| 71 | D DEM^VADPT
|
---|
| 72 | S Y=VADM(5)
|
---|
| 73 | K VADM
|
---|
| 74 | Q
|
---|