Purpose
This WS allows to terminate contract either by NHS or Legal Entity Side (if scope was allowed).
Specification
Logic
This WS is designed to terminate contract. Contract must be in status 'VERIFIED'
Input parameters
| | | | |
---|
id | | String | | b075f148-7f93-4fc2-b2ec-2d81b19a9b7b
|
Request structure
See on Apiary
Example:
{
"status_reason": "Неправильний період контракту"
}
Authorize
Verify the validity of access token
in case of error return 401 ('Access denied')
Check user scope contract:terminate in order to perform this action
in case of error generate 401 response ('Invalid scopes')
Request to process the request using a token in the headers
Headers
Наприклад:
Request data validation
Validate User
Extract legal_entity_id (client_id) from token.
Check client_id=contractor_legal_entity_id or client_id=nhs_legal_entity_id
in case of error return 403 "User is not allowed to perform this action"
Validate contract request status
Processing
Auto termination
Fetch all contract with end_date<now(). Set status and status reason for such contract as below:
| |
---|
status | TERMINATED |
status_reason | $.auto_expired |
updated_at | now() |
updated_by | $.user_id |
Add status to event manager
After status was changed (status = TERMINATED) - add new status to event_manager
| |
---|
event_type
| StatusChangeEvent
|
entity_type
| Contract |
entity_id
| $.id |
properties.status.new_value
| $.status |
event_time
| $.update_at |
changed_by
| $.changed_by |
Deactivate Medical Program Provision
Deactivate all active medical program provision for defined contract number and current legal entity (according to link):
Response structure
See on Apiary
Example:
{
"meta": {
"code": 201,
"url": "https://example.com/resource",
"type": "object",
"request_id": "req-adasdoijasdojsda"
},
"data": {
"id": "09106b70-18b0-4726-b0ed-6bda1369fd52",
"contract_type": "CAPITATION",
"start_date": "2017-04-20",
"contractor_legal_entity": {
"id": "df9f70ee-4b12-4740-b0f5-bb5aea116863",
"name": "Клініка Ноунейм",
"edrpou": "32323454",
"addresses": [
{
"type": "RESIDENCE",
"country": "UA",
"area": "Житомирська",
"region": "Бердичівський",
"settlement": "Київ",
"settlement_type": "CITY",
"settlement_id": "b075f148",
"street_type": "STREET",
"street": "вул. Ніжинська",
"building": "15",
"apartment": "23",
"zip": "02090"
}
]
},
"contractor_owner": {
"id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
"party": {
"first_name": "Петро",
"last_name": "Іванов",
"second_name": "Миколайович"
}
},
"contractor_base": "на підставі закону про Медичне обслуговування населення",
"contractor_payment_details": {
"bank_name": "Банк номер 1",
"MFO": "351005",
"payer_account": "32009102701026"
},
"contractor_rmsp_amount": 50000,
"contractor_divisions": [
{
"id": "2922a240-63db-404e-b730-09222bfeb2dd",
"name": "Бориспільське відділення Клініки Ноунейм",
"addresses": [
{
"type": "RESIDENCE",
"country": "UA",
"area": "Житомирська",
"region": "Бердичівський",
"settlement": "Київ",
"settlement_type": "CITY",
"settlement_id": "b075f148",
"street_type": "STREET",
"street": "вул. Ніжинська",
"building": "15",
"apartment": "23",
"zip": "02090"
}
],
"phones": [
{
"type": "MOBILE",
"number": "+380503410870"
}
],
"email": "email@example.com",
"working_hours": {
"mon": [
[
"08.00",
"12.00"
],
[
"14.00",
"18.00"
]
],
"tue": [
[
"08.00",
"12.00"
]
],
"wed": [
[
"08.00",
"12.00"
]
],
"thu": [
[
"08.00",
"12.00"
]
],
"fri": [
[
"08.00",
"12.00"
]
]
},
"mountain_group": false
}
],
"external_contractor_flag": true,
"external_contractors": [
{
"legal_entity": {
"id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
"name": "Клініка Ноунейм"
},
"contract": {
"number": "1234567",
"issued_at": "2018-01-01",
"expires_at": "2019-01-01"
},
"divisions": [
{
"id": "2922a240-63db-404e-b730-09222bfeb2dd",
"name": "Бориспільське відділення Клініки Ноунейм",
"medical_service": "Послуга ПМД"
}
]
}
],
"contractor_employee_divisions": [
{
"employee": {
"id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
"party": {
"first_name": "Петро",
"last_name": "Іванов",
"second_name": "Миколайович"
},
"speciality": {
"speciality": "THERAPIST",
"speciality_officio": true,
"level": "FIRST",
"qualification_type": "AWARDING",
"attestation_name": "Академія Богомольця",
"attestation_date": "2017-02-28",
"valid_to_date": "2020-02-28",
"certificate_number": "AB/21331"
}
},
"staff_units": 0.5,
"declaration_limit": 2000,
"division_id": "2922a240-63db-404e-b730-09222bfeb2dd"
}
],
"nhs_signer_base": "на підставі наказу",
"nhs_contract_price": 50000,
"nhs_payment_method": "prepayment",
"status": "VERIFIED",
"reason": "не було виконано умов контракту",
"status_reason": "default",
"nhs_signer": {
"id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
"party": {
"first_name": "Петро",
"last_name": "Іванов",
"second_name": "Миколайович"
}
},
"nhs_legal_entity": {
"id": "df9f70ee-4b12-4740-b0f5-bb5aea116863",
"name": "Клініка Ноунейм",
"edrpou": "32323454",
"addresses": [
{
"type": "RESIDENCE",
"country": "UA",
"area": "Житомирська",
"region": "Бердичівський",
"settlement": "Київ",
"settlement_type": "CITY",
"settlement_id": "b075f148",
"street_type": "STREET",
"street": "вул. Ніжинська",
"building": "15",
"apartment": "23",
"zip": "02090"
}
]
},
"issue_city": "Київ",
"contract_number": "0000-9EAX-XT7X-3115",
"contract_request_id": "df9f70ee-4b12-4740-b0f5-bb5aea116863",
"is_suspended": false,
"end_date": "2017-04-20",
"id_form": "PMD",
"parent_contract_id": "09106b70-18b0-4726-b0ed-6bda1369fd52"
}
}
Response mapping
| |
---|
status | TERMINATED |
status_reason | $.status_reason |
updated_at | now() |
updated_by | $.user_id |
HTTP status codes