On this page
|
Legacy SHINES reference document. This page captures a Georgia DHS SHINES interface design as written (vendor spec, typically 2007–2025). It documents the system being replaced, not CRAIG behavior. CRAIG’s current implementation of the same data exchange lives under the craig-exchange API reference and in the design documents. Use this page only when mapping legacy integrations during CRAIG rollout. |
Interface Detailed Design Document
SMILE Interface
Georgia Department of Human Resources
Statewide Automated Child Welfare Information System
(SACWIS)
12/18/2008
Version 1.3
02/21/2025
Version 1.4
Table of Contents
General Design (Functional)
| Req. # | Validated Requirement |
|---|---|
555.1 |
Send Provider’s Name to Financial System |
555.2 |
Send Provider’s ID to Financial System |
555.3 |
Send Provider’s Billing Address line 1to Financial System |
555.4 |
Send Provider’s Billing Address line 2 to Financial System |
555.5 |
Send Provider’s City to Financial System |
555.6 |
Send Provider’s State to Financial System |
555.7 |
Send Provider’s Zip to Financial System |
555.8 |
Send Provider’s Contact Name to Financial System |
555.9 |
Send Provider’s Contact Phone number to Financial System |
555.1 |
Send Provider’s contact Fax number to Financial System |
555.2 |
Send child’s suffix |
555.3 |
Send Level of Care |
555.33 |
Send Person ID |
555.34 |
Send Date that the Child’s information was last updated |
555.35 |
Send Child Information nightly |
555.36 |
Send Staff ID of person creating invoice |
555.37 |
Send Case Manager ID who is active on the case |
555.38 |
Send the County Id for each invoice |
555.39 |
Send the unique invoice identifier for each invoice |
555.4 |
Send the date an invoice is Sent |
555.41 |
Send transaction date |
555.42 |
Send service month |
555.43 |
Send service year |
555.44 |
Send Person ID for the person receiving services |
555.45 |
Send Last Name for the person receiving services |
555.46 |
Send First Name for the person receiving services |
555.47 |
Send Middle Initial for the person receiving services |
555.48 |
Send Suffix for the person receiving services |
555.49 |
Send Provider’s Name |
555.5 |
Send Provider’s ID |
555.51 |
Send Provider’s Address line 1 |
555.52 |
Send Provider’s Address line 2 |
555.53 |
Send Provider’s City |
555.54 |
Send Provider’s State |
555.55 |
Send Provider’s Zip |
555.56 |
Send Program Area |
555.57 |
Send UAS Program Code |
555.58 |
Send UAS Program title |
555.59 |
Send Entitlement code |
555.6 |
Send Entitlement description |
555.61 |
Send Service description |
555.62 |
Send Service begin date |
555.63 |
Send Service end date |
555.64 |
Send total number of days of Service |
555.65 |
Send Level of care |
555.66 |
Send Daily Rates |
555.67 |
Send Monthly Rates |
555.68 |
Send the computed total dollar amount of the invoice |
555.69 |
Send adjustment indicator |
555.7 |
Send waiver type for each waiver |
555.71 |
Send payment delivery option |
555.72 |
Send Restricted fund amount to be reserved |
555.73 |
Send amount to be paid by County funds |
555.74 |
Send whether invoice is a replacement |
555.75 |
Send the replacement invoice identifier |
555.76 |
Receive check number |
555.77 |
Receive Payment Date |
555.78 |
Receive the restricted fund balance for child |
555.79 |
Receive Check amount |
555.8 |
Receive the invoice number |
555.81 |
Send Client Identifier |
555.82 |
Send the change of the eligibility funding |
555.83 |
Send the effective date of the funding change |
555.84 |
Send the authorization date for a foster care per diem rate change |
555.85 |
Send the new authorized foster care per diem amount |
555.86 |
Send the effective date the boarding care is terminated |
555.87 |
Send the reason the boarding care is terminated |
555.88 |
Send the name of the new placement if the child is transferred to another placement |
555.89 |
Send the street address/RFD of the new placement |
555.9 |
Send the city of the new placement |
555.91 |
Send the state of the new placement |
555.92 |
Send the zip code of the new placement |
555.93 |
Send the date the child is placed in the new placement |
555.94 |
Send the authorized approval for changes in funding |
555.95 |
Send date of approval for changes in funding |
MR-041.1 |
Send SHINES Person Id of the existing, pre-adoptive child when the record for the newly created post adoptive child is created. |
The above were the initial requirements collected. Some of them were later invalidated due to changes requested by interface partners and due to constraints in their systems. The following detail design captures the most up-to-date functionality that the interface is designed to perform
Introduction
Document Purpose
The purpose of this document is to give a detailed functional description of how the SMILE interface operates.
Functional Overview
Case Managers, Resource Developers, Eligibility Specialists and Adoptions Specialists are provided the ability to perform tasks within SACWIS which rely on the need for generating invoices and making payments to approved providers. The interface between SACWIS and SMILE facilitates this accounting and payment management aspect of the business process.
SACWIS allows users to authorize the appropriate services/benefits for Persons/Clients within a case. Once a service/benefit is authorized, a batch process observes the various parameters required (based on the type of service/benefit) and generates an invoice to process payment to the approved vendor where services were provided or benefits were sanctioned. These generated invoices are then reviewed and approved/rejected by regional accounting staff and forwarded to SMILE via the interface. Throughout this lifecycle, the SACWIS – SMILE interface handles the following business functions to ensure payments are processed to the right vendors, for the right services, provided to the right Person/Client.
| Business Function | Description |
|---|---|
Setup/Update Vendor Information |
Setup/Update approved vendor information maintained in SACWIS’ Resource Directory. |
Setup/Update Client Information |
Setup/Update child (ren) and adult(s) information involved in a SACWIS case record. |
Send Invoice |
Send SMILE an Invoice generated in SACWIS for services/benefits authorized for a Person/Client. |
The SACWIS – SMILE interface leverages GTA’s web Methods broker technology to pick up requests from the Georgia SHINES database and send them onto to SMILE by whatever works best for SMI. Tentatively, that will involve the broker software writing directly to SMILE tables created for the SHINES interface. The backup plan is for the web Methods broker to send XML files to SMILE. For data coming back, SHINES will provide a web service.
Functional Description
SACWIS maintains information regarding approved resources (including service providers, foster home, and adoptive homes) in what is commonly referred to as the Resource Directory. Using the Resource Directory, Resource Developers can add resources in which Case Managers can utilize to either authorize services, place children in foster homes, or place children in adoptive homes. In all of these situations, there is an approved resource/payee in which payments are to be made in the form of provided service payments, foster care per diem payments, or adoption assistance benefits. Therefore, the information listed for each payee in the Resource Directory would need to be setup and updated accordingly in SMILE.
When a new resource is added to SACWIS via the Add Resource page and a contract is setup and approved, SACWIS will create an outgoing record in the VENDOR_OUTBOUND table, which the web Methods broker will pick up and send to SMILE to be setup as a new vendor.
In the case of Foster/Adoptive homes, after adding the home via the Add Home page, they are required to go through further approvals and training. After completing this approval/training process, the status is set to Approved (Full), Approved (Special), or Approved (Temp). Once the Foster/Adoptive Homes status is set to Approved (Full), Approved (Special), or Approved (Temp), the home is added to the VENDOR_OUTBOUND table for transmission to SMILE.
If the resource exists in SMILE, then the Contract Manager is provided with a report from SMILE as requested to review the updates and manually update information as appropriate. If the resource does not exist in the database, then the resource is added as a new vendor and the Contract Manager is provided with a report from SMILE as requested of the newly added resources/vendors.
Table of Input Fields
| Static/ Dynamic | Required (Yes, No) | Data Name | Description | Possible Value | Type | Length |
|---|---|---|---|---|---|---|
Dynamic |
Y |
Transaction ID |
Unique identifier for this interface transaction |
Number |
16 |
|
Dynamic |
Resource Name |
Legal Name of the Resource to setup in SMILE. |
String |
|||
Dynamic |
Resource ID |
SACWIS Resource ID of the Resource to setup in SMILE. |
String |
16 |
||
Static |
New Resource Indicator |
Y of this is a new resource, N if this is an update of existing resource. |
||||
Dynamic |
Resource Billing Address Line 1 |
Billing Address Line 1 of the Resource to setup in SMILE. |
String |
|||
Dynamic |
Resource Billing Address Line 2 |
Billing Address Line 2 of the Resource to setup in SMILE. |
String |
|||
Dynamic |
Resource Billing City |
Billing City of the Resource to setup in SMILE. |
String |
|||
Static |
Resource Billing State |
Billing State of the Resource to setup in SMILE. |
Standard US States |
String |
||
Dynamic |
Resource Billing Zip |
Billing Zip of the Resource to setup in SMILE. |
String |
|||
Dynamic |
Resource Contact Name |
Contact Name at the Resource to setup in SMILE. |
String |
|||
Dynamic |
Resource Phone Number and extension |
Phone Number and extension of the Resource to setup in SMILE. |
String |
|||
Dynamic |
Resource Fax Number and extension |
Fax Number and extension of the Resource to setup in SMILE. |
String |
Table of Output Fields
| Static/ Dynamic | Required (Yes, No) | Data Name | Description | Possible Value | Type | Length |
|---|---|---|---|---|---|---|
Static |
Y |
Transaction ID |
ID of Transaction from SHINES |
Number |
16 |
|
Static |
Y |
Resource ID |
ID of Resource being added/updated |
|||
Static |
Y |
Resource Name |
Name of Resource added/updated |
|||
Static |
Y |
Return Status |
Status of create/update transaction |
CREATED, UPDATED |
||
Static |
Y |
Vendor ID |
SMILE Vendor ID |
Error Messages
| No response in 7 days |
|---|
GTA retrying transformation errors but retry fails after N times (where N most likely is 3) |
Design Requirements
| Validated Functional Requirement Number | Conceptual Design Requirement Number | Conceptual Design Requirement |
|---|---|---|
Functional Description
Similar to setting up resources/vendors in SMILE, every person/client provided services or children in DFCS custody, placed with a relative or in an adoptive placement receiving adoption assistance benefits must be known to SACWIS as well as SMILE.
Client data is sent to SMILE when the Program Area Supervisor approves Service Authorization or Payment of Care (all clients receiving services/authorized for payment of care are sent to SMILE). In addition, creating a new approved Adoption Assistance entry triggers Person information to be sent to SMILE.
Within SHINES when a child’s Pre-Adoption stage is closed with the reason of adoption finalized a new client record will be inserted in the SHINES-SMILE Client interface table (SACWISIFC.CLIENT_OUTBOUND ) for the newly created post adoptive child which includes the SHINES Person Id of the existing, pre-adoptive child in the ID_CLIENT_PREV column.
Case Manager updates information for a Person registered in SMILE as a client. Process Flow
<Similar to Vendor Setup >
Table of Input Fields
| Static/ Dynamic | Required (Yes, No) | Data Name | Description | Possible Value | Type | Length |
|---|---|---|---|---|---|---|
Dynamic |
Transaction ID |
Unique SHINES id for this interface transaction |
Number |
16 |
||
Static |
New Client Indicator |
Indicates if this is a new or updated client |
Y, N |
String |
1 |
|
Dynamic |
Client’s First Name |
First Name of the client to setup in SMILE. |
||||
Dynamic |
Client’s Middle Name |
Middle Name of the client to setup in SMILE. |
||||
Dynamic |
Client’s Last Name |
Last Name of the client to setup in SMILE. |
||||
Static |
Client’s Suffix |
Suffix of the client to setup in SMILE. |
||||
Dynamic |
Clients Date of Birth |
Date of the Birth of the client to setup in SMILE. |
||||
Client’s Gender |
Gender of the client to setup in SMILE. |
|||||
Dynamic |
Client’s SSN |
SSN of the client to setup in SMILE. |
||||
Dynamic |
Client’s CRS ID |
CRS ID of the client to setup in SMILE. |
||||
Dynamic |
Client’s Medicaid Number |
Medicaid Number of the client to setup in SMILE. |
||||
Dynamic |
Client’s SHINES Person ID |
SHINES Person ID of the client to setup in SMILE. |
||||
Static |
Client’s Legal County |
Legal County of the client for billing purposes |
||||
Dynamic |
Cleint’s Pre Adoptive SHINES Person ID |
SHINES Person Id of the existing, pre-adoptive client |
Table of Output Fields
| Static/ Dynamic | Required (Yes, No) | Data Name | Description | Possible Value | Type | Length |
|---|---|---|---|---|---|---|
Static |
Y |
Transaction ID |
SHINES transaction id this is response for |
Number |
16 |
|
Static |
Y |
SACWIS Person ID |
Unique Identifier of Client |
|||
Static |
Y |
Return Value |
Status of transaction |
CREATED, UPDATED, REJECTED |
Error Messages
| No response in 7 days |
|---|
GTA retrying transformation errors but retry fails after N times (where N most likely is 3) |
Design Requirements
| Validated Functional Requirement Number | Conceptual Design Requirement Number | Conceptual Design Requirement |
|---|---|---|
Functional Description
SACWIS maintains information regarding approved resources (including service providers, foster home, and adoptive homes) in what is commonly referred to as the Resource Directory. Using the Resource Directory, Resource Developers can add resources in which Case Managers can utilize to either authorize services, place children in foster homes, or place children in adoptive homes. In all of these situations, there is an approved resource/payee in which payments are to be made in the form of provided service payments, foster care per diem payments, or adoption assistance benefits.
Once a service/benefit is entered into the system for a person/client, a financial batch process observes the various parameters required (based on the type of service/benefit) and generates an invoice to process payment to the approved vendor where services were provided or benefits were sanctioned. These generated invoices are then reviewed and approved/rejected by regional accounting staff and forwarded to SMILE via the interface. Assuming the provider exists in SMILE, the invoices are batched nightly (marked ready for approval), and are recorded to the INVOICE_OUTBOUND table once approved by regional accounting. The web Methods broker will pick up the invoice items from the table and send to SMILE.
Once the invoice is sent to SMILE servers (writing to SMILE incoming tables or using secure FTP to send an XML file), SMILE reviews the invoice and generates payment using the program code defined on the invoice to the identified payee on the invoice. After the invoice is processed, SMILE informs SACWIS of the payment information. (See Send Invoice Inbound Section for details.)
In the situations where a payee is overpaid/underpaid, SACWIS manages this using the invoice generation process. If a payee is overpaid, SACWIS subtracts the overpaid amount from a subsequent invoice; if a payee is underpaid, then SACWIS adds the underpaid amount to a subsequent invoice.
Under MR-039, the Invoice Detail page was updated to capture the Provider Invoice Number textbox. The Provider Invoice Number is available for financial staff as needed. This information is added to the SHINES to SMILE invoice outbound record layout for purposes of printing this information on the check or remittance advice that goes on the payment to the provider.
As per MR-059, three new fields are added to the Invoice Outbound table - ID_ORIG_REVERSAL_INV, DT_ADJ_INVO_PAID_CHECK, NBR_ADJ_INVO_PAID_CHECK.
ID_ORIG_REVERSAL_INV: The Prior Period Adjustment batch is updated to associate all the rerate and recoupment adjustment records with the Invoice Id of the original invoice that corresponds to the adjustments .This invoice id will be written to the column ID_ORIG_REVERSAL_INV of the Invoice Outbound table to pass it to SMILE interface.
DT_ADJ_INVO_PAID_CHECK: The Prior Period Adjustment batch is updated to associate all the rerate and recoupment adjustment records that correspond to an originally paid invoice with the check date of the originally paid invoice. This check date will be written to the column DT_ADJ_INVO_PAID_CHECK of the Invoice Outbound table to pass it to SMILE interface. This field is populated only if the original invoice is in paid status when adjustments invoices are generated by the batch.
NBR_ADJ_INVO_PAID_CHECK: The Prior Period Adjustment batch is updated to associate only the rerate adjustment records(not applicable to recoupments) that correspond to an originally paid invoice with the check number of the originally paid invoice. This check number will be written to the column NBR_ADJ_INVO_PAID_CHECK of the Invoice Outbound table to pass it to SMILE interface. This field is populated only if the original invoice is in paid status when adjustments invoices are generated by the batch.
Table of Outbound Fields (SHINES to SMILE)
| Static/ Dynamic | Required (Yes, No) | Data Name | Description | Possible Value | Type | Length |
|---|---|---|---|---|---|---|
Dynamic |
Y |
Transaction ID |
Generated unique key for invoice line item to be sent |
|||
Static |
County ID |
County ID of the county with custody of the child |
||||
Static |
Region ID |
Region ID of the region with the custody of the child |
||||
Dynamic |
Invoice ID |
SACWIS Invoice Identifier |
||||
Dynamic |
Date Invoice Sent |
Date invoice is approved by regional accounting staff |
Populated by web Methods broker |
|||
Dynamic |
Service Month |
Month service is provided |
||||
Dynamic |
Service Year |
Year service is provided |
||||
Dynamic |
Person ID |
SACWIS Person Identifier receiving services – Client ID |
||||
Dynamic |
Client Last Name |
Last Name of the Person/Client receiving services. |
||||
Dynamic |
Client First Name |
First Name of the Person/Client receiving services. |
||||
Dynamic |
Client Middle Name |
Middle Name of the Person/Client receiving services. |
||||
Static |
Client Suffix |
Suffix of the Person/Client receiving services. |
||||
Dynamic |
Resource’s Name |
Name of Resource providing services. |
||||
Dynamic |
Resource ID |
SACWIS Resource ID of the resource providing services. |
||||
Dynamic |
Provider Billing Address Line 1 |
Billing Address Line 1 of the resource providing services. |
||||
Dynamic |
Provider Billing Address Line 2 |
Billing Address Line 2 of the resource providing services. |
||||
Dynamic |
Provider Billing City |
Billing City of the resource providing services. |
||||
Dynamic |
Provider State |
Billing State of the resource providing services. |
||||
Dynamic |
Provider Zip |
Billing Zip of the resource providing services. |
||||
Static |
Service Detail Code |
Contains UAS Program Code and the Entitlement Code |
||||
Dynamic |
Service Begin Day |
Beginning day of the month of the service being provided. |
||||
Dynamic |
Service End Day |
Ending Day of the month of the service being provided. |
||||
Dynamic |
Total Number of Days of Service |
Total number of days of the service being provided – calculated from End Day – Begin Day |
||||
Dynamic |
Service Unit Rate |
Amount paid per unit of service |
||||
Dynamic |
Client’s Per Diem Rate |
Per Diem Rate of the child receiving services. |
||||
Dynamic |
Client’s Monthly Rate |
Monthly Rate of the child receiving services – used for Adoption Support. |
||||
Dynamic |
Computed Total Dollar Amount |
Computed total dollar amount of the invoice LINE ITEM |
||||
Static |
Adjustment Indicator |
Adjustment indicator |
Y, N, R, C |
String |
1 |
|
Dynamic |
Number Count |
Count Adjustment |
1, -1 |
|||
Dynamic |
Provider Invoice Number |
This number is the invoice number received by the services provider and will be used to print this number on invoices generated from SHINES for payment towards the provider’s bill. |
String |
12 |
||
Dynamic |
Original Invoice Id |
Invoice Id of the Original invoice that corresponds to the Adjustment invoice |
||||
Dynamic |
Original Invoice check date |
Check Date of the Originally paid invoice that corresponds to the Adjustment invoice. |
||||
Dynamic |
Original Invoice check number |
Check Number of the Originally paid invoice that corresponds to the Adjustment invoice. |
Table of Inbound Fields (SMILE to SHINES)
| Static/ Dynamic | Required (Yes, No) | Data Name | Description | Possible Value | Type | Length |
|---|---|---|---|---|---|---|
Dynamic |
Y |
Return Status |
Indicates error in processing payment or invoice item |
|||
Dynamic |
Y |
Transaction ID |
Unique identifier for the line item – key of the OUTBOUND_VENDOR table |
|||
Dynamic |
Y |
Check Number |
Payment check number |
|||
Dynamic |
N |
Restricted Fund Checking Balance |
Restricted fund checking balance for the child. |
|||
Dynamic |
N |
Restricted Fund Savings Balance |
Restricted fund savings balance for the child. |
|||
Dynamic |
Y |
Check amount |
Check payment amount |
|||
Dynamic |
Y |
Invoice ID |
Corresponding SACWIS Invoice ID. |
|||
Dynamic |
Y |
Payment Date |
Date the payment was made |
Error Messages
| Invoice is duplicate |
|---|
Invalid program number or entitlement code |
Client not setup in SMILE |
Vendor not setup in SMILE |
No response in 7 days |
GTA retry fails |
Design Requirements
| Validated Functional Requirement Number | Conceptual Design Requirement Number | Conceptual Design Requirement |
|---|---|---|
Functional Description
After payment is made, SMILE informs SACWIS (the web Methods broker will invoke a web service on SACWIS) of the payment information including check number, restricted funds balance, payment date, check amount and invoice number. A single SACWIS invoice may result in multiple checks in the rare event that an invoice has more than 12 line items, but SMILE will process each line item as a separate transaction.
The status of the payment information that SACWIS receives from SMILE will determine what actions need to be executed in the SACWIS system. Those statuses are Paid, Rejected, Cancelled or Void. See below for a description of the operations performed when those statuses are received.
Paid
In the event that the invoice was paid, the SACWIS application will update the Invoice, Line item, and the Restricted Funds information if applicable. The application will also update both the County and Case budget limits to indicate that the payments were made.
Rejected
In the event that the invoice was rejected, the SACWIS application will be updated with the rejection reason and both the Invoice and Service Authorization detail will be updated to show that the payments were not made. We will also flag the line item to show that the payment was rejected.
Cancelled
In the event that the invoice was cancelled, the SACWIS application will update the overall status of the invoice to indicate that the payment was cancelled. The service authorization detail will also be updated to show that the payment was cancelled.
Voided
If the invoice was previously paid and later voided in the SMILE system, then all payment updates will be reverted to the values that existed before the payment and the overall status of the invoice will be updated to show that the payments were voided.
Technical Design
Technical Overview
The SMILE application is hosted outside of DHR and GTA and is developed, hosted, and maintained by SMI. The C/Unix application currently interfaces with other systems via secure FTP file transfer.
SACWIS will write outgoing information into separate interfacing tables for vendor, client, and invoice. The GTA web Methods broker will access those tables directly via JDBC support, convert them into web Methods objects, and then send them to SMILE. The current plan is that the broker will either write records into incoming SMILE tables or send XML files to SMILE. However, the web Methods broker will handle that transformation and transport for us, so technically it is not our concern.
The major technical assumption is that the interface will not be synchronous. The end user of SHINES is not waiting on a response from the SMILE system before proceeding to the next step. SHINES will write out the database records for transmittal as soon as the person, vendor, or invoice is approved, updated, or assigned. How often the broker picks up these records is out of the hands of the SHINES team.
SHINES will need to host a web service for the response to these transactions. There will be three web services: one for handling client responses, one for vendor responses, and one for the invoice responses. The GTA web Methods broker will be invoking these SHINES web services when it picks up outgoing responses from the SMILE system. SMILE is currently a batch-oriented architecture on their side. The SHINES side is architected to support that, but more rapid message handling essentially involves a configuration option in the broker, with no code changes need on the SHINES side.
In summary, the outgoing messages will be handled by basic inserts into new database tables that other applications can subscribe to. The SHINES application code writes out messages to the table; therefore, there is no performance impact to the live SHINES application if there are delays relaying a message out to the SMILE application in Carrolton. SHINES will be creating records in real-time. Incoming messages will be processed in real-time via web service invocations that will hook into the SHINES Enterprise Java Bean layer.
Prior to initially rolling out the SMILE interface, a conversion effort (to be documented by the conversion team) will load into SACWIS existing, active, approved Vendors from SMILE. Client information should be synchronized as well (client definition will come from IDS/CPRS, but Person IDs from SACWIS need to be loaded into SMILE for reference purposes).
Below is an Entity Diagram for the outbound tables used by this interface.
Added new column ID_CLIENT_PREV to CLIENT_OUBOUND in the below Entity Diagram
SMILE Technical Specifications
Hardware/OS: HP-UX on HP Hardware
Programming Language: C
Database: Informix
Transactional Monitor: N/A
Physical Location: SMI in Carrolton, GA
Current Interfaces: Batch text files
Protocols: Secure FTP
Expected Volume of Transactions: TBD
Technical Description
The Resource Retainer will add a new resource to CAPS_RESOURCE. Regional Accounting Staff will define a SHINES contract for that resource if it is a resource that needs to be paid. Once the SHINES contract is defined, that resource (or vendor) will be added to the OUTBOUND_VENDOR table for sending to SMILE. For Foster/Adoptive homes, once they get full approval, they will be added to the OUTBOUND_VENDOR table.
The updating of the OUTBOUND_VENDOR table will happen in real-time via Java code. So contracted/approved resources will be available to be sent to SMILE immediately. The web Methods broker at GTA will use a JDBC driver to query the OUTBOUND_VENDOR table on a scheduled basis. Due to SMILE’s daily batch architecture, the vendor records may only be picked up by the broker a few times a day, or hourly. However, due to the fact that SHINES populates this table right away, the pickup time could be scheduled more often once the SMILE architecture can process updates more frequently. While it will still be asynchronous in nature, it can in the future be very fast.
The table for publishing Vendor information does not contain “SMILE” in the table or field names. It is a generic mechanism that has a field that can specify the target system, but this table could be used by future interfaces that require receiving Vendor information from SHINES.
Message Description
This message contains a resource that was added/approved. The vendor data is used by SMI to add or update the vendor profile, so that when an invoice arrives for that vendor, SMI knows how to pay the vendor.
Vendor Outbound table – SHINES publishing new or updated vendors
| Attribute/Logical Role name | Domain | Data type | Null | Definition | Interface Use |
|---|---|---|---|---|---|
ID_VENDOR_OUTBOUND |
ID |
NUMERIC(16, 0) |
N |
Artificial key of the vendor outbound transaction - transaction id. |
Transaction Unique ID – Send to broker and target system |
DT_LAST_UPDATE |
DT_LAST_UPDATE |
DATE |
N |
Date of insert or last update of the VENDOR_OUTBOUND table. |
Internal tracking of when this row was last updated |
INTERFACE_STATUS |
VARCHAR(3) |
N |
Status of this record with regards to the interface - NEW, INP (In Process), SNT (Sent), ERR (Error) |
Used by the interface broker to determine which records need to be sent, and updated by the broker when a record is sent |
|
DT_PROCESS |
DATE |
Y |
Date that this record was picked up by the interface (In Process) or sent by the interface (Sent) or error out (Error) |
Used by the interface broker to indicate when it picked up, sent, or error out on this transaction |
|
CD_ERROR |
VARCHAR(10) |
Y |
If there was an error sending this record, an error code as to why is stored here. |
If there was an error in the web broker or interface processing, code is stored here |
|
CD_TARGET_SYSTEM |
VARCHAR(4) |
Y |
Target system for the vendor update record. NULL can be used if the information can be provided to anyone subscribing to Vendor information from SHINES. Otherwise, it can specific a specific external system such as "SML" for SMILE. |
Used by the interface broker to determine whom this transaction should be published to. Default is all who subscribe to it at the broker. |
|
ID_INITIATOR |
ID |
NUMERIC(16, 0) |
N |
ID_INITIATOR references ID_PERSON in the PERSON table. This is the SHINES user that approved the contract or updated the resource. The user should be in the EMPLOYEE table as well. |
Internal SHINES auditing |
DT_RSRC_UPDATED |
DATE |
Y |
This is the date that the resource was contracted/approved or updated. |
Internal SHINES auditing |
|
ID_RESOURCE |
ID |
NUMERIC(16, 0) |
N |
This is the SHINES id for the resource, which is the ID_RESOURCE in the CAPS_RESOURCE table. |
Published by interface broker to target system(s) |
IND_NEW_RESOURCE |
VARCHAR(1) |
Y |
Indicates if this is a new resource or existing. |
Published by interface broker to target system(s) |
|
NM_RESOURCE |
VARCHAR(45) |
Y |
The legal name of an entity that provides assistance or services to CPS clients. |
Published by interface broker to target system(s) |
|
ADDR_RSRC_ST_LN_1 |
VARCHAR(30) |
Y |
Billing Address of the facility. |
Published by interface broker to target system(s) |
|
ADDR_RSRC_ST_LN_2 |
VARCHAR(30) |
Y |
Second line of Billing address for the resource. |
Published by interface broker to target system(s) |
|
ADDR_RSRC_CITY |
VARCHAR(20) |
Y |
Billing City of the resource. |
Published by interface broker to target system(s) |
|
CD_RSRC_STATE |
VARCHAR(2) |
Y |
The abbreviated billing state code for the resource. |
Published by interface broker to target system(s) |
|
ADDR_RSRC_ZIP |
VARCHAR(10) |
Y |
Numeric billing zip code for the resource. |
Published by interface broker to target system(s) |
|
NM_RSRC_CONTACT |
VARCHAR(25) |
Y |
The name of the individual that a DFCS employee calls to inquire about services. |
Published by interface broker to target system(s) |
|
NBR_RSRC_PHN |
VARCHAR(10) |
Y |
The phone number of the resource which is offering services. |
Published by interface broker to target system(s) |
|
NBR_RSRC_PHONE_EXT |
VARCHAR(8) |
Y |
The extension of the phone number listed. |
Published by interface broker to target system(s) |
|
NBR_RSRC_FAX |
VARCHAR(10) |
Y |
The FAX number of the resource which is offering services. |
Published by interface broker to target system(s) |
|
NBR_RSRC_FAX_EXT |
VARCHAR(8) |
Y |
The extension of the FAX number listed. |
Published by interface broker to target system(s) |
Table of Fields Coming Back from Target System (SMILE) in Web Service
| Static/ Dynamic | Required (Yes, No) | Data Name | Data Type | Length | Transformation Rules | Validation Rules | Default |
|---|---|---|---|---|---|---|---|
Static |
Y |
Transaction ID |
Number |
16 |
|||
Static |
Y |
Resource ID |
Number |
16 |
Old SMILE vendor IDs are only 8 digits |
||
Static |
Y |
Resource Name |
String |
30 |
|||
Static |
Y |
Return Status |
String |
||||
Static |
Y |
SMILE Vendor ID |
Number |
Method Narratives
Newly added/approved resources that need to be paid are inserted into the OUTBOUND_VENDOR table at the time of approval, within the same transaction that updates the SHINES core tables. The web Methods broker will poll this table with the JDBC adapter for Oracle looking for records that need to be sent or resent based on INTERFACE_STATUS field. When the broker has picked up the message, it changes the INTERFACE_STATUS to picked up, and updates the DT_PROCESS field. When the message has been delivered to SMILE, the INTERFACE_STATUS field is updated to reflect it was sent, and the DT_PROCESS field is updated to reflect the date/time of delivery.
Error Handling
Error codes are written by the web Methods broker into the CD_ERROR field. The broker is responsible for retries, and if needed, emails are sent by the broker to administrators to notify them of problems in this interface.
Field Level Errors
If a field in a record to be extracted has a validation error, that row will be skipped; CD_ERROR and DT_PROCESS updated, and an email should be sent to the application administrators by the broker.
Row Level Errors
The broker should update CD_ERROR and DT_PROCESS if possible. Regardless, the broker should send an email to application administrators.
Process Level Errors
The most likely process level errors will be network and other communications errors. The interface broker will handle retries, and send emails to application administrators as needed.
Triggering/Scheduling
Broker will be configured to scan this table. The initial configuration will most likely by hourly, but can be easily changed within the broker configuration. For testing/development, that time will more likely be 1-5 minutes.
Matching Criteria
Matching of responses to our requests will be done through the Resource ID within SACWIS and the transaction_id of the specific record. If NPI is agreed to, that can be used in some cases.
Dependencies
The resource page must have all mandatory fields filled out and a contract approved before it can be transmitted to SMILE. Adoptive/Foster homes must be added and *approved *before being extracted and transmitted to SMILE.
Technical Description
The technical process of sending new or updated clients is identical to the vendor process. In this case, when a client is first authorized to receive payment of care, the CD_SMILE_CLIENT flag in the PERSON table will be checked and updated to reflect it is ready to send, and a new record is created in the CLIENT_OUTBOUND table.
Within SHINES when a child’s Pre-Adoption stage is closed with the reason of adoption finalized a new client record will be inserted in the SHINES-SMILE Client interface table (SACWISIFC.CLIENT_OUTBOUND ) for the newly created post adoptive child which includes the SHINES Person Id of the existing, pre-adoptive child in the ID_CLIENT_PREV column.
See the Vendor technical description for more information on what follows.
Message Description
This message contains the information for a client, typically a child in a case or the mother, that has been authorized to receive service/payment of care. The client information needs to be sent to SMILE to process invoices associated with services provided for the client.
Client Outbound table – SHINES publishing new or updated clients
| Attribute/Logical Role name | Domain | Data type | Null | Definition | Interface Use |
|---|---|---|---|---|---|
ID_CLIENT_OUTBOUND |
ID |
NUMERIC(16, 0) |
N |
Unique, artificial key for the CLIENT_OUTBOUND table. |
Transaction Unique ID – Send to broker and target system |
DT_LAST_UPDATE |
DT_LAST_UPDATE |
DATE |
N |
Date of insert or last update of this CLIENT_OUTBOUND table. |
Internal tracking of when this row was last updated |
INTERFACE_STATUS |
VARCHAR(3) |
N |
Status of this record with regards to the interface - NEW, INP (In Process), SNT (Sent), ERR (Error) |
Used by the interface broker to determine which records need to be sent, and updated by the broker when a record is sent |
|
DT_PROCESS |
DATE |
Y |
Date that this record was picked up by the interface (In Process) or sent by the interface (Sent) or error out (Error) |
Used by the interface broker to indicate when it picked up, sent, or error out on this transaction |
|
CD_ERROR |
VARCHAR(10) |
Y |
If there was an error sending this record, an error code as to why is stored here. |
If there was an error in the web broker or interface processing, code is stored here |
|
CD_TARGET_SYSTEM |
VARCHAR(4) |
Y |
Target system for the vendor update record. NULL can be used if the information can be provided to anyone subscribing to Client information from SHINES. Otherwise, it can specific a specific external system such as "SML" for SMILE. |
Used by the interface broker to determine whom this transaction should be published to. Default is all who subscribe to it at the broker. |
|
ID_INITIATOR |
ID |
NUMERIC(16, 0) |
N |
ID_INITIATOR references ID_PERSON in the PERSON table. This is the SHINES user that approved or updated the client. The user should be in the EMPLOYEE table as well. |
Internal SHINES auditing |
DT_CLIENT_UPDATED |
DATE |
Y |
This is the date that the client was added/approved or updated. |
Internal SHINES Auditing |
|
ID_CLIENT |
ID |
NUMERIC(16, 0) |
N |
This is the SHINES identifier for the client, which references the ID_PERSON field in the PERSON table. |
Published by interface broker to target system(s) |
IND_NEW_CLIENT |
VARCHAR(1) |
N |
Y/N field indicating if this is a new client. Y means new client, N means update of existing client. |
Published by interface broker to target system(s) |
|
NBR_CRS_ID |
NUMERIC(9, 0) |
Y |
This is a nine digit identifier from Georgia’s Client Registration System, a central repository for clients being served by Medicaid, TANF, Food Stamps, DFCS, and child support cases. This identifier is also known to SMILE, the state’s accounting system. This ID serves as a cross-system identifier with external systems. |
Published by interface broker to target system(s) |
|
NBR_PERSON_ID_NUMBER |
VARCHAR(15) |
Y |
This data element contains the Social Security Number, and comes from the PERSON table in SHINES. |
Published by interface broker to target system(s) |
|
TXT_MEDICAID_NUMBER |
VARCHAR(12) |
Y |
Typically, this will be the 12 position value for the Member ID for Medicaid. It may at other times be the CRS ID plus an alpha character, which is used before the 12 position Member ID is created. |
Published by interface broker to target system(s) |
|
NM_PERSON_LAST |
VARCHAR(22) |
Y |
Last name of an individual. |
Published by interface broker to target system(s) |
|
NM_PERSON_FIRST |
VARCHAR(12) |
Y |
First name of an individual. |
Published by interface broker to target system(s) |
|
NM_PERSON_MIDDLE |
VARCHAR(12) |
Y |
Middle name of an individual. |
Published by interface broker to target system(s) |
|
CD_PERSON_SUFFIX |
VARCHAR(2) |
Y |
Code representing the suffix appended to a name for distinction (e.g. ,Jr., Sr.) |
Published by interface broker to target system(s) |
|
CD_PERSON_SEX |
VARCHAR(1) |
N |
Code representing an individual’s sex. |
Published by interface broker to target system(s) |
|
DT_PERSON_BIRTH |
DATE |
Y |
A date indicating the date of birth of an individual. |
Published by interface broker to target system(s) |
|
CD_PER_COUNTY |
VARCHAR(3) |
Y |
Legal County for Child - county which financially "owns" the child |
Published by interface broker to target system(s) |
|
ID_CLIENT_PREV |
ID |
NUMERIC(16, 0) |
Y |
SHINES Person Id of the existing, pre-adoptive child when the record for the newly created post adoptive child is created. |
Used by interface to be able to link the pre and post adoptive client ID’s in SMILE. |
Table of Fields Coming Back from Target System (SMILE) in Web Service
| Static/ Dynamic | Required (Yes, No) | Data Name | Data Type | Length | Transformation Rules | Validation Rules | Default |
|---|---|---|---|---|---|---|---|
Static |
Y |
Transaction ID |
Number |
16 |
|||
Static |
Y |
SACWIS Person ID |
Number |
16 |
|||
Static |
Y |
Return Status |
Method Narratives
Newly authorized or updated clients are inserted into the OUTBOUND_CLIENT table at the time of approval, within the same transaction that updates the SHINES core tables, including the CD_SMILE_CLIENT field in the PERSON table. The web Methods broker will poll this table with the JDBC adapter for Oracle looking for records that need to be sent or resent based on INTERFACE_STATUS field. When the broker has picked up the message, it changes the INTERFACE_STATUS to picked up, and updates the DT_PROCESS field. When the message has been delivered to SMILE, the INTERFACE_STATUS field is updated to reflect it was sent, and the DT_PROCESS field is updated to reflect the date/time of delivery.
Error Handling
Error codes are written by the web Methods broker into the CD_ERROR field. The broker is responsible for retries, and if needed, emails are sent by the broker to administrators to notify them of problems in this interface.
Field Level Errors
If a field in a record to be extracted has a validation error, that row will be skipped; CD_ERROR and DT_PROCESS updated, and an email should be sent to the application administrators by the broker.
Row Level Errors
The broker should update CD_ERROR and DT_PROCESS if possible. Regardless, the broker should send an email to application administrators.
Process Level Errors
The most likely process level errors will be network and other communications errors. The interface broker will handle retries, and send emails to application administrators as needed.
Triggering/Scheduling
Broker will be configured to scan this table. The initial configuration will most likely by hourly, but can be easily changed within the broker configuration. For testing/development, that time will more likely be 1-5 minutes.
Matching Criteria
Matching of responses to our requests will be done through the Person ID within SACWIS. SMILE will use SSN or SUCCESS/CRS ID to check if the child already exists, but will also store our SACWIS Person ID for future updates.
Dependencies
The person detail page must have all mandatory fields filled out before it can be transmitted to SMILE. Initially, the person must be a primary who has transition into the Investigative stage. An update will be sent once CRS Id and Medicaid numbers have been obtained.
Technical Description
Once an accounting representative approves an invoice, each line item on the invoice will be added as a separate transaction in the OUTBOUND_INVOICE table. It is important to note that the SMILE accounting system handles invoices at the vendor level, not the combination of vendor and child as SHINES does. So SMILE has no understanding of a SHINES invoice; therefore, the two systems are interfacing at the line-item level.
While an approval of an invoice will result in the record being written to OUTBOUND_INVOICE in real time, there is a batch process that runs nightly involved in invoice processing. When a user creates an invoice manually or one is generated by the system, a batch process examines the submitted invoice, and approves/rejects line items. After this process has completed, an accounting representative may give their approval. The point is that one cannot create a new invoice and send it to SMILE it real-time. The invoice batch process must run before final approval (and sending to SMILE) can occur. This is especially important in recognizing that SHINES as it is today cannot send an immediate “emergency” invoice to SMILE in real-time, or even in that same day.
Message Description
An invoice is generated to pay a vendor for a service provided to a person in a DFCS case. While the most common invoices are automatically generated (foster parent payment), invoices are generated for a variety of services, for both children in foster care and families needing services. An invoice contains an invoice ID, vendor information, client information, and the amount of the invoice. Also include is the client’s per diem rate and monthly rate, along with a policy waivers that are in place that affect the invoice.
Invoice Outbound table SHINES to SMILE publishing invoices
| Attribute/Logical Role name | Domain | Data type | Null | Definition | Interface Use |
|---|---|---|---|---|---|
ID_INVOICE_OUTBOUND |
ID |
NUMERIC(16, 0) |
N |
Artificial, Unique key for the Invoice Outbound Table. This will be the transaction id that is actually sent to SMILE. |
Transaction Unique ID – Send to broker and target system |
DT_LAST_UPDATE |
DT_LAST_UPDATE |
DATE |
N |
Date of insert or last update |
Internal tracking of when this row was last updated |
INTERFACE_STATUS |
VARCHAR(3) |
N |
Status of this record with regards to the interface - NEW, INP (In Process), SNT (Sent), ERR (Error) |
Used by the interface broker to determine which records need to be sent, and updated by the broker when a record is sent |
|
DT_PROCESS |
DATE |
Y |
Date that this record was picked up by the interface (In Process) or sent by the interface (Sent) or error out (Error) |
Used by the interface broker to indicate when it picked up, sent, or error out on this transaction |
|
CD_ERROR |
VARCHAR(10) |
Y |
If there was an error sending this record, an error code as to why is stored here. |
If there was an error in the web broker or interface processing, code is stored here |
|
CD_TARGET_SYSTEM |
VARCHAR(4) |
Y |
Target system for the vendor update record. NULL can be used if the information can be provided to anyone subscribing to Vendor information from SHINES. Otherwise, it can specific a specific external system such as "SML" for SMILE. |
Used by the interface broker to determine whom this transaction should be published to. Default is all who subscribe to it at the broker. |
|
ID_INITIATOR |
ID |
NUMERIC(16, 0) |
Y |
ID_INITIATOR references ID_PERSON in the PERSON table. This is the SHINES user that approved the invoice or updated the invoice. The user should be in the EMPLOYEE table as well. |
Internal Use Only. The approver of the invoice, likely someone on the Regional Accounting Staff. May not be known if overridden by batch processing. |
DT_INVOICE_TRANSACTION |
DATE |
Y |
This is the date that the invoice was approved or updated. |
Internal use only |
|
ID_INVOICE |
NUMERIC(16, 0) |
N |
A unique identifier for a row on the INVOICE table. This is the SHINES invoice id, which can have multiple associated line items. This table just has line items for SMILE, but the INVOICE number can be used by either side to tie them together. |
Published by interface broker to target system(s) |
|
CD_SVC_DTL_SERVICE |
VARCHAR(6)(9) |
Y |
Contains a code that indicates the service that was delivered. A combination of what George calls the UAS Program Code and Entitlement code. |
Published by interface broker to target system(s) |
|
MO_INVO_MONTH |
NUMERIC(2, 0) |
Y |
Contains the billing month for the invoice. |
Internal Use, NOT IN INTERFACE |
|
YR_INVO_YEAR |
NUMERIC(4, 0) |
Y |
Contains the billing year for the invoice. |
Internal Use, NOT IN INTERFACE |
|
ID_CLIENT |
ID |
NUMERIC(16, 0) |
N |
This is the SHINES identifier for the client, which references the ID_PERSON field in the PERSON table. |
Published by interface broker to target system(s) |
NM_PERSON_LAST |
VARCHAR(22) |
Y |
Last name of an individual. |
Published by interface broker to target system(s) |
|
NM_PERSON_FIRST |
VARCHAR(12) |
Y |
First name of an individual. |
Published by interface broker to target system(s) |
|
NM_PERSON_MIDDLE |
VARCHAR(12) |
Y |
Middle name of an individual. |
Published by interface broker to target system(s) |
|
CD_PERSON_SUFFIX |
VARCHAR(2) |
Y |
Code representing the suffix appended to a name for distinction (e.g. ,Jr., Sr.) |
Published by interface broker to target system(s) |
|
ID_RESOURCE |
ID |
NUMERIC(16, 0) |
N |
This is the SHINES id for the resource, which is the ID_RESOURCE in the CAPS_RESOURCE table. |
Published by interface broker to target system(s) |
NM_RESOURCE |
VARCHAR(30) |
Y |
The name of an entity that provides assistance or services to CPS clients. |
Published by interface broker to target system(s) |
|
ADDR_RSRC_ST_LN_1 |
VARCHAR(30) |
Y |
Billing Address of the facility. |
Published by interface broker to target system(s) |
|
ADDR_RSRC_ST_LN_2 |
VARCHAR(30) |
Y |
Second line of Billing address for the resource. |
Published by interface broker to target system(s) |
|
ADDR_RSRC_CITY |
VARCHAR(20) |
Y |
Billing City of the resource. |
Published by interface broker to target system(s) |
|
CD_RSRC_STATE |
VARCHAR(2) |
Y |
The abbreviated billing state code for the resource. |
Published by interface broker to target system(s) |
|
ADDR_RSRC_ZIP |
VARCHAR(10) |
Y |
Numeric billing zip code for the resource. |
Published by interface broker to target system(s) |
|
CD_INVO_COUNTY |
VARCHAR(3) |
Y |
Invoice County |
Published by interface broker to target system(s) |
|
CD_INVO_REGION |
VARCHAR(2) |
Y |
A geographic area which the state is broken down into. |
Published by interface broker to target system(s) |
|
AMT_LI_VALID_AMOUNT |
NUMERIC(13, 2) |
Y |
Contains the valid amount of the invoice line item. Computed value by multiply the unit rate with the unit county. |
Published by interface broker to target system(s) |
|
IND_ADJ |
VARCHAR(3) |
Y |
Y/N/C/R indicator to indicate if this is a Non-IVE adjustment/Not an adjustment/IVE adjustment/Recoupment. |
Published by interface broker to target system(s) |
|
NBR_COUNT |
NUMERIC(2, 0) |
Y |
Contains an adjustment indicator count - either 1 or -1 |
Published by interface broker to target system(s) |
|
NBR_PER_DIEM |
NUMERIC(6, 0) |
Y |
Daily foster care per diem rate. For children only. |
Published by interface broker to target system(s) |
|
NBR_PER_MONTH |
NUMERIC(6, 0) |
Y |
Monthly rate, if applicable. This is possibly used by adoption assistance. |
Published by interface broker to target system(s) |
|
MO_SVC_DTL_SVC_MONTH |
NUMERIC(2, 0) |
Y |
Contains the month that a particular service was delivered. |
Published by interface broker to target system(s) |
|
YR_SVC_DTL_SVC_YEAR |
NUMERIC(4, 0) |
Y |
Contains the service year for a particular line item. |
Published by interface broker to target system(s) |
|
AMT_SVC_DTL_UNIT_RATE |
NUMERIC(7, 2)(13,2) |
Y |
The unit rate applied to a particular line item. Depending on the type of payment, the rate may come from the contract_service table, the foster_care_rate table, or the adoption_subsidy table. It may also be calculated, based on data in the svc_auth_detail table, or may be calculated based on data in the cost_reim_dtl table. |
Published by interface broker to target system(s) |
|
NBR_SVC_DTL_UNIT_QTY |
NUMERIC(7, 2) |
Y |
Contains the number of units of service delivered. |
Published by interface broker to target system(s) |
|
NBR_SVC_DTL_FROM_DAY |
NUMERIC(3, 0) |
Y |
Contains the start day of service for the row. (Only used for foster care services.) |
Published by interface broker to target system(s) |
|
NBR_SVC_DTL_TO_DAY |
NUMERIC(3, 0) |
Y |
Contains the last day of service for the row. (Only used for foster care services.) |
Published by interface broker to target system(s) |
|
PROVIDER_INVOICE_NUM |
VARCHAR(12) |
Y |
This number is the invoice number received by the services provider and will be used to print this number on invoices generated from SHINES for payment towards the provider’s bill. |
Published by interface broker to target system(s) |
|
ID_ORIG_REVERSAL_INV |
NUMBER(16,0) |
Y |
Invoice Id of the Original invoice that corresponds to the Adjustment invoice |
Published by interface broker to target system(s) |
|
DT_ADJ_INVO_PAID_CHECK |
DATE |
Y |
Check Date of the Originally paid invoice that corresponds to the Adjustment invoice. |
Published by interface broker to target system(s) |
|
NBR_ADJ_INVO_PAID_CHECK |
NUMBER(10,0) |
Y |
Check Number of the Originally paid invoice that corresponds to the Adjustment invoice. |
Published by interface broker to target system(s) |
Table of Fields Coming Back from Target System (SMILE) in Web Service
| Static/ Dynamic | Required (Yes, No) | Data Name | Data Type | Length | Transformation Rules | Validation Rules | Default |
|---|---|---|---|---|---|---|---|
Static |
Y |
Transaction ID |
Number |
16 |
|||
Static |
Y |
Check Number |
|||||
Static |
Y |
Payment Date |
Date |
||||
Static |
N |
Restricted Fund Checking Balance |
Number |
13,2 |
|||
Static |
N |
Restricted Fund Saving Balance |
Number |
13,2 |
|||
Static |
Y |
Check amount |
Number |
13,2 |
|||
Dynamic |
Y |
Invoice ID |
Number |
16 |
|||
Static |
Y |
Return Status |
String |
CREATED NO CLIENT NO VENDOR DUPL INVCE INVPRGMEC REJECTED CANCELLED VOIDED |
|||
Static |
Y |
Line Item ID |
Number |
16 |
Return Code - Rejection Reason Mapping
| Return Code | Rejection Reason |
|---|---|
NO CLIENT |
Client Not Set Up in SMILE |
DUPL INVCE |
Duplicate SMILE Invoice |
NO VENDOR |
Vendor Not Set Up in SMILE |
INVPRGMEC |
Invalid SMILE Program or Entitlement Code |
REJECTED |
Other SMILE Rejection |
Date mapping and rules for processing Inbound Invoices
The following section describes the rules and mappings for processing inbound invoices. It describes how to populate invoice, service details, case budget limits and county budget limits values
Outline:
Key functionality
Updates to DELVRD_SVC_DTL
Updates to INVOICE
Updates to RESTRICTED_FUNDS
Updates to COUNTY_BUDGET_LIMIT
Updates to CASE_BUDGET_LIMIT
Follow Up Items
Enhancement Note
Key Functionality
For Georgia SHINES, data will be both sent and returned on an invoice line item basis. The SHINES SMILE return interface operates in the following manner:
The normal processing will be for all line items on an invoice to be paid nearly simultaneously and usually from the same check number.
Invoice validation is performed in SHINES, therefore the number of line items not paid after being sent to SMILE should be extremely small to zero
The amount paid for any line item returned is the correct amount for that line item – i.e., if SMILE resends a line item for any reason, they will send the correct total for that line item, not the delta.
Based off of this behavior, SHINES will perform the following actions:
On receipt of the first line item, the overall SHINES invoice phase will move to paid, with the expectation all line items are paid (even if some of the information is coming in following transactions)
The check number for line items should be the same – so we will just save the first check number returned
Updates to DELVRD_SVC_DTL:
Based off the invoice inbound record – find the correct DELVRD_SVC_DTL where
Inbound invoice transaction number = INVOICE_OUTBOUND. ID_INVOICE_OUTBOUND
Inbound invoice number = DELVRD_SVC_DTL. ID_INVOICE (will
only be true for one or the other)
INVOICE_OUTBOUND.ID_LINE_ITEM = DELVRD_SVC_DTL.ID_SVC_
For the correct record in either table, set the new columns
AMT_SMILE_PAID = interface paid
NBR_CHECK = interface check number
DT_PAID = interface payment date
If the AMT_SMILE_PAID was not formerly empty, then this is an updated inbound transaction – move the previous amount into a working variable for the next step.
Updates to INVOICE
For the record in the INVOICE table which matches the invoice number returned by the interface:
Set the invoice phase to either paid, void or cancelled: INVOICE.CD_INVO_PHASE – ‘PAD’, ‘VOD’,’CAN’
If the check number is not already populated, move the check number into the “warrant” number field INVOICE. NBR_INVO_WARRANT
If the date of payment is not already populated, move the date to INVOICE. DT_INVO_WARRANT_DATE
Increment the overall amount paid on the invoice by the new AMT_SMILE_PAID for the line item MINUS the previous amount for the line item if it existed. Normally, we can just add AMT_SMILE_PAID, but including the working variable allows us to handle any updates to the amount paid for a line item. The total should be stored in INVOICE. AMT_INVO_WARRANT.
Updates to Restricted Funds
If the returned line item maps to a DELVRD_SVC_DTL line item, update
RESTRICTED_FUNDS.AMT_CHECK_BAL = interface checking balance
RESTRICTED_FUNDS.AMT_SAV_BAL = interface savings balance
Where RESTRICTED_FUNDS. ID_PERSON = DELVRD_SVC_DTL. ID_SVC_DTL_PERSON
Updates to County Budget Limit
Note: If the month is January-June, the fiscal year equals the calendar year. If the month is July through December, the fiscal year is one more than the calendar year – i.e., an invoice for August, 2007 is a part of fiscal year 2008.
For each line item which for which payment information is returned –
If a row in COUNTY_BUDGET_LIMIT can be found where:
INVOICE.,CD_INVO_COUNTY
= COUNTY_BUDGET_LIMIT. CD_COUNTY
The GA state fiscal year determined from DELVRD_SVC_DTL.MO_SVC_DTL_SVC_MONTH
COUNTY_BUDGET_LIMIT. NBR_FISCAL_YEAR
The LEFT 3 CHARACTERS (this is the program code) of DELVRD_SVC_DTL.CD_SVC_DTL_SERVICE= COUNTY_BUDGET_LIMIT. CD_PROGRAM
Then, update COUNTY_BUDGET_LIMIT:
Increment the COUNTY_BUDGET_LIMIT. AMT_SPENT by the new AMT_SMILE_PAID for the line item MINUS the previous amount for the particular line item if it existed. Normally, we can just add AMT_SMILE_PAID, but including the working variable allows us to handle any updates to the amount paid for a line item.
If the line item is from DELVRD_SVC_DTL, DELVRD_SVC_DTL.ID_SVC_AUTH_DTL is NOT null, and the linked SVC_AUTH_DETAIL. DT_SVC_AUTH_DTL_TERM is equal to the end date (DT_SVC_AUTH_DETAIL_END), and the line item did not previously have any paid value, subtract the new AMT_SMILE_PAID for the line item MINUS the previous amount for the particular line item if it existed from COUNTY_BUDGET_LIMIT. AMT_OBG
If DELVRD_SVC_DTL.ID_SVC_AUTH_DTL is null or SVC_AUTH_DETAIL. DT_SVC_AUTH_DTL_TERM is less than the end date (DT_SVC_AUTH_DETAIL_END); subtract the amount added to AMT_SPENT above from COUNTY_BUDGET_LIMIT. AMT_BALANCE
Updates to Case Budget Limit
If the line item, is on DELVRD_SVC_DTL and DELVRD_SVC_DTL.ID_SVC_AUTH_DTL is NOT null, attempt to find any rows in CASE_BUDGET_LIMIT where
CASE_BUDGET_LIMIT. ID_CASE = EVENT.ID_CASE for the linked service authorization event (this will be a join where DELVRD_SVC_DTL.ID_SVC_AUTH_DTL=SVC_AUTH_DETAIL.ID_SVC_AUTH_DTL, SVC_AUTH_DETAIL.ID_SVC_AUTH = SVC_AUTH_EVENT_LINK.ID_SVC_AUTH, SVC_AUTH_EVENT_LINK. ID_SVC_AUTH_EVENT = EVENT.ID_EVENT)
And:
The left 3 characters of DELVRD_SVC_DTL.CD_SVC_DTL_SERVICE = CASE_BUDGET_LIMIT. CD_SVC_CODE
Or
The left 5 characters of DELVRD_SVC_DTL.CD_SVC_DTL_SERVICE = CASE_BUDGET_LIMIT. CD_SVC_CODE
Or
DELVRD_SVC_DTL.CD_SVC_DTL_SERVICE = CASE_BUDGET_LIMIT. CD_SVC_CODE
For any and all of the rows found above, update CASE_BUDGET_LIMIT:
Increment the CASE_BUDGET_LIMIT. AMT_SPENT by the new AMT_SMILE_PAID for the line item MINUS the previous amount for the particular line item if it existed. Normally, we can just add AMT_SMILE_PAID, but including the working variable allows us to handle any updates to the amount paid for a line item.
If for the linked service authorization detail SVC_AUTH_DETAIL. DT_SVC_AUTH_DTL_TERM is equal to the end date; subtract the amount added to AMT_SPENT from CASE_BUDGET_LIMIT. AMT_REMAIN
If DT_SVC_AUTH_DTL_TERM is less than the end date subtract the amount added to AMT_SPENT above from CASE_BUDGET_LIMIT. AMT_BALANCE
Updates for Voided Payments (VOD)
When a SMILE inbound invoice record is received with status value of "VOID", perform following:
Update the associated invoice header phase INVOICE.CD_INVO_PHASE to VOD
Subtract the existing amount for the line item (DELVRD_SVC_DTL.AMT_SMILE_PAID) from INVOICE.AMT_INVO_WARRANT
Set DELVRD_SVC_DTL.AMT_SMILE_PAID to zero for the line item
Perform existing updates regarding payment date
Perform existing (corrected) updates regarding restricted funds
Perform exact updates to CASE_BUDGET_LIMIT and COUNTY_BUDGET_LIMIT when the invoice is paid.
Updates for cancelled Payments (CAN)
When a SMILE inbound invoice record is received with status value of "CANCEL", perform following:
Update the associated invoice header phase INVOICE.CD_INVO_PHASE to CAN
Set DELVRD_SVC_DTL.AMT_SMILE_PAID to zero for the line item
Subtract the existing amount for the line item (DELVRD_SVC_DTL.AMT_SMILE_PAID) from INVOICE.AMT_INVO_WARRANT (this should be 0-0=0, but worth implemented to be safe)
Perform existing updates regarding payment date
Perform existing (corrected) updates regarding restricted funds
Since invoice never moved to paid, no updates of case or county budget limit should be necessary
We will remove the line item amount (AMT_SVC_DTL_UNIT_RATE * NBR_SVC_DTL_UNIT_QTY) from the Service authorization detail amount used field (AMT_SVC_AUTH_DTL_AMT_USED)
We will also remove the line items units used (NBR_SVC_DTL_UNIT_QTY) amount from the service authorization detail number of units used (NBR_SVC_AUTH_DTL_UNIT_USED).
Note: with the exception of setting the overall invoice status to CANCEL this is the same logic performed when rejecting an invoice.
Method Narratives
Newly approved invoices will have their individual line items inserted into the OUTBOUND_INVOICE table at the time of approval, within the same transaction that updates the SHINES core tables, including the INVOICE table. The web Methods broker will poll this table with the JDBC adapter for Oracle looking for records that need to be sent or resent based on INTERFACE_STATUS field. When the broker has picked up the message, it changes the INTERFACE_STATUS to picked up, and updates the DT_PROCESS field. When the message has been delivered to SMILE, the INTERFACE_STATUS field is updated to reflect it was sent, and the DT_PROCESS field is updated to reflect the date/time of delivery.
Error Handling
Error codes are written by the web Methods broker into the CD_ERROR field. The broker is responsible for retries, and if needed, emails are sent by the broker to administrators to notify them of problems in this interface.
Field Level Errors
If a field in a record to be extracted has a validation error, that row will be skipped; CD_ERROR and DT_PROCESS updated, and an email should be sent to the application administrators by the broker.
Row Level Errors
The broker should update CD_ERROR and DT_PROCESS if possible. Regardless, the broker should send an email to application administrators.
Process Level Errors
The most likely process level errors will be network and other communications errors. The interface broker will handle retries, and send emails to application administrators as needed.
Triggering/Scheduling
Broker will be configured to scan this table. The initial configuration will most likely by hourly, but can be easily changed within the broker configuration. For testing/development, that time will more likely be 1-5 minutes.
Matching Criteria
Matching of responses to our requests will be done through the ID_INVOICE_OUTBOUND field that uniquely identifies the invoice line item and the Invoice ID within SACWIS. Matching of vendors on the invoices will be based on the Resource ID within SACWIS (that SMILE will store after Vendor setup), but vendor name and mailing address will be supplied also. The client will be matched based on the Person ID within SACWIS (that SMILE will store during Client setup), but client name and information will also be supplied in the Invoice.
Dependencies
In order to send an Invoice to SMILE, the invoice needs to have been generated and approved within SACWIS. To create an invoice, you must have an approved Vendor with a contract for the county in which the service was provided. The client needs to have been registered in CRS, and possibly have Medicaid number available.
Document Change Log
| Date | Author | Change Description |
|---|---|---|
02/21/2025 |
J. Nelson |
Updated section 3.32 Outbound tables data type for CD_SCV_DL_SERVIC from Varchar(6) to VARCHAR(9) AMT_SVC_DTL_UNIT_RATE from NUMERIC(7,2) to NUMERIC(13,2) |
07/19/2010 |
Bhavna Gehlot |
MR-041 Added new column ID_CLIENT_PREV to section 3.19 Added wording in section 2.11 and section 3.17 Added new field in section 2.12 Updated Entity Diagram in section 3.1 |
01/17/2010 |
Vishala Devarakonda |
Updated with Client review comments |
01/12/2010 |
Vishala Devarakonda |
Updated document for MR-059 |
4/13/2009 |
Vishala Devarakonda |
Updated document as per Client review comments for MR-039 |
4/2/2009 |
Bryant Jenkins |
Updated document to include updates for MR-39. Although not specifically stated in the MR, the Provider Invoice Number field has been added to the SHINES to SMILE outbound invoice record layout. See the functional and technical sections of the invoice transaction. |
12/19/2008 |
Ronnie Phelps |
Made updates to inbound invoice section after peer review. |
12/18/2008 |
Ronnie Phelps |
Removed Incoming invoice embedded document and added info to main design. Also made various fixes to the documents formatting. |
11/15/2007 |
Michael Chillman |
Updated return codes |
09/14/2007 |
Michael Chillman |
Updated requirements |
09/12/2007 |
Michael Chillman |
Added SMILE5_ Send Invoice Inbound transactions document |
08/14/2007 |
Michael Chillman |
Changed resource name to legal name for vendor outbound processing |
3/23/2007 |
John Ramspott |
Minor corrections from SMI review. |
2/27/2007 |
John Ramspott |
Update with feedback from design review |
2/6/2007 |
John Ramspott |
Remove NPI, comment that we are not sending BILLING month and year, just service |
2/3/2007 |
John Ramspott |
Update with DB trigger/Web service pattern |
8/24/2006 |
John Ramspott |
Added Technical Section |
07/20/2006 |
Srinivas Somayajula |
Initial Document Creation |
Note: A new row explaining document changes must be added to the Document Change Log for each revision. The Document Change Log must be maintained in reverse chronological order. The most recent changes are on the top of the list.