IVMZ7CCD ;BAJ,TGH - HL7 Z07 CONSISTENCY CHECKER -- CATASTROPHIC DISABILITY SUBROUTINE ; 11/9/05 9:30am
Source file <IVMZ7CCD.m>
Package | Total | Call Graph |
---|---|---|
Registration | 3 | ($$LIMBOK,$$TYPE,$$VALID)^DGENA5 $$GET^DGENCDA $$ISCD^DGENCDA1 |
VA FileMan | 2 | CHK^DIE $$EXTERNAL^DILFD |
action | A | extended action | Ea | event driver | Ed | subscriber | Su | protocol | O | limited protocol | LP | run routine | RR | broker | B | edit | E | server | Se | P | screenman | SM | inquire | I |
Package | Total | Caller Graph |
---|---|---|
Income Verification Match | 1 | IVMZ07C |
Name | Comments | DBIA/ICR reference |
---|---|---|
EN(DFN) | ; entry point. Patient DFN is sent from calling routine.
; initialize working variables |
|
CD(VCD) | ; Is Patient Catastrophically disabled? If not, we need to examine patient's record to see if qualified for CD
; Whether qualified or not, if patient is listed as NOT CD, the rest of the rules should not be checked. Therefore, ; if DGCDIS("VCD") does not = "Y" system will exit after this rule without checking any further. |
|
701 | ;Catastrophic Disability 'Decided By' Cannot be 'HINQ'
|
|
702 | ;Catastrophic Disability 'Decided By' not valid
|
|
703 | ;"Catastrophic Disability 'Decided By' required"
|
|
704 | ;"Catastrophic Disability Review Date Required"
|
|
705 | ;"Catastrophic Disability Review Date Invalid"
|
|
706 | ;"CD Condition Score not valid"
|
|
707 | ;"CD Review Date greater than CD Date of Determination"
|
|
708 | ;"CD Status Affected Extremity' Invalid"
|
|
709 | ;"CD Status Diagnoses' Not Valid"
; .396 CD STATUS DIAGNOSES field (multiple): |
|
710 | ;"'CD Status Procedure' Not Valid"
; .397 CD STATUS PROCEDURES field (multiple): |
|
711 | ;"No CD Status Reason is Present"
|
|
712 | ;"'Date Of Catastophic Disability Decision' Not Valid"
|
|
713 | ;"'Date Of Catastophic Disability Decision' Required"
|
|
714 | ;"'Facility Making Catastrophic Disability Determination' Not Valid"
|
|
715 | ;"'Method Of Determination' Is A Required Value"
|
|
716 | ;"'Method Of Determination' Not Valid"
|
|
717 | ;"Not Enough Diagnoses/Procedures/Conditions To Qualify For CD Status"
|
|
718 | ;"Permanent Status Indicator' Not Valid"
|
|
719 | ;"'Veteran Catastrophically Disabled?' Field Must Have A Response"
; .39 VETERAN CATASTROPHICALLY DISABLED? field. |
|
720 | ;"Veteran Has Enough Diagnoses/Procedures/Conditions To Qualify For CD Status"
; We check this rule at the beginning of the routine. No need to check it here, ; but we need the label as a place holder. |
|
723 | ;"Catastrophic Disability Review date must be a precise date"
|
|
724 | ;"Catastrophic Disability Date of Decision must be a precise date"
|
|
725 | ;"Catastrophic Disability Procedure code must be accompanied with an Affected Extremity field"
; Procedure list = DGCDIS("PROC",ITEM) ; Affected Extremity list = DGCDIS("EXT",ITEM) ; This tag makes sure that there is at least one Affected Extremity for each procedure code. |
|
726 | ;"Catastrophic Disablity condition code requires a Score field"
; Condition list = DGCDIS("COND",ITEM) ; Score list = DGCDIS("SCORE",ITEM) |
|
727 | ||
728 | ||
FILE | ;file the inconsistencies in a temp global
|
FileNo | Call Tags |
---|---|
^DPT - [#2] | CHK^DIE, EXTERNAL^DILFD |
Name | Line Occurrences (* Changed, ! Killed) |
---|---|
^DGIN(38.6 - [#38.6] | EN+47, EN+48 |
^TMP($J | FILE+1* |
Name | Line Occurrences |
---|---|
$$CD | EN+40 |
@( | EN+49 |
FILE | EN+41, EN+50 |
>> | Not killed explicitly |
* | Changed |
! | Killed |
~ | Newed |
Name | Field # of Occurrence |
---|---|
DFN | EN~, EN+34, FILE+1 |
DGCDIS | EN+2~, EN+34, CD+4, 717+1 |
DGCDIS("BY" | 701+1, 702+1, 703+1 |
DGCDIS("COND" | 706+3, 706+4, 711+1, 718+2, 726+5, 728+1 |
DGCDIS("DATE" | 707+1, 712+3, 712+4, 713+1, 724+2 |
DGCDIS("DESCR" | 711+1, 727+4, 727+5, 728+1 |
DGCDIS("DIAG" | 709+4, 709+5, 711+1, 728+1 |
DGCDIS("EXT" | 708+4, 708+5, 725+7, 725+8 |
DGCDIS("FACDET" | 714+1 |
DGCDIS("METDET" | 715+1, 716+1 |
DGCDIS("PERM" | 718+3 |
DGCDIS("PROC" | 708+3, 708+5, 710+4, 710+5, 711+1, 725+6, 728+1 |
DGCDIS("REVDTE" | 704+1, 705+2, 707+1, 723+2 |
DGCDIS("SCORE" | 706+4, 726+6, 726+7 |
DGCDIS("VCD" | EN+40, 714+1, 719+2 |
EIEN | 708+1~, 708+4*, 708+5 |
ERR | 706+1~, 706+2*, 706+4*, 706+5, 708+1~, 708+2*, 708+5*, 708+6, 709+2~, 709+3* , 709+5*, 709+6, 710+2~, 710+3*, 710+5*, 710+6, 725+4~, 725+5*, 725+7*, 725+8* , 725+9, 726+3~, 726+4*, 726+6*, 726+7*, 726+8, 727+2~, 727+3*, 727+5*, 727+6 |
EXTERNAL | 712+1~, 712+4*, 712+5, 712+6 |
FILERR | EN+2~, EN+41, EN+50, FILE+1 |
FILERR( | 701+1*, 702+1*, 703+1*, 704+1*, 705+3*, 706+5*, 707+1*, 708+6*, 709+6*, 710+6* , 711+1*, 712+7*, 713+1*, 714+1*, 715+1*, 716+1*, 717+1*, 718+3*, 719+2*, 723+3* , 724+3*, 725+9*, 726+8*, 727+6*, 728+1* |
FILERR(720 | CD+4* |
ITEM | 706+1~, 706+2*, 706+3*, 706+4, 708+1~, 708+2*, 708+3*, 708+4, 708+5, 709+2~ , 709+3*, 709+4*, 709+5, 710+2~, 710+3*, 710+4*, 710+5, 718+1~, 718+2*, 718+3 , 725+4~, 725+5*, 725+6*, 725+7, 725+8, 726+3~, 726+4*, 726+5*, 726+6, 726+7 , 727+2~, 727+3*, 727+4*, 727+5 |
OK | 712+1~, 712+2*, 712+3*, 712+5*, 712+6*, 712+7 |
PASS | EN+2~, EN+34* |
RESULT | 705+1~, 705+2, 705+3, 712+1~, 712+6, 723+1~, 723+2, 723+3, 724+1~, 724+2 , 724+3 |
RULE | EN+2~, EN+47*, EN+48, EN+49, 701+1, 702+1, 703+1, 704+1, 705+3, 706+5 , 707+1, 708+6, 709+6, 710+6, 711+1, 712+7, 713+1, 714+1, 715+1, 716+1 , 717+1, 718+3, 719+2, 723+3, 724+3, 725+9, 726+8, 727+6, 728+1 |
VCD | CD~, CD+3 |
Y | EN+2~, EN+48*, EN+49 |