BMXADOF2 ; IHS/CIHA/GIS - RPC CALL FOR EXTENDED FUNCTIONALITY OF BMXNet UTILITIES ; ;;2.1;BMX;;Jul 26, 2009 ; THIS ROUTINE CONTAINS SPECIAL ENTRY POINTS FOR UPDATING RPMS ; ; ; VVAR(DATA) ; EP-CHECK SPECIAL VARIABLES REQUIRED FOR UPDATING THE VISIT FILE I '$L(DATA) S OUT="Update cancelled. Missing data string" Q 0 N X,I,Y,VDATE,%DT K AUPNPAT,AUPNDOB,AUPNDOD,AUPNVSIT ; THE VARS ARE NOT NEW'D SINCE THEY WILL BE USED BY THE CALLING ROUTINE S AUPNTALK=1,AUPNOVRR=1 S X=DATA S X=$TR(X,($C(30)_"+"),$C(30)) S X=$TR(X,($C(30)_"-"),$C(30)) S X=$TR(X,($C(30)_"`"),$C(30)) S DATA=X ; STRIP OFF TRANSACTION FLAGS FROM FIELD NUMBERS S X=$P(DATA,"|",2),X=$P(X,$C(30)),VDATE=-1 I $E(X,1,7)?7N S VDATE=X E S %DT="T" D ^%DT S VDATE=Y I VDATE=-1 S OUT="Update cancelled. Visit timestamp misssing/invalid" Q 0 S Y=+$P(DATA,($C(30)_".05|"),2) I 'Y S OUT="Update cancelled. Patient data missing" Q 0 ; FAILED TO FIND THE PATIENT IEN S AUPNPAT=Y S AUPNDOB=$P($G(^DPT(AUPNPAT,0)),U,3) I 'AUPNDOB S OUT="Update cancelled. Missing DOB" Q 0 I AUPNDOB>VDATE S OUT="Update cancelled. Patient born afer visit date???" Q 0 S AUPNDOD=$P($G(^DPT(AUPNPAT,.35)),U) I AUPNDOD,AUPNDOD