| 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
 | 
|---|