Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel3

...

Specification

Page Properties

Link

https://medicaleventsmisapiehealthmedicaleventsapi.docs.apiary.io/#reference/care-plan/cancel-care-plan-activity/cancel-care-plan-activity

Resource

/api/patients/{{patient_id}}/care_plans/{{care_plan_id}}/activities{{id}}/actions/cancel

Scope

care_plan:write

Components

Care plan

Microservices

me/api-medical-events

me/event-consumer

me/kafka-consumer

il/api(rpc)

Protocol type

REST

Request type

PATCH

Sync/Async

Async

Public/Private/Internal

Public

...

INNM_DOSAGE

Request structure

See on Apiary

Example:

Expand
titleRequest example
Code Block
{
  "signed_data": "ew0KICAicGVyaW9kIjogew0KIC..."
}

...

Expand
titleRequest example
Code Block
{
  "id": "75a5d991-0bf7-476f-b3cf-bec73f044b2e",
  "author": {
    "identifier": {
      "type": {
        "coding": [
          {
            "system": "eHealth/resources",
            "code": "employee"
          }
        ]
      },
      "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
    }
  },
  "care_plan": {
    "identifier": {
      "type": {
        "coding": [
          {
            "system": "eHealth/resources",
            "code": "care_plan"
          }
        ]
      },
      "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
    }
  },
  "detail": {
    "kind": "servicemedication_request",
    "product_reference": {
      "identifier": {
        "type": {
          "coding": [
            {
              "system": "eHealth/resources",
              "code": "servicemedication"
            }
          ],
          "text": ""
        },
        "value": "97d57238-ffbe-4335-92ea-28d4de117ea3"
      }
    },
    "reason_code": [
      {
        "coding": [
          {
            "system": "eHealth/ICD10_AM/condition_codes",
            "code": "X85"
          }
        ]
      }
    ],
    "reason_reference": [
      {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "condition"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        }
      }
    ],
    "goal": [
      {
        "coding": [
          {
            "system": "eHealth/care_plan_activity_goals",
            "code": "diabetes_treatment"
          }
        ]
      }
    ],
    "quantity": {
      "value": 13,
      "system": "MEDICATION_UNIT",
      "code": "MG",
      "unit": "мг"
    },
    "scheduled_timing": {
      "event": [
        "2018-08-02T10:45:16Z"
      ],
      "repeat": {
        "bounds_duration": {
          "value": 10,
          "comparator": ">",
          "unit": "доба",
          "system": "eHealth/ucum/units",
          "code": "day"
        },
        "count": 10,
        "count_max": 20,
        "duration": 15,
        "duration_max": 25,
        "duration_unit": "day",
        "frequency": 1,
        "frequency_max": 4,
        "period": 1,
        "period_max": 3,
        "period_unit": "day",
        "day_of_week": [
          "mon"
        ],
        "time_of_day": [
          "16:00:00"
        ],
        "when": [
          "WAKE"
        ],
        "offset": 20
      },
      "code": {
        "coding": [
          {
            "system": "TIMING_ABBREVIATION",
            "code": "Q4H"
          }
        ]
      }
    },
    "location": {
      "identifier": {
        "type": {
          "coding": [
            {
              "system": "eHealth/resources",
              "code": "division"
            }
          ]
        },
        "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
      }
    },
    "performer": {
      "identifier": {
        "type": {
          "coding": [
            {
              "system": "eHealth/resources",
              "code": "employee"
            }
          ]
        },
        "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
      }
    },
    "daily_amount": {
      "value": 136.5,
      "system": "MEDICATION_UNIT",
      "code": "MG",
      "unit": "мг"
    },
    "description": "Some activity description",
    "do_not_perform": false,
    "program": {
      "identifier": {
        "type": {
          "coding": [
            {
              "system": "eHealth/resources",
              "code": "medical_program"
            }
          ]
        },
        "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
      }
    },
    "status": "scheduled",
    "status_reason": {
      "coding": [
        {
          "system": "eHealth/care_plan_activity_cancel_reasons",
          "code": "some code"
        }
      ]
    },
    "remaining_quantity": {
      "value": 12,
      "system": "MEDICATION_UNIT",
      "code": "MG",
      "unit": "мг"
    }
  },
  "outcome_reference": [
    {
      "identifier": {
        "type": {
          "coding": [
            {
              "system": "eHealth/resources",
              "code": "encounter"
            }
          ]
        },
        "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
      }
    }
  ],
  "outcome_codeable_concept": [
    {
      "coding": [
        {
          "system": "eHealth/care_plan_activity_outcomes",
          "code": "some code"
        }
      ]
    }
  ],
  "inserted_at": "2017-04-20T19:14:13Z",
  "inserted_by": "e1453f4c-1077-4e85-8c98-c13ffca0063e",
  "updated_at": "2017-04-20T19:14:13Z",
  "updated_by": "2922a240-63db-404e-b730-09222bfeb2dd"
}

...

Request to process the request using a token in the headers

Headers

Наприклад:

Content-Type:application/json
Authorization:Bearer {{access_token}}
API-key:{{mis_client_secret}}

...

  • if activity kind = medication_request:

    • Check there is no medication request requests in status NEW based on the activity

      • in case of error - return 409 (Unable to cancel activity with new Medication Request requests).

    • Check there is no medication requests in status ACTIVE based on the activity

      • in case of error - return 409 (Unable to cancel activity with active Medication requests).

  • if activity kind = service_request:

    • Check availability of service requests with status = active.If such service requests exist, then needs to check availability of service requests with program_processing_status:

      1. if program_processing_status is undefined (NULL), then return error 409 (Unable to cancel activity with Service requests in status <status value> and program processing status is NULL or not completed)

      2. if program_processing_status is defined, then needs to check that program_processing_status = complete. Otherwise, return error 409 (Unable to cancel activity with Service requests in status <status value> and program processing status is NULL or not completed)

    • Check all related service requests in final status: completed, recalled or entered_in_error.

      • in case at least one is active - return error 409 (Unable to cancel activity with Service requests in active status)

Validate content

Signed content must match with activity in DB in order to be changed

...

Expand
titleResponse example
Code Block
{
  "data": {
    "id": "75a5d991-0bf7-476f-b3cf-bec73f044b2e",
    "author": {
      "identifier": {
        "type": {
          "coding": [
            {
              "system": "eHealth/resources",
              "code": "employee"
            }
          ]
        },
        "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
      }
    },
    "care_plan": {
      "identifier": {
        "type": {
          "coding": [
            {
              "system": "eHealth/resources",
              "code": "care_plan"
            }
          ]
        },
        "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
      }
    },
    "detail": {
      "kind": "servicemedication_request",
      "product_reference": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "servicemedication"
              }
            ],
            "text": ""
          },
          "value": "97d57238-ffbe-4335-92ea-28d4de117ea3"
        }
      },
      "reason_code": [
        {
          "coding": [
            {
              "system": "eHealth/ICD10_AM/condition_codes",
              "code": "X85"
            }
          ]
        }
      ],
      "reason_reference": [
        {
          "identifier": {
            "type": {
              "coding": [
                {
                  "system": "eHealth/resources",
                  "code": "condition"
                }
              ]
            },
            "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
          }
        }
      ],
      "goal": [
        {
          "coding": [
            {
              "system": "eHealth/care_plan_activity_goals",
              "code": "diabetes_treatment"
            }
          ]
        }
      ],
      "quantity": {
        "value": 13,
        "system": "MEDICATION_UNIT",
        "code": "MG",
        "unit": "мг"
      },
      "scheduled_timing": {
        "event": [
          "2018-08-02T10:45:16Z"
        ],
        "repeat": {
          "bounds_duration": {
            "value": 10,
            "comparator": ">",
            "unit": "доба",
            "system": "eHealth/ucum/units",
            "code": "day"
          },
          "count": 10,
          "count_max": 20,
          "duration": 15,
          "duration_max": 25,
          "duration_unit": "day",
          "frequency": 1,
          "frequency_max": 4,
          "period": 1,
          "period_max": 3,
          "period_unit": "day",
          "day_of_week": [
            "mon"
          ],
          "time_of_day": [
            "16:00:00"
          ],
          "when": [
            "WAKE"
          ],
          "offset": 20
        },
        "code": {
          "coding": [
            {
              "system": "TIMING_ABBREVIATION",
              "code": "Q4H"
            }
          ]
        }
      },
      "location": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "division"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        }
      },
      "performer": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "employee"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        }
      },
      "daily_amount": {
        "value": 136.5,
        "system": "MEDICATION_UNIT",
        "code": "MG",
        "unit": "мг"
      },
      "description": "Some activity description",
      "do_not_perform": false,
      "program": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "medical_program"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        }
      },
      "status": "completedcancelled",
      "status_reason": {
        "coding": [
          {
            "system": "eHealth/care_plan_activity_cancel_reasons",
            "code": "some code"
          }
        ]
      },
      "remaining_quantity": {
        "value": 12,
        "system": "MEDICATION_UNIT",
        "code": "MG",
        "unit": "мг"
      }
    },
    "outcome_reference": [
      {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "encounter"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        }
      }
    ],
    "outcome_codeable_concept": [
      {
        "coding": [
          {
            "system": "eHealth/care_plan_activity_outcomes",
            "code": "some code"
          }
        ]
      }
    ]
  },
  "meta": {
    "code": 201,
    "url": "http://example.com/resource",
    "type": "object",
    "request_id": "req-adasdoijasdojsda"
  }
}

...

Page Properties

HTTP status code

Message

What caused the error

 201

use payload from response

 sync

 202

use Get job details to get processing result. Response payload will be returned in the job details

 async: default method

401

Invalid access token

  • validation fails

  • token is expired

403

  • Your scope does not allow to access this resource. Missing allowances: care_plan:write

  • Access denied

  • invalid scope(s)

  • employee has no Approval on write

404

not found

The submitted activity is not related to the Patient Care Plan

409

  • client_id refers to legal entity that is not active

  • client_id refers to legal entity with type that is not allowed to create medical events transactions

  • Invalid activity status

  • Unable to cancel activity with new Medication Request requests

  • Unable to cancel activity with active Medication requests

  • Unable to cancel activity with Service requests in status <status value> and program processing status is NULL or not completed

  • Unable to cancel activity with Service requests in active status

Validation error

422

  • Value is not allowed in enum

  • Signed content doesn't match with previously created activity

Validation error

...