8/2/2019 2.04 820 Design Specifications
1/241
820 Phase 2 Design Specif icat ions
California Depart ment of Healt h Care Services
820 Phase 2
Design Specif icat ions
Document Id:
Version: 1.3
Date: December 9, 2009
Project Ident i f ier: 820 Phase 2
DHCS Project Manager: Curt is Milberger
8/2/2019 2.04 820 Design Specifications
2/241
820 Phase 2 Design Specif icat ions
Revision RecordDate Author Revision Change Reference
10-01-2009 Trinity TechnologyDevelopmentTeam
1.0 Creation
10-20-2009 Grant Stewart 1.1 Revised Introduction
11-09-2009 Orri Rail 1.2 Revised Business Objects
12-09-2009 Grant Stewart 1.3 Finalized Design documents andcomments
Review Record
Name Position/Title Date
O. Rail Lead Developer 10-15-2009
P. Smith Enterprise Architect 10-15-2009
G. Stewart Project Manager 10-20-2009
G. Stewart Project Manager 12-09-2009
Approval Record
Name Position/Title Date
8/2/2019 2.04 820 Design Specifications
3/241
820 Phase 2 Design Specif icat ions
Table of Content s1 Introduction ................................................................................................................................... 52 System Context Diagram..............................................................................................................8
2.1 Level 1 Context Diagram ........................................................................................................82.2 Level 2 Context Diagram ........................................................................................................9
3 820 System Activity Diagram......................................................................................................114 Component Architecture.............................................................................................................13
4.1 Component Diagram.............................................................................................................134.2 Sequence Diagrams .............................................................................................................17
5 Orchestrations ............................................................................................................................205.1 ProcessAccounting ............................................................................................................... 205.2 ProcessPayment................................................................................................................... 225.3 ProcessCapition.................................................................................................................... 245.4 ProcessRemittanceAdvice.................................................................................................... 26
6 Business Objects........................................................................................................................296.1 PaymentMgmt....................................................................................................................... 296.2 ContractMgmt........................................................................................................................ 366.3 BeneficiaryMgmt ................................................................................................................... 416.4 ReportMgmt ..........................................................................................................................466.5 RemittanceAdviceMgmt ........................................................................................................576.6 InvoiceMgmt.......................................................................................................................... 596.7 CapitationMgmt..................................................................................................................... 80
7 Data Objects ...............................................................................................................................867.1 Contract Data........................................................................................................................877.2 Beneficiary Data....................................................................................................................887.3 Invoice Data ..........................................................................................................................89
8 Database ....................................................................................................................................898.1 Entity Relationship Diagram..................................................................................................898.2 Table Descriptions ................................................................................................................ 91
9 User Interface .............................................................................................................................939.1 Site Map................................................................................................................................939.2 Master Page..........................................................................................................................949.3 Master Page Layout..............................................................................................................949.4 Site Constraints.....................................................................................................................969.5 Invoice Search ...................................................................................................................... 969.6 Invoice Summary .................................................................................................................. 999.7 Pre Payment ....................................................................................................................... 1029.8 Beneficiary Search..............................................................................................................104
8/2/2019 2.04 820 Design Specifications
4/241
820 Phase 2 Design Specif icat ions
9.15Contract Change.................................................................................................................1279.16Contract HCP......................................................................................................................1309.17Contract Disbursement Register.........................................................................................1339.18Contract Plan-Based Payments..........................................................................................1359.19Vendor Search .................................................................................................................... 1379.20Vendor Summary ................................................................................................................ 1399.21Vendor Payment History.....................................................................................................1429.22Report Search.....................................................................................................................1459.23Reference Table Search.....................................................................................................147
10 Network Requirements .............................................................................................................15010.1Solution Platforms...............................................................................................................15010.2Server Platforms ................................................................................................................. 15510.3Scalability, Load Balancing & Redundancy ........................................................................17410.4Security and Recovery........................................................................................................175
Appendix A Data Dictionary.........................................................................................................17810.5Table Details ....................................................................................................................... 17810.6User Permissions................................................................................................................236
Appendix B Process Model ......................................................................................................... 237
8/2/2019 2.04 820 Design Specifications
5/241
820 Phase 2 Design Specif icat ions
1 IntroductionThe purpose of this document is to provide software-level and hardware-level architecturespecifications for the 820 Phase 2project. This document identifies the new applicationsbuilding blocks (software components) and their interdependencies. These are the detailedsoftware specifications that will be used by application developers to build the 820 Phase 2application. This document also serves as an 820 technical manual for architects anddevelopers to extend and maintain the system.
This document is divided into the following sections that define how the system will be builtfrom a Software Engineering perspective.
Software Architecture
Orchestrations
Business Objects
Data Objects
Database Model
User Interface
The document also contains sections from a Network Architecture perspective, including:
Solution and Server Platforms
Scalability
Security
Backup and Disaster Recovery
A draft of the System Administration Guide (as specified as part of this deliverable, has beencreated separately in the 820 SharePoint site; filename: Draft System Admin Guide), includes:
System Modifications and Maintenance
Release Management
Transition Management
Software and Hardware Upgrades
8/2/2019 2.04 820 Design Specifications
6/241
820 Phase 2 Design Specif icat ions
Key artifacts gathered during the Analysis Phase were used to support the creation of theDesign Specifications Document included the identification of Use Cases and the creation ofthe 820 Phase 2 Level One Process Model below.
8/2/2019 2.04 820 Design Specifications
7/241
820 Phase 2 Design Specif icat ions
The below table represents a traceability matrix from the Use Cases in the RequirementsSpecification Document to the technical sections defined in this document. The Use Caseanalysis was fundamental in guiding the design of the technical components detailed in thefollowing sections.
Use Case Design Specification Section
1.1 Receive and Process Enrol lment Data 2.1, 2.2, 3, 4.1, 4.2, 5.3
1.2 Calculate Capitation 2.1, 2.2, 3, 4.1, 4.2, 5.3, 6.6, 6.7
2.1 Generate Invoices 2.1, 2.2, 3, 4.1, 4.2, 5.3, 6.6, 7.2, 7.3
2.2 Review and Approve Invoices 2.1, 2.2, 4.1, 4.2, 6.6, 7.2, 7.3,9.1, 9.6
2.3 HIPP BCCTP Invoice Management 2.1, 2.2, 4.1, 5.3, 6.6, 7.2, 7.3, 9.6, 9.10
3.1 Process Payment Files Use Case 2.1, 2.2, 3, 4.1, 4.2, 5.1, 5.2, 6.1, 6.5
4.1 Beneficiary Management 2.1, 2.2, 4.1, 6.3, 7.2, 9.8, 9.9
4.2 Contract Management 2.1, 2.2, 4.1, 6.2, 7.1, 9.13, 9.14
4.3 Generate Reports 2.1, 2.2, 4.1, 6.4, 9.22
4.4 Reference Data 2.1, 2.2, 4.1, 9.23
4.5 HIPP BCCTP Beneficiary Management 2.1, 2.2, 4.1, 6.3, 7.2, 9.8, 9.9, 9.10
4.6 HIPP BCCTP Vendor Management 2.1, 2.2, 4.1, 9.19, 9.20
5.1 Process and Send 820 Transactions 2.1, 2.2, 3, 4.1, 4.2, 5.4, 6.5, 7.3,
8/2/2019 2.04 820 Design Specifications
8/241
820 Phase 2 Design Specif icat ions
2 System Context DiagramThe System Context Diagramrepresents all external entities that may interact with the system.The diagram is the highest level view of the system and is a good starting point to representthe system.
2.1 Level 1 Context DiagramThe Level 1 Context Diagram provides a high level view of the 820 Phase 2 system as a singleentity and shows the flow of all external entities in and out of the system.
Level 1 Context Diagram
MEDSwillsend a file containing beneficiary eligibility information for the current monthsinformation and 12 historical months.
8/2/2019 2.04 820 Design Specifications
9/241
820 Phase 2 Design Specif icat ions
SCOwill send a file (CD102) summarizing all warrants (or payments) made out to a vendor.
Vendorwill receive an 820 Remittance Advice representing all invoice payments for a given
month.
2.2 Level 2 Context Diagram
The Level 2Context Diagram breaks the CapMan system down into smaller components, whilethe external entities stay the same. Data storage also becomes visible.
Capitation
MEDS
ManagedCare User
Non-ManagedCare User
PaymentRecipient
SCO
Accounting
Capitation File
CD102
CMS64
820
RemittanceAdvice
Contract/Invoices
Beneficiaries/Invoices
UserInterface
Payment
RemittanceGeneration
Beneficiaries InvoicesContracts
Reports
8/2/2019 2.04 820 Design Specifications
10/241
820 Phase 2 Design Specif icat ions
Paymentrepresents the process of consuming files from Accountingand SCO. Which includesverification and matching of payment information with invoices and finally calling the 820Generation.
Remittance Generationrepresents creating the Remittance Advice (based on invoicesprocessed within Payment). This process also manages sending the 820 file to the appropriatelocation.
User Interfacerepresents any user interaction with managed and non-managed care users.Beneficiary, Contract and Invoice management falls under this process.
Reportsrepresent the process of creating reports from the Invoice data storage.
8/2/2019 2.04 820 Design Specifications
11/241
820 Phase 2 Design Specif icat ions
3 820 System Act ivity DiagramThe 820 System Activity Diagramrepresents the workflow for the backend processing. Theflow represents the entire high level process and does not show any errors conditionprocessing. Error conditions will be addressed at a lower level in relation to the specificcomponent that handles the error. This Activity Diagram is based of the Level 1 ProcessModel (see Appendix B) from the Requirement Specification.
8/2/2019 2.04 820 Design Specifications
12/241
820 Phase 2 Design Specif icat ions
Shape Description
Receive Capitation File The system will receive the capitation filecoming from MEDS.
Load into Staging Tables The capitation file will be parsed and loadedinto a staging table.
Calculate Capitation The parsed capitation data will be processedand calculations will be performed.
Generate Invoices Invoices will be generated based on thecalculations.
Approve Invoices Invoices will be approved (from the UI).
Wait for Payments Since approved invoices will be mailed to
accounting, the system will be an idle waitstage.
Receive CMS64 File The system will receive CMS64files comingfrom accounting.
Receive CD102 File The system will receive CD102 files comingfrom SCO.
Match Invoices To Payment Payment information coming from Accountingand SCO will be matched against invoices.
Create Payment Remittance Advice A payment remittance advice will created tosend to the vendors.
8/2/2019 2.04 820 Design Specifications
13/241
820 Phase 2 Design Specif icat ions
4 Component ArchitectureThis section represents the components of the system. Components are high level pieces ofcode that can either be physical (i.e. DLL) or logical (interrelated groups of code).
4.1Component Diagram
The component diagram's main purpose is to show the structural relationships between thecomponents of a system.
The component diagram provides a high-level, architectural view of the system, which helpsdevelopers begin formalizing a roadmap for the implementation, and make decisions abouttask assignments and/or design. System administrators will find the component diagram usefulbecause they get a view of the logical software components that will be running on theirsystems.
8/2/2019 2.04 820 Design Specifications
14/241
820 Phase 2 Design Specif icat ions
business layerInvoiceMgmt
business layer
PaymentMgmt
business layerCapitationMgmt
user interfaceManagedCareUI
orchestrationProcessCapitaion
orchestrationProcessPayment
orchestrationProcessAccounting
orchestrationProcessRemittanceAdvice
user interfaceNonManagedCareUI
business layerContractMgmt
business layerBeneficiaryMgmt
business layerReportMgmt
business layerRemittanceAdvice
Component Diagram
Component Type Description
InvoiceMgmt Business This component will be responsible forgenerating and approving invoices. Thegeneration part will include performingretroactive adjustments and generatingnet-changes from previous invoices. It willprovide calculations on a beneficiary level
8/2/2019 2.04 820 Design Specifications
15/241
820 Phase 2 Design Specif icat ions
Component Type Description
CapitationMgmt Business The Capitation component will beresponsible to process the beneficiary datacoming in from the monthly capitated file. Itwill handle the loading and pre-populatinginvoice data before performing thecalculations.
ProcessCapition Orchestration This orchestration will receive and process
the capitation file coming from MEDS. Thedata will be processed into a staging tableand then instantiate CapitionMgmttoprocess the data.
ProcessAccounting Orchestration This component will process the CMS64file coming from Accounting. This willinclude parsing and mapping the file into astructure which will be used to call into
PaymentMgmt.
PaymentMgmt Business This component manages the CMS64andCD102data coming from Accounting andSCO.
ProcessPayment Orchestration This component will process the CD102filecoming from SCO. Which includes parsing
and mapping the file into a structure whichwill be used to call into PaymentMgmt.
ProcessRemittanceAdvice Orchestration This component will start the process tocreate an 820 Remittance Advice when apayment file has been received. It will callinto RemittanceAdviceMgmt.
RemittanceAdviceMgmt Business This component will receive informationfrom ProcessRemittanceAdviceand createthe 820 Remittance Advice.
ContractMgmt Business This component manages contracts withinthe system. This will include versioning of
t t d k i i i li d ith
8/2/2019 2.04 820 Design Specifications
16/241
820 Phase 2 Design Specif icat ions
Component Type Description
NonManagedCareUI User Interface This will be a user interface componentcontaining all non managed care userinterfaces.
ReportMgmt Business This component will manage the creationof reports.
BeneficiaryMgmt Business This component will be part of nonmanaged care and will handle versioning ofbeneficiaries to invoices.
8/2/2019 2.04 820 Design Specifications
17/241
820 Phase 2 Design Specif icat ions
4.2Sequence DiagramsSequence Diagrams show how components of the 820 Phase 2 System interact with eachother. They also represent lifeline and message calls between components.
4.2.1Invoice Generation
ProcessCapitation CapitationMgmt InvoiceMgmt
Calculate
Generate
ErrorInformation
This sequence diagram represents how invoices will be created. The ProcessCapitationcomponent will call Calculatein the CapitationMgmtcomponent; CapitationMgmt will then callGeneratein InvoiceMgmt. CapitationMgmtwill return any error information toProcessCapitation.
8/2/2019 2.04 820 Design Specifications
18/241
820 Phase 2 Design Specif icat ions
4.2.2Approving Invoices
ManagedCareUI InvoiceMgmt ReportMgmt
Set Status
Get Invoice Report
Invoice Report
This sequence diagram represents how invoices will be approved. The ManagedCareUIwillcall into InvoiceMgmtwith an invoice status, in this case Approved. The ManagedCareUIretrieves the invoice by calling ReportMgmt.
4.2.3Generate Remit tance Advice
ProcessAccounting PaymentMgmtProcessPayement
ProcessCMS64
ProcessCD102
ProcessRemittanceAdvice
Call ProcessRemittanceAdvice
RemittanceAdviceMgmt
CreateRemittanceAdvice
InvoiceMgmt
8/2/2019 2.04 820 Design Specifications
19/241
820 Phase 2 Design Specif icat ions
This sequence diagram represents how the 820 Remittance Advice will be generated. TheProcessAccountingcomponent will call into PaymentMgmtto process the CMS64file. TheProcessPaymentcomponent will also call into PaymentMgmtto process the CD102file.
Subsequently ProcessPaymentwill call ProcessRemittanceAdvicecomponent to initiate the820 Remittance Advice process. A call into RemittanceAdviceMgmtwill then gather paidinvoices from InvoiceMgmtand create an 820 Remittance Advice.
8/2/2019 2.04 820 Design Specifications
20/241
820 Phase 2 Design Specif icat ions
5 OrchestrationsOrchestrations control the workflow for a business process. An example of an orchestrationcould be receiving and parsing a file and then calling logic to complete a business process.The following sections are design details for the orchestration types defined in the componentdiagram (section 4.1).
5.1ProcessAccount ingThe ProcessAccountingOrchestration will be responsible for receiving and logging the receiptof the CMS64 file from accounting and archiving the file. The orchestration will also parse theCMS64 file to match the invoice numbers within the file to the unpaid invoices within the 820Phase 2 system.
8/2/2019 2.04 820 Design Specifications
21/241
820 Phase 2 Design Specif icat ions
5.1.1Activit y Diagram
Archive
SFTP
Receive CMS64 File
Log CMS64 File Receipt
Map CMS64 File Contentsagainst Unpaid Invoices
Update Unpaid Invoice Statuseswith Claim Schedule Information
Archive CMS64 File
Activity Description
Receive CMS64 FileReceive CMS64 File from external interface, instantiating aninstance of the orchestration.
Log CMS64 File Receipt Log receipt of CMS64 File in 820 Phase 2 event log.BizTalk Map that extracts invoice information for only the 820
8/2/2019 2.04 820 Design Specifications
22/241
820 Phase 2 Design Specif icat ions
5.2ProcessPaymentThe ProcessPayment Orchestration will be responsible for receiving and logging the receipt of
the CD102 file from SCO and archiving the file. The orchestration will parse the CD102 file andmatch the claim schedule numbers to any unpaid invoices.
The orchestration will enter an exception state given the following conditions:
If any unpaid invoices have yet to receive claim schedule numbers If there are any unpaid invoices with claim schedule numbers that are not matched with
the CD102 file If any invoice amounts are inconsistent
If all unpaid invoices are matched correctly, then the orchestration will start the Process820orchestration.
8/2/2019 2.04 820 Design Specifications
23/241
820 Phase 2 Design Specif icat ions
5.2.1Activit y Diagram
Activity Description
Receive CD102 FileReceive CD102 File from external interface, instantiating aninstance of the orchestration.
Log CD102 File Receipt Log receipt of CD102 File in 820 Phase 2 event log
G t Li t f U id I i P ll th 820 Ph 2 t t t ll id i i
8/2/2019 2.04 820 Design Specifications
24/241
820 Phase 2 Design Specif icat ions
Activity Description
Exception: Invoices Do NotMatch
System enters an exception state if invoice information isincomplete for unpaid invoices in the 820 Phase 2 system.The exception is reported to the system administrator and theorchestration instance is suspended awaiting further review.
Update Invoice Statuses andInformation
For all 820 Phase 2 invoices matched, update invoice withwarrant information and status to CD102 received.
Archive CD102Archive the CD102 physical file to the pre-determined archivelocation.
Begin Process820Begin the Orchestration to process the 820 file for all unpaidinvoices that have received the CMS64 and CD102 file.
5.3ProcessCapit ionThe ProcessCapitationOrchestration will be responsible for receiving and logging the receiptof the MMCD Capitation files from MEDS and archiving the MMCD file. The orchestration willinvoke the business layer to create invoices based upon the beneficiaries in the capitation
file. This orchestration is a singleton, so only one instance of the ProcessCapitationorchestration will be run at the same time.
8/2/2019 2.04 820 Design Specifications
25/241
820 Phase 2 Design Specif icat ions
5.3.1Activit y Diagram
Activity Description
Receive MMCD File
Receive MMCD File from external interface, starting theorchestration. The orchestration receipt also validates theformat of the MMCD File.
Log MMCD File Receipt Log receipt of MMCD File in 820 Phase 2 Event Log.Persist MMCD File intoStaging Table
Contents of the MMCD File are persisted into staging tables inthe 820 Phase 2 database
8/2/2019 2.04 820 Design Specifications
26/241
820 Phase 2 Design Specif icat ions
5.4ProcessRemit t anceAdviceThe ProcessRemittanceAdvice Orchestration will be responsible for creating the 820
Remittance Advice file upon receiving a list of paid warrants from the Process PaymentsOrchestration. This will generate XML-Formatted 820 files which are then processed by theXEngine interface to validate and transform the XML files to X12 5010 820 EDI files. TheX12 5010 820 EDI Files are then processed and sent to the external SFTP Interface to bedelivered to clients.
820 Ph 2 D i S ifi t i
8/2/2019 2.04 820 Design Specifications
27/241
820 Phase 2 Design Specif icat ions
5.4.1Activit y Diagram
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
28/241
820 Phase 2 Design Specif icat ions
Activity Description
Receive List of Paid InvoicesA list of paid invoices is received from the ProcessPaymentsorchestration.
Map Paid Invoices to 820 FormatThe List of Paid Invoices is mapped to multiple 820 files in XMLFormat.
Translate 820 Paid Invoices to EDIFormat
The 820 XML Files are sent to the XEngine interface to bevalidated and transformed to a 5010 820 Remittance AdviceEDI File.
Log XEngine ErrorsAny XEngine errors (SNIP) that occur during translation arereturned and persisted the 820 Phase 2 Event Log.
Archive 820 EDI File The 820 EDI File is archived to the file system.
Send 820 Files to ClientsAll 820 Files are sent to the SFTP Interface where they arethen forwarded to the corresponding recipients.
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
29/241
820 Phase 2 Design Specif icat ions
6 Business Obj ectsThe Business Objectswill define business logic and rules. The objects are designed followingObject Oriented Design methodologies (OOD. Both the user interface layer and orchestrationlayer call into the business layer. The following sections are design details for the businesstypes defined in the component diagram (section 4.1).
6.1Payment MgmtThe PaymentMgmtcomponent will handle the processing of the two distinct payment files for820 Payment Processing, CMS64and CD102.
CMS64 processing entails matching approved invoices with an incoming CMS64 file. For amatching invoice, a Claim Schedule Numberwill be persisted with a new status ofCMS64Processed.
CD102 processing entails matching CMS64 processed invoices with the incoming CD102 file.For a matching invoice, a warrant numbers will be persisted with a new status of Paid.
All errors will be logged in an XML error document.
6.1.1UseCase 3.1 Receive and Process Payment Files
Requirement Specification
The Process Payments process focuses on the receipt and reconciliation of the CMS64 andCD102 payment files received from the Accounting Office. The System matches the invoices tothe Claim Schedule Numbers on the CMS64 on a weekly basis, and then reconciles the ClaimSchedule Numbers to the Warrant Numbers on the CD102 file, which is received on a monthlybasis. Once the invoices have been reconciled to the payment data (CD102 File), the invoicesare ready to for the next process of going on an 820 transaction.
Process Model
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
30/241
820 Phase 2 Design Specif icat ions
6.1.1.1Use Case Except ions
o If the format or structure is incorrect then system logs an error and haltsprocessing of file (CMS64).
o If the vendor number from the CMS64 file does not match with theCAPMAN vendor number, System updates Invoice status to CMS64Payment Error. System generates the following payment errornotification:CMS64 Payment Error Vendor Number [##] in systemDoes Not Match Vendor Number [##] on CMS64 file for Invoice Number[##]. Accounting must re-submit a corrected Claim Schedule. Else, ifwarrant has already been issued for original Claim Schedule, user mustenter a payment error adjustment.
o
If the invoice amount from the CMS64 file does not match with theCAPMAN invoice amount, System updates Invoice status to CMS64Payment Error. System generates the following payment errornotification:CMS64 Payment Error Invoice Amount [$$] Does NotMatch Amount [$$] on CMS64 file for Invoice Number [##]. Accountingmust re-submit a corrected Claim Schedule. Else, if warrant hasl d b i d f i i l Cl i S h d l t t
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
31/241
g p
resume further processing once the invoice status becomes CMS64Received.
o If the total dollar amount of the invoices within a Claim Schedule does
not match the Warrant Amount on the CD102, system updates thestatus of all invoices on that Claim Schedule to CD102 Payment Error.System generates the following payment error notification for eachinvoice with status of CD102 Payment Error:CD102 Payment Error Sum of Invoice Amounts [$$] for Claim Schedule [##] is not equal to theWarrant Amount [$$] on CD102 File. User must enter a payment erroradjustment.
o If the number of warrants associated with the Claim Schedule Number
does not equal the number of unique vendor codes for the all invoiceswithin the Claim Schedule, then system updates the status of allinvoices to CD102 Payment Error. System generates the followingpayment error notification for each invoice with status of CD102Payment Error:CD102 Payment Error Number of Warrants [##] onCD102 for Claim Schedule Number [##] is not equal to Number ofVendors [##] for the Claim Schedule in System. User must enter apayment error adjustment.
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
32/241
6.1.2Class Diagram
6.1.2.1PaymentService
The PaymentServiceclass will be used to retrieve invoices that will either be a) Approvedorb) CMS64Processed. The class will also provide services to retrieve the vendor number foran invoice The ProcessCD102 and ProcessCMS64 classes will use this class
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
33/241
Parameters Type Description
invoiceStatus enumStatus Either enum64 or enumCD102
status
Output Description
IList List of Invoiceobjects
Method Description
GetVendorNumber Retrieve the Vendor number for an invoice.
Parameters Type Description
invoiced int The invoice id
Output Description
String The invoice number
6.1.2.2ProcessCMS64
The ProcessCMS64class will be used to process a CMS64file. After retrieving a list ofinvoices with the status of CMS64Processed(using PaymentService), matching of eachinvoice will occur against the CMS64file. Any matching errors will be generated in an XMLerror log.
Method Description
Process This method will start the process of matching invoicesagainst the CMS64 file
Output Description
bool Success or Failure.
Method Description
GettErrorXml Retrieve the list of errors if Processfails.
Output Description
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
34/241
6.1.2.3InvioceMatch
The InvoiceMatchclass will be a helper class to keep track of any issues matching theincoming CMS64 file invoices with the existing invoices in the database. Any issues will belogged.
Property Description
Invoice The invoice matched from the CMS64 file. .
Output Description
OHC820.Data.Invoice The Invoice object coming from the Data objects.
Property Description
CMS64 A single CMS64 record coming from the CMS64 file
Output Description
CMS64Record An object representing the CMS64 record.
Property Description
Log A log entry when a failure happens.
Output Description
XmlDocument An xml representation of a a failure
6.1.2.4ProcessCD102
The ProcessCD102class will be used to process a CD102file. After retrieving a list of
invoices with the status of Paid(using PaymentService), matching of each invoice will occuragainst the CD102file. Any matching errors will be generated in an XML error log.
Method Description
Process This method will start the process of matching invoicesagainst the CD102 file
Output Description
bool Success or Failure.
Method Description
GettErrorXml Retrieve the list of errors if Processfails.
O t t D i ti
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
35/241
6.1.2.5PaymentMatch
The InvoiceMatchclass will be a helper class to keep track of any issues matching theincoming CMS64 file invoices with the existing invoices in the database. Any issues will belogged.
Property Description
Invoice The invoice matched from the CMS64 file. .
Output Description
OHC820.Data.Invoice The Invoice object coming from the Data objects.
Property Description
CD102 A single CD102 record coming from the CMS64 file
Output Description
CD102Record An object representing the CD102 record.
Property Description
Log A log entry when a failure happens.
6.1.2.6CMS64Record
This class will represent a single record in the CMS64 file.
Property Type Description
SequenceNumberField String The sequence numberScheduleNumberField String The schedule number
PaymentAmountField String The payment amount
InvoiceAmountField String The invoice amount
AdjustAmountField String The adjustment amount
AdjReasonCodeField String The adjustment reason code
ServiceNameField String The service namePayDateField String The pay date
CovdPeriodFromField String The coverage period from
CovdPeriodToField String The coverage period to
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
36/241
ForeigncntryField String The foreign country
VendorzipField String The vendor zip code
VendorTypeField String The vendor type
InvoiceNumberField String The invoice number
ServiceCodeField String Sthe service code
6.1.2.7CDI02Record
Property Type Description
SqheduleNumberField String The schedule number
BeginWarrantNumberField String The start warrant number
EndWarrantNumberField String The end warrant number
WarrantDateField String The warrant date
FederalFiscalYearField String The federal fiscal year
AmountField String The amount field
6.2Contract MgmtThe ContractMgmtcomponent will be used with contract data. Contracts will be versioned forevery change made. There will be no deletion or updates. This component will also handle
HCPs, Aid Code Group and Aid Codes. Both ManagedCareUIand InvoiceMgmtcomponentswill interact with it.
6.2.1UseCase 4.2 Cont ract Management
Requirement SpecificationThis Use Case describes the process for Users to view, add and update Contracts,Amendments, Change Orders and Disbursement Register for Managed Care Plans..
6.2.2Use Case - 2.1 Generat e Managed Care Invoices
Requirement SpecificationThe Process Invoices process begins with the generation of all Managed Care invoices for the
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
37/241
invoice(s). The invoices are now ready for payment reconciliation, which is described in thenext section: Process Payments.
Process Model
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
38/241
6.2.3Class Diagram
Data.Contract
ContractService
+IdentifyEffectiveCurrentContracts()+LoadContractSupplementalData()
+GetApplicableContract()
-HcpToContractMap-HcpToSupplementalMap
ContractMgr
+GetContracts()+UpdateContract()+GetContractById()+GetRelatedContracts()
interface
IContractService
InvoiceMgmt
CapitationMgmt
ManagedCareUI
6.2.3.1IContractService
The IContractServiceinterface will define methods to retrieve and save contract information.This interface will be used by the ManagedCareUIcomponent.
Method Description
GetContracts Get all contract related data. This includes HCP, AidCode groups and Aid codes.
Parameters Type Description
IncludeDetails Bool Flag indicated if all contractrelationships should be loaded
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
39/241
contractNumber String The contract number
healthCarePlanTypeId Int The health care plan type
countyCodeTypeId Int The country code type id
contractTypeId Int The contract type id
effectiveFrom DateTime Effective from date
effectiveTo DateTime Effective to date
Output Description
Contract[] An array of Data.Contract objects
Method Description
UpdateContract Update conctract information. This will create a newversion of all contract data.
Parameters Type Description
Contract Data.Contract The contract values to update.
Method Description
GetContractById Get all contract related data. This includes HCP, AidCode groups and Aid codes.
Parameters Type DescriptionIncludeDetails Bool Flag indicated if all contract
relationships should be loaded
contractId Int The contract id
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
40/241
Method Description
GetRelatedContracts Get all contact version tied to a specific contract
Parameters Type Description
IncludeDetails Bool Flag indicated if all contractrelationships should be loaded
contractId Int The contract id
Output Description
Contract[] An array of Data.Contract objects
6.2.3.2ContractMgr
The ContractMgrclass will be used by the InvoiceMgmtcomponent to retrieve the applicablecontract information to perform invoice calculations on beneficiaries.
Method Description
LoadContractData Loads all contracts from the database
Method Description
IdentifyEffectiveCurrentContracts Itentifies the contracts matched for beneficiaryinformation
Parameters Type Description
Beneficiary Data.Beneficiary The beneficiary to matchwith a contract
Output Description
Contract The matching contract
Method Description
LoadContractSupplementalData Load the supplemental contract information
Parameters Type Description
supplementalAidCodeType Data AidCodeType The supplemental aid code
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
41/241
Parameters Type Description
hcpId Short The id of the health careplan
serviceMonth DateTime The applicable servicemonth
payType Short The applicable paymenttype
Output DescriptionList A list of Data.Supplemental objects
Property Description
HcpToContractMap Dictionary mapping an HCP to contracts
Output Description
Dictionary A dictionary keyed on hcp id with a list ofapplicable contracts
Property Description
HcpToSupplementalMap Dictionary mapping an HCP to supplementaldata
Output Description
Dictionary
A dictionary keyed on hcp id with a list ofsupplemental data
6.3BeneficiaryMgmtThe BeneficiaryMgmtcomponent will be used to manage beneficiaries and their associatedentities. This will include retrieval for both non-managed and managed care beneficiaries. Formanaged care only, adding risk factor and supplemental information, and for non-managedcare only, creating new beneficiaries with associated coverage. This component will bereferenced by ManagedCareUIand NonManagedCareUI, and will be reference the Datacomponent
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
42/241
.
6.3.2Use Case 4.5 HIPP and BCCTP Benef iciar y ManagementRequirement SpecificationThis Use Case describes the steps for adding, updating and viewing HIPP, BCCTP, and GHPPBeneficiary information in the 820 Phase 2 System via the user interface.
6.3.3Class Diagram
Data.Beneficiary
BeneficiaryService
+GetBeneficiaries()+SaveBeneficiary()+InsertAdjustment()+InsertCoverage()
interfaceINonMCBeneficiaryService
ManagedCareUI
NonManagedCareUI
+GetBeneficiaries()+InsertRiskFactor()+UpdateSupplementalInformation()+InsertSupplementalEligibility()
interfaceIMCBeneficiaryService
6 3 3 1 IMCBeneficiaryService
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
43/241
M th d D i ti
Method Description
GetBeneficiaries Retrieve beneficiaries
Parameters Type Description
CIN String The CIN number of abeneficiary to retrieve
firstName String First Name
lastName String Last Name
dateOfBirth DateTime The date of birth
alienStatus String The alien status
healthCarePlanId Int The health care plan id
primaryEligibilityId Int The primary eligibility id
supplementalEligibilityId Int The supplemental eligibility id
supplementalEligibilityFromDate DateTime The from date of thesupplemental eligibilityinformation
supplementalEligibilityToDate DateTime The to date of the supplementaleligibility information
Output Description
Beneficiary[] An array of Data.Beneficiary objects
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
44/241
Contract Data.Contract The contract values to update.
Method Description
InsertRiskFactor Insert Risk factor for a beneficiary.
Parameters Type Description
beneficiaryId Long The beneficiary id
riskFactor Decimal The risk factor
Method Description
InsertSupplementalEligibility Insert supplemental information for a beneficiary
Parameters Type Description
beneficiaryId Long The beneficiary id
supplementailAidId Long The supplemental id code id
diagnosis String The diagnosis code
6.3.3.2INonMCBeneficiaryService
The INonMCBeneficiaryServiceinterface will define methods to retrieve and save beneficiaryinformation. This interface will be used by the NonManagedCareUIcomponent.
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
45/241
Method Description
SaveBeneficiary Save a single beneficiary
Method Description
GetBeneficiaries Retrieve beneficiaries
Parameters Type Description
CIN String The CIN number of abeneficiary to retrieve
firstName String First Name
lastName String Last Name
dateOfBirth DateTime The date of birth
alienStatus String The alien status
healthCarePlanId Int The health care plan id
primaryEligibilityId Int The primary eligibility id
supplementalEligibilityId Int The supplemental eligibility id
supplementalEligibilityFromDate DateTime The from date of thesupplemental eligibilityinformation
supplementalEligibilityToDate DateTime The to date of the supplementaleligibility information
Output Description
Beneficiary[] An array of Data.Beneficiary objects
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
46/241
6.4Report MgmtThe ReportMgmtcomponent will be used manage and create reports. Reports will be initiated
from the user interface and will either be formatted for Excelor AdobeReader. TheManagedCareUIand NonManagedCareUIcomponents will use it. This component willreference the Datacomponent.
6.4.1UseCase 4.3 Generat e Repor t s
Requirement SpecificationThis use case describes the process for users to generate, view, print and export reports viathe user interface.
.
6.4.2Class Diagram
+GetAvailableReports()
ReportManager
Reports
+Generate()+SetFormat()+SetDateFilter()
Report
1*
1
*
IList
CapitationReport
PACEClaimScheduleReport
ExpendituresByFundingSourceReport
EnrollmentReport
ExpendeturesByWaiverAuthorityReport
PlanPaymentHistoryReport
PermReport
HealthPlanPaidInvoiceReport
RateSheetReport
ContractEncumbranceAndExpenditureReport
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
47/241
6.4.2.1ReportManager
The ReportManagerclass will be the managing class within this component. It will used toaccess all available reports.
6.4.2.2Reports
The Reportsclass will implement System.Collections.Generic.IListand will contain a list ofReportobjects. The list will be strongly typed and each object can be accessed by index.
6.4.2.3Report
The Reportclass will be an abstract class containing methods that are common across reportobjects within the system.
Method Description
SetFormat Set the format of the report to either PDF or Excel
Parameters Type DescriptionformatType enumFormat {excel,
pdf}An enumerator of eithervalue defining either excelor pdf
Method Description
GetAvailableReports Get a list of available reports
Output Description
Reports A list of Report objects
Method Description
Generate Generate the report based on a date filter.
Output Description
Reports A list of Report objects
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
48/241
1.1.1.1
6.4.2.4EnroEnllmentReport
The EnrollmentReportclass will represent Beneficiaries grouped by County and Aid CodeGroup. Invoice Types will be both Medi-Cal Only and Medicare Part D. The invoice statuseswill be Pending through 820 Sent.
6.4.2.5CapitationReport
The CapitationReportclass will represent Beneficiaries grouped by Aid Code Group, HCP,
Rate, Term date and County. Invoice Types will be both Medi-Cal Only and Medicare Part D.The invoice statuses will be Pending through 820 Sent.
Method Description
SetDateFilter Set the to and from date filter
Parameters Type DescriptiondateFrom DateTime The date from
dateTo DateTime The date To
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
49/241
820 Phase 2 Design Specif icat ions
6 4 2 6 E di B F di S R
8/2/2019 2.04 820 Design Specifications
50/241
6.4.2.6ExpendituresByFundingSourceReport
The ExpendituresByFundingSourceReportclass will represent Amounts paid, broken downby State Fiscal Year and Quarter of Payment Date, HCP and Model Type, for Funding
Sources:Invoice Types will be both Medi-Cal Only and Medicare Part D. The invoice statuses will bePending through 820 Sent.
6.4.2.7ExpendeturesByWaiverAuthorityReport
The ExpendeturesByWaiverAuthorityReportclass will represent Waiver Amounts paid perState Fiscal Year and Quarter, broken down by HCP, Claim Sch. Number, Payment Type,Funding Source and Aid code group for each waiver. Invoice Types will be both Medi-CalOnly and Medicare Part D. The invoice statuses will be Pending through 820 Sent.
6.4.2.8PermReport
The PermReportclass will represent expenditures by HCP, Aid Code Group, Aid Code, Rate,
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
51/241
6.4.2.9PlanPaymentHistoryReport
The PlanPaymentHistoryReportclass will represent expenditures by Month of Payment orMonth of Service/. Invoice Types will be both Medi-Cal Only and Medicare Part D. Theinvoice statuses will be Pending through 820 Sent.
6.4.2.10 ContractEncumbranceAndExpenditureReport
The ContractEncumbranceAndExpenditureReportclass will represent expenditures byContract Invoice Types will be both Medi-Cal Only and Medicare Part D The invoice
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
52/241
6.4.2.11 OMCAndPHPClaimScheduleReport
The ContractEncumbranceAndExpenditureReportclass will represent Payments by Date ofPayment. Invoice Types will be both Medi-Cal Only and Medicare Part D. The invoice
statuses will be Pending through 820 Sent.
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
53/241
6.4.2.12 PACEClaimScheduleReport
The PACEClaimScheduleReportclass will represent Payments by Date of Payment(Hierarchy: Program Type, Managed Care Plan Name, Funding Source, Quarterly). Invoice
Types will be both Medi-Cal Only and Medicare Part D. The invoice statuses will be Pendingthrough 820 Sent.
820 Phase 2 Design Specif icat ions
6 4 2 13 RateSheetReport
8/2/2019 2.04 820 Design Specifications
54/241
6.4.2.13 RateSheetReport
The RateSheetReportclass will represent Payment Rates per Aid Code Group (orSupplemental Payment Rate), per HCP, and per current Effective Date(s). Invoice Types will
be both Medi-Cal Only and Medicare Part D. The invoice statuses will be Pending through820 Sent.
6.4.2.14 HealthPlanPaidInvoiceReport
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
55/241
6.4.2.15 BeneficiaryPaymentHistorySummaryReport
The HealthPlanPaidInvoiceReportclass will represent a summary of payment history perBeneficiary. Invoice Types will be both Medi-Cal Only and Medicare Part D. The invoicestatuses will be Pending through 820 Sent.
820 Phase 2 Design Specif icat ions
8/2/2019 2.04 820 Design Specifications
56/241
820 Phase 2 Design Specif icat ions
6 5 Remit t anceAdviceMgmt
8/2/2019 2.04 820 Design Specifications
57/241
6.5Remit t anceAdviceMgmtThe RemittanceAdviceMgmtcomponent will handle the internal processing of gatheringinvoices from the system and generating and 820 Remittance Advice. The invoices should
have the status of Paid, meaning that Accounting and SCO have paid out the invoices to theVendor. The component will then transform the invoice data into an 820 Remittance AdviceXML document suitable for processing in XEngine to produce the actual 820 EDIdocument.
6.5.1UseCase 5.1 Process and Send 820 Transact ions
Requirement SpecificationThe Process and Send 820 Transactions process produces HIPAA-compliant 820 transactions
that show the beneficiary, invoice and payment data for Trading Partners to receive from anSFTP site..
Process Model
1.1.1.1 Use Case Except ions
o If the invoice payee is a beneficiary or a beneficiary representative, doNOT generate an 820 transaction for invoice.
o
If an 820 transaction does not pass SNIP validations, system haltsprocessing of the transaction and posts SNIP Error Report. Systemlogs an error for System Administrator.
820 Phase 2 Design Specif icat ions
6.5.2Class Diagram
8/2/2019 2.04 820 Design Specifications
58/241
g
+Process()
RemittanceAdviceMgmt
+GetRemittanceAdvice()-InvoiceInfoList
Processed820
InvoiceMgmt
6.5.2.1RemittanceAdviceMgmt
The RemittanceAdviceMgmtclass will manage and start the processing of a new remittanceadvice file (the 820 EDI file). With a warrant number, invoices with the status of Paidwill beprocessed and sent into XEngineto create the EDI file.
Method Description
Process Starts the process the generating the remittance advice.
Parameters Type Description
warrantNumber Long The warrant number to beprocessed against
Output Description
XmlDocument An XML document validated against the 820 XEngineSchema
6.5.2.2Processed820
Th P d820 l ill b d t th itt d i Th f t f th
820 Phase 2 Design Specif icat ions
Output Description
8/2/2019 2.04 820 Design Specifications
59/241
XmlDocument An XML document validated against the 820 XEngineSchema
6.6 InvoiceMgmtThe InvoiceManagementcomponent will handle generation of all supported invoices. Thecomponent will be used by the capitation process and, invoice recalculation.
All supported invoices can be grouped in three logical groups: capitation invoices, supplemental
invoices, and adjustment invoices. Though all these invoices generate same kind of output,each group has different source of input data. The caller of the component has to load requiredinput data.
6.6.1UseCase 2.1 Generat e Managed Car e Invoices
Requirement SpecificationThe Process Invoices process begins with the generation of all Managed Care invoices for the
current enrollment month based on the completion of processing the Beneficiary Enrollmentfile. The invoices are then made available for review and approval by the Managed CareDepartment. They are then manually printed by the user and provided to the DHCS Accountingdepartment. Additionally, HIPP/BCCTP Department staff manually creates invoices and printthem out for the DHCS Accounting Department. Contract and Beneficiary Adjustments are alsoavailable for the user in this process, which will ultimately be shown on the appropriateinvoice(s). The invoices are now ready for payment reconciliation, which is described in thenext section: Process Payments.
Process Model
820Phase2
System
1.2CalculateCapitation
CAPMANDatabase
RetrieveCurrentMonth
CapitationData
IdentifyInvoiceType
Systemwithholds
7% forSacramentoGMC Dental
PopulateAdvance
Payments &Advance
Adjustments
Set InvoiceStatus to
Pending & MakeAvailable on
User Interface
2.2 Reviewand Approve
Invoices
PopulateCurrentMonth
CapitationInformation
Populate TotalCapitationAmounts &
FundingBreakdown
PopulateHeader and
FooterInformation
PopulateQuarterly
RateAdjustmentAmounts
PopulatePreviiousQuarter
CapitationInformation
820 Phase 2 Design Specif icat ions
6.6.1.1Use Case Except ions
8/2/2019 2.04 820 Design Specifications
60/241
o If Rate Adjustment is Negative, refer to Business Rule 2.1.21 for 25%Recoupment Cutoff logic.
o If a Rate Adjustment or Adjustments apply to a Service Month prior tothe 12 previous service months (but no earlier than 24 months prior tocurrent month), system creates a separate invoice apart from the 13-month capitation invoices. Invoices are generated based on StateFiscal Year, Contract Number, HCP, and Invoice Type.Invoice format and calculations are the same as described in Steps 2and 3, except Service Months do not include the current service monthor the 12 prior service months.
o
Rate Adjustments for Beneficiary-Based Supplemental Payments arecalculated for service months up to 2 years prior to current month.
820 Phase 2 Design Specif icat ions
6.6.2Class Diagram
8/2/2019 2.04 820 Design Specifications
61/241
+GetInvoiceTypeRange() : InvoiceTypeRange
interfaceIInvoiceManagement
datatypeEnumInvoiceTypes
+StartRange : EnumInvoiceTypes+EndRange : EnumInvoiceTypes
structInvoiceTypeRange
+GetInvoiceDataByBene() : InvoiceInfoList+GetExpectedInvoices() : InvoiceInfoList+CalculateNewInvoices() : InvoiceInfoList#LoadApplicableContracts()+SaveInvoices()+UpdateInvoiceStatus()+ApplyAdjustments() : InvoiceInfo+PerformRateAdjustmentBeyondCapPeriod() : DateTime+RecalculateInvoice() : int
-ContractList : ContractDataList
InvoiceManagerService
+ServiceDate : DateTime+hcpId : short+AidCodeId : short+PaymentTypeId : short
struct
BeneEligibilityInfostructInvoiceInfo
InvoiceInfoList
*
1
+ApplyAdjustments() : InvoiceInfoList
CapitationInvoice
#GetAdjustedRate() : decimal#GetSupplementalAidType() : short#LoadApplicableBeneficiaries()
SupplementalInvoices
AidsInvoice AgnewsInvoice CraigBontaInvoiceMaternityInvoice
-LoadAdj()
-Adjustment
GmcDentalReleaseInvoice
SavingsSharingInvoice
AdvancePaymentInvoice
refines
structContractData
ContractDataList
*
1
refines
6 6 2 1 IIn oiceManagement
820 Phase 2 Design Specif icat ions
Output Description
8/2/2019 2.04 820 Design Specifications
62/241
InvoiceTypeRange Start and end value of an invoice type range.
6.6.2.2InvoiceManagerService
The InvoiceManagerServicewill be an abstract base class. It will contain business logic thatis common for all types of invoices.
Method Description
GetInvoiceDataByBene Provides historical invoices for a list of beneficiaries.
Parameters Type Description
BeneficiariesId List A list of beneficiary Ids whosehistorical invoices are needed.
LatestDate DateTime The end date for historicalinvoices date range (oftencapitation date).
MonthsInHistory Integer Count of historical months forwhich the data is needed.
Range InvoiceTypeRange A range invoice types thatshould be extracted.
Output DescriptionInvoiceInfoList A list of historical invoices.
Method Description
GetExpectedInvoices Provides a list of expected invoices based on providedeligibility information of a beneficiary and already loadedapplicable contract information.
Parameters Type Description
CapitationDate DateTime Capitation date.
820 Phase 2 Design Specif icat ions
HistoricalCapitationData InvoiceInfoList List of historical capitation data,it will be required for
8/2/2019 2.04 820 Design Specifications
63/241
it will be required forsupplemental invoices.
Output Description
InvoiceInfoList A list of expected invoices.
Method Description
CalculateNewInvoices Using provided lists of historical and expected invoices,provides a list of actual invoices that should to be saved
in the database.Parameters Type Description
HistoricalInvoices InvoiceInfoList A list of historical invoices.
ExpectedInvoices InvoiceInfoList A list of expected invoices.
Output Description
InvoiceInfoList A list of actual invoices that should be saved.
Method Description
LoadApplicableContracts This method will be a protected abstract method; henceevery derived class should provide its implementation.
Parameters Type Description
CapitationDate DateTime Capitation date.
Output Description
None However the method populates applicable contract datain ContractListdata member.
Method Description
SaveInvoices This method will be a public virtual method. It will savethe provided data (as input parameter) intb_invoice_detail and tb_invoice tables. ApplyAdjustment
820 Phase 2 Design Specif icat ions
InvoicesToBeSaved InvoiceInfoList List of InvoiceInfo records thatneeds to be saved.
8/2/2019 2.04 820 Design Specifications
64/241
needs to be saved.
CapitationDate DateTime Capitation date.
Output Description
None However the method will throw exceptions and the calleris expected to handle it.
Method Description
UpdateInvoiceStatus This method will be a public method; It will save Pendingtb_invoice_status records for invoices of a specificcapitation date and invoice type range.
Parameters Type Description
CapitationDate DateTime Capitation date.
range InvoiceTypeRange Type of invoices whose statusneeds to be saved.
Output Description
None However the method will throw exceptions and the calleris expected to handle it.
Method Description
ApplyAdjustments This method will perform Adjustment on every invoice thatis getting saved.
Parameters Type Description
InvoiceInfoRecord InvoiceInfo An invoice detail data that needsto be saved.
Output Description
None However the method will throw exceptions and the calleris expected to handle it.
820 Phase 2 Design Specif icat ions
CapitationDate DateTime Capitation date.
8/2/2019 2.04 820 Design Specifications
65/241
Output DescriptionNone However the method will throw exceptions
and the caller is expected to handle it.
Method Description
RecalculateInvoice This method will be a public method; It will save Pendingtb_invoice_status records for invoices of a specificcapitation date and invoice type range.
Parameters Type Description
InvoiceId integer Invoice that needs to berecalculated..
Output Description
None However the method will throw exceptions and the calleris expected to handle it.
6.6.2.3CapitationInvoice
The CapitationInvoicewill be a class used by capitation process to generate capitationinvoices. It must be derived from InvoiceManagerServiceand IInvoiceManagement. Most ofthe business logic required for generation of capitation invoice will exist inInvoiceMethodServicebase class. Any logic specific to capitation invoices should be
implemented in this class.
Method Description
LoadApplicableContracts Override this inherited method to extract contracts thatare applicable for capitation invoices.
Parameters Type Description
CapitationDate DateTime Capitation date.
Output Description
None However the method populates applicable contract datain ContractListdata member.
820 Phase 2 Design Specif icat ions
GetExpectedInvoices Override this method to identify expected capitationinvoices. The expected capitation invoices can be
8/2/2019 2.04 820 Design Specifications
66/241
identified by locating applicable contract for a beneficiary.No historical invoice information will be needed here.
Parameters Type Description
CapitationDate DateTime Capitation date.
EligibilityInfo BeneEligibilityInfo Provides a beneficiaryseligibility information includingthe service month for which the
expected invoices will beidentified.
HistoricalCapitationData InvoiceInfoList Ignore this parameter.
Output Description
InvoiceInfoList A list of expected invoices.
Method Description
ApplyAdjustments This method will apply adjustments that are required forcapitation invoices. It includes GM Dental Withhold,Advance Payment, and Recoupment Balance. Note thatthe adjustments are applicable to only capitation invoices.Any applicable adjustment should be applied on therelated invoice.
Parameters Type Description
CapitationDate DateTime Capitation date.
Invoices InvoiceInfoList List of invoices that should besaved in the database.
Output Description
InvoiceInfoList. List of adjusted invoices that should be saved in thedatabase.
820 Phase 2 Design Specif icat ions
CalculateNewInvoices Override this method only to apply the adjustment oncapitation invoices. The methods should call basei l i f h h d d f h ll
8/2/2019 2.04 820 Design Specifications
67/241
implementation of the method and output of the callshould be sent as parameter to ApplyAdjustment method.
The output of the ApplyAdjustment should be returned tothe caller.
Parameters Type Description
HistoricalInvoices InvoiceInfoList A list of historical invoices.
ExpectedInvoices InvoiceInfoList A list of expected invoices.
Output Description
InvoiceInfoList A list of actual adjusted invoices that should be saved.
6.6.2.4SupplementalInvoice
The SupplementalInvoicewill be an abstract base class for all supplemental and adjustmentinvoices. It will be derived from InvoiceManagerService, so that all common business logic ofinvoice generation can be utilized. Every class derived from SupplementalInvoiceshould alsoinherit IInvoiceManagement.
Method Description
LoadApplicableBeneficiary Provides supplemental eligibility information of a list ofbeneficiaries for a date range.
Parameters Type Description
StartServiceDate DateTime Start date of date range.
EndServiceDate DateTime End date of date range.
BeneficiaryIds List A list of beneficiary ids whosesupplemental eligibility isrequired.
Output Description
820 Phase 2 Design Specif icat ions
GetAdjustedRate This method will be a protected abstract method. Everyderived class should provide its implementation. Theim l m t ti h ld id dj t d t f th
8/2/2019 2.04 820 Design Specifications
68/241
implementation should provide adjusted rate for theapplicable supplemental eligibility of a beneficiary.
Parameters Type Description
SupplementalRate Decimal Effective supplemental rate.
CapitaionPaid Decimal Capitation amount that was paidto the beneficiary.
Output Description
adjustedRate Adjusted Rate that should be saved in the database.
Method Description
GetSupplementalAidType This method will be a protected abstract method. Everyderived class should provide its implementation. Theimplementation should provide type of supported
supplemental eligibility.Parameters Type Description
none
Output Description
supplementalType Type of supported supplemental eligibility.
Method Description
LoadApplicableContracts Override this inherited method to extract contracts thatare applicable for supplemental invoices. Sincesupplemental eligibility has its own applicable contractdata, use GetSupplementalAidTypemethod in thiscommon implementation to identify type of supplementaleligibility whose contract data needs to be loaded.
Parameters Type Description
CapitationDate DateTime Capitation date.
820 Phase 2 Design Specif icat ions
GetInvoiceTypeRange Define this method as abstract, so that every non-abstractderived class must provide its implementation.
8/2/2019 2.04 820 Design Specifications
69/241
Parameters Type Description
None
Output Description
InvoiceTypeRange Returns range of the applicable invoice types.
Method Description
GetExpectedInvoices Override this method to identify expected supplementalinvoices. The expected supplemental invoices can beidentified by locating applicable contract for a beneficiaryand the related capitation eligibility.
Parameters Type Description
CapitationDate DateTime Capitation date.
EligibilityInfo BeneEligibilityInfo Provides a beneficiaryseligibility information includingthe service month for which theexpected invoices will beidentified.
HistoricalCapitationData InvoiceInfoList List of historical capitation data.
Output Description
InvoiceInfoList A list of expected invoices.
6.6.2.5AidsInvoice
The AidsInvoicewill be a class used by processes to generate invoices for Aids. It must bederived from SupplemetalInvoiceand IInvoiceManagement. Most of the business logicrequired for generation of this invoice will exist in InvoiceMethodServiceandSupplementalInvoicebase classes. Any logic specific to aids invoices should be implementedin this class.
820 Phase 2 Design Specif icat ions
SupplementalRate Decimal Effective supplemental rate.
8/2/2019 2.04 820 Design Specifications
70/241
CapitaionPaid Decimal Capitation amount that was paidto the beneficiary.
Output Description
adjustedRate Adjusted Rate that should be saved in the database.
Method Description
GetSupplementalAidType Provide specific implementation for this protected abstractmethod.
Parameters Type Description
none
Output Description
supplementalType Type of supported supplemental eligibility.
Method Description
GetInvoiceTypeRange Implement this interface method.
Parameters Type Description
None
Output Description
InvoiceTypeRange Returns range of the applicable invoice types.
6.6.2.6AgnewsInvoice
The AgnewsInvoicewill be a class used by processes to generate invoices for Agnews. Itmust be derived from SupplemetalInvoiceand IInvoiceManagement. Most of the businesslogic required for generation of this invoice will exist in InvoiceMethodServiceandSupplementalInvoice base classes Any logic specific to Agnews invoices should be
820 Phase 2 Design Specif icat ions
Parameters Type Description
SupplementalRate Decimal Effective supplemental rate.
8/2/2019 2.04 820 Design Specifications
71/241
CapitaionPaid Decimal Capitation amount that was paidto the beneficiary.
Output Description
adjustedRate Adjusted Rate that should be saved in the database.
Method Description
GetSupplementalAidType Provide specific implementation for this protected abstractmethod.
Parameters Type Description
none
Output Description
supplementalType Type of supported supplemental eligibility.
Method Description
GetInvoiceTypeRange Implement this interface method.
Parameters Type Description
None
Output Description
InvoiceTypeRange Returns range of the applicable invoice types.
6.6.2.7MaternityInvoice
The MaternityInvoicewill be a class used by processes to generate invoices for Maternity. Itmust be derived from SupplemetalInvoiceand IInvoiceManagement. Most of the businesslogic required for generation of this invoice will exist in InvoiceMethodServiceand
820 Phase 2 Design Specif icat ions
Parameters Type Description
SupplementalRate Decimal Effective supplemental rate.
8/2/2019 2.04 820 Design Specifications
72/241
CapitaionPaid Decimal Capitation amount that was paidto the beneficiary.
Output Description
adjustedRate Adjusted Rate that should be saved in the database.
Method Description
GetSupplementalAidType Provide specific implementation for this protected abstractmethod.
Parameters Type Description
None
Output Description
supplementalType Type of supported supplemental eligibility.
Method Description
GetInvoiceTypeRange Implement this interface method.
Parameters Type Description
None
Output Description
InvoiceTypeRange Returns range of the applicable invoice types.
6.6.2.8CraigBontaInvoice
The CraigBontaInvoicewill be a class used by processes to generate invoices forCraigBonta. It must be derived from SupplemetalInvoiceand IInvoiceManagement. Most ofthe business logic required for generation of this invoice will exist in InvoiceMethodService
820 Phase 2 Design Specif icat ions
LoadApplicableBeneficiary Override implementation of this virtual method. Thisimplementation should provide Craig Vs. Bonta eligibilityinformation of a list of beneficiaries for a date range.
8/2/2019 2.04 820 Design Specifications
73/241
Parameters Type DescriptionStartServiceDate DateTime Start date of date range.
EndServiceDate DateTime End date of date range.
BeneficiaryIds List A list of beneficiary ids whose
supplemental eligibility isrequired.
Output Description
SupplementalInfoList A list that contains supplemental eligibility information ofall beneficiaries whose id was provided as inputparameter.
Method Description
GetAdjustedRate Provide specific implementation for this protected abstractmethod.
Parameters Type Description
SupplementalRate Decimal Effective supplemental rate.
CapitaionPaid Decimal Capitation amount that was paidto the beneficiary.
Output Description
adjustedRate Adjusted Rate that should be saved in the database.
Method Description
GetSupplementalAidType Provide specific implementation for this protected abstractmethod.
Parameters Type Description
None
820 Phase 2 Design Specif icat ions
Method Description
GetInvoiceTypeRange Implement this interface method.
8/2/2019 2.04 820 Design Specifications
74/241
Parameters Type Description
None
Output Description
InvoiceTypeRange Returns range of the applicable invoice types.
6.6.2.9GmcDentalReleaseInvoice
The GmcDentalReleaseInvoicewill be a class used by processes to generate invoices forGMC Detnal Release. It must be derived from SupplemetalInvoiceand IInvoiceManagement.However this invoice is different from all other supplemental invoices, the following methodsshould be overridden to provide the specific implementation.
Method Description
LoadApplicableBeneficiary Override implementation of this virtual method. Thisimplementation should provide GMC Dental Releaseeligibility information of a list of beneficiaries for a daterange.
Parameters Type Description
StartServiceDate DateTime Start date of date range.
EndServiceDate DateTime End date of date range.
BeneficiaryIds List A list of beneficiary ids whosesupplemental eligibility isrequired.
Output Description
SupplementalInfoList A list that contains supplemental eligibility information ofall beneficiaries whose id was provided as inputparameter.
820 Phase 2 Design Specif icat ions
SupplementalRate Decimal Effective supplemental rate.
8/2/2019 2.04 820 Design Specifications
75/241
CapitaionPaid Decimal Capitation amount that was paidto the beneficiary.
Output Description
adjustedRate Adjusted Rate that should be saved in the database.
Method Description
GetSupplementalAidType Provide specific implementation for this protected abstractmethod.
Parameters Type Description
None
Output Description
supplementalType Type of supported supplemental eligibility.
Method Description
LoadAdj Load Adjustment data specific to GMC Dental Release.
Parameters Type Description
None
Output Description
none However populate the extracted data in Adjustmentdatamember.
Method Description
GetExpectedInvoices Override this virtual method to identify expected invoicesfor GMC Dental Release.
Parameters Type Description
CapitationDate DateTime Capitation date.
820 Phase 2 Design Specif icat ions
EligibilityInfo BeneEligibilityInfo Provides a beneficiaryseligibility information includingthe service month for which theexpected invoices will be
8/2/2019 2.04 820 Design Specifications
76/241
expected invoices will be
identified.
HistoricalCapitationData InvoiceInfoList List of historical capitation data,it will be required forsupplemental invoices.
Output Description
InvoiceInfoList A list of expected invoices.
Method Description
CalculateNewInvoices Override this virtual method to identify actual invoices forGMC Dental Release.
Parameters Type Description
HistoricalInvoices InvoiceInfoList A list of historical invoices.
ExpectedInvoices InvoiceInfoList A list of expected invoices.
Output Description
InvoiceInfoList A list of actual invoices that should be saved.
Method Description
GetInvoiceTypeRange Implement this interface method.
Parameters Type Description
None
Output Description
InvoiceTypeRange Returns range of the applicable invoice types.
820 Phase 2 Design Specif icat ions
Method Description
GetAdjustedRate Provide specific implementation for this protected abstractmethod.
8/2/2019 2.04 820 Design Specifications
77/241
Parameters Type Description
SupplementalRate Decimal Effective supplemental rate.
CapitaionPaid Decimal Capitation amount that was paidto the beneficiary.
Output Description
adjustedRate Adjusted Rate that should be saved in the database.
Method Description
GetSupplementalAidType Provide specific implementation for this protected abstractmethod.
Parameters Type Description
None
Output Description
supplementalType Type of supported supplemental eligibility.
Method Description
LoadAdj Load Adjustment data specific to Savings SharingDisbursement.
Parameters Type Description
None
Output Description
none However populate the extracted data in Adjustmentdatamember.
820 Phase 2 Design Specif icat ions
HistoricalInvoices InvoiceInfoList No historical invoices will beneeded to identify actualinvoices that need to be saved.
8/2/2019 2.04 820 Design Specifications
78/241
ExpectedInvoices InvoiceInfoList A list of expected invoices.
Output Description
InvoiceInfoList A list of actual invoices that should be saved.
Method Description
GetInvoiceTypeRange Implement this interface method.
Parameters Type Description
None
Output Description
InvoiceTypeRange Returns range of the applicable invoice types.
6.6.2.11 AdvancePaymentInvoice
The AdvancePaymentInvoicewill be a class used by processes to generate invoices forAdvance Payments. It must be derived from SupplemetalInvoiceand IInvoiceManagement.However this invoice is different from all other supplemental invoices, the following methodsshould be overridden to provide the specific implementation.
Method Description
GetAdjustedRate Provide specific implementation for this protected abstractmethod.
Parameters Type Description
SupplementalRate Decimal Effective supplemental rate.
CapitaionPaid Decimal Capitation amount that was paidto the beneficiary.
Output Description
820 Phase 2 Design Specif icat ions
GetSupplementalAidType Provide specific implementation for this protected abstractmethod.
Parameters Type Description
8/2/2019 2.04 820 Design Specifications
79/241
None
Output Description
supplementalType Type of supported supplemental eligibility.
Method Description
LoadAdj Load Adjustment data specific to Advance Payments.
Parameters Type Description
None
Output Description
none However populate the extracted data in Adjustmentdatamember.
Method Description
CalculateNewInvoices Override this virtual method to identify actual invoices forAdvance Payments.
Parameters Type Description
HistoricalInvoices InvoiceInfoList No historical invoices areneeded to identify the actualinvoices that need to be saved.
ExpectedInvoices InvoiceInfoList A list of expected invoices.
Output Description
InvoiceInfoList A list of actual invoices that should be saved.
Method Description
GetInvoiceTypeRange Implement this interface method.
820 Phase 2 Design Specif icat ions
InvoiceTypeRange Returns range of the applicable invoice types.
8/2/2019 2.04 820 Design Specifications
80/241
6.7 Capit at ionMgmtThe CapitationMgmtcomponent will handle import of MMCD data into the 820 database. It willcompute every eligible beneficiarys current as well prior months capitation. Also, it willgenerate data for capitation invoices.
6.7.1UseCase 1.2 Calculat e Capi t at ionRequirement SpecificationThe Calculate Capitation process begins with the receipt and processing of the BeneficiaryEnrollment files, where the Managed Care Health Care Plans (HCPs) and their enrolledbeneficiary data for the current month plus 12 prior months is supplied. The HCP andbeneficiary data is captured and used to calculate the capitation. This is where the Systemcalculates the current months enrollment data, and then compares the previous twelve monthsenrollment on the current file to the previous twelve months in history. The outcome is capturingand calculating the net eligibles per HCP for use in the next process of generating ManagedCare invoices.
Process Model
820Phase2System
820 Phase 2 Design Specif icat ions
6.7.2Class Diagram
CapitationProcessor
8/2/2019 2.04 820 Design Specifications
81/241
+ExecuteProcess() : bool-LoadStagedRecords()-ValidateStagedRecord() : bool-IdentifyNewInvoices()-SaveData()
-historicalInvoices : InvoiceInfoList-ExpectedInvoices : InvoiceInfoList-InvoicesToBeSaved : InvoiceInfoList
+ClientIndexNumber : string+MedsRenewalDate : string+LastName : string+FirstName : string+HCP : string
+AidCode : string+Status : string+PaymentType : string
StagingBeneficiary
+FiscalYear : short+InvoiceTypeId : EnumInvoiceTypes+ContractPlanCode : int+Hcpid : short+AidCodeid : short+PaymentType : EnumPaymentType+Amount : decimal+Rate : decimal+ServiceDate : DateTime
struct
InvoiceInfo
InvoiceInfoList
*
1
datatypeEnumInvoiceTypes
datatypeEnumPaymentType
6.7.2.1CapitationProcessor
The CapitationProcessorclass will be a sealed class and it will be responsible for theexecution of the capitation process. Before executing the process, the caller should ensurethat only latest MMCD enrollment data is available in TB_STAGING_BENEFICIARY and
TB_STAGING_MONTHLY_INFO tables. The class would not contain any logic to ensurecompleteness or validity of the enrollment data.
Status of the process will be logged-in an XML file for reporting purposes.
820 Phase 2 Design Specif icat ions
ExecuteProcess This method will execute the entire capitation processthat includes saving of MMCD enrollment data inCAPMAN database, calculation of capitation amount andsaving of invoice data.
8/2/2019 2.04 820 Design Specifications
82/241
Since the caller of this method does not have anyinformation about the capitation date for which theprocess is being executed, the class will assumeMedsRenewalDate of the very first enrollment record asthe capitation date. Using the capitation date, start andend service date will be identified (13 month period).
Once capitation and service dates are identified, theprocess will read MMCD enrollment data. Using theenrollment data, expected invoices will be identified bycalling GetExpectedInvoicesmethod of CapitationInvoiceclass. The returned expected invoices will be stored inexpectedInvoices data member. The expected invoiceswill be compared against the historical invoices to find theinvoices that should be saved in the database.
Parameters Type Description
None
Output Description
Bool True if the process completes successfully otherwisefalse.
Method Description
LoadStagedRecords This private method will get MMCD enrollment data fromstaging database tables. Paging should be used to readthe staged data.
Parameters Type Description
LastReadCin String Last read client identificationnumber. This will help to
implement paginated reading ofthe staged data.
Output Description
List A list of staged enrollment data.
820 Phase 2 Design Specif icat ions
ValidateStagedRecord This private method will perform validation of individualstaged record. The method will be called for each recordextracted by LoadStagedRecordsmethod.
8/2/2019 2.04 820 Design Specifications
83/241
A few of the critical validations that the method willperform:
1. MedsRenewalDate of the record should be same asthe capitation date identified at the start of theprocess.
2. Client Index Number should not be null or empty andit must be exactly 9 characters long.
3. First Name and Last Name should not be null.
4. Hcp code and aid code must exist in CAPMANdatabase.
Parameters Type Description
stagedRec StagingBeneficiary The staged record that shouldbe validated.
Output Description
bool True if valid otherwise false.
Method Description
IdentifyNewInvoices This private method will load historical invoices inhistoricalInvoices data member. It will passhistoricalInvoices and expectedInvoices as parameters toCalculateNewInvoicesmethod of CapitationInvoiceclassto identify the actual invoices. The returned values will be
saved in invoiceToBeSaved.
Parameters Type Description
None
Output Description
none
Method Description
SaveData This private method should call saveInvoices method ofC it ti I i bj t It ill i i i
820 Phase 2 Design Specif icat ions
none
Output Description
8/2/2019 2.04 820 Design Specifications
84/241
p p
None However an exception will be thrown if any error occursduring save and ExecuteProcesswill catch it.
820 Phase 2 Design Specif icat ions
6.7.3Sequence Diagram Process Capitat ion
8/2/2019 2.04 820 Design Specifications
85/241
ProcessCapitation CapitationProcessor
Receive MMCD File
Log MMCD File Receipt
Persisit MMCD to Staging
ExecuteProcess
SQLProcedures
LoadStagedRecords
InvoiceManager
List
LoadInvoiceDataByBene
LoadInvoiceInfoList
IList
InvoiceInfoList
CalculateNewInvoices
SaveData
UpdateInvoiceStatus
LogInformation
Log Invoice Processing Results
CapitationReporter
820 Phase 2 Design Specif icat ions
3. ProcessCapitation objectpersists the MMCD file into staging tables in Persist MMCDto Staging
4. ProcessCapitationcalls CapitationProcessorwith function ExecuteProcess to startthe calculation process
8/2/2019 2.04 820 Design Specifications
86/241
5. CapitationProcessorcalls SQLProcedureswith function LoadStageRecords to loadthe Beneficiary records from the staging tables
6. SQLProceduresreturns a list of StagingBeneficiaryobjects loaded from the stagingtables
7. CapitationProcessorcalls InvoiceManagerwith function LoadInvoiceDataByBene toget the historical beneficiary records
8. InvoiceManagercalls SQLProcedureswith function LoadInvoiceInfoList to loadhistorical beneficiary records
9. SQLProceduresreturns a list of historical beneficiary records
10. InvoiceManagerreturns a list of historical beneficiary records
11. CapitationProcessorcalls InvoiceManagerwith function CalculateNewInvoices tostart the calculation using historical and current beneficiary records
12. CapitationProcessorsaves the calculated beneficiary records with function SaveData
13. CapitationProcessorupdates the invoice status to Pending with functionUpdateInvoiceStatus
14. CapitationProcessorlogs the processing information with function c