The MORGAM Data Centre (MDC) checks all data received from the MORGAM Participating Centres (MPC) according to these edit specifications at the time when the data are included into the MORGAM data base. All possible inconsistencies revealed in the data are reported to the MPC using Computer Generated Error Correction Form, or by other means if the number of possible errors in the data is very large.
Every record entered into the MDC data base is subjected to the constraints listed below. If the data do not meet the conditions of the constraint, an error message will be generated. Such error messages are printed on a Computer Generated Error Correction Form.
Data values which do not meet the conditions of a constraint, are either incorrect or unusual. All data values printed on the Computer Generated Error Correction Form should be checked from the source of the data. However, such values should not be changed unless they can be shown to be incorrect.
Univariate checks |
| Constraint name | Description |
| CENTRE_LIMITS_88 | Accepted values for CENTRE are: 11, 12, 19, 20, 22, 26, 31, 32, 34, 35, 36, 37, 39, 45, 47, 54, 55, 57, 59, 60, 71, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 99 |
| COHORT_LIMITS_88 | Accepted values for COHORT are: 01 to 03, 21 to 99 |
| RUNIT_LIMITS_88 | Accepted values for RUNIT are: 01 to 08 |
| SERIAL_LIMITS_88 | Accepted values for SERIAL are: 1 to 999999 |
| SEX_LIMITS_88 | Accepted values for SEX are: 1 to 2 |
| APSOUR1_LIMITS_22 | Accepted values for APSOUR1 are: 1, 2, 8, 9 |
| APSOUR2_LIMITS_22 | Accepted values for APSOUR2 are: 1, 2, 8, 9 |
| APSOUR3_LIMITS_22 | Accepted values for APSOUR3 are: 1, 2, 8, 9 |
| CESOUR1_LIMITS_22 | Accepted values for CESOUR1 are: 1, 2, 8, 9 |
| CESOUR2_LIMITS_22 | Accepted values for CESOUR2 are: 1, 2, 8, 9 |
| CESOUR3_LIMITS_22 | Accepted values for CESOUR3 are: 1, 2, 8, 9 |
| CESOUR4_LIMITS_22 | Accepted values for CESOUR4 are: 1, 2, 8, 9 |
| CESOUR5_LIMITS_22 | Accepted values for CESOUR5 are: 1, 2, 8, 9 |
| CESOUR6_LIMITS_22 | Accepted values for CESOUR6 are: 1, 2, 8, 9 |
| CESOUR7_LIMITS_22 | Accepted values for CESOUR7 are: 1, 2, 8, 9 |
| DEATHBH_LIMITS_22 | Accepted values for DEATHBH are: 1, 2, 8, 9 |
| DGNCAT_LIMITS_22 | Accepted values for DGNCAT are: 1 to 8 |
| DSOUR1_LIMITS_22 | Accepted values for DSOUR1 are: 1, 2, 8, 9 |
| DSOUR2_LIMITS_22 | Accepted values for DSOUR2 are: 1, 2, 8, 9 |
| DSOUR3_LIMITS_22 | Accepted values for DSOUR3 are: 1, 2, 8, 9 |
| DSOUR4_LIMITS_22 | Accepted values for DSOUR4 are: 1, 2, 8, 9 |
| DSOUR5_LIMITS_22 | Accepted values for DSOUR5 are: 1, 2, 8, 9 |
| ECG_LIMITS_22 | Accepted values for ECG are: 1 to 5, 8, 9 |
| ENZ_LIMITS_22 | Accepted values for ENZ are: 1 to 5, 8, 9 |
| EVENT_LIMITS_22 | Accepted values for EVENT are: 1 to 99 |
| EVTYPE_LIMITS_22 | Accepted values for EVTYPE are: 1 to 4 |
| FORM_LIMITS_22 | Accepted values for FORM are: 22 |
| ICDVER_LIMITS_22 | Accepted values for ICDVER are: 1, 2, 3, 8 |
| MARKER_LIMITS_22 | Accepted values for MARKER are: 1, 2, 8, 9 |
| NECSUM_LIMITS_22 | Accepted values for NECSUM are: 1, 2, 4, 8, 9 |
| REVSOUR1_LIMITS_22 | Accepted values for REVSOUR1 are: 1, 2, 8, 9 |
| REVSOUR2_LIMITS_22 | Accepted values for REVSOUR2 are: 1, 2, 8, 9 |
| REVSOUR3_LIMITS_22 | Accepted values for REVSOUR3 are: 1, 2, 8, 9 |
| REVTYPE_LIMITS_22 | Accepted values for REVTYPE are: 1 to 4, 8, 9 |
| SURVIV_LIMITS_22 | Accepted values for SURVIV are: 1, 2, 8 |
| SYMPT_LIMITS_22 | Accepted values for SYMPT are: 1 to 5, 8, 9 |
| THROMBD_LIMITS_22 | Accepted values for THROMBD are: 1, 2, 8, 9 |
| VERSN_LIMITS_22 | Accepted values for VERSN are: 4 |
Multivariate checks |
| Constraint name | Description |
| COHORT_CENTRE_88 |
If CENTRE = 11 then COHORT should be: 01, 02, 03 |
| If CENTRE = 12 then COHORT should be: 01, 02, 03 |
| If CENTRE = 19 then COHORT should be: 01, 02, 03, 42, 43 |
| If CENTRE = 20 then COHORT should be: 01, 02, 03, 24, 25, 26, 34, 42, 43, 44, 45, 46, 52, 53, 54, 55, 62, 63, 64, 72, 73, 82 |
| If CENTRE = 22 then COHORT should be: 21 |
| If CENTRE = 26 then COHORT should be: 01, 02, 03, 24, 33, 34, 42, 52 |
| If CENTRE = 31 then COHORT should be: 01, 21, 22, 23, 24, 25, 42, 43 |
| If CENTRE = 32 then COHORT should be: 01, 02, 03, 21 |
| If CENTRE = 34 then COHORT should be: 21 |
| If CENTRE = 35 then COHORT should be: 01, 02, 03, 21, 42, 43 |
| If CENTRE = 36 then COHORT should be: 01, 02, 03 |
| If CENTRE = 37 then COHORT should be: 01, 02, 03, 21 |
| If CENTRE = 39 then COHORT should be: 01, 02, 03 |
| If CENTRE = 45 then COHORT should be: 01, 02, 03, 31, 32, 33, 34, 35 |
| If CENTRE = 47 then COHORT should be: 01, 02, 03, 21 |
| If CENTRE = 54 then COHORT should be: 21 |
| If CENTRE = 55 then COHORT should be: 21 |
| If CENTRE = 57 then COHORT should be: 01, 02, 03, 21 |
| If CENTRE = 59 then COHORT should be: 21 |
| If CENTRE = 60 then COHORT should be: 01, 02, 03, 24 to 26, 42 to 44, 52 to 54, 62 to 64, 72 to 74, 84 |
| If CENTRE = 71 then COHORT should be: 21 |
| If CENTRE = 72 then COHORT should be: 21, 43 |
| If CENTRE = 73 then COHORT should be: 21 |
| If CENTRE = 74 then COHORT should be: 21, 31, 42, 43 |
| If CENTRE = 75 then COHORT should be: 21 |
| If CENTRE = 76, 79 then COHORT should be: 21 |
| If CENTRE = 78 then COHORT should be: 21, 43, 45, 46 |
| If CENTRE = 83 then COHORT should be: 24, 42, 43, 44 |
| If CENTRE = 84 then COHORT should be: 21, 42, 43 |
| If CENTRE = 99 then COHORT should be: 01, 02, 03, 21 |
| RUNIT_CENTRE_88 |
If CENTRE = 12 then RUNIT should be: 01, 02 |
| If CENTRE = 19 then RUNIT should be: 01 |
| If CENTRE = 20 then RUNIT should be: 02, 03, 05, 06, 07, 08 |
| If CENTRE = 22, 37 then RUNIT should be: 01, 02, 03 |
| If CENTRE = 26 then RUNIT should be: 03 |
| If CENTRE = 31 then RUNIT should be: 01, 02, 03, 04 |
| If CENTRE = 32 then RUNIT should be: 01, 02, 03, 04, 05, 06 |
| If CENTRE = 34, 54, 55, 59 then RUNIT should be: 01 |
| If CENTRE = 35 then RUNIT should be: 01, 02, 03 |
| If CENTRE = 36 then RUNIT should be: 01, 02 |
| If CENTRE = 39 then RUNIT should be: 03 |
| If CENTRE = 45 then RUNIT should be: 01 |
| If CENTRE = 47 then RUNIT should be: 01, 03 |
| If CENTRE = 57 then RUNIT should be: 01, 02, 04, 05 |
| If CENTRE = 60 then RUNIT should be: 01, 02 |
| If CENTRE = 71, 78, 79, 80, 84 then RUNIT should be: 01 |
| If CENTRE = 72 then RUNIT should be: 01 |
| If CENTRE = 73 then RUNIT should be: 01, 02, 03 |
| If CENTRE = 74 then RUNIT should be: 01 |
| If CENTRE = 75 then RUNIT should be: 01 |
| If CENTRE = 76 then RUNIT should be: 01, 02 |
| If CENTRE = 83 then RUNIT should be: 04 |
| EVTYPE_APSOUR1_22 |
If APSOUR1 = 8 then EVTYPE should be: 2 to 4 |
| EVTYPE_APSOUR2_22 |
If APSOUR2 = 8 then EVTYPE should be: 2 to 4 |
| EVTYPE_APSOUR3_22 |
If APSOUR3 = 8 then EVTYPE should be: 2 to 4 |
| EVTYPE_CESOUR1_22 |
If CESOUR1 = 8 then EVTYPE should be: 1, 2 |
| EVTYPE_CESOUR2_22 |
If CESOUR2 = 8 then EVTYPE should be: 1, 2 |
| EVTYPE_CESOUR3_22 |
If CESOUR3 = 8 then EVTYPE should be: 1, 2 |
| EVTYPE_CESOUR4_22 |
If CESOUR4 = 8 then EVTYPE should be: 1, 2 |
| EVTYPE_CESOUR5_22 |
If CESOUR5 = 8 then EVTYPE should be: 1, 2 |
| EVTYPE_CESOUR6_22 |
If CESOUR6 = 8 then EVTYPE should be: 1, 2 |
| EVTYPE_CESOUR7_22 |
If CESOUR7 = 8 then EVTYPE should be: 1, 2 |
| EVTYPE_DEATHBH_22 |
If EVTYPE = 1, 2 then DEATHBH should be: 8 |
| EVTYPE_DGNCAT_22 |
If EVTYPE = 1, 2 then DGNCAT should be: 8 |
| If EVTYPE = 3, 4 then DGNCAT should be: 1 to 7 |
| EVTYPE_DSOUR1_22 |
If DSOUR1 = 8 then EVTYPE should be: 1, 2 |
| EVTYPE_DSOUR2_22 |
If DSOUR2 = 8 then EVTYPE should be: 1, 2 |
| EVTYPE_DSOUR3_22 |
If DSOUR3 = 8 then EVTYPE should be: 1, 2 |
| EVTYPE_DSOUR4_22 |
If DSOUR4 = 8 then EVTYPE should be: 1, 2 |
| EVTYPE_DSOUR5_22 |
If DSOUR5 = 8 then EVTYPE should be: 1, 2 |
| EVTYPE_ECG_22 |
If ECG = 8 then EVTYPE should be: 1, 2 |
| If EVTYPE = 1, 2 then ECG should be: 8 |
| EVTYPE_ENZ_22 |
If ENZ = 8 then EVTYPE should be: 1, 2 |
| If EVTYPE = 1, 2 then ENZ should be: 8 |
| EVTYPE_MARKER_22 |
If EVTYPE = 1, 2 then MARKER should be: 8 |
| If MARKER = 8 then EVTYPE should be: 1, 2 |
| EVTYPE_NECSUM_22 |
If EVTYPE = 1, 2 then NECSUM should be: 8 |
| EVTYPE_REVSOUR1_22 |
If REVSOUR1 = 8 then EVTYPE should be: 1, 3 |
| EVTYPE_REVSOUR2_22 |
If REVSOUR2 = 8 then EVTYPE should be: 1, 3 |
| EVTYPE_REVSOUR3_22 |
If REVSOUR3 = 8 then EVTYPE should be: 1, 3 |
| EVTYPE_REVTYPE_22 |
If EVTYPE = 1, 3 then REVTYPE should be: 8 |
| If REVTYPE = 8 then EVTYPE should be: 1, 3 |
| EVTYPE_SURVIV_22 |
If EVTYPE = 1 then SURVIV should be: 8 |
| EVTYPE_SYMPT_22 |
If EVTYPE = 1, 2 then SYMPT should be: 8 |
| If SYMPT = 8 then EVTYPE should be: 1, 2 |
| EVTYPE_THROMBD_22 |
If EVTYPE = 1, 2 then THROMBD should be: 8 |
| If THROMBD = 8 then EVTYPE should be: 1, 2 |
| MONSER_EVTYPE_22 |
If EVTYPE = 1, 2 then MONSER should be: 8888888, 9999999 |
| SURVIV_DEATHBH_22 |
If SURVIV = 1 then DEATHBH should be: 8 |
| SURVIV_NECSUM_22 |
If SURVIV = 1 then NECSUM should be: 8 |
Special checks |
| Constraint name | Description |
| MBIRTH_LIMITS_88 | Month and year of birth should be between 01YYYY and 12YYYY or 99YYYY where YYYY is between 1890 and 1990 |
| CLINDX_LIMITS_22 | Accepted values for CLIND1, CLIND2, CLIND3 are alphabets A to T or V to Z in the first place (if present) and any number between 0 to 9, or NNN |
| DEATHBH_SURVIV_EVTYPE_22 | If DEATHBH=8 then EVTYPE=1 or 2 or SURVIV=1 |
| DEFINITE_OR_POSSIBLE_MI_22 | Check Definite or possible MI: If non-fatal event without validation, ICD code should match up to diagnostic category. If SURVIV=1 and DSOUR1=2,9 and DSOUR2=2,9 and DGNCAT=1,2,3 then one of CLIND1, CLIND2, CLIND3 should be: 410 if ICDVER = 1,2 or I21,I22 if ICDVER = 3 |
| EVDATE_LIMITS_22 | EVDATE should be a date |
| EVTYPE_APSOURX_22 | If EVTYPE = 2, 3, 4 then APSOUR1 = 8 and APSOUR2 = 8 and APSOUR3 = 8 |
| EVTYPE_CESOURX_22 | If EVTYPE = 1, 2 then CESOUR1 = 8 and CESOUR2 = 8 and CESOUR3 = 8 and CESOUR4 = 8 and CESOUR5 = 8 and CESOUR6 = 8 and CESOUR7 = 8 |
| EVTYPE_DSOURX_22 | If EVTYPE = 1, 2 then DSOUR1 = 8 and DSOUR2 = 8 and DSOUR3 = 8 and DSOUR4 = 8 and DSOUR5 = 8 |
| EVTYPE_REVSOURX_22 | If EVTYPE = 1, 3 then REVSOUR1 = 8 and REVSOUR2 = 8 and REVSOUR3 = 8 |
| ICDVER_CLIND1_22 | If ICDVER = 1 then allowed values for CLIND1 are: NNN or ??? or E?? or Y?? If ICDVER = 2 then allowed values for CLIND1 are: NNN or ??? or E?? or V?? If ICDVER = 3 then allowed values for CLIND1 are: NNN or A?? to T?? or V?? to Z?? |
| ICDVER_CLIND2_22 | If ICDVER = 1 then allowed values for CLIND2 are: NNN or ??? or E?? or Y?? If ICDVER = 2 then allowed values for CLIND2 are: NNN or ??? or E?? or V?? If ICDVER = 3 then allowed values for CLIND2 are: NNN or A?? to T?? or V?? to Z?? |
| ICDVER_CLIND3_22 | If ICDVER = 1 then allowed values for CLIND3 are: NNN or ??? or E?? or Y?? If ICDVER = 2 then allowed values for CLIND3 are: NNN or ??? or E?? or V?? If ICDVER = 3 then allowed values for CLIND3 are: NNN or A?? to T?? or V?? to Z?? |
| MONICA_DGNCAT_CHECK_22 | If DSOUR1 = 1 a. If ( ECG = 1 or NECSUM = 1 or (SYMPT = 1,2,5 and ECG = 2 and (ENZ = 1 or MARKER = 1)) or (SYMPT = 1 and ECG = 3,5,9 and (ENZ = 1 or MARKER = 1))) then DGNCAT = 1 b. If SURVIV = 1 and SYMPT = 1 then DGNCAT = 2 If SURVIV = 1 and SYMPT # 1 then DGNCAT = 7 c. If NECSUM = 4 then DGNCAT = 7 If NECSUM = 2 then DGNCAT = 2 d. If SYMPT = 1,2,5 then DGNCAT = 2 e. Else accepted values for DGNCAT are: 2,5,7 |
| UNCLASSIFIABLE_OR_NO_MI_22 | Check Unclassifiable or no MI: If non-fatal event without validation, ICD code should match up to diagnostic category. If SURVIV=1 and DSOUR1=2,9 and DSOUR2=2,9 and DGNCAT=5,7 then one of CLIND1, CLIND2, CLIND3 should be: 412 to 414 if ICDVER = 1,2 or I20,I23-I25 if ICDVER = 3 |
| UNSTABLE_ANGINA_PECTORIS_22 | Check Unstable Angina Pectoris: If non-fatal event without validation, ICD code should match up to diagnostic category. If SURVIV=1 and DSOUR1=2,9 and DSOUR2=2,9 and DGNCAT=4 then one of CLIND1, CLIND2, CLIND3 should be: 411 if ICDVER = 1,2 or I20 if ICDVER = 3 |