This step validates birth numbers used in Ukraine. For now, the number is tested to comply with the following constraints:
This step also generates a fake birth number when the output fake binding property is set and sufficient info to generate the number is present (the gender hint and date hint are both connected and filled with valid values). The generated fake number consists of the date part relevant to the given date hint, the gender part relevant to the given gender and the 'filling' character defined by the property fakeSubstituteCharacter.
The format of the generated fake number is the following:
00000XXXGX
where
Note that generated fake numbers are not valid, since it is not possible to calculate the valid control digit at present and therefore make the generated number valid (fulfilling the Ukrainian rule for the control digit). Also the 'filling' character may have a non-numerical value and therefore break the 'numerical-digits-only' constraint.
<step className="cz.adastra.cif.tasks.clean.ua.ValidateBirthNumberUA" id="algorithm_1"> <properties trash="trash" gender="gender" genderOut="gender" birthNumber="INNNumber" fakeSubstituteCharacter="0" femaleDefinition="F" birthNumberOut="INNNumber" birthDateOut="date" maleDefinition="M" birthDate="date"> <invalidDataDefinitions> <invalidDataDefinitionBirthDate outputType="ORIGINAL" defaultValue="1990-10-10" scoringFlags="BN_UA_DATE_MISMATCH, BN_UA_BN_NULL, BN_UA_FORMAT_INVALID"/> <invalidDataDefinitionBirthNumber outputType="CONSTANT" defaultValue="1990-1-1" scoringFlags="BN_UA_BN_NULL, BN_UA_FORMAT_INVALID"/> <invalidDataDefinitionGender outputType="CALCULATED" defaultValue="" scoringFlags="BN_UA_FORMAT_INVALID, BN_UA_GNDR_MISMATCH, BN_UA_BN_NULL"/> </invalidDataDefinitions> <scorer explanationColumn="expl"> <scoringEntries> <scoringEntry key="BN_UA_BN_NULL" explainAs="BN_UA_BN_NULL" score="0" explain="true"/> <scoringEntry key="BN_UA_DATE_HINT_NULL" explainAs="BN_UA_DATE_HINT_NULL" score="0" explain="true"/> <scoringEntry key="BN_UA_DATE_MISMATCH" explainAs="BN_UA_DATE_MISMATCH" score="0" explain="true"/> <scoringEntry key="BN_UA_FAKE_GENERATED" explainAs="BN_UA_FAKE_GENERATED" score="0" explain="true"/> <scoringEntry key="BN_UA_FORMAT_INVALID" explainAs="BN_UA_FORMAT_INVALID" score="0" explain="true"/> <scoringEntry key="BN_UA_GNDR_HINT_NULL" explainAs="BN_UA_GNDR_HINT_NULL" score="0" explain="true"/> <scoringEntry key="BN_UA_GNDR_MISMATCH" explainAs="BN_UA_GNDR_MISMATCH" score="0" explain="true"/> <scoringEntry key="BN_UA_FAKE_NOT_GENERATED" explainAs="BN_UA_FAKE_NOT_GENERATED" score="0" explain="true"/> <scoringEntry key="BN_UA_GNDR_HINT_INVALID" explainAs="BN_UA_GNDR_HINT_INVALID" score="0" explain="true"/> </scoringEntries> </scorer> </properties> </step>
iWay Software |