SDES2GETPATDEMO ;ALB/BLB/JDJ,JHC - SDES2 GET PATIENT DEMOGRAPHICS ;MAR 7,2025
;;5.3;Scheduling;**877,880,909**;Aug 13, 1993;Build 12
;;Per VHA Directive 6402, this routine should not be modified
;
;Reference to DUZ^XUP is supported by IA #7487
;---------------------------------------------------------------
Q
;
GETDEMOGRAPHICS(JSON,SDCONTEXT,PATIENT) ;
N ERRORS,DEMOGRAPHICS,VAL
;
D VALCONTEXT^SDES2VALCONTEXT(.ERRORS,.SDCONTEXT)
I $D(ERRORS) S ERRORS("PatientDemographics")="" D BUILDJSON^SDES2JSON(.JSON,.ERRORS) Q
I $G(SDCONTEXT("USER DUZ"))'="" N DUZ D DUZ^XUP(SDCONTEXT("USER DUZ"))
;
D VALFILEIEN^SDES2VALUTIL(.VAL,.ERRORS,2,$G(PATIENT("DFN")),1,,1,2)
I $D(ERRORS) S ERRORS("PatientDemographics")="" D BUILDJSON^SDES2JSON(.JSON,.ERRORS) Q
;
D BUILDDEMO(.DEMOGRAPHICS,$G(PATIENT("DFN")))
D BUILDJSON^SDES2JSON(.JSON,.DEMOGRAPHICS)
Q
;
BUILDDEMO(DEMOGRAPHICS,DFN) ;
N RACECOUNT,RACETOTAL,VADM,VAERR,VA
;
D DEM^VADPT
S DEMOGRAPHICS("PatientDemographics","Religion")=$P($G(VADM(9)),U,2)
S DEMOGRAPHICS("PatientDemographics","MaritalStatus")=$P($G(VADM(10)),U,2)
S DEMOGRAPHICS("PatientDemographics","Ethnicity")=$P($G(VADM(11,1)),U,2)
;
S RACETOTAL=$G(VADM(12))
I RACETOTAL=0 S DEMOGRAPHICS("PatientDemographics","RaceInformation",1,"Race")="" Q
S RACECOUNT=0 F S RACECOUNT=$O(VADM(12,RACECOUNT)) Q:'RACECOUNT D
.S DEMOGRAPHICS("PatientDemographics","RaceInformation",RACECOUNT,"Race")=$P($G(VADM(12,RACECOUNT)),U,2)
Q
;
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HSDES2GETPATDEMO 1496 printed May 25, 2026@12:58:40 Page 2
SDES2GETPATDEMO ;ALB/BLB/JDJ,JHC - SDES2 GET PATIENT DEMOGRAPHICS ;MAR 7,2025
+1 ;;5.3;Scheduling;**877,880,909**;Aug 13, 1993;Build 12
+2 ;;Per VHA Directive 6402, this routine should not be modified
+3 ;
+4 ;Reference to DUZ^XUP is supported by IA #7487
+5 ;---------------------------------------------------------------
+6 QUIT
+7 ;
GETDEMOGRAPHICS(JSON,SDCONTEXT,PATIENT) ;
+1 NEW ERRORS,DEMOGRAPHICS,VAL
+2 ;
+3 DO VALCONTEXT^SDES2VALCONTEXT(.ERRORS,.SDCONTEXT)
+4 IF $DATA(ERRORS)
SET ERRORS("PatientDemographics")=""
DO BUILDJSON^SDES2JSON(.JSON,.ERRORS)
QUIT
+5 IF $GET(SDCONTEXT("USER DUZ"))'=""
NEW DUZ
DO DUZ^XUP(SDCONTEXT("USER DUZ"))
+6 ;
+7 DO VALFILEIEN^SDES2VALUTIL(.VAL,.ERRORS,2,$GET(PATIENT("DFN")),1,,1,2)
+8 IF $DATA(ERRORS)
SET ERRORS("PatientDemographics")=""
DO BUILDJSON^SDES2JSON(.JSON,.ERRORS)
QUIT
+9 ;
+10 DO BUILDDEMO(.DEMOGRAPHICS,$GET(PATIENT("DFN")))
+11 DO BUILDJSON^SDES2JSON(.JSON,.DEMOGRAPHICS)
+12 QUIT
+13 ;
BUILDDEMO(DEMOGRAPHICS,DFN) ;
+1 NEW RACECOUNT,RACETOTAL,VADM,VAERR,VA
+2 ;
+3 DO DEM^VADPT
+4 SET DEMOGRAPHICS("PatientDemographics","Religion")=$PIECE($GET(VADM(9)),U,2)
+5 SET DEMOGRAPHICS("PatientDemographics","MaritalStatus")=$PIECE($GET(VADM(10)),U,2)
+6 SET DEMOGRAPHICS("PatientDemographics","Ethnicity")=$PIECE($GET(VADM(11,1)),U,2)
+7 ;
+8 SET RACETOTAL=$GET(VADM(12))
+9 IF RACETOTAL=0
SET DEMOGRAPHICS("PatientDemographics","RaceInformation",1,"Race")=""
QUIT
+10 SET RACECOUNT=0
FOR
SET RACECOUNT=$ORDER(VADM(12,RACECOUNT))
if 'RACECOUNT
QUIT
Begin DoDot:1
+11 SET DEMOGRAPHICS("PatientDemographics","RaceInformation",RACECOUNT,"Race")=$PIECE($GET(VADM(12,RACECOUNT)),U,2)
End DoDot:1
+12 QUIT
+13 ;