Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: DGRRPSD2

DGRRPSD2.m

Go to the documentation of this file.
  1. DGRRPSD2 ; ALB/SGG - rtnDGRR PatientServices Demographics Secondary ;09/30/03 ; Compiled December 9, 2003 15:23:28
  1. ;;5.3;Registration;**557,1015**;Aug 13, 1993;Build 21
  1. ;
  1. DOC ;<DataSet Name='SecondaryDemographics'
  1. ;
  1. ;FROM: ^DGSL(38.1,
  1. ;3 SECURITY ASSIGNED BY (RP200'), [0;3]
  1. ;4 DATE/TIME SECURITY ASSIGNED (RD), [0;4]
  1. ;5 SECURITY SOURCE (F), [0;5]
  1. ;
  1. ;FROM: ^DPT(PTID
  1. ; RACE INFORMATION (Multiple-2.02), [.02;0]
  1. ; .01 RACE INFORMATION (M*P10'X), [0;1]
  1. ; .02 METHOD OF COLLECTION (RP10.3'), [0;2]
  1. ;
  1. ;.352 DEATH ENTERED BY (P200'), [.35;2]
  1. ;
  1. ;6 ETHNICITY INFORMATION (Multiple-2.06), [.06;0]
  1. ; .01 ETHNICITY INFORMATION (*P10.2'X), [0;1]
  1. ; .02 METHOD OF COLLECTION (RP10.3'), [0;2]
  1. ;
  1. ;Primary Care Provider - Use $$NMPCPR^SCAPMCU2(PTID,DT,1) API to
  1. ; retrieve Primary Care Provider. Call VPID^XUPS API to
  1. ; convert DUZ to VPID.
  1. ;
  1. GETPSARY(PSARRAY) ;
  1. NEW CNT
  1. SET CNT=$G(CNT)+1,PSARRAY(CNT)="<DataSet Name='SecondaryDemographics'"
  1. SET CNT=$G(CNT)+1,PSARRAY(CNT)="^SecurityAssignedBy^"_$$SECASGBY()
  1. SET CNT=$G(CNT)+1,PSARRAY(CNT)="^DateTimeSecurityAssigned^"_$$DTSECASG()
  1. SET CNT=$G(CNT)+1,PSARRAY(CNT)="^SecuritySource^"_$$SECSOURC()
  1. SET CNT=$G(CNT)+1,PSARRAY(CNT)="^PrimaryCareProvider^"_$$PCP()
  1. DO ETHNINFO
  1. DO RACEINFO
  1. SET CNT=$G(CNT)+1,PSARRAY(CNT)="</DataSet>"_"^^^1"
  1. QUIT
  1. ;
  1. SECASGBY() ;
  1. NEW DATA
  1. SET DATA=$P(GLOB(38.1),"^",3)
  1. IF DATA'="" S DATA=$P($G(^VA(200,DATA,0)),"^",1)
  1. QUIT DATA
  1. ;
  1. DTSECASG() ;
  1. QUIT $P(GLOB(38.1),"^",4)
  1. ;
  1. SECSOURC() ;
  1. QUIT $P(GLOB(38.1),"^",5)
  1. ;
  1. DODENTBY() ;
  1. NEW DATA
  1. SET DATA=$P(GLOB(.35),"^",2)
  1. IF DATA'="" SET DATA=$P($G(^VA(200,DATA,0)),"^",1)
  1. QUIT DATA
  1. ;
  1. DODVPID() ;
  1. ;QUIT "200#ROOT"_$P(GLOB(.35),"^",2)
  1. QUIT $$VPID^XUPS($P(GLOB(.35),"^",2))
  1. ;
  1. PCP() ;Primary Care Provider
  1. ; get the PCP's IEN and convert to VPID (primary care physician)
  1. ;
  1. N PATSPCP,PCPIEN,PCPVPID
  1. SET PATSPCP=$$NMPCPR^SCAPMCU2(PTID,DT,1)
  1. SET PCPIEN=$P(PATSPCP,"^",1)
  1. SET PCPVPID=$$VPID^XUPS(+PCPIEN)
  1. QUIT PCPVPID
  1. ;
  1. ETHNINFO ;
  1. NEW ETHCNT,ROWCNT,ETHNIC,METHOD
  1. SET ETHCNT=0,ROWCNT=0
  1. FOR SET ETHCNT=$O(^DPT(PTID,.06,ETHCNT)) QUIT:(ETHCNT<1) DO
  1. .SET ETHNIC=$P($G(^DPT(PTID,.06,ETHCNT,0)),"^",1)
  1. .SET METHOD=$P($G(^DPT(PTID,.06,ETHCNT,0)),"^",2)
  1. .IF ETHNIC'="" DO
  1. ..SET ROWCNT=ROWCNT+1
  1. ..SET ETHNIC=$P($G(^DIC(10.2,ETHNIC,0)),"^",1)
  1. ..IF METHOD'="" SET METHOD=$P(^DIC(10.3,METHOD,0),"^",1)
  1. ..SET CNT=$G(CNT)+1,PSARRAY(CNT)="><Ethnicity Row='"_ROWCNT_"'"
  1. ..SET CNT=$G(CNT)+1,PSARRAY(CNT)="^Ethnicity^"_ETHNIC_"^^ETHNIC^"_ROWCNT
  1. ..SET CNT=$G(CNT)+1,PSARRAY(CNT)="^MethodOfCollection^"_METHOD_"^^ETHNIC^"_ROWCNT
  1. ..SET CNT=$G(CNT)+1,PSARRAY(CNT)="></Ethnicity>"
  1. IF ROWCNT=0 DO
  1. .SET CNT=$G(CNT)+1,PSARRAY(CNT)="><Ethnicity Row='1' Ethnicity='' MethodOfCollection=''></Ethnicity>"
  1. QUIT
  1. ;
  1. RACEINFO ;
  1. NEW RACECNT,ROWCNT,RACE,METHOD
  1. SET RACECNT=0,ROWCNT=0
  1. FOR SET RACECNT=$O(^DPT(PTID,.02,RACECNT)) QUIT:(RACECNT<1) DO
  1. .SET RACE=$P($G(^DPT(PTID,.02,RACECNT,0)),"^",1)
  1. .SET METHOD=$P($G(^DPT(PTID,.02,RACECNT,0)),"^",2)
  1. .IF RACE'="" DO
  1. ..SET ROWCNT=ROWCNT+1
  1. ..SET RACE=$P($G(^DIC(10,RACE,0)),"^",1)
  1. ..IF METHOD'="" SET METHOD=$P(^DIC(10.3,METHOD,0),"^",1)
  1. ..SET CNT=$G(CNT)+1,PSARRAY(CNT)="<Race Row='"_ROWCNT_"'"
  1. ..SET CNT=$G(CNT)+1,PSARRAY(CNT)="^Race^"_RACE_"^^RACE^"_ROWCNT
  1. ..SET CNT=$G(CNT)+1,PSARRAY(CNT)="^MethodOfCollection^"_METHOD_"^^RACE^"_ROWCNT
  1. ..SET CNT=$G(CNT)+1,PSARRAY(CNT)="></Race>"
  1. IF ROWCNT=0 DO
  1. .SET CNT=$G(CNT)+1,PSARRAY(CNT)="<Race Row='1' Race='' MethodOfCollection=''></Race>"
  1. QUIT