Business Logic
Workflow
- Payer system has several options to make member details available for Member.Register:
- Excel file placed into special folder.
- Staging table in payer system database.
- Specify SELECT SQL how to read member details from payer system.
- GA reads member details performing the following logic:
- Parse members data.
- If there are errors found in member details:
- GA will continue to generate and upload xml for members that have no errors.
- Send failure e-mail with failed member details as described in section Member.Register XML Generation Failure.
- Failed members will be removed from the logic below.
- If data source is staging table or SELECT SQL, then GA is able to report errors back to payer system using SQL statements or stored procedures.
- Create required number of records in Transaction Table as per the rules described in section Transaction Generation Rules.
- Save all valid members in MemberRegister Table.
- Generate Member.Register xml files and upload them to DHPO:
Header.ReceiverID
is always DHA.- Member details may contain members for many senders, and xml files must have correct members for every sender. For example, if member details contain 5 members with sender INS008, 10 members with sender INS051 and 4 members with INS073, then GA will generate the following xml files:
- Five xml files with sender INS008.
- Ten xml files with sender INS051.
- Four xml files with sender INS073.
- Update fields in Transaction Table with values returned by DHPO.
- If member details are provided in Excel files, GA will move these Excel files to Processed subfolder after GA processes the data.
- If xml file is generated and uploaded successfully, GA will send successful e-mail as described in section Member.Register Success E-mail Message.
- If there are failures to upload xml file, GA will send failure e-mail as described in section Member.Register XML Upload Failure.
- GA will check for new member details with the frequency specified in GA Settings. This way Payer can control when new members would be uploaded to DHA Post Office.
When to Generate Member Register
Member Register would be generated in the following cases:
- New member is added.
- Member is renewed.
- Policy is renewed.
- Member is terminated.
- Policy is cancelled.
- Policy is reinstated.
- Policy expiry date is changed.
- Policy product is changed.
- Any detail of member is changed.
You would make sure that your system generates Excel files with related member details one any of the below event occurs.
Data Required for Members XML File Generation
Table below presents data required for members xml file generation. GA expects all below fields to be available in the payer system. Note that sequence of columns does not matter, GA will check only column names.
Column Name | Description |
---|---|
SenderID | Payer the member belongs to. |
MemberID | Member insurance card number. |
PersonFirstName | Member's first name. |
PersonSecondName | Member's second name. |
PersonFamilyName | Member's family name. |
PersonContactNumber | Primary mobile contact number of the member. You can have number with country code, e.g. 00971 50 123 4567, or without, e.g. 050 123 4567. This field is optional. |
PersonBirthDate | Member's birth date. The expected formats are explained in section Supported Date Formats. |
PersonGender | Member's gender: 1 for male and 0 for female. |
PersonNationality | Member nationality as 3-digit; GA will check that nationality code is specified in the official list from DHA Post Office. |
PersonPassportNumber | Number of member passport that has UAE visa. If not available, it can be National ID, e.g. GCC Nationals. |
PersonMaritalStatus | Member's martial status of the person. The following values are allowed: |
PersonEmail | Member's e-mail address. This field is optional. |
PersonEmirate | Emirate where member's residency/visa is issued. The following values are allowed: |
PersonResidentialLocation | Member's place of residence. This is location code from the predefined location list published on DHA Post Office. |
PersonWorkLocation | Member's place of work. This is location code from the predefined location list published on DHA Post Office. |
PersonSalary | Member's salary. The following predefined values are allowed: |
PersonCommission | Flag if member gets income based on commission. The following values are allowed: |
PersonEmiratesIDNumber | Emirates ID Number of the member. If this number is unavailable, the following default values are accepted: GA has use the following logic if this field is blank in the data source provided by payer:
|
PersonUIDNumber | Unified Identity Number issued by the Ministry of Interior (MOI). The number is available on the Visa or Residency Document of the member under U.I.D Number title. |
MemberRelation | Member's family relationship. The allowed values are: |
MemberRelationTo | Member ID of the principal member of the family. |
PersonPayerID | Payer DHA license. |
ContractProductOrigin | The origin of the product purchased by the member. The allowed values are: |
ContractProductCode | ID of the insurance product as officially mentioned in the payer's marketing materials. |
ContractProductID | ID of the insurance product assigned by DHA. If no Product ID exists, the default value of PayerID-0000-00 maybe used. Products with Abu Dhabi origin would use Abu Dhabi Product ID. |
ContractPolicyID | Insurance policy number as registered in payer's system. |
ContractTopUpPolicy | Any policy which provides benefits over and above the benefits provided under the main Dubai compliant policy. The allowed values are: This field is optional. |
ContractEnrollmentDate | Contract start date. The expected formats are explained in section Supported Date Formats. |
ContractDeletionDate | Contract expiry date or date of cover end in case member is removed as per policy holder request. The expected formats are explained in section Supported Date Formats. |
ContractGrossPremium | Annual premium for the contract. Products with Abu Dhabi origin would use 0000 default value. |
ContractActualPremium | Real premium paid by member. Products with Abu Dhabi origin would use 0000 default value. |
EstablishmentEntityType | Type of entity that sponsors the member. The allowed values are: |
EstablishmentEntityID | ID of the sponsoring entity, as follows:
|
EstablishmentContactNumber | Primary contact number of the policy holder including country code and area code. |
EstablishmentEmail | E-mail address of the policy holder. If the policy holder is an establishment, this should be the email ID of an individual or a department responsible for health insurance related matters. |
Supported Date Formats
GA expects dates in the Excel file described in section Data Required for Members XML File Generation in one of following formats:
- DD/MM/YYYY, e.g 30/11/1999.
- D/M/YYYY, e.g 6/3/1999.
- YYYY-MM-DD, e.g. 1999-11-30.
- All above formats may have also hours + minutes, or hours + minutes + seconds in 12 hours or 24 hours format. If so, GA has to save the exact value in the database as provided by users. This might be useful for eventual troubleshooting. Examples of possible values are shown below:
- 30/11/1999 14:55
- 30/11/1999 14:55:28
- 6/3/1999 2:55 PM
- 1999-11-30 12:00 AM
Rounding
GA will round ContractGrossPremium and ContractActualPremium values to two decimal places after comma. For example, if premium value for a member is 1234.5678, it will be rounded to 1234.57. Value of 123.1234 will be rounded to 123.12.
Data Duplication
GA will ignore duplicated members. Duplicated records are those that have all fields identical. The following logic is applied to check members duplication; this logic is performed for every record in Excel file:
- Find all members with the same
MemberID
,ContractEnrolmentDate
andContractDeletionDate
in Excel file. - Find all members with the same
MemberID
,ContractEnrolmentDate
andContractDeletionDate
in MemberRegister Table. - Note: Only date part of fields
ContractEnrolmentDate
andContractDeletionDate
must be checked, e.g. values "25/12/2001 00:00:00", "25/12/2001" and "25/12/2001 15:31:59" are equal. - Compare all fields with the found members.
- If all fields are identical, send alert e-mail with the list of all duplicated members providing their MemberID, ContractEnrolmentDate and ContractDeletionDate. E-mail alert is documented in section Member.Register Data Duplication.
- Excel file name also be mentioned in the alert e-mail.
- One alert e-mail is sent per Excel file.
Transaction Generation Rules
- GA will generate one xml per member.
- GA will generate xml file using the following format: Members_INS009_20151022_1459_1.xml, where:
- INS009 is
Header.SenderID
; - 20151022 is current date in format YYYYMMDD;
- 1459 is current time in format HHMM;
- 1 is file counter.
- INS009 is
- Example:
- Excel file contains 2,230 members.
- GA will generate 2,230 xml files on 29 October 2015 at 18:12:
- Members_20151029_1812_1.xml;
- Members_20151029_1812_2.xml;
- Members_20151029_1812_3.xml.
- ...
- Members_20151029_1812_2230.xml.