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

XHDAUTH.m

Go to the documentation of this file.
  1. XHDAUTH ; SLC/JER - Authentication calls for HeVD ; 25 Jul 2003 9:42 AM
  1. ;;1.0;HEALTHEVET DESKTOP;;Jul 15, 2003
  1. AUTHNTC(XHDY,ACCESS,VERIFY) ; authenticate user based on access/verify pair
  1. N XHD,UID,SPEC,COL,XHDI
  1. S (XHD,XHDI)=0
  1. S XHDY=$NA(^TMP("XHDCUID",$J)) K @XHDY
  1. D XMLHDR(XHDY,.XHDI)
  1. S UID=$$CHKAV^XUVERIFY(ACCESS_";"_VERIFY)
  1. I '+UID D
  1. . S XHDI=XHDI+1
  1. . S @XHDY@(XHDI)="<errorText>Invalid Access/Verify Code Pair</errorText>"
  1. E D UIDTBL(XHDY,UID,.XHDI)
  1. D XMLFOOT(XHDY,.XHDI)
  1. Q
  1. BYPASS(XHDY) ; get user demographics w/o security
  1. N XHD,UID,SPEC,COL,XHDI
  1. S (XHD,XHDI)=0,UID=$G(DUZ)
  1. S XHDY=$NA(^TMP("XHDCUID",$J)) K @XHDY
  1. D XMLHDR(XHDY,.XHDI)
  1. I '+UID D
  1. . S XHDI=XHDI+1
  1. . S @XHDY@(XHDI)="<errorText>Invalid Access/Verify Code Pair</errorText>"
  1. E D UIDTBL(XHDY,UID,.XHDI)
  1. D XMLFOOT(XHDY,.XHDI)
  1. Q
  1. XMLHDR(XHDY,XHDI) ; append header
  1. S XHDI=XHDI+1
  1. S @XHDY@(XHDI)="<result xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xsi:noNamespaceSchemaLocation=""AuthenticateSchema.xsd"">"
  1. Q
  1. XMLFOOT(XHDY,XHDI) ; append footer
  1. S XHDI=XHDI+1
  1. S @XHDY@(XHDI)="</result>"
  1. Q
  1. UIDTBL(XHDY,UID,XHDI) ; userIdTable
  1. N SSN,NSDA,FNM,LNM,MI,TITLE
  1. S NSDA=+$G(^VA(200,UID,3.1))
  1. I NSDA D
  1. . N NSE
  1. . S NSE=$G(^VA(20,NSDA,1)),LNM=$P(NSE,U),FNM=$P(NSE,U,2),MI=$E($P(NSE,U,3))
  1. E D
  1. . N NAME
  1. . S NAME=$$NAME^XUSER(UID)
  1. . S LNM=$$NAME^TIULS(NAME,"LAST"),FNM=$$NAME^TIULS(NAME,"FIRST"),MI=$$NAME^TIULS(NAME,"MI")
  1. S SSN=$E($P($G(^VA(200,UID,1)),U,9),6,10)
  1. S TITLE=$P($G(^VA(200,UID,20)),U,3)
  1. S XHDI=XHDI+1,@XHDY@(XHDI)="<userInfo>"
  1. D ADDELEM(XHDY,"uniqueId",UID,.XHDI)
  1. D ADDELEM(XHDY,"firstName",FNM,.XHDI)
  1. D ADDELEM(XHDY,"lastName",LNM,.XHDI)
  1. D ADDELEM(XHDY,"middleInitial",MI,.XHDI)
  1. D ADDELEM(XHDY,"title",TITLE,.XHDI)
  1. D ADDELEM(XHDY,"lastFourSSN",SSN,.XHDI)
  1. S XHDI=XHDI+1,@XHDY@(XHDI)="</userInfo>"
  1. Q
  1. ;
  1. ADDELEM(XHDY,TAG,VAL,XHDI) ; Insert an element with its value
  1. S XHDI=XHDI+1,@XHDY@(XHDI)="<"_TAG_$S(VAL']"":"/>",1:">"_$$ESCAPE^XHDLXM(VAL)_"</"_TAG_">")
  1. Q
  1. BUILDROW(COL,RNM) ; Resolve fields for each row
  1. S COL(1)=$$ESCAPE^XHDLXM(RNM)
  1. Q