...
Check Compositions with such id exists in patients collection
in case of error - Return 404 ('Composition is not _ found')
Validate query parameter
form_type
corresponds to appropriate dictionary COMPOSITION_PRINTFORM_CODESin case of error - Return 404 ('value is not allowed in enum')
Validate that in this method is allowed such
form_type
get config parameter COMPOSITION_PRINTFORM_ALLOW_CODES
in condition array find condition that corresponds query parameter
form_type
in check array must be filled “rest“ - item“
MIS
“ - itemin case of error - Return 409 ('Requested form type is not allowed')
Service logic
Define template id
Get Composition by id from ME
Get template id from configuration based on Composition.type and form_type:
COMPOSITION_{{Composition.type}}_{{form_type}}_TEMPLATE_ID (ex. COMPOSITION_ADOPTION_INFO_CERTIFICATE_TEMPLATE_ID)
Prepare request parameters for MAN based on mapping bellow
Add
display
for codeable concept elements where it says enrich with display valueGet dictionary value by dictionary key from corresponding dictionary
Set dictionary value as coding[].display for this element
Call Render Template(MAN) to render printout form
Return response with generated pdf to the client
...