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

AGEDERR3.m

Go to the documentation of this file.
  1. AGEDERR3 ; IHS/SD/TPF - EDIT CHECK CALLS
  1. ;;7.1;PATIENT REGISTRATION;**12**;AUG 25,2005;Build 1
  1. ;IHS/OIT/NKD AG*7.1*12 INSURER TYPE
  1. ;THIS RTN CONTAINS EDIT CHK SUBRTNS FOR USE IN THE EDIT
  1. ;CHK SYSTEM.
  1. ;EDIT CHK #20 - GRP NAME/PLAN NAME INCOMPLETE
  1. ;RETURNS TRUE IF MISSING
  1. Q
  1. GPNAMEMI(DFN,FINDCALL) ;EP
  1. N X,SEQ,MISSING,AGINS
  1. Q:DFN="" 1
  1. ;NEW SPECS REC'D 1/20/05
  1. I $$DECEASED^AGEDERR2(DFN) Q 0
  1. I '$$PTACTIVE^AGEDERR2(DFN) Q 0
  1. I '$$CURRUPD^AGEDERR2(DFN,1095) Q 0
  1. I '$$HASELIG^AGEDERR2(DFN) Q 0
  1. ;END NEW SPECS
  1. S MISSING=0 ;ASSUME NOT MISSING
  1. ;IF SELECTION IS DEFINED WE'RE COMING FROM AGED4A AND THE USER HAS
  1. ;SELECTED AN INSURER FROM THE AGINS ARRAY
  1. I $G(AGSELECT)'="" S AGINS(1)=AGSELECT
  1. S SEL=0
  1. I FINDCALL'="" D Q MISSING
  1. .S FINDCALL=FINDCALL_U_"AGINS("_DFN_")"
  1. .D @FINDCALL
  1. .I FINDCALL[("FINDMCD") S MISSING=$$CHKAGINS^AGEDERR(18,20,"",9)!$$CHKAGINS^AGEDERR(19,20,"",9) Q
  1. .I FINDCALL[("FINDPVT") S MISSING=$$CHKAGINS^AGEDERR(19,20,"",9) Q
  1. I FINDCALL="" D Q MISSING
  1. .F FINDCALL="FINDMCD","FINDPVT" D
  1. ..S FINDCALL=FINDCALL_U_"AGINS("_DFN_")"
  1. ..D @FINDCALL
  1. ..I FINDCALL[("FINDMCD") S MISSING=$$CHKAGINS^AGEDERR(18,20,"",9)!$$CHKAGINS^AGEDERR(19,20,"",9) Q
  1. ..I FINDCALL[("FINDPVT") S MISSING=$$CHKAGINS^AGEDERR(19,20,"",9) Q
  1. K AGINS
  1. Q MISSING
  1. ;EDIT CHK #21 - GRP #/PLAN # INCOMPLETE
  1. GPNUMISS(DFN,FINDCALL) ;EP
  1. Q:'DFN 1
  1. ;NEW SPECS REC'D 1/20/05
  1. I $$DECEASED^AGEDERR2(DFN) Q 0
  1. I '$$PTACTIVE^AGEDERR2(DFN) Q 0
  1. I '$$CURRUPD^AGEDERR2(DFN,1095) Q 0
  1. I '$$HASELIG^AGEDERR2(DFN) Q 0
  1. ;END NEW SPECS
  1. N X,SEQ,MISSING,AGINS
  1. ;IF SELECTION IS DEFINED WE'RE COMING FROM AGED4A AND THE USER HAS
  1. ;SELECTED AN INSURER FROM THE AGINS ARRAY
  1. I $G(AGSELECT)'="" S AGINS(1)=AGSELECT
  1. E D
  1. .;USER HAS NOT SELECTED FROM AGED4A SO CREATE OUR OWN AGINS
  1. .;ARRAY BASED ON VALUE OF 'FINDCALL'
  1. .I FINDCALL'="" S FINDCALL=FINDCALL_U_"AGINS("_DFN_")"
  1. .S SEL=0
  1. .I FINDCALL="" D FINDALL^AGEDERR(DFN,.AGINS)
  1. .E D @FINDCALL
  1. S MISSING=$$CHKAGINS^AGEDERR(20,21,"",1)&$$CHKAGINS^AGEDERR(12,21,"",1)
  1. K AGINS
  1. Q MISSING
  1. ;EDIT CHK #22 - MISSING/INCOMPLETE INSURANCE POL #
  1. POLNUMMI(DFN,FINDCALL) ;EP
  1. N X,SEQ,MISSING,AGINS
  1. Q:DFN="" 1
  1. ;NEW SPECS REC'D 1/20/05
  1. I $$DECEASED^AGEDERR2(DFN) Q 0
  1. I '$$PTACTIVE^AGEDERR2(DFN) Q 0
  1. I '$$CURRUPD^AGEDERR2(DFN,1095) Q 0
  1. I '$$HASELIG^AGEDERR2(DFN) Q 0
  1. ;END NEW SPECS
  1. ;IF SELECTION IS DEFINED WE'RE COMING FROM AGED4A AND THE USER HAS
  1. ;SELECTED AN INSURER FROM THE AGINS ARRAY
  1. I $G(AGSELECT)'="" S AGINS(1)=AGSELECT
  1. E D
  1. .;USER HAS NOT SELECTED FROM AGED4A SO CREATE OUR OWN AGINS
  1. .;ARRAY BASED ON VALUE OF 'FINDCALL'
  1. .I FINDCALL'="" S FINDCALL=FINDCALL_U_"AGINS("_DFN_")"
  1. .S SEL=0
  1. .I FINDCALL="" D FINDALL^AGEDERR(DFN,.AGINS)
  1. .E D @FINDCALL
  1. S MISSING=$$CHKAGINS^AGEDERR(9,22,"",1)
  1. K AGINS
  1. I $G(AGOPT("VERSION"))<7.1 Q $$POLNMMI7(DFN) ;DO PRE 7.1 CHK FOR POL # IN AUTO LIABILITY FILE ONLY
  1. Q MISSING
  1. ;CHK POL # OF AUTO LIABILITY
  1. POLNMMI7(DFN) ;EP
  1. N POLNUM,ALIEN
  1. S ALIEN="",MISSING=0
  1. F S ALIEN=$O(^AUPNAUTO("C",DFN,ALIEN)) Q:ALIEN="" D Q:MISSING
  1. .S MISSING=$P($G(^AUPNAUTO(ALIEN,0)),U,5)=""
  1. Q MISSING
  1. ;EDIT CHK #23 - MISSING PH IN PRVT INS
  1. PHMEMMS(DFN,FINDCALL) ;EP
  1. ;PER ADRIAN'S EMAIL DATED 2/3/2005 DO NOT CHECK FOR
  1. ;MISSING POLICY HOLDER IN PRVT INS
  1. Q 0
  1. N X,SEQ,MISSING,AGINS
  1. Q:DFN="" 1
  1. ;NEW SPECS REC'D 1/20/05
  1. I $$DECEASED^AGEDERR2(DFN) Q 0
  1. I '$$PTACTIVE^AGEDERR2(DFN) Q 0
  1. I '$$CURRUPD^AGEDERR2(DFN,1095) Q 0
  1. I '$$HASELIG^AGEDERR2(DFN) Q 0
  1. ;END NEW SPECS
  1. S FINDCALL="FINDPVT" ;ONLY CHK PRVT INS. AT THIS TIME.
  1. ;IF SELECTION IS DEFINED WE'RE COMING FROM AGED4A AND THE USER HAS
  1. ;SELECTED AN INSURER FROM THE AGINS ARRAY
  1. I $G(AGSELECT)'="" S AGINS(1)=AGSELECT
  1. E D
  1. .;USER HAS NOT SELECTED FROM AGED4A SO CREATE OUR OWN AGINS
  1. .;ARRAY BASED ON VALUE OF 'FINDCALL'
  1. .I FINDCALL'="" S FINDCALL=FINDCALL_U_"AGINS("_DFN_")"
  1. .S SEL=0
  1. .I FINDCALL="" D FINDALL^AGEDERR(DFN,.AGINS)
  1. .E D @FINDCALL
  1. S MISSING=$$CHKAGINS^AGEDERR(7,23,"",1)
  1. K AGINS
  1. Q MISSING
  1. ;EDIT CHECK #24 NAME FORMAT
  1. NAMEFOR(DFN,FINDCALL) ;EP
  1. N X,SEQ,MISSING,AGINS
  1. Q:DFN="" 1
  1. ;NEW SPECS REC'D 1/20/05
  1. I $$DECEASED^AGEDERR2(DFN) Q 0
  1. I '$$PTACTIVE^AGEDERR2(DFN) Q 0
  1. I '$$CURRUPD^AGEDERR2(DFN,1095) Q 0
  1. I '$$HASELIG^AGEDERR2(DFN) Q 0
  1. ;END NEW SPECS
  1. S FINDCALL="FINDPVT" ;ONLY CHK PRVT INS. AT THIS TIME.
  1. ;IF SELECTION IS DEFINED WE'RE COMING FROM AGED4A AND THE USER HAS
  1. ;SELECTED AN INSURER FROM THE AGINS ARRAY
  1. I $G(AGSELECT)'="" S AGINS(1)=AGSELECT
  1. E D
  1. .;USER HAS NOT SELECTED FROM AGED4A SO CREATE OUR OWN AGINS
  1. .;ARRAY BASED ON VALUE OF 'FINDCALL'
  1. .I FINDCALL'="" S FINDCALL=FINDCALL_U_"AGINS("_DFN_")"
  1. .S SEL=0
  1. .I FINDCALL="" D FINDALL^AGEDERR(DFN,.AGINS)
  1. .E D @FINDCALL
  1. S MISSING=$$CHKAGINS^AGEDERR(8,24,"D NAME^AUPNPED S X=$G(X)=""""","9,1") ;ROUTINE CALL
  1. K AGINS
  1. Q MISSING
  1. ;EDIT CHK #25 - INSURED'S GENDER INCOMPLETE
  1. POLSEXIN(DFN,FINDCALL) ;EP
  1. N X,SEQ,MISSING,AGINS,PHPTR
  1. Q:DFN="" 1
  1. ;NEW SPECS REC'D 1/20/05
  1. I $$DECEASED^AGEDERR2(DFN) Q 0
  1. I '$$PTACTIVE^AGEDERR2(DFN) Q 0
  1. I '$$CURRUPD^AGEDERR2(DFN,1095) Q 0
  1. I '$$HASELIG^AGEDERR2(DFN) Q 0
  1. ;END NEW SPECS
  1. S FINDCALL="FINDPVT" ;ONLY CHK PRVT INS. AT THIS TIME.
  1. ;IF SELECTION IS DEFINED WE'RE COMING FROM AGED4A AND THE USER HAS
  1. ;SELECTED AN INSURER FROM THE AGINS ARRAY
  1. I $G(AGSELECT)'="" S AGINS(1)=AGSELECT
  1. E D
  1. .;USER HAS NOT SELECTED FROM AGED4A SO CREATE OUR OWN AGINS
  1. .;ARRAY BASED ON VALUE OF 'FINDCALL'
  1. .I FINDCALL'="" S FINDCALL=FINDCALL_U_"AGINS("_DFN_")"
  1. .S SEL=0
  1. .I FINDCALL="" D FINDALL^AGEDERR(DFN,.AGINS)
  1. .E D @FINDCALL
  1. ;S MISSING=$$CHKAGINS^AGEDERR(25,25,"","9,1")
  1. ;I MISSING K AGINS Q MISSING
  1. S SEQ=0
  1. S MISSING=0
  1. F S SEQ=$O(AGINS(SEQ)) Q:SEQ="" D Q:MISSING
  1. .;DO NOT CHECK FOR ERRORS ON INSURANCE THAT IS INACTIVE NEW SPECS REC'D 1/20/05
  1. .Q:'$$ISACTIVE^AGINS($P(AGINS(SEQ),U,5),$P(AGINS(SEQ),U,6))
  1. .;END NEW SPECS REC'D 1/20/05
  1. .S PHPTR=$E($P(AGINS(SEQ),U,7),2,10) I PHPTR="" S MISSING=1 Q
  1. .S MISSING=$P($G(^AUPN3PPH(PHPTR,0)),U,8)=""
  1. K AGINS
  1. Q MISSING
  1. ;EDIT CHECK #26 - INSURER ASSIGNED PROVIDER NUMBER UNSPECIFIED
  1. ;NO SPECS
  1. PROVMISS(DFN,FINDCALL) ;EP
  1. Q 0 ;ERROR NOT IMPLEMTED YET. PAMS REQUIREMNT PER E-MAIL ADRIAN 2/4/2005
  1. N X,SEQ,MISSING,AGINS
  1. Q:DFN="" 1
  1. ;NEW SPECS REC'D 1/20/05
  1. I $$DECEASED^AGEDERR2(DFN) Q 0
  1. I '$$PTACTIVE^AGEDERR2(DFN) Q 0
  1. I '$$CURRUPD^AGEDERR2(DFN,1095) Q 0
  1. I '$$HASELIG^AGEDERR2(DFN) Q 0
  1. ;END NEW SPECS
  1. ;IF SELECTION IS DEFINED WE'RE COMING FROM AGED4A AND THE USER HAS
  1. ;SELECTED AN INSURER FROM THE AGINS ARRAY
  1. I $G(AGSELECT)'="" S AGINS(1)=AGSELECT
  1. E D
  1. .;USER HAS NOT SELECTED FROM AGED4A SO LETS CREATE OUR OWN AGINS
  1. .;ARRAY BASED ON VALUE OF 'FINDCALL'
  1. .I FINDCALL'="" S FINDCALL=FINDCALL_U_"AGINS("_DFN_")"
  1. .S SEL=0
  1. .I FINDCALL="" D FINDALL^AGEDERR(DFN,.AGINS)
  1. .E D @FINDCALL
  1. N X
  1. S SEQ=0,MISSING=0
  1. F S SEQ=$O(AGINS(SEQ)) Q:SEQ="" D Q:MISSING
  1. .;DO NOT CHECK FOR ERRORS ON INSURANCE THAT IS INACTIVE NEW SPECS REC'D 1/20/05
  1. .Q:'$$ISACTIVE^AGINS($P(AGINS(SEQ),U,5),$P(AGINS(SEQ),U,6))
  1. .;END NEW SPECS REC'D 1/20/05
  1. .Q:$P(AGINS(SEQ),U,14)'=""&($P(AGINS(SEQ),U,14)'["AUTNINS")
  1. .S INSPTR=$P(AGINS(SEQ),U,2)
  1. .S MISSING=INSPTR="" Q:MISSING
  1. .S X=$G(^AUTNINS(INSPTR,0))
  1. .S MISSING=X="" Q:MISSING
  1. .S INS=$P(X,U)
  1. .S MISSING=$O(^AUTNINS(INSPTR,15,""))="" Q:MISSING
  1. .S MISSING=$O(^AUTNINS(INSPTR,15,DUZ(2),""))="" Q:MISSING
  1. .S NODE15=$G(^AUTNINS(INSPTR,15,DUZ(2),0))
  1. .S MISSING=$P(NODE15,U,2)="" Q:MISSING
  1. K AGINS
  1. Q MISSING_U_$$ERRDATA^AGEDERR(26)_"|"_$G(INS)
  1. ;EDIT CHECK #27 - INSURER'S ADDRESS INCOMPLETE (#)
  1. INSADDIC(DFN,FINDCALL) ;EP
  1. N X,SEQ,MISSING,AGINS,INSPTR,POLNUM,INNAME,INSTYPE
  1. Q:DFN="" 1
  1. ;NEW SPECS REC'D 1/20/05
  1. I $$DECEASED^AGEDERR2(DFN) Q 0
  1. I '$$PTACTIVE^AGEDERR2(DFN) Q 0
  1. I '$$CURRUPD^AGEDERR2(DFN,1095) Q 0
  1. I '$$HASELIG^AGEDERR2(DFN) Q 0
  1. ;END NEW SPECS
  1. ;IF SELECTION IS DEFINED WE'RE COMING FROM AGED4A AND THE USER HAS
  1. ;SELECTED AN INSURER FROM THE AGINS ARRAY
  1. I $G(AGSELECT)'="" S AGINS(1)=AGSELECT
  1. E D
  1. .;USER HAS NOT SELECTED FROM AGED4A SO LETS CREATE OUR OWN AGINS
  1. .;ARRAY BASED ON VALUE OF 'FINDCALL'
  1. .I FINDCALL'="" S FINDCALL=FINDCALL_U_"AGINS("_DFN_")"
  1. .S SEL=0
  1. .I FINDCALL="" D FINDALL^AGEDERR(DFN,.AGINS)
  1. .E D @FINDCALL
  1. S SEQ=0,MISSING=0
  1. F S SEQ=$O(AGINS(SEQ)) Q:SEQ="" D Q:MISSING
  1. .;DO NOT CHECK FOR ERRORS ON INSURANCE THAT IS INACTIVE NEW SPECS REC'D 1/20/05
  1. .Q:'$$ISACTIVE^AGINS($P(AGINS(SEQ),U,5),$P(AGINS(SEQ),U,6))
  1. .;END NEW SPECS REC'D 1/20/05
  1. .;IF ITS GUARANTOR ADDRESS WE'RE LOOKING FOR WE HAVE TO CHECK DIFFERENTLY
  1. .Q:AGINS(SEQ)[("[G]")
  1. .S INSPTR=$P(AGINS(SEQ),U,2)
  1. .S MISSING=INSPTR="" Q:MISSING
  1. .;S INSTYPE=$P($G(^AUTNINS(INSPTR,2)),U)
  1. .S INSTYPE=$$INSTYP^AGUTL(INSPTR) ;IHS/OIT/NKD AG*7.1*12
  1. .I INSTYPE="D" S INSPTR=$$CAIDMISS(AGINS(SEQ))
  1. .S POLNUM=$P(AGINS(SEQ),U,9)
  1. .S X=$G(^AUTNINS(INSPTR,0))
  1. .S MISSING=X="" Q:MISSING
  1. .S MISSING=$P(X,U,2)="" Q:MISSING
  1. .S MISSING=$P(X,U,3)="" Q:MISSING
  1. .S MISSING=$P(X,U,4)="" Q:MISSING
  1. .S MISSING=$P(X,U,5)="" Q:MISSING
  1. K AGINS
  1. Q MISSING_U_$$ERRDATA^AGEDERR(27)_"|"_$G(POLNUM)_"|"_$G(INNAME)
  1. CAIDMISS(RECORD) ;EP - DETERMINE IF PLAN NAME IS MISSING FOR MEDICAID INSURERS
  1. N PTR,STATEPTR,IENS,INSPTR
  1. ;PER SPECS GIVEN 7/29/2005
  1. S INSPTR=$P(RECORD,U,2)
  1. S PTR=$P(RECORD,U,12) ;CHECK PLAN NAME IN MEDICAID FILE ITSELF
  1. I PTR'="" Q PTR ;IF ITS POPULATED RETURN IT
  1. S PTR=""
  1. S IENS=$P($P(RECORD,U,11),",")
  1. S STATEPTR=$P($G(^AUPNMCD(IENS,0)),U,4)
  1. S:STATEPTR'="" PTR=$P($G(^AUTNINS(3,13,STATEPTR,0)),U,2)
  1. I PTR'="" Q PTR
  1. Q INSPTR