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