Generate Financial Message
The generate financial message process reads a financial transaction set and creates a corresponding financial message, either in XML or flat file format.
Financial transactions are grouped into financial messages. The transaction details are grouped into invoices, invoice lines (if indicator invoice line grouping is set), and accounting details (if indicator accounting detail grouping is set) within the financial messages.
The create financial message process only includes financial transactions of base financial objects. These are financial objects having completed the Supersede Transactions activity and having no changes since then.
Within a Financial Message:
-
The system creates an invoice for each invoice grouping of invoiced transaction details (this occurs within the financial message’s transactions).
-
If the activity parameter indicator invoice line grouping is
true
, the system creates an invoice line for each invoice line grouping of invoiced transaction details (this occurs within each invoice’s transaction details). -
If the activity parameter indicator accounting detail grouping is
true
, the system creates an invoice accounting detail for each accounting detail grouping of invoiced transaction details (this occurs within each invoice’s transaction details). -
If the system property ohi.financialmessage.create.noninvoiceaccdetail is
true
, the system creates a non-invoice accounting detail for each accounting detail grouping of non-invoiced transaction details (this occurs within each financial message’s transaction details).
The generate financial message process takes a financial transaction set as input. The financial transactions that have not completed general processing (the general financial processing complete DateTime on the base financial object has no value) are excluded.
Although the user execution level of these activities is a financial transaction set, the commit level is the financial message. The financial message creation process step is always executed (and saved) together with the stamping of financial processing results for the financial transactions handled by it. If one of the two process steps cannot be executed successfully, the other process step is rolled back. This does not block the creation of other financial messages that are generated for a financial transaction set.
If a specific financial message cannot be created, message FIN-VL-CRFM-002 is logged for the financial transaction set level activity. The message holds the Financial Message Bulking Group as an identifier for reference.
When working with large claims, users can release the claim transaction hold on specific claims to process sub-claims and generate a financial message. |
Generate Financial Message - XML
The parameters for the activity are:
- Cut-Off Date
-
Applies only to financial transactions for which general financial processing is completed. The Generate Financial Message activity picks up the general financial processing completed DateTime on the base financial object that is before the cut-off date and time.
- Cut-Off Time
-
The cut-off time is always combined with the cut-off date. Cut-off time must be entered in HHMM format.
- Create Invoice Dynamic Logic Function.
-
This dynamic logic function must be of signature Create Invoice XML. If it is of another signature, the error message FIN-VL-CRFM-004 is attached to the activity.
- Create Invoice Line Dynamic Logic Function
-
This dynamic logic function must be of signature Create Invoice Line XML. If it is of another signature, the error message FIN-VL-CRFM-004 is attached to the activity.
- Create Accounting Detail Dynamic Logic Function
-
This dynamic logic function must be of signature Create Accounting Detail XML. If it is of another signature, the error message FIN-VL-CRFM-004 is attached to the activity.
- Max Total Invoice Amount and Max Total Invoice Amount Curr
-
The maximum total invoice amount can prevent the total of all invoice amounts for the set from exceeding the value specified. If a Currency is specified as well, then that Currency is used. If not, then the default Currency is used. Already handled transactions in the set also count towards the maximum.
The financial transaction field total amount is used as input for this calculation. Because financial transaction details cannot span for over one currency, the total amount field and the total amount Currency field is always be present. All total amounts in the Currency of Max Total Invoice Amount Curr are added until the Max Total Invoice Amount is exceeded. If the sum of the selected financial transactions for the same base financial object is negative, it is not included in this count.
- Include Unfinalized
-
It evaluates to false if the financial transaction (and thus the base financial object) references a claim that is currently Unfinalized. This prevents sending out a claim that is currently Unfinalized.
- Automatic Remove
-
If set to
Y
or left unspecified, all financial transactions that are part of the financial transaction set and are not handled by the Generate Financial Message activity (typically financial transactions that are on hold are removed from the set and the set is closed). - Financial Message Delivery Option
-
This parameter specifies the options that Claims supports to deliver the generated financial message to an external system.
Message-Based:
Financial messages can be sent out individually to a pre-configured endpoint as they are generated.File-Based:
Financial messages are written to a data file and the data file can be made available for download.
Generate Financial Message - Flat File
The parameters for the activity are:
- Cut-Off Date
-
Only financial transactions for which general financial processing has been completed. The Generate Financial Message activity picks up general financial processing completed DateTime on the base financial object that is before the cut-off date and time.
- Cut-Off Time
-
The cut-off time is always combined with the cut-off date. Cut-off time must be entered in HHMM format.
- Create Invoice Dynamic Logic Function
-
This dynamic logic function must be of signature Create Invoice Flat File. If it is of another signature, the error message FIN-VL-CRFM-004 is attached to the activity.
- Create Invoice Line Dynamic Logic Function
-
This dynamic logic function must be of signature Create Invoice Line Flat File. If it is of another signature, the error message FIN-VL-CRFM-004 is attached to the activity.
- Create Accounting Detail Dynamic Logic Function
-
This dynamic logic function must be of signature Create Accounting Detail Flat File. If it is of another signature, the error message FIN-VL-CRFM-004 is attached to the activity.
- Max Total Invoice Amount and Max Total Invoice Amount Curr
-
The maximum total invoice amount to prevent the total of the invoice amounts from exceeding the specified value. If a Currency is specified as well, then that Currency is used. If not, then the default Currency is used.
The financial transaction field total amount is used as input for this calculation. Because financial transaction details cannot span over one currency, the total amount field and the total amount Currency field is always be present. All total amounts in the Currency of Max Total Invoice Amount Curr are added until the Max Total Invoice Amount is exceeded. If the sum of the selected financial transactions for the same base financial object is negative, it is not included in this count.
- Include Unfinalized
-
Evaluates to
false
if the financial transaction (and thus the base financial object) references a claim that is currently Unfinalized. This prevents sending out a claim that is currently Unfinalized.
Processing
Financial transactions and transaction details are grouped at different levels to support flexibility with a variety of financial systems and configurations.
The application selects all financial transactions (including reversal transactions) that:
-
are included in the financial transaction set
-
have not yet been included in a financial message
-
are not superseded
-
are not on hold
A financial transaction is on hold, when it:
-
is produced by a claim or claim transaction with an active financial hold attached
-
has at least one detail that specifies a counterparty or payment beneficiary that is a provider with an active financial hold attached
-
has at least one detail that specifies a product with an active financial hold attached
-
is a later version of a financial transaction that is on hold.
An active hold is a financial hold that is not released, and has an expiration date that is in the future or not specified.
The selected financial transactions are then evaluated further:
-
Financial transactions are grouped per base financial object.
Essentially, this guarantees that when over one unprocessed financial transaction exists within the same base financial object and over one needs to be paid, they do not be split up. This can only occur when the message mandatory indicator is set. -
If Max Total Invoice Amount is specified:
-
Base financial objects in a different Currency from Max Total Invoice Amount Curr (or, if left unspecified, the default currency) do not need sorting and is paid out.
-
The base financial objects in the same Currency as Max Total Invoice Amount Curr (or, if left unspecified, the default currency) are first sorted on ascending payment due date.
When over one financial transaction needs to be paid out and different payment due dates are set, the earliest one is chosen. -
Within the same payment due date, the base financial objects are subsequently sorted on descending total invoice amount.
-
When adding a base financial object to the stack, it is checked if the total invoice amount for that base financial object would cause the running total to exceed the Max Total Invoice Amount parameter (so amounts with invoice indicator unchecked do not count)
-
If so, then the base financial object is not included in the financial message to be generated and the generator continues with the next base financial object. The next base financial object could have a smaller amount that fits within the Max Total Invoice Amount and is then included.
-
This implies that the base financial objects with only zero amount transactions are always processed (even if the max has been reached).
-
Each excluded base financial object generates message FIN-FL-CRFM-001
-
-
-
If Max Total Invoice Amount is not specified, no sorting is needed and everything is paid out.
Grouping of Financial Transactions into Financial Messages
The following attributes are used to group financial transactions into financial messages:
-
Financial Message Bulking Group
The Financial Message Bulking Group is an attribute to the Financial Transaction Process Data.
One financial message is created for each value. All financial transaction details of a financial transaction that is included in a financial message are included in that same financial message. If the financial message bulking group is populated with the claim code, a separate financial message is created for each claim.
Grouping of Invoiced Financial Transaction Details into Invoices
All financial transactions with message mandatory indicator set to Y are propagated into separate invoices. After that invoice grouping is applied for which the following attributes are used to group into invoices:
-
Counterparty Code and Counterparty Qualifier ( Payment Receiver Code and Payment Receiver Flex Code Def Code)
-
Invoice Destination
-
Pay From Bank Account
-
Invoice Bulking Group
-
Amount Curr
The first three attributes are available on the financial transaction details process data, the last one is on the financial transaction detail.
For each group, an invoice context (XML context for the XML activity type or object context for Flat File activity type) is created by the system. The invoice amount in the context is the sum of all the invoiced financial transaction details selected for the invoice. A unique Oracle Health Insurance Invoice Line ID is generated for each invoice. This ID is included in the context and is also used for stamping on the financial transaction detail process data.
The structure of the XML context is the same as that of the invoice element in the XML message and is described in the section Financial Message Structure - XML. The invoice object context is described in the section Financial Message Structure - Flat File
The context based on the activity type is passed on to the Create Invoice dynamic logic routine (see Dynamic Logic Functions) for the generation of the invoice.
Grouping of Invoiced Financial Transaction Details into Invoice Lines
This step creates one or more invoice lines.
If the invoice line grouping indicator on the financial transaction detail process data is No
an invoice line is created for every financial transaction detail.
If the invoice line grouping indicator on the financial transaction detail process data is Yes
multiple financial transaction details of each invoice can be grouped into a single invoice line; if several details have an unspecified invoice line bulking group, they also bulk into one invoice line.
If they are to be grouped into lines, the following attributes are used:
-
Invoice Line Bulking Group (from Financial Transaction Detail Process Data)
-
Reversal Indicator (from Financial Transaction)
For each group (unique combination of criteria) or each financial transaction detail (if grouping is not being done), an invoice line context (XML context for the XML activity type or object context for Flat File activity type) is created by the system. The invoice line amount in the context is the sum of all the invoiced financial transaction details selected for the invoice line. A unique Oracle Health Insurance Invoice Line ID is generated for each invoice line. This ID is included in the context and is also used for stamping on the financial transaction detail process data.
Default behavior is that grouping on the reversal indicator takes place.
As a result, the system does not group together a financial transaction detail and its reversal, leading to separate invoice lines.
To group them together instead of having separate invoice lines, the parameter 'Disable Reversal Grouping (Invoice Line)' can be set.
If this parameter is not set or set to 'N', the system applies the default behavior.
If the parameter is set to 'Y', no grouping will take place on the reversal indicator.
Not grouping on the reversal indicator leads to invoice lines holding the difference in amount between the previous financial transaction detail(s) and the new ones.
Setting this parameter to "Y' will automatically set the invoice line grouping indicator to 'Y' as well, both for the new and the reversal financial transaction details.
Then, only grouping on the Invoice Line Bulking Group applies - which can be set as desired.
The structure of the XML context is the same as that of the invoice line element in the XML message and is described in the section Financial Message Structure - XML. The invoice line object context is described in the section Financial Message Structure - Flat File
The context based on the activity type is passed to the Dynamic Logic Functions dynamic logic routine for the generation of the invoice line.
Grouping of Invoiced Financial Transaction Details into Accounting Details
This step of the process is carried out only if the system property ohi.financialmessage.includeaccounting is set to true.
This step of the process creates one or more accounting details for the selected financial transaction details that have the indicator invoice set to Yes.
If the accounting detail grouping indicator on the financial transaction detail process data is No
one accounting detail is created for each financial transaction detail.
If the accounting detail grouping indicator on the financial transaction detail process data is Yes
multiple financial transaction details included in the same invoice can be grouped into a single accounting detail. If several details have an unspecified accounting detail bulking group, they bulk into one accounting detail.
If financial transaction details are to be grouped into accounting details and no configurable accounting grouping criteria are defined, the following fixed criteria are used for grouping:
-
General Ledger Account (from Financial Transaction Detail Process Data)
-
Accounting Bulking Group (from Financial Transaction Detail Process Data)
-
Reversal Indicator (from Financial Transaction) For each group, an accounting detail line context (XML context for the XML activity type or object context for Flat File activity type) is created by the system. A unique Oracle Health Insurance Accounting Detail Line ID is generated for each accounting detail line. This ID is included in the context and is also used for stamping on the financial transaction detail process data.
The structure of the XML context is the same as that of the accounting detail line element in the XML message and is described in the section Financial Message Structure - XML. The accounting detail line object context is described in the section Financial Message Structure - Flat File
The context based on the activity type is passed to the Dynamic Logic Functions dynamic logic routine for the generation of the accounting detail line.
Grouping of Non-invoiced Financial Transaction Details into Accounting Details
This step of the process is carried out only if the system property ohi.financialmessage.includeaccounting is set to true.
This step of the process creates accounting details for the selected Financial Transaction Details that have the indicator invoice set to No.
If the accounting detail grouping indicator on the financial transaction detail process data is No
one accounting detail is created for each financial transaction detail.
If the accounting detail grouping indicator on the financial transaction detail process data is Yes
multiple financial transaction details can be grouped into a single accounting detail.
The system only creates accounting details for non-invoiced financial transactions if the system property ohi.financialmessage.create.noninvoiceaccdetail has the value |
For each group, an accounting detail line context (XML context for the XML activity type or object context for Flat File activity type) is created. Appropriate context based on the activity type is passed to the Create Accounting Detail dynamic logic routine Dynamic Logic Functions for the generation of the accounting detail line.
Stamping of Results
The result of the invoice and financial message creation is recorded on the Financial Transaction Process Data and the Financial Transaction Detail Process Data. The base financial object status is updated to show that the financial transactions for the base financial object are processed by the financial message creation.
The following Financial Transaction Process Data attributes are set:
- Financial Message ID
-
The identification of the financial message in which the financial transaction is included is stored on the financial transaction process data level.
- Financial Message Result
-
Financial Message Result is an indicator on a financial transaction process data level that shows that a financial transaction is handled by the Generate Financial Message activity.
The following values can be set:
-
M (Message Created)
This value is used when a financial transaction is included in a financial message -
N (Not Required)
This value is set when a financial transaction is processed by the financial message creation activity, but the financial transaction doesn’t have to be reported to the financial system. This happens when neither invoice information nor accounting detail information is present when creating the financial message. -
S (superseded)
This value is set for financial transactions that have been superseded by the Supersede Transactions activity. Once this indicator is set, the financial transaction can be ignored by future executions of the supersede activity.
-
- Fin Message Handled DateTime
-
This attribute is updated with the system date and time on which the financial message is created.
The following Financial Transaction Detail Process Data attributes are set:
- Invoice Bulking Criteria
-
This value retrieves the invoice ID for this financial transaction detail
- Invoice Line Bulking Criteria
-
This value retrieves the invoice line ID for this financial transaction detail
- Accounting Bulking Criteria
-
This value retrieves the accounting detail ID for this financial transaction detail. This is required so that the invoices, invoice lines and accounting details (both invoiced and non-invoiced) can be traced back to the transactions that they originated from.
- Base Financial Object
-
The status of the Base Financial Object that holds the financial transaction that is included in the financial message is updated to Financial Message Handled.
- Financial Transaction Set
-
Whether the financial transaction set remains open depends on:
-
If the Automatic Remove parameter is set to
Y
or left unspecified, all financial transactions that are part of the financial transaction set and are not handled by the Generate Financial Message activity are removed from the set and the status of the set becomes Closed. -
If the Automatic Remove parameter is set to
N
, no financial transactions are removed from the set. If at least one unhandled financial transaction is left, the status of the set remains Open, otherwise, the status of the set becomesClosed
.
-
Financial Message Structure - XML
This structure is designed to support the grouping of multiple financial transactions into a single financial message with invoices, invoice lines, and accounting details being totals of multiple transaction lines of multiple transactions within a message. This approach can greatly reduce the number of financial messages and invoices, invoice lines and accounting details within them that need to be handled by the financial system.
The process of creation of the XML is summarized by the image below:
The XSD holds two accounting details sections. The first top-level section holds accounting details for non-invoiced financial transaction details. The second level holds accounting details related to an invoice.
The top-level structure of the financial message is as follows:
<financialMessage jobId="123"> ... -- see Financial Message section below for attributes <accountingDetails> <accountingDetail> <accountingDetailBulkingCriteria> ... </accountingDetailBulkingCriteria> ... -- see Accounting Detail section below for attr. </accountingDetail> -- refer to Accounting Detail section below for attributes … </accountingDetails> ... .... -- see Invoice section below for attributes ... .... -- see Invoice Line section below for attributes -- see Invoice Line section below for attributes <accountingDetails> <accountingDetail> <accountingDetailBulkingCriteria> ... </accountingDetailBulkingCriteria> ... -- see Accounting Detail section below for attr. </accountingDetail> </accountingDetails> ... </financialMessage>
The expected source of attributes in the element descriptions that follow is only an indication of what could be expected in a financial message. The expected source is indicated to give a more concrete image of the end-to-end payment flow. The actual source is determined during configuration and may depend on the configuration of the financial system. The actual values are set by the dynamic logic functions used in this activity. |
- Financial Message Element
-
This element has attributes that relate to the financial message itself. Attributes in this XML element are all populated by a fixed logic in the Generate Financial Message activity. There is no dynamic logic function to manipulate the attribute values.
Element | Source of Value | Note |
---|---|---|
id |
Simple Sequence. |
Unique ID of message generated by Oracle Health Insurance. |
jobId |
Activity ID that created this financial message |
Unique ID of the Financial Message Creation activity. |
messageDate |
System Date and time |
Date / Time the message was created. |
messageBulkingCriteria |
Financial Transaction Process Data.Fin Message Bulking Group |
- Invoice Element
-
This element has attributes that hold identifying attributes at the invoice header level. The source of value column indicates which attributes are expected to be used and what the expected source for them would be.
Element | Updatable in Dynamic Logic? | Source of Value | Note |
---|---|---|---|
invoiceBulkingCriteria |
|||
invoiceBulkingGroup |
No |
Financial Transaction Detail Process Data.Invoice Bulking Group |
Shows additional invoice bulking. The attribute may not contain any value. This value cannot be updated in the dynamic logic function. |
invoiceDestination |
No |
Financial Transaction Process Data.Invoice Destination |
Payable or Receivable |
counterpartyCode |
No |
Financial Transaction Detail Process Data.Counterparty Code |
Counterparty code is a fixed grouping criterion for invoices. This value cannot be updated in the dynamic logic function. |
counterpartyQualifier |
No |
Financial Transaction Detail Process Data.Counterparty Qualifier |
Counterparty qualifier is a fixed grouping criterion for invoices. This value cannot be updated in the dynamic logic function. |
payFromBankAccount |
No |
Financial Transaction Detail Process Data.Pay From Bank Account |
Pay from a bank account is a fixed grouping criterion for invoices. This value cannot be updated in the dynamic logic function |
invoice attributes: |
|||
ohiInvoiceId |
No |
Sequence |
Unique identifier for Oracle Health Insurance invoices generated by Oracle Health Insurance. |
documentId |
Defaulted with Oracle Health Insurance invoice ID but can be changed in the dynamic logic function. |
Used as an invoice number in the financial system. The invoice number is defined in the dynamic logic function and is not validated in Oracle Health Insurance. |
|
organization |
Organizational unit in which the invoice is accounted. Defined in dynamic logic. |
||
invoiceType |
Message generation logic. |
STANDARD if amount > 0 or 0 or CREDIT if amount < 0. |
|
invoiceDate |
Financial Transaction Process Data.Fin Message Handled Date Time |
||
paymentBeneficiaryFlexCode |
Financial Transaction Detail Process Data.Payment Ben Flex Code Def Code |
If the Payment Beneficiary Flex Code Value is empty, the Counterparty qualifier value is used for this attribute. |
|
paymentBeneficiaryCode |
Financial Transaction Detail Process Data.Payment Beneficiary Code |
If the Payment Beneficiary Code is empty, the Counterparty Code is used for this attribute. |
|
currencyCode |
Financial Transaction Detail. Amount Curr |
||
invoiceAmount |
No |
Sum of all Financial Transaction Detail amounts included in the invoice. Negative for invoice type CREDIT. |
|
paymentTerms |
Fixed IMMEDIATE if invoicing is being done just in time to meet due date. Otherwise, provided in dynamic field (determined upstream based on payment agreements with providers and general rules) |
||
description |
Claims |
The default value that can be overridden in dynamic logic |
|
source |
Claims |
The default value that can be overridden in dynamic logic |
|
invoiceCategory |
Defined in dynamic logic |
||
attribute1 .. attribute30 |
Free format elements for additional configuration defined attributes Defined in dynamic logic. |
- Invoice Line Element
-
This element has attributes that hold identifying attributes at an invoice line level. The source of value column indicates which attributes are expected to be used and what the expected source for them would be.
Element | Updatable in Dynamic Logic? | Source of Value | Note |
---|---|---|---|
invoiceLineBulkingCriteria |
|||
invoiceLineBulkingGroup |
No |
Financial Transaction Detail Process Data.Invoice Line Bulking Group |
Shows additional invoice line bulking. The attribute may not contain any value. This value cannot be updated in the dynamic logic function. |
reversal |
No |
Financial Transaction.Ind Reversal |
The reversal indicator is a fixed grouping criterion for invoices. This value cannot be updated in the dynamic logic function. |
invoiceLine attributes: |
|||
ohiLineId |
No |
Sequence |
A unique identifier for Oracle Health Insurance invoice lines generated by Oracle Health Insurance. |
lineNumber |
A unique number within invoice. Used to ensure line number is unique for an invoice. |
||
lineType |
ITEM |
Defined in dynamic logic. |
|
amount |
No |
Financial Transaction Detail. Amount |
Sum of all Financial Transaction Detail amounts included in the invoice line. |
description |
Claims |
The default value that can be overridden in dynamic logic |
|
distributionAccount |
Financial Transaction Detail Process Data. General Ledger Account |
The default value that can be overridden in dynamic logic. |
|
attribute1 .. attribute30 |
Free format elements for additional configuration defined attributes. Defined in dynamic logic. |
- Accounting Detail Element
-
This element has attributes that match the attributes of the Subledger to which the accounting details are exported.
Element | Updatable in Dynamic Logic? | Source of Value | Note |
---|---|---|---|
accountingDetailBulkingCriteria |
|||
accountingDetailBulkingGroup |
No |
Financial Transaction Detail Process Data.Accounting Bulking Group |
Shows additional accounting bulking. The attribute may not contain any value. This value cannot be updated in the dynamic logic function. |
reversal |
No |
Financial Transaction.Ind Reversal |
Reversal indicator is a fixed grouping criterion for invoices. This value cannot be updated in the dynamic logic function. |
distributionAccount |
Financial Transaction Detail Process Data. General Ledger Account |
||
accountingDetail attributes: |
|||
ohiAccountingDetailId |
No |
Sequence |
Unique identifier for Oracle Health Insurance accounting details generated by Oracle Health Insurance. |
ledgerId |
Identification of the ledger to which the accounting details are interfaced. |
||
accountingDate |
Financial Transaction Process Data.Fin Message Handled Date Time |
||
transactionDate |
Financial Transaction Process Data.Fin Message Handled Date Time |
||
category |
Defined in dynamic logic. |
||
source |
Defined in dynamic logic. |
||
currencyCode |
Financial Transaction Detail. Amount Curr |
||
amountDebit |
No |
Financial Transaction Detail. Amount |
Sum of all Financial Transaction Detail amounts included in the accounting detail. This element is populated if the amount is a debit amount. |
amountCredit |
No |
Financial Transaction Detail. Amount |
Sum of all Financial Transaction Detail amounts included in the accounting detail. This element is populated if the amount is a credit amount |
description |
Claims |
Default value that can be overridden in dynamic logic |
|
accountingPeriod |
Defined in dynamic logic. |
||
glSegment1.. glSegment30 |
Financial Transaction Detail Process Data. General Ledger Account |
Mapping to the various GL accounting segments. Up to 30 segments are available to match the required chart of accounts structures. |
|
attribute1 .. attribute30 |
Free format elements for additional configuration defined attributes. Defined in dynamic logic. |
Financial Message Structure - Flat File
The system supports creation of the Flat Files that can be easily imported to Fusion Financial or other systems that have similar file structures
The process of creation of the Flat Files is summarized by the image below :
The file contents are driven by the dynamic logic functions. Each dynamic logic function takes in as input a combination of the relevant contexts - finanical message, Invoice, invoice line, accounting line detail and financial transaction detail. The contexts are described later in the section.
The function dynamic logic returns one or more rows along with the file details (file identifier and row content) to which they are required to be written. See function dynamic logic signature for details.
One data file is created for each distinct file identifier found in any of the rows created by the dynamic logic functions during the activity processing. The rows with the same file identifier are written to it.
The order in which the rows of the financial message for accounting details, invoice and invoice lines are written to the data file is not configurable. |
- Financial Message
-
This has attributes that relate to the financial message itself.
Element | Source of Value | Note |
---|---|---|
id |
Simple Sequence. |
Unique ID of message generated by Oracle Health Insurance. |
jobId |
Activity ID that created this financial message |
Unique ID of the Financial Message Creation activity. |
messageDate |
System Date and time |
Date / Time the message was created. |
messageBulkingCriteria |
Financial Transaction Process Data.Fin Message Bulking Group |
- Invoice
-
This has attributes that hold identifying attributes at invoice level.
Field | Source of Value | Note |
---|---|---|
invoiceBulkingGroup |
Financial Transaction Detail Process Data.Invoice Bulking Group |
Shows additional invoice bulking. Attribute may not contain a value. |
invoiceDestination |
Financial Transaction Process Data.Invoice Destination |
Payable or Receivable |
counterpartyCode |
Financial Transaction Detail Process Data.Counterparty Code |
|
counterpartyQualifier |
Financial Transaction Detail Process Data.Counterparty Qualifier |
|
payFromBankAccount |
Financial Transaction Detail Process Data. Pay From Bank Account |
|
ohiInvoiceId |
Sequence |
Unique identifier for Oracle Health Insurance invoices generated by Oracle Health Insurance. |
documentId |
Defaulted with Oracle Health Insurance invoice ID |
|
invoiceDate |
Financial Transaction Process Data.Fin Message Handled Date Time |
|
paymentBeneficiaryFlexCode |
Financial Transaction Detail Process Data.Payment Ben Flex Code Def Code |
If the Payment Beneficiary Flex Code Value is empty, the Counterparty qualifier value is used for this attribute. |
paymentBeneficiaryCode |
Financial Transaction Detail Process Data.Payment Beneficiary Code |
If the Payment Beneficiary Code is empty, the Counterparty Code is used for this attribute. |
currencyCode |
Financial Transaction Detail. Amount Curr |
|
invoiceAmount |
Sum of all Financial Transaction Detail amounts included in the invoice. Negative for invoice type CREDIT. |
- Invoice Line
-
This has attributes that hold identifying attributes at invoice line level.
Element | Source of Value | Note |
---|---|---|
invoiceLineBulkingGroup |
Financial Transaction Detail Process Data.Invoice Line Bulking Group |
Shows additional invoice line bulking. Attribute may not contain a value. |
reversal |
Financial Transaction.Ind Reversal |
Reversal indicator is a fixed grouping criterion for invoices. This value cannot be updated in the dynamic logic function. |
ohiLineId |
Sequence |
Unique identifier for Oracle Health Insurance invoice lines generated by OHI. |
lineNumber |
Unique number within invoice. Used to ensure line number is unique for an invoice. |
|
amount |
Financial Transaction Detail. Amount |
Sum of all Financial Transaction Detail amounts included in the invoice line. |
distributionAccount |
Financial Transaction Detail Process Data. General Ledger Account |
Accounting Detail
This element has attributes that match the attributes of the Subledger to which the accounting details are exported.
Element | Source of Value | Note |
---|---|---|
accountingDetailBulkingGroup |
Financial Transaction Detail Process Data.Accounting Bulking Group |
Shows additional accounting bulking. Attribute may not contain a value. |
reversal |
Financial Transaction.Ind Reversal |
Reversal indicator is a fixed grouping criterion for invoices. This value cannot be updated in the dynamic logic function. |
distributionAccount |
Financial Transaction Detail Process Data. General Ledger Account |
|
ohiAccountingDetailId |
Sequence |
Unique identifier for Oracle Health Insurance accounting details generated by Oracle Health Insurance. |
accountingDate |
Financial Transaction Process Data.Fin Message Handled Date Time |
|
transactionDate |
Financial Transaction Process Data.Fin Message Handled Date Time |
|
currencyCode |
Financial Transaction Detail. Amount Curr |
|
amountDebit |
Financial Transaction Detail.Amount |
Sum of all Financial Transaction Detail amounts included in the accounting detail. This field is populated if the amount is a debit amount. |
amountCredit |
Financial Transaction Detail. Amount |
Sum of all Financial Transaction Detail amounts included in the accounting detail. This field is populated if the amount is a credit amount. |
Delivery of the Financial Messages
Generate Financial Message XML
The financial messages generated by the Generate Financial Message XML activity type delivers to an external system depending on the value of the parameter Financial Message Delivery Option. The activity may result into multiple financial messages. For the delivery option Message Based; these message deliver individually to the financial message endpoint through a message based delivery integration point as described in the "Financial Message Integration Point" in the Developer Guide. An activity message is logged in case a message cannot be delivered.
When the delivery option for the financial message is selected as File Based then the system writes all the messages to an XML file (data file). The system might create multiple XML files to avoid creation of large XML file with many financial message. These multiple files are placed in one data file set. The financial messages are delivered through the file based delivery integration point as described in the Financial Message Integration Point. Once a notification message is sent to an external system an activity message ACT-FL-DAFI-001 is logged.
Generate Financial Message Flat File
The financial messages generated by the Generate Financial Message Flat File-based activity type are delivered through the file based delivery integration point. The system applies chunking of messages same as in Generate Financial Message XML to avoid large files; for Flat Files a data file set is created per chunk. The data files are created per distinct file identifier in the chunk.
FIN-FL-CRFM-002 is logged for each data file set that is created.
Error Message
The Generate Financial Message activity can result in the following messages with elementId attribute set to the claim code.
Code | Sev | Message |
---|---|---|
FIN-FL-CRFM-001 |
Informative |
Financial transactions for claim {code} are not processed because it would exceed the maximum amount. |
Code | Sev | Message |
---|---|---|
FIN-VL-CRFM-001 |
Fatal |
The status of the financial transaction set must be Open |
FIN-VL-CRFM-002 |
Fatal |
Message creation for {message bulking group} failed |
FIN-VL-CRFM-004 |
Fatal |
Invalid signature for dynamic logic function {dyn logic code} |
FIN-VL-CRFM-005 |
Fatal |
The financial transaction set cannot be processed because of an active financial hold |
ACT-FL-DAFI-001 |
Informative |
Messages are written to the Data File Set {comma separated list of data file set ids} |
Multiple data file sets are possible in case of Generate Financial Message Flat File |