source_id or we determine the requested plan to be a duplicate.
Else we trigger the create flow. Since all fields are immutable on the patient plan record except for the source_id,
we will only update the source_id field in the case when we determine the patient plan to be a duplicate.
This means that in the case of source_id match, this API will make no updates and will just return the found
patient plan.
source_id match, then we will run our deduplication logic. This is necessary to prevent accidental
archival of existing patient plans in the case when source_ids might be configured incorrectly. By default, our deduplication logic will just check to see that there is no existing
plan for the input patient with the same member number. If there is an existing patient plan with the same member number,
we go to the update flow as described above. If not, we go to the create flow. Clients can modify this behavior by setting
deduplication_strategy. When you set deduplication_strategy=MEMBER_NUMBER_AND_PAYOR, we use both the passed in payor_entity_id
and member_number to determine if it is a duplicate. So, we only go to the update flow if both payor_entity_id
and member_number match an existing patient plan for the input patient. Else we go to the create flow.
conflict_strategy field allows you to configure whether we want to automatically replace an existing plan
if we determine that the source_ids are different and that the request is not for a duplicate plan.
REPLACE and will result in the deletion/archival of the existing planRAISE_ERROR will return a Conflict Error (http status of 409)RAISE_ERROR_ON_AUTH_WITHDRAWAL will return a Conflict Error (409) only if replacing the plan would lead to withdrawing
an in progress Prior Authorization. This is a good flag to pass if your system allows edits to member numbers on existing plans and you
have an implementation which always propagates your system’s changes into Silna. Ideally, you shold design a solution which
does not require this.member_number or payor,
we recommend using a source_id format which includes these two fields (ex. {YOUR_SYSTEMS_PATIENT_PLAN_ID}-{MEMBER_NUMBER}-{PAYOR_ID}).
This will ensure that if either member_number or payor changes, we will create a new plan for the patient during a PUT Patient Plan call.
If your system’s “Patient Plan” record only allows updates to the member_number (i.e. you would create an entirely new plan when changing the insurance),
we recommend using a source_id format which includes the member_number field (ex. {YOUR_SYSTEMS_PATIENT_PLAN_ID}-{MEMBER_NUMBER}).
This will ensure that if the member_number changes, we will create a new plan for the patient during a PUT Patient Plan call.
If your system has the same immutability guarantees as Silna, then you can use a source_id that is just your systems id for the “Patient Plan” record (ex. {YOUR_SYSTEMS_PATIENT_PLAN_ID}).
If you want to go down this route, you should set deduplication_strategy=MEMBER_NUMBER_AND_PAYOR. You should consider
setting conflict_strategy=RAISE_ERROR_ON_AUTH_WITHDRAWAL if your system allows minor updates to patient plans and you
still plan on calling Silna during that flow.
source_id that is just your systems id for the “Patient Plan” record (ex. {YOUR_SYSTEMS_PATIENT_PLAN_ID}) if you have the same immutability guarantees as Silna{YOUR_SYSTEMS_PATIENT_PLAN_ID}-{MEMBER_NUMBER}.deduplication_strategy=MEMBER_NUMBER. You should consider
setting conflict_strategy=RAISE_ERROR_ON_AUTH_WITHDRAWAL if your system allows minor updates to patient plans and you
still plan on calling Silna during that flow.
source_id, patient_source_id, plan_order_number, member_id.
Here, the plan_order_number will be 1 if the primary plan, 2 if the secondary plan, etc.Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Request schema for updating a patient planRequest schema for updating a patient plan
2 - 80Unique identifier for the patient plan. This is generated and supplied by API clients
The order number of the plan (1 for primary, 2 for secondary, etc)
2 - 80The type of insurance
COMMERCIAL, MEDICARE, MEDICAID, REGIONAL_CENTER, WORKERS_COMPENSATION, AUTO_INSURANCE The file ID corresponding to the front of the insurance card
The file ID corresponding to the back of the insurance card
The behavior to take when there is a conflict with an existing patient plan.REPLACE (default) will replace the existing plan (this will halt all in progress benefits checks and prior authorizations for the plan). RAISE_ERROR will raise an error if there is a conflict. RAISE_ERROR_ON_AUTH_WITHDRAWAL will raise an error if there are active prior authorizations that would be withdrawn. The default behavior is REPLACE
RAISE_ERROR, REPLACE, RAISE_ERROR_ON_AUTH_WITHDRAWAL The strategy to use for deduplicating patient plans. MEMBER_NUMBER (default) checks only the member number. MEMBER_NUMBER_AND_PAYOR checks both member number and payor entity for deduplication.
MEMBER_NUMBER, MEMBER_NUMBER_AND_PAYOR Response schema for creating a patient planResponse schema for creating a patient plan