Purpose
This method allows to get contexts of Diagnostic Report in order to create approval on episode and receive access to other medical events.
Specification
Authorization
Verify the validity of access token
Return (401, 'Invalid access token') in case of validation fails
Verify that token is not expired
in case of error - return (401, 'Invalid access token')
Check user scopes in order to perform this action (scope = 'medical_event_context:read')
Return (403, 'Your scope does not allow to access this resource. Missing allowances: medical_event_context:read') in case of invalid scope(s)
Validations
Validate Person
Get Person identifier from the URL
Check it exists in DB
Return 404 ('not_found') in case of error
Validate Encounter
Get Diagnostic Report identifier from the URL
Check it exists in DB
Return 404 ('not_found') in case of error
Check Diagnostic Report belongs to patient
Return 404 ('not_found') in case of error
Service logic
Service returns contexts (episode and origin_episode), diagnostic report based on:
Get Diagnostic Report object by diagnostic_report_id from diagnostic_reports (MongoDB)
Get diagnostic_report.encounter.identifier from Diagnostic Report object
Call https://e-health-ua.atlassian.net/wiki/spaces/PCR/pages/17003184199 :
Get Encounter object by diagnostic_report.encounter.identifier (diagnostic_report.encounter.identifier = encounter._id)
AFTERGet encounter.episode from Encounter object
Get diagnostic_report.origin_episode from Diagnostic Report object
Render a response according to specification