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

DGPT101.m

Go to the documentation of this file.
  1. DGPT101 ;ALB/MTC,HIOFO/FT - 101/701 Austin Edit Checks ;2/2/15 10:40am
  1. ;;5.3;Registration;**8,164,180,247,415,678,696,884**;Aug 13, 1993;Build 31
  1. ;
  1. ;no external references
  1. ;
  1. EN ;
  1. S (DGPTFEF,DGPTERC)=0
  1. 101 ;-- process 101+701 data
  1. N ERROR
  1. ;
  1. PARSE ;Set up record string, Call routine to parse record
  1. S DGPTSTR=^TMP("AEDIT",$J,NODE,SEQ)
  1. D SET^DGPT101P
  1. D NOW^%DTC S DGPTTY=(17+$E(X,1))_$E(X,2,3)
  1. 701 ;PROCESS 701
  1. S DGPTAL7=$O(^TMP("AEDIT",$J,"N701",SEQ)) I DGPTAL7="" S DGPTFEF=1 Q
  1. D SET^DGPT701 I DGPTFEF Q
  1. SET ; Start error piece, flags
  1. S DGPTEDFL=0,DGPTSTR=^TMP("AEDIT",$J,NODE,SEQ)
  1. SSN ; Start edits
  1. I DGPTSSN'?9N!((DGPTPS=" ")&("9"[$E(DGPTSSN))) S DGPTERC=102 D ERR G:DGPTEDFL EXIT
  1. I " P"'[DGPTPS S DGPTERC=101 D ERR G:DGPTEDFL EXIT
  1. S DGPTPS=$S(DGPTPS="P":DGPTPS,1:"A")
  1. PSEU ;check for pseudo ssn
  1. I DGPTPS="P" S DGPTERC=0 D PSE^DGPTAE01 I DGPTERC D ERR G:DGPTEDFL EXIT
  1. DTE ;admission date
  1. S X=DGPTDTS,%DT="XT" D ^%DT I Y<0 S DGPTERC=103 D ERR G:DGPTEDFL EXIT
  1. I Y>0 D DD^%DT S DGPTADT=$E(Y,5,6)_"-"_$E(Y,1,3)_"-"_$E(Y,9,12)_" "_$S($P(Y,"@",2)]"":$E($P(Y,"@",2),1,5),1:"00:00")
  1. S X1=DGPTNOW,X2=$$FMDT($E(DGPTSTR,15,20)) D ^%DTC I X<0 S DGPTERC=140 D ERR G:DGPTEDFL EXIT
  1. S DGPTDTS=$$FMDT($E(DGPTSTR,15,20))_"."_$E(DGPTSTR,21,24)
  1. LN ;patient's last name
  1. I DGPTLN'?1.U." " S DGPTERC=105 D ERR G:DGPTEDFL EXIT
  1. I DGPTFI'?.U&(DGPTFI'=" ")!((DGPTMI'?1U)&(DGPTMI'=" ")) S DGPTERC=106 D ERR G:DGPTEDFL EXIT
  1. SRA ;source of admission -- may need to add more edits later
  1. D ^DGPT10S1 I DGPTERC D ERR G:DGPTEDFL EXIT
  1. SRP ;source of payment
  1. N I
  1. S DGPTERC=0
  1. I " 1234"'[DGPTSRP S DGPTERC=109 D ERR G:DGPTEDFL EXIT G POW
  1. I "1234"[DGPTSRP S DGPTERC=109 F I=20:1:26 I DGPTSTTY[U_I_U S DGPTERC=0 Q
  1. I DGPTERC D ERR G:DGPTEDFL EXIT
  1. POW ;prisoner of war
  1. I $L(DGPTPOW)'=1!("123456789AB "'[DGPTPOW) S DGPTERC=110 D ERR G:DGPTEDFL EXIT
  1. MAR ;marital status
  1. I "MWDUSN"'[DGPTMRS S DGPTERC=111 D ERR G:DGPTEDFL EXIT
  1. GEN ;gender
  1. I "FM"'[DGPTGEN S DGPTERC=112 D ERR G:DGPTEDFL EXIT
  1. S DGPTGEN1=$S(DGPTGEN="F":1,1:0)
  1. DOB ;date of birth
  1. S DGPTERC=0 D DB^DGPTAE01 I DGPTERC D ERR G:DGPTEDFL EXIT
  1. POS ;period of service
  1. ;I DGPTPOS1'=" " S ERR=___ D ERR G:DGPTEDFL EXIT ;not used. should always be a space. ft 11/5/14
  1. S DGPTERC=0 D ^DGPT10CB I DGPTERC D ERR G:DGPTEDFL EXIT
  1. EXP ;agent orange and ionizing radiation
  1. S DGPTERC=0 D AGO^DGPTAE01 I DGPTERC D ERR G:DGPTEDFL EXIT
  1. S DGPTERC=0 D IRAD^DGPTAE01 I DGPTERC D ERR G:DGPTEDFL EXIT
  1. HOME ;state, county and zip code
  1. S DGPTERC=0 D STATE^DGPTAE01 I DGPTERC D ERR G:DGPTEDFL EXIT
  1. S DGPTERC=0 D CNTY^DGPTAE01 I DGPTERC D ERR G:DGPTEDFL EXIT
  1. S DGPTERC=0 D ZIP^DGPTAE01 I DGPTERC D ERR G:DGPTEDFL EXIT
  1. MT ;means test
  1. S DGPTERC=0 D MT^DGPTAE01 I DGPTERC D ERR G:DGPTEDFL EXIT
  1. ERI ;emergency response indicator
  1. S DGPTERC=0 I ("^K^"'[(U_DGPTERI_U))&(DGPTERI'=" ") S DGPTERC=125 D ERR G:DGPTEDFL EXIT
  1. INCOM ;income
  1. I DGPTDDS<2911001 G GOOD
  1. S DGPTERC=0 D INC^DGPTAE01 I DGPTERC D ERR G:DGPTEDFL EXIT
  1. ;the following checks are added with dg*5.3*884 and will be active when icd10 is turned on. ft 11/4/14
  1. MST ;military sexual trauma
  1. I DGPTFMT=3 S DGPTERC=0 D MST^DGPTAE01 I DGPTERC D ERR G:DGPTEDFL EXIT
  1. CV ;combat veteran
  1. I DGPTFMT=3 S DGPTERC=0 D CV^DGPTAE01 I DGPTERC D ERR G:DGPTEDFL EXIT
  1. CVDATE ;combat veteran date
  1. I DGPTFMT=3 S DGPTERC=0 D CVDATE^DGPTAE01 I DGPTERC D ERR G:DGPTEDFL EXIT
  1. SHAD ;shipboard hazard and defense
  1. I DGPTFMT=3 S DGPTERC=0 D SHAD^DGPTAE01 I DGPTERC D ERR G:DGPTEDFL EXIT
  1. GOOD ;
  1. W:'$D(ERROR) "."
  1. ;
  1. EXIT ;
  1. K DGPTREC,DGPTORBD,DGPTLN,DGPTFI,DGPTMI,DGPTMRS,DGPTSTE,DGPTCTY,DGPTZIP,DGPTINC
  1. K DGPTSRA,DGPTTF,DGPTSRP,DGPTPOS1,DGPTEXA,DGPTEXI,DGPTMTC,DGPTDTD,DGPTDSP,DGPTDTY,DGPTDOP,DGPTDVA,DGPTDPD,DGPTDRF,DGPTDAS,DGPTDCP,DGPTDDXE,DGPTDDXO,DGPTDLR,DGPTDLC,DGPTDSC,DGPTDAGE,DGPTDRG,DGPTSTR
  1. K DGPT70LG,DGPT70SU,DGPT70DR,DGPT70X4,DGPTDXV1,DGPTDXV2,DGPTMST,DGPTCOMVET,DGPTCOMVETDT,DGPTSHAD
  1. Q
  1. ERR ;
  1. D WRTERR^DGPTAE(DGPTERC,NODE,SEQ)
  1. S ERROR=1
  1. Q
  1. FMDT(X) ; change to fm date for y2k
  1. N Y
  1. D ^%DT
  1. Q Y