Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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_CODES

    • in 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“ - itemMIS“ - item

    • in case of error - Return 409 ('Requested form type is not allowed')

Service logic

  1. Define template id

    1. Get Composition by id from ME

    2. Get template id from configuration based on Composition.type and form_type:

      1. COMPOSITION_{{Composition.type}}_{{form_type}}_TEMPLATE_ID (ex. COMPOSITION_ADOPTION_INFO_CERTIFICATE_TEMPLATE_ID)

  2. Prepare request parameters for MAN based on mapping bellow

  3. Add display for codeable concept elements where it says enrich with display value

    1. Get dictionary value by dictionary key from corresponding dictionary

    2. Set dictionary value as coding[].display for this element

  4. Call Render Template(MAN) to render printout form

  5. Return response with generated pdf to the client

...