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

VPSRPC16.m

Go to the documentation of this file.
  1. VPSRPC16 ;BPOIFO/EL,WOIFO/BT - Patient Demographic (continue);07/31/14 13:07
  1. ;;1.0;VA POINT OF SERVICE (KIOSKS);**4,14,20**;Jul 31, 2014;Build 29
  1. ;;Per VHA Directive 2004-038, this routine should not be modified.
  1. ;
  1. ; External Reference DBIA#
  1. ; ------------------------
  1. ; #10035 - ^DPT( references (Supported)
  1. ; #2462 - ^DGEN( reference (Controlled Sub)
  1. ; #2056 - DIQ call (Supported)
  1. ; #3402 - PTSEC^DGSEC4 call (Supported)
  1. ; #3403 - NOTICE^DGSEC4 call (Supported)
  1. ; #3812 - GET^DGENA (Controlled Subs)
  1. ; #2701 - MPIF001 call (Supported)
  1. ; #10061 - VADPT call (Supported)
  1. ; #10103 - XLFDT call (Supported)
  1. ; #6098 - Read-Only access to ^DGMT(408.31,"C",DFN) and FIELD HARDSHIP (Controlled Sub)
  1. QUIT
  1. ;
  1. GETDEM(VPSARR,DFN) ;given DFN, returns the patient demographics, insurance, and up-coming appointments.
  1. ; OUTPUT
  1. ; VPSARR - passed in by reference; this is the output array to store patient demographics
  1. ; INPUT
  1. ; DFN - patient DFN (This value must be validated before calling this procedure)
  1. ;
  1. D DEM(.VPSARR,DFN) ; Store Patient Demographic Data
  1. D SENLOG(.VPSARR,DFN) ; Store Patient Sensitive Record File-38.1
  1. D ELIG(.VPSARR,DFN) ; Store Patient Eligibily
  1. ;D ENR(.VPSARR,DFN) ; Store Patient Enrollment
  1. N X,Y
  1. S X="",X=$O(^DGEN(27.11,"C",DFN,X),-1) Q:$G(X)=""
  1. S Y="",Y=$$GET1^DIQ(27.11,X_",",.04,"E")
  1. I $G(Y)'="" D SET(.VPSARR,27.11,DFN,".04",Y)
  1. D ADD(.VPSARR,DFN) ; Store Patient Address
  1. D OAD(.VPSARR,DFN) ; Store Other Patient Variables
  1. D INP(.VPSARR,DFN) ; Inpatient information
  1. D IBB^VPSRPC26(.VPSARR,DFN) ; Store Patient Insurance Info
  1. D REC^VPSRPC26(.VPSARR,DFN) ; Store Patient Record Flag
  1. D DGS^VPSRPC26(.VPSARR,DFN) ; Store Pre-Registration Audit
  1. D BAL^VPSRPC26(.VPSARR,DFN) ; Store Balance
  1. ;D OTH^VPSRPC26(.VPSARR,DFN) ; Store Other information not in KNOWN API
  1. ;D POW^VPSRPC26(.VPSARR,DFN) ; Store POW
  1. ;D PH^VPSRPC26(.VPSARR,DFN) ; Store Purple Heart
  1. ;D MP^VPSRPC26(.VPSARR,DFN) ; Store Missing Person
  1. ;D SVC^VPSRPC26(.VPSARR,DFN) ; Store Service Connected and Rated Disabilities
  1. ;D CHG^VPSRPC26(.VPSARR,DFN) ; Store Change DT/TM
  1. ;D BLPAT^VPSRPC26(.VPSARR,DFN) ; Store Billing Patient
  1. ;D PCT^VPSRPC26(.VPSARR,DFN) ; Primary Care Team
  1. Q
  1. ;
  1. DEM(VPSARR,DFN) ; Store Patient Demographic Data
  1. ; -- Store patient DFN
  1. D SET(.VPSARR,2,DFN,".001",DFN,"DFN")
  1. ;
  1. ; -- Store Patient ICN if exist
  1. N VPSICN S VPSICN=$$GETICN^MPIF001(DFN)
  1. N ICN S ICN=VPSICN
  1. ;Added above line commented out below line after VPS*1.0*20
  1. ;N ICN S ICN=$P(VPSICN,"V")
  1. I $G(ICN)'="" D SET(.VPSARR,2,DFN,"991.01",ICN)
  1. ;
  1. ; -- Retrieve patient demographics data
  1. N VADM D DEM^VADPT
  1. ;
  1. ; -- Store patient demographics
  1. N VAL
  1. S VAL=$G(VADM(1)) D SET(.VPSARR,2,DFN,".01",VAL) ; patient name
  1. S VAL=$P($G(VADM(2)),U) D SET(.VPSARR,2,DFN,".09",VAL) ; SSN
  1. S VAL=$P($G(VADM(3)),U) D SET(.VPSARR,2,DFN,".03",VAL) ; DOB - kiosk needs internal (FM) format for all dates
  1. S VAL=$P($G(VADM(5)),U,2) D SET(.VPSARR,2,DFN,".02",VAL) ; SEX
  1. S VAL=$P($G(VADM(9)),U,2) D SET(.VPSARR,2,DFN,".08",VAL)
  1. S VAL=$P($G(VADM(10)),U,2) D SET(.VPSARR,2,DFN,".05",VAL)
  1. ;
  1. ; -- Store patient ethnicity
  1. N SEQ,VPSFL,VPSIEN
  1. ;
  1. I $G(VADM(11))'="" D
  1. . N VPSFL S VPSFL="2.06",SEQ=""
  1. . F S SEQ=$O(VADM(11,SEQ)) QUIT:SEQ="" D
  1. . . S VAL=$P(VADM(11,SEQ),U,2)
  1. . . S VPSIEN=DFN_";"_SEQ D SET(.VPSARR,VPSFL,VPSIEN,".01",VAL)
  1. ;
  1. ; -- Store patient race
  1. I $G(VADM(12))'="" D
  1. . S VPSFL="2.02",SEQ=""
  1. . F S SEQ=$O(VADM(12,SEQ)) QUIT:SEQ="" D
  1. . . S VAL=$P(VADM(12,SEQ),U,2)
  1. . . S VPSIEN=DFN_";"_SEQ D SET(.VPSARR,VPSFL,VPSIEN,".01",VAL)
  1. ;
  1. QUIT
  1. ;
  1. SENLOG(VPSARR,DFN) ; Check Patient Sensitive Record File-38.1
  1. N DGRES
  1. N VAL S VAL=""
  1. N DGOPT S DGOPT=U_"VPS KIOSK-PATIENT-SELF-CHECKIN"
  1. N DGMSG S DGMSG=1
  1. D PTSEC^DGSEC4(.DGRES,DFN,DGMSG,DGOPT)
  1. N RES S RES=$G(DGRES(1))
  1. ;
  1. I RES=2 D QUIT
  1. . N ACTION S ACTION=1
  1. . D NOTICE^DGSEC4(.DGRES,DFN,DGOPT,ACTION)
  1. . S VAL="2;SENSITIVE & SEC-AUDIT LOG & KIOSK MACHINE LOGIN-DUZ HOLDING NOSECURITY KEY"
  1. . D SET(.VPSARR,38.1,DFN,"IA3403",VAL,"SENSITIVE")
  1. ;
  1. S:RES=0 VAL="0;NON-SENSITIVE"
  1. S:RES=1 VAL="1;SENSITIVE & SEC-AUDIT LOG & KIOSK MACHINE LOGIN-DUZ HOLDING SECURITY KEY"
  1. S:RES=3 VAL="3;CANNOT CHECK SENSITIVE DUE TO KIOSK MACHINE LOGIN-DUZ ACCESSING OWN RECORD"
  1. S:RES=4 VAL="4;CANNOT CHECK SENSITIVE DUE TO KIOSK MACHINE LOGIN-DUZ MISSING SSN"
  1. S:VAL="" VAL="-1;MISSING DFN IN SENSITIVE CHECK"
  1. D SET(.VPSARR,38.1,DFN,"IA3402",VAL,"SENSITIVE")
  1. ;
  1. QUIT
  1. ;
  1. ELIG(VPSARR,DFN) ; Eligibily
  1. N VAEL D ELIG^VADPT
  1. N VAL
  1. S VAL=$P($G(VAEL(6)),U,2) D SET(.VPSARR,2,DFN,391,VAL) ; Patient Type
  1. S VAL=$$GET1^DIQ(2,DFN_",",.381,"E") D SET(.VPSARR,2,DFN,.381,VAL) ;Eligibility for Medicare
  1. ;
  1. ; --- Primary Eligibility Code
  1. N PELIG S PELIG=$P($G(VAEL(1)),U)
  1. S VAL=$P($G(VAEL(1)),U,2) D SET(.VPSARR,2,DFN,.361,VAL)
  1. ;
  1. S VAL=$P($G(VAEL(5,1)),U) D SET(.VPSARR,2,DFN,.152,VAL) ;InEligible Date
  1. S VAL=$P($G(VAEL(8)),U,2) D SET(.VPSARR,2,DFN,.3611,VAL) ;Eligibility Status
  1. S VAL=$$GET1^DIQ(2,DFN_",",.3612,"I") D SET(.VPSARR,2,DFN,.3612,VAL) ; Eligibility Status Date
  1. S VAL=$P($G(VAEL(9)),U,2) D SET(.VPSARR,2,DFN,.14,VAL) ; Means Test Status
  1. ;
  1. ; --- Secondary Eligibility codes
  1. N ELIG,ELIGNAM S ELIG=0
  1. F S ELIG=$O(^DPT("AEL",DFN,ELIG)) Q:'ELIG D
  1. . I ELIG'=PELIG S ELIGNAM=$$GET1^DIQ(8,ELIG_",",.01) D SET(.VPSARR,8,DFN_";"_ELIG,.01,ELIGNAM,"SECONDARY ELIGIBILITY CODE")
  1. ;
  1. ; --- Annual Mean Test
  1. N MTIEN S MTIEN=$O(^DGMT(408.31,"C",DFN,0))
  1. I MTIEN S VAL=$$GET1^DIQ(408.31,MTIEN_",",.2,"E") D SET(.VPSARR,408.31,DFN_";"_MTIEN,.2,VAL) ; HARDSHIP?
  1. QUIT
  1. ;
  1. INP(VPSARR,DFN) ;
  1. N VAIP
  1. D IN5^VADPT
  1. D SET(.VPSARR,2,DFN,"",$S(VAIP(5)]"":"YES",1:"NO"),"INPATIENT STATUS") ; Inpatient Status
  1. D SET(.VPSARR,2,DFN,.1,$P(VAIP(5),U,2),"") ; Patient Ward Location
  1. D SET(.VPSARR,2,DFN,.101,$P(VAIP(6),U,2),"") ; Patient Bed Assignment
  1. D SET(.VPSARR,2,DFN,.109,$P(VAIP(19,1),U,2),"") ; Facility Directory Preference
  1. QUIT
  1. ;
  1. ENR(VPSARR,DFN) ; Enrollment
  1. N ENRIEN S ENRIEN=$O(^DGEN(27.11,"C",DFN,""),-1)
  1. QUIT:ENRIEN=""
  1. N DGENR D GET^DGENA(ENRIEN,.DGENR)
  1. N VAL
  1. S VAL=$G(DGENR("STATUS")),VAL=$$GET1^DIQ(27.11,ENRIEN_",",.04,"E") D SET(.VPSARR,27.11,DFN_";"_ENRIEN,.04,VAL) ;ENROLLMENT STATUS
  1. S VAL=$G(DGENR("ELIG","CODE")),VAL=$$GET1^DIQ(27.11,ENRIEN_",",50.01,"E") D SET(.VPSARR,27.11,DFN_";"_ENRIEN,50.01,VAL) ;ELIGIBILITY CODE
  1. S VAL=$G(DGENR("ELIG","SC")) D SET(.VPSARR,27.11,DFN_";"_ENRIEN,50.02,VAL) ;SERVICE CONNECTED
  1. S VAL=$G(DGENR("ELIG","SCPER")) D SET(.VPSARR,27.11,DFN_";"_ENRIEN,50.03,VAL) ;SERVICE CONNECTED PERCENTAGE
  1. S VAL=$G(DGENR("DATE")) D SET(.VPSARR,27.11,DFN_";"_ENRIEN,.1,VAL) ;ENROLLMENT DATE
  1. S VAL=$G(DGENR("EFFDATE")) D SET(.VPSARR,27.11,DFN_";"_ENRIEN,.08,VAL) ;EFFECTIVE DATE
  1. S VAL=$G(DGENR("PRIORITY")) D SET(.VPSARR,27.11,DFN_";"_ENRIEN,.07,VAL) ;ENROLLMENT PRIORITY
  1. S VAL=$G(DGENR("ELIG","EC")) D SET(.VPSARR,27.11,DFN_";"_ENRIEN,50.13,VAL) ;SOUTH WEST ASIA CONDITION
  1. ;
  1. ; -- Enrollment Clinic
  1. N ENRCLN,ENRDATE,VAL
  1. N ECLNSEQ S ECLNSEQ=0
  1. N EDTSEQ S EDTSEQ=0
  1. ;
  1. F S ECLNSEQ=$O(^DPT(DFN,"DE",ECLNSEQ)) QUIT:'ECLNSEQ D
  1. . S ENRCLN=$G(^DPT(DFN,"DE",ECLNSEQ,0)) QUIT:ENRCLN=""
  1. . S VAL=$$GET1^DIQ(2.001,ECLNSEQ_","_DFN_",",.01,"E") ; enrollment clinic
  1. . D SET(.VPSARR,2.001,DFN_";"_ECLNSEQ,.01,VAL)
  1. . N VAL S VAL=$$GET1^DIQ(2.001,ECLNSEQ_","_DFN_",",2,"E") ; current status
  1. . D SET(.VPSARR,2.001,DFN_";"_ECLNSEQ,2,VAL)
  1. . ;
  1. . ; -- Enrollment Data
  1. . S EDTSEQ=0
  1. . F S EDTSEQ=$O(^DPT(DFN,"DE",ECLNSEQ,1,EDTSEQ)) Q:'EDTSEQ D
  1. . . S ENRDATE=$G(^DPT(DFN,"DE",ECLNSEQ,1,EDTSEQ,0)) QUIT:ENRDATE=""
  1. . . S VAL=$$GET1^DIQ(2.011,EDTSEQ_","_ECLNSEQ_","_DFN_",",.01,"I") ; Date of Enrollment
  1. . . D SET(.VPSARR,2.011,DFN_";"_ECLNSEQ_";"_EDTSEQ,.01,VAL)
  1. . . S VAL=$$GET1^DIQ(2.011,EDTSEQ_","_ECLNSEQ_","_DFN_",",1,"E") ; opt or ac
  1. . . D SET(.VPSARR,2.011,DFN_";"_ECLNSEQ_";"_EDTSEQ,1,VAL)
  1. . . S VAL=$$GET1^DIQ(2.011,EDTSEQ_","_ECLNSEQ_","_DFN_",",2,"E") ; Service
  1. . . D SET(.VPSARR,2.011,DFN_";"_ECLNSEQ_";"_EDTSEQ,2,VAL)
  1. . . S VAL=$$GET1^DIQ(2.011,EDTSEQ_","_ECLNSEQ_","_DFN_",",3,"I") ; Date of Discharge
  1. . . D SET(.VPSARR,2.011,DFN_";"_ECLNSEQ_";"_EDTSEQ,3,VAL)
  1. . . S VAL=$$GET1^DIQ(2.011,EDTSEQ_","_ECLNSEQ_","_DFN_",",4,"E") ; Reason of Discharge
  1. . . D SET(.VPSARR,2.011,DFN_";"_ECLNSEQ_";"_EDTSEQ,4,VAL)
  1. . . S VAL=$$GET1^DIQ(2.011,EDTSEQ_","_ECLNSEQ_","_DFN_",",5,"I") ; Review Date
  1. . . D SET(.VPSARR,2.011,DFN_";"_ECLNSEQ_";"_EDTSEQ,5,VAL)
  1. ;
  1. QUIT
  1. ;
  1. ADD(VPSARR,DFN) ; Addresses
  1. N VAPA D ADD^VADPT
  1. N VAL,TODAY S TODAY=$$DT^XLFDT()
  1. ;
  1. S VAL=$P($G(VAPA(9)),U)
  1. I VAL=""!(TODAY<VAL) D SETPERM(.VPSARR,DFN,.VAPA) QUIT
  1. ;
  1. S VAL=$P($G(VAPA(10)),U)
  1. I VAL=""!(TODAY'>VAL) D SETMP(.VPSARR,DFN,.VAPA) QUIT
  1. ;
  1. D SETPERM(.VPSARR,DFN,.VAPA)
  1. QUIT
  1. ;
  1. SETPERM(VPSARR,DFN,VAPA) ; PERM ADDRESS
  1. N VAL
  1. S VAL=$G(VAPA(1)) D SET(.VPSARR,2,DFN,".111",VAL)
  1. S VAL=$G(VAPA(2)) D SET(.VPSARR,2,DFN,".112",VAL)
  1. S VAL=$G(VAPA(3)) D SET(.VPSARR,2,DFN,".113",VAL)
  1. S VAL=$G(VAPA(4)) D SET(.VPSARR,2,DFN,".114",VAL)
  1. S VAL=$P($G(VAPA(5)),U,2) D SET(.VPSARR,2,DFN,".115",VAL)
  1. S VAL=$P($G(VAPA(7)),U,2) D SET(.VPSARR,2,DFN,".117",VAL)
  1. S VAL=$G(VAPA(8)) D SET(.VPSARR,2,DFN,".131",VAL)
  1. S VAL=$P($G(VAPA(11)),U,2) D SET(.VPSARR,2,DFN,".1112",VAL)
  1. S VAL=$P($G(VAPA(25)),U,2) D SET(.VPSARR,2,DFN,".1173",VAL)
  1. S VAL=$$GET1^DIQ(2,DFN_",",.1171,"E") D SET(.VPSARR,2,DFN,".1171",VAL)
  1. S VAL=$$GET1^DIQ(2,DFN_",",.1172,"E") D SET(.VPSARR,2,DFN,".1172",VAL)
  1. S VAL=$$GET1^DIQ(2,DFN_",",.121,"E") D SET(.VPSARR,2,DFN,".121",VAL)
  1. S VAL=$$GET1^DIQ(2,DFN_",",.132,"E") D SET(.VPSARR,2,DFN,".132",VAL)
  1. S VAL=$$GET1^DIQ(2,DFN_",",.134,"E") D SET(.VPSARR,2,DFN,".134",VAL)
  1. S VAL=$$GET1^DIQ(2,DFN_",",.133,"E") D SET(.VPSARR,2,DFN,".133",VAL)
  1. D SETCONF(.VPSARR,DFN,.VAPA)
  1. QUIT
  1. ;
  1. SETMP(VPSARR,DFN,VAPA) ; SET TEMP ADD
  1. N VAL
  1. S VAL=$G(VAPA(1)) D SET(.VPSARR,2,DFN,".1211",VAL)
  1. S VAL=$G(VAPA(2)) D SET(.VPSARR,2,DFN,".1212",VAL)
  1. S VAL=$G(VAPA(3)) D SET(.VPSARR,2,DFN,".1213",VAL)
  1. S VAL=$G(VAPA(4)) D SET(.VPSARR,2,DFN,".1214",VAL)
  1. S VAL=$P($G(VAPA(5)),U,2) D SET(.VPSARR,2,DFN,".1215",VAL)
  1. S VAL=$P($G(VAPA(7)),U,2) D SET(.VPSARR,2,DFN,".12111",VAL)
  1. S VAL=$G(VAPA(8)) D SET(.VPSARR,2,DFN,".1219",VAL)
  1. S VAL=$P($G(VAPA(9)),U,2) D SET(.VPSARR,2,DFN,".1217",VAL)
  1. S VAL=$P($G(VAPA(10)),U,2) D SET(.VPSARR,2,DFN,".1218",VAL)
  1. S VAL=$P($G(VAPA(11)),U,2) D SET(.VPSARR,2,DFN,".12112",VAL)
  1. S VAL=$P($G(VAPA(25)),U,2) D SET(.VPSARR,2,DFN,".1223",VAL)
  1. S VAL=$$GET1^DIQ(2,DFN_",",.1221,"E") D SET(.VPSARR,2,DFN,".1221",VAL)
  1. S VAL=$$GET1^DIQ(2,DFN_",",.1222,"E") D SET(.VPSARR,2,DFN,".1222",VAL)
  1. ;
  1. K VAPA S VAPA("P")="" D ADD^VADPT
  1. D SETPERM(.VPSARR,DFN,.VAPA)
  1. ;
  1. QUIT
  1. ;
  1. SETCONF(VPSARR,DFN,VAPA) ;Confindential address
  1. N VAL
  1. S VAL=$G(VAPA(13)) D SET(.VPSARR,2,DFN,".1411",VAL) ; CONFIDENTIAL STREET [LINE 1]
  1. S VAL=$G(VAPA(14)) D SET(.VPSARR,2,DFN,".1412",VAL) ; CONFIDENTIAL STREET [LINE 2]
  1. S VAL=$G(VAPA(15)) D SET(.VPSARR,2,DFN,".1413",VAL) ; CONFIDENTIAL STREET [LINE 2]
  1. S VAL=$G(VAPA(16)) D SET(.VPSARR,2,DFN,".1414",VAL) ; CONFIDENTIAL ADDRESS CITY
  1. S VAL=$G(VAPA(17)) S VAL=$P(VAL,U,2) D SET(.VPSARR,2,DFN,".1415",VAL) ; CONFIDENTIAL ADDRESS STATE
  1. S VAL=$G(VAPA(18)) S VAL=$P(VAL,U,2) D SET(.VPSARR,2,DFN,".1416",VAL) ; CONFIDENTIAL ADDRESS ZIP CODE
  1. S VAL=$G(VAPA(19)) D SET(.VPSARR,2,DFN,".14111",VAL) ; CONFIDENTIAL ADDRESS COUNTY
  1. S VAL=$G(VAPA(20)) I +VAL D SET(.VPSARR,2,DFN,".1417",+VAL) ; CONFIDENTIAL START DATE
  1. S VAL=$G(VAPA(21)) I +VAL D SET(.VPSARR,2,DFN,".1418",+VAL) ; CONFIDENTIAL END DATE
  1. S VAL=$$GET1^DIQ(2,DFN_",",.14105,"E") D SET(.VPSARR,2,DFN,".14105",VAL) ; CONFIDENTIAL ADDRESS ACTIVE?
  1. S VAL=$P($G(VAPA(28)),U,2) D SET(.VPSARR,2,DFN,".14116",VAL) ; CONFIDENTIAL ADDRESS COUNTRY
  1. S VAL=$G(VAPA(29)) D SET(.VPSARR,2,DFN,".1315",VAL) ; CONFIDENTIAL PHONE NUMBER
  1. ;
  1. ; -- Confidential Address categories
  1. N TYP S TYP=0
  1. F S TYP=$O(VAPA(22,TYP)) Q:'TYP D
  1. . S VAL=$P(VAPA(22,TYP),U,2)
  1. . D SET(.VPSARR,2.141,DFN_";"_TYP,".01",VAL) ; CONFIDENTIAL ADDRESS CATEGORY
  1. ;
  1. QUIT
  1. ;
  1. OAD(VPSARR,DFN) ; Other Patient Variables
  1. N VAL,VAOA S VAOA("A")=7 D OAD^VADPT ; NOK
  1. S VAL=$G(VAOA(1)) D SET(.VPSARR,2,DFN,".213",VAL)
  1. S VAL=$G(VAOA(2)) D SET(.VPSARR,2,DFN,".214",VAL)
  1. S VAL=$G(VAOA(3)) D SET(.VPSARR,2,DFN,".215",VAL)
  1. S VAL=$G(VAOA(4)) D SET(.VPSARR,2,DFN,".216",VAL)
  1. S VAL=$P(VAOA(5),U,2) D SET(.VPSARR,2,DFN,".217",VAL)
  1. S VAL=$G(VAOA(11)) S VAL=$P(VAL,U,2) D SET(.VPSARR,2,DFN,".2207",VAL)
  1. S VAL=$G(VAOA(8)) D SET(.VPSARR,2,DFN,".219",VAL)
  1. S VAL=$G(VAOA(9)) D SET(.VPSARR,2,DFN,".211",VAL)
  1. S VAL=$G(VAOA(10)) D SET(.VPSARR,2,DFN,".212",VAL)
  1. S VAL=$$GET1^DIQ(2,DFN_",",.21011,"E") D SET(.VPSARR,2,DFN,".21011",VAL)
  1. ;
  1. K VAOA S VAOA("A")=3 D OAD^VADPT ; Second NOK
  1. S VAL=$G(VAOA(1)) D SET(.VPSARR,2,DFN,".2193",VAL)
  1. S VAL=$G(VAOA(2)) D SET(.VPSARR,2,DFN,".2194",VAL)
  1. S VAL=$G(VAOA(3)) D SET(.VPSARR,2,DFN,".2195",VAL)
  1. S VAL=$G(VAOA(4)) D SET(.VPSARR,2,DFN,".2196",VAL)
  1. S VAL=$P($G(VAOA(5)),U,2) D SET(.VPSARR,2,DFN,".2197",VAL)
  1. S VAL=$G(VAOA(11)) S VAL=$P(VAL,U,2) D SET(.VPSARR,2,DFN,".2203",VAL)
  1. S VAL=$G(VAOA(8)) D SET(.VPSARR,2,DFN,".2199",VAL)
  1. S VAL=$G(VAOA(9)) D SET(.VPSARR,2,DFN,".2191",VAL)
  1. S VAL=$G(VAOA(10)) D SET(.VPSARR,2,DFN,".2192",VAL)
  1. S VAL=$$GET1^DIQ(2,DFN_",",.211011,"E") D SET(.VPSARR,2,DFN,".211011",VAL)
  1. ;
  1. K VAOA S VAOA("A")=1 D OAD^VADPT ; Emergency Contact
  1. S VAL=$G(VAOA(1)) D SET(.VPSARR,2,DFN,".333",VAL)
  1. S VAL=$G(VAOA(2)) D SET(.VPSARR,2,DFN,".334",VAL)
  1. S VAL=$G(VAOA(3)) D SET(.VPSARR,2,DFN,".335",VAL)
  1. S VAL=$G(VAOA(4)) D SET(.VPSARR,2,DFN,".336",VAL)
  1. S VAL=$P($G(VAOA(5)),U,2) D SET(.VPSARR,2,DFN,".337",VAL)
  1. S VAL=$P($G(VAOA(11)),U,2) D SET(.VPSARR,2,DFN,".2201",VAL)
  1. S VAL=$G(VAOA(8)) D SET(.VPSARR,2,DFN,".339",VAL)
  1. S VAL=$G(VAOA(9)) D SET(.VPSARR,2,DFN,".331",VAL)
  1. S VAL=$G(VAOA(10)) D SET(.VPSARR,2,DFN,".332",VAL)
  1. S VAL=$$GET1^DIQ(2,DFN_",",.33011,"E") D SET(.VPSARR,2,DFN,".33011",VAL)
  1. ;
  1. K VAOA S VAOA("A")=4 D OAD^VADPT ; Second Emergency Contact
  1. S VAL=$G(VAOA(1)) D SET(.VPSARR,2,DFN,".3313",VAL)
  1. S VAL=$G(VAOA(2)) D SET(.VPSARR,2,DFN,".3314",VAL)
  1. S VAL=$G(VAOA(3)) D SET(.VPSARR,2,DFN,".3315",VAL)
  1. S VAL=$G(VAOA(4)) D SET(.VPSARR,2,DFN,".3316",VAL)
  1. S VAL=$P($G(VAOA(5)),U,2) D SET(.VPSARR,2,DFN,".3317",VAL)
  1. S VAL=$P($G(VAOA(11)),U,2) D SET(.VPSARR,2,DFN,".2204",VAL)
  1. S VAL=$G(VAOA(8)) D SET(.VPSARR,2,DFN,".3319",VAL)
  1. S VAL=$G(VAOA(9)) D SET(.VPSARR,2,DFN,".3311",VAL)
  1. S VAL=$G(VAOA(10)) D SET(.VPSARR,2,DFN,".3312",VAL)
  1. S VAL=$$GET1^DIQ(2,DFN_",",.331011,"E") D SET(.VPSARR,2,DFN,".331011",VAL)
  1. ;
  1. K VAOA S VAOA("A")=5 D OAD^VADPT ; Patient Employer
  1. S VAL=$G(VAOA(8)) D SET(.VPSARR,2,DFN,".3119",VAL)
  1. S VAL=$G(VAOA(9)) D SET(.VPSARR,2,DFN,".3111",VAL)
  1. ;
  1. N VAPD D OPD^VADPT
  1. S VAL=$P($G(VAPD(7)),U,2) D SET(.VPSARR,2,DFN,".31115",VAL)
  1. S VAL=$$GET1^DIQ(2,DFN_",",.31116,"E") D SET(.VPSARR,2,DFN,".31116",VAL)
  1. ;
  1. K VAOA S VAOA("A")=6 D OAD^VADPT ; Spouse's Employer
  1. S VAL=$G(VAOA(8)) D SET(.VPSARR,2,DFN,".258",VAL)
  1. S VAL=$G(VAOA(9)) D SET(.VPSARR,2,DFN,".251",VAL)
  1. S VAL=$$GET1^DIQ(2,DFN_",",.2515,"E") D SET(.VPSARR,2,DFN,".2515",VAL)
  1. S VAL=$$GET1^DIQ(2,DFN_",",.2516,"E") D SET(.VPSARR,2,DFN,".2516",VAL)
  1. ;
  1. QUIT
  1. ;
  1. SET(VPSARR,VPSFL,VPSIEN,VPSFLD,VPSDA,VPSDS) ;Set line item to output array
  1. I VPSDA'="" D SET^VPSRPC1(.VPSARR,VPSFL,VPSIEN,VPSFLD,VPSDA,$G(VPSDS),6) ;Set line item to output array
  1. QUIT