Diagnoses

This API enables external interfaces to load and update diagnoses and their details.

Operations

PUT

/diagnoses creates or updates a diagnosis.

GET

/diagnoses/{id} retrieves the diagnosis.

Rules

Uniqueness

In order for Oracle Health Insurance to be able to recognize when an update to a diagnosis’s details is being sent (as opposed to the details of a new diagnosis) and to know which diagnosis in Oracle Health Insurance is to be updated, the diagnosis code and flex code definition is used. The combination of these attributes is a unique id from the source system that external interfaces will always include with each diagnosis’s details.

Create or Update Behavior

Oracle Health Insurance stores the diagnosis code and flex code definition with its copy of each diagnosis. When the details of a diagnosis are received in a message, Oracle Health Insurance will consider the details to be a new diagnosis if there is not already a diagnosis stored with the same combination of diagnosis code and flex code definition, and it will consider the details to be an update to an existing diagnosis if there is one with the same code and flex code definition.

The combinations of diagnosis code and flex code definition are assumed to be unique across all diagnoses within Oracle Health Insurance regardless of the source of the diagnosis.

Request Messages

Each request message may contain the details of one diagnosis. The external interfaces will create request messages for the initial data load, in response to entry of new diagnoses and updates to previously sent diagnoses.

If a diagnosis’s end date is updated and the validity time period is shorter, then diagnosis group details referring to the diagnosis will get the same end date unless the detail has an end date before the diagnosis’s end date. Diagnosis settings will not be updated automatically: the assumption is that the complete list is included.

The details of exactly what information needs to be in a given request message varies based on factors such as whether details have been sent before and the category of details that have been added or updated. For details on how values in the request messages are handled, refer to the concepts in the Developer Guide.

A given implementation of Oracle Health Insurance could have dynamic fields and records added to the diagnosis as well as diagnosis setting entity that need to be interfaced. For details on how external interfaces can provide values for dynamic fields and dynamic records in request messages and how they are handled by Oracle Health Insurance, refer to the Developer Guide.

The PUT request message on /diagnoses creates or updates a diagnosis.

Example Request Message to Create a Diagnosis (click to open)
{
  "flexCodeDefinitionCode": "",
  "code": "",
  "description": "",
  "startDate": "",
  "endDate": "",
  "displayAccessRestrictionCode: "",
  "diagnosisSetting" : [
     {
       "startDate": ""
       "endDate": ""
     }
  ]
}

Response Messages

Response messages are created by Oracle Health Insurance in response to request messages received from external interfaces. See Response Messages for more details.

Batches

This API supports handling of multiple requests (File Based Import) in one go. See Data File Sets for more details.

Diagnoses

A diagnosis batch request message has the following structure:

<diagnoses>
  <diagnosis/> -- refer to Diagnosis Request for details
</diagnoses>

Diagnosis batch response messages have the following structure:

<diagnosesResponse>
  <resultMessages/>
</diagnosesResponse>

The elementId attribute that is included as part of the result messages element (see Activities for more details) contains the code of the flex code definition followed by a comma, space and the code of the diagnosis for which the messages are raised.

Error Messages

The following error messages that are specific to the diagnosis interface may be returned in the response messages:

Table 1. Error Messages
Code Severity Message

OHI-IP-DIAG-003

Fatal

Flex code definition {code} is unknown

GEN-ACRE-001

Fatal

Access restriction code {code} is unknown. Request cannot be processed

In addition, functional business rule messages may be returned as well as the standard messages related to dynamic fields and dynamic records (see Response Messages).

Authorization

This API requires a grant for access restriction 'diagnoses IP'.