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

IVMZ7CS.m

Go to the documentation of this file.
  1. IVMZ7CS ;ALB/TDM,ERC,ARF - HL7 Z07 CONSISTENCY CHECKER -- SERVICE SUBROUTINE ; 8/1/08 1:54pm
  1. ;;2.0;INCOME VERIFICATION MATCH;**105,132,115,211**;OCT 21,1994;Build 14
  1. ;
  1. ; Service Consistency Checks
  1. ; This routine checks the various elements of service information
  1. ; prior to building a Z07 record. Any tests which fail consistency
  1. ; check will be saved to the ^DGIN(38.6 record for the patient.
  1. ;
  1. ; Must be called from entry point
  1. Q
  1. ;
  1. EN(DFN,DGP) ; entry point. Patient DFN is sent from calling routine.
  1. ; initialize working variables
  1. N RULE,Y,X,FILERR
  1. ;
  1. ; loop through rules in INCONSISTENT DATA ELEMENTS file.
  1. ; execute only the rules where CHECK/DON'T CHECK and INCLUDE IN Z07
  1. ; CHECKS fields are turned ON.
  1. ;
  1. ; ***NOTE loop boundary (501-517) must be changed if rule numbers
  1. ; are added ***
  1. F RULE=501:1:517 I $D(^DGIN(38.6,RULE)) D
  1. . S Y=^DGIN(38.6,RULE,0)
  1. . I $P(Y,U,6) D @RULE
  1. I $D(FILERR) M ^TMP($J,DFN)=FILERR
  1. Q
  1. ;
  1. 501 ; POW STATUS INVALID
  1. S X=$P(DGP("PAT",.52),U,5) I (X'="")&(X'="Y")&(X'="N")&(X'="U") S FILERR(RULE)=""
  1. Q
  1. ;
  1. 502 ; MIL DIS RETIREMENT INVALID
  1. S X=$P(DGP("PAT",.36),U,12) I (X'="")&(X'=0)&(X'=1) S FILERR(RULE)=""
  1. Q
  1. ;
  1. 503 ; DISCHARGE DUE TO DISAB INVALID
  1. S X=$P(DGP("PAT",.36),U,13) I (X'="")&(X'=0)&(X'=1) S FILERR(RULE)=""
  1. Q
  1. ;
  1. 504 ; AGENT ORANGE EXPOSURE INVALID
  1. S X=$P(DGP("PAT",.321),U,2) I (X'="")&(X'="Y")&(X'="N")&(X'="U") S FILERR(RULE)=""
  1. Q
  1. ;
  1. 505 ; RADIATION EXPOSURE INVALID
  1. S X=$P(DGP("PAT",.321),U,3) I (X'="")&(X'="Y")&(X'="N")&(X'="U") S FILERR(RULE)=""
  1. Q
  1. ;
  1. 506 ; SW ASIA CONDITIONS INVALID (Name changed from Env Con. DG*5.3*688)
  1. S X=$P(DGP("PAT",.322),U,13) I (X'="")&(X'="Y")&(X'="N")&(X'="U") S FILERR(RULE)=""
  1. Q
  1. ;
  1. 507 ; RAD EXPOSURE METHOD INVALID
  1. ;IVM*2.0*211 - No longer checking the rule 507 (Refer to DG*5.3*1090)
  1. ;I $P(DGP("PAT",.321),U,3)="Y" S X=$P(DGP("PAT",.321),U,12) I X'?1N!(X<2)!(X>10) S FILERR(RULE)=""
  1. Q
  1. ;
  1. 508 ; MST STATUS INVALID
  1. S X=$P($G(DGP("MST",0)),U,3) I (X'="")&(X'="Y")&(X'="N")&(X'="D")&(X'="U") S FILERR(RULE)=""
  1. Q
  1. ;
  1. 509 ; MST STATUS CHANGE DATE MISSING
  1. S X=$P($G(DGP("MST",0)),U,3) I ((X="Y")!(X="N")!(X="D")!(X="U")),$P(DGP("MST",0),U)<1 S FILERR(RULE)=""
  1. Q
  1. ;
  1. 510 ; MST STATUS SITE REQUIRED
  1. S X=$P($G(DGP("MST",0)),U,3) I ((X="Y")!(X="N")!(X="D")!(X="U")),$P(DGP("MST",0),U,6)="" S FILERR(RULE)=""
  1. Q
  1. ;
  1. 511 ; MST STATUS SITE INVALID
  1. S X=$P($G(DGP("MST",0)),U,6) I X'="",'$$TF^XUAF4(X) S FILERR(RULE)=""
  1. Q
  1. ;
  1. 512 ; AO EXPOSURE LOCATION MISSING
  1. ; Note: RULE #60 in IVMZ7CR is a duplicate of this rule
  1. Q
  1. ;
  1. 513 ; MS ENTRY DATE REQUIRED
  1. ; Note: RULE #72 in IVMZ7CR is a duplicate of this rule
  1. Q
  1. ;
  1. 514 ; MS SEPARATION DATE REQUIRED
  1. ; Note: RULE #72 in IVMZ7CR is a duplicate of this rule
  1. Q
  1. ;
  1. 515 ; CONFLICT FROM/TO DATE REQUIRED
  1. ; Note: RULE #74 in IVMZ7CR is a duplicate of this rule
  1. Q
  1. ;
  1. 516 ; DOB INVALID-MEXICAN BORDER WAR
  1. N MBW
  1. I $D(^DPT(DFN,"E")) D
  1. . S MBW=$O(^DIC(8,"B","MEXICAN BORDER WAR","")) Q:MBW=""
  1. . S X=0 F S X=$O(^DPT(DFN,"E",X)) Q:(X<1)!$D(FILERR(RULE)) D
  1. . . I $P(^DPT(DFN,"E",X,0),U)=MBW,$P(DGP("PAT",0),U,3)>2061231 S FILERR(RULE)=""
  1. Q
  1. ;
  1. 517 ; DOB INVALID-WORLD WAR I
  1. N WWI
  1. I $D(^DPT(DFN,"E")) D
  1. . S WWI=$O(^DIC(8,"B","WORLD WAR I","")) Q:WWI=""
  1. . S X=0 F S X=$O(^DPT(DFN,"E",X)) Q:(X<1)!$D(FILERR(RULE)) D
  1. . . I $P(^DPT(DFN,"E",X,0),U)=WWI,$P(DGP("PAT",0),U,3)>2071231 S FILERR(RULE)=""
  1. Q
  1. YM(X) ; Returns whether date has year & month values: 1=yes, 0=no
  1. Q ($E(X,1,3)>0)&($E(X,4,5)>0)
  1. ;
  1. YY(X) ; Returns whether date has year a value: 1=yes, 0=no
  1. Q ($E(X,1,3)>0)