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

AGSSPRT.m

Go to the documentation of this file.
  1. AGSSPRT ; IHS/ASDS/EFG - SSN VERIFICATION FROM NPIRS/SSA ;
  1. ;;7.1;PATIENT REGISTRATION;;AUG 25,2005
  1. ;
  1. K DUOUT,DFOUT,DIRUT,DTOUT
  1. LOOP ;
  1. S AGSDFN=0 F S AGSDFN=$O(^AGSSTEMP(AGSSITE,AGSGLO,AGSDFN)) Q:'AGSDFN Q:($G(DUOUT)!$G(DFOUT)!$G(DURUT)!$G(DTOUT)) S AGSCREC=^AGSSTEMP(AGSSITE,AGSGLO,AGSDFN) D PRINT
  1. Q
  1. PRINT ;
  1. U IO D AGSSPG Q:($G(DIRUT)!$G(DUOUT)!$G(DFOUT)!$G(DTOUT))
  1. D LVAR,PATL ;Print the info from Local database
  1. I AGSCREC]"" D
  1. .D CVAR,PATC ;Print the info from NPIRS
  1. E D ;else
  1. .W !! ;Allow for no record printed
  1. Q
  1. VARS ;
  1. CVARS ;
  1. CVAR ;
  1. S AGSUFAC=$P(AGSCREC,U)
  1. S AGSHRN=+$P(AGSCREC,U,2)
  1. S AGSCSSN1=+$P(AGSCREC,U,3)
  1. S AGSCLN=$P(AGSCREC,U,4)
  1. S AGSCFN=$P(AGSCREC,U,5)
  1. S AGSCMN=$P(AGSCREC,U,6)
  1. S AGSCDOB=$P(AGSCREC,U,7)-17000000
  1. S AGSCSX=$P(AGSCREC,U,8)
  1. S AGSCVC=$P(AGSCREC,U,9)
  1. S AGSCSSN2=+$P(AGSCREC,U,10)
  1. F AGSX="AGSCLN","AGSCFN","AGSCMN" S AGSY=$L(@AGSX) I AGSY F AGSI=AGSY:-1:0 Q:$E(@AGSX,AGSI)]" " S @AGSX=$E(@AGSX,0,AGSI-1)
  1. S AGSCNM=AGSCLN_","_AGSCFN
  1. S:AGSCVC="V" AGSCSSN2=AGSCSSN1
  1. ECVAR Q
  1. LVAR ;
  1. S AG0=^DPT(AGSDFN,0),AGSHRN=$G(^AUPNPAT(AGSDFN,41,AGSSITE,0)),AGSHRN=$P(AGSHRN,U,2)
  1. S AGSLNM=$P(AG0,U),AGSLSSN=$P(AG0,U,9),AGSLSX=$P(AG0,U,2)
  1. S AGSLDOB=$P(AG0,U,3)
  1. ELVAR Q
  1. PATL ;
  1. U IO W !,AGSHRN,?8,AGSLNM,?35,"L: ",AGSLSSN,?49,"I: ",$J(AGSDFN,9),?64,AGSLVC,?66,AGSLSX,?68,$$MDT(AGSLDOB)
  1. Q
  1. PATC ;
  1. W !,AGSHRN,?8,AGSCNM,?35,"S: ",AGSCSSN2,?49,"D: ",$J(AGSCSSN1,9),?64,AGSCVC,?66,AGSCSX,?68,$$MDT(AGSCDOB),!
  1. Q
  1. LAST ;
  1. AGSSPG ;EP - page controller
  1. Q:($Y<(IOSL-4))!($G(DOUT)!$G(DFOUT))
  1. S AGSSPG=$G(AGSSPG)+1
  1. I $E(IOST)="C" K DIR S DIR(0)="E" D ^DIR
  1. Q:($G(DIROUT)!$G(DUOUT)!$G(DTOUT)!$G(DROUT))
  1. D AGSSHDR,AGSSHD
  1. Q
  1. AGSSHDR ;EP - write page header
  1. W:$Y @IOF W ! Q:'$D(AGSSHDR) S:'$D(AGSSLINE) $P(AGSSLINE,"-",IOM-2)="" S:'$D(AGSSPG) AGSSPG=1 I '$D(AGSSDT) S %H=$H D YX^%DTC S AGSSDT=Y
  1. U IO W ?(IOM-40-$L(AGSSHDR)/2),AGSSHDR,?(IOM-40),AGSSDT,?(IOM-10),"PAGE: ",AGSSPG,!,AGSSLINE
  1. Q
  1. AGSSHD ;EP - write column header / message
  1. I AGSSPG=1 W !,?3,"Local Data",!,?5,"HRN",?10,"Name ",?20,"L: Local SSN",?44,"I: Internal Entry Number for patient"
  1. I AGSSPG=1,"RD,RN,RP"[AGSGLO W !,?3,"NPIRS Data",!,?5,"HRN",?10,"Name ",?20,"S: Social Security SSN ",?44,"D: IHS NPIRS SSN",!,?5,"Codes: V-Verified A-Only one on file *-1 digit differs",!
  1. W !,"HRN",?8,"Name",?35,"SSNs",?60,"Code",?65,"Sex",?70,"DOB"
  1. Q:($G(DIROUT)!$G(DUOUT)!$G(DTOUT)!$G(DROUT))
  1. EAGSSPG Q
  1. MDT(X) ;EP - date format dd mmm yyyy
  1. I X="" Q X
  1. S X=+$E(X,6,7)_" "_$P($T(MTHS+1),";;",+$E(X,4,5)+1)_" "_($E(X,1,3)+1700)
  1. S X=$J(X,12)
  1. Q X
  1. MTHS ;months
  1. ;;JAN;;FEB;;MAR;;APR;;MAY;;JUN;;JUL;;AUG;;SEP;;OCT;;NOV;;DEC