Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add $export and $everything operations to generated swagger / openapi #3409

Closed
lmsurpre opened this issue Feb 28, 2022 · 2 comments
Closed
Assignees
Labels
enhancement New feature or request openapi

Comments

@lmsurpre
Copy link
Member

Is your feature request related to a problem? Please describe.
instead of biting off all of #865 we'd like to selectively add support in the swagger/openapi for just these couple operations

Describe the solution you'd like

  • Patient/$everything and Patient/$export should go under the Patient tag
  • Group/$export should go under the Group tag
  • /$export and /$bulkdata-status should go under the "Other" tag

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Acceptance Criteria

  1. GIVEN the server is running
    WHEN the user navigates to [base]/openapi/ui
    THEN the page contains entries for these operations
    AND it should be possible to invoke the operations from the page

Additional context

@lmsurpre
Copy link
Member Author

lmsurpre commented Apr 4, 2022

Dag pointed out that with the Patient and Group level exports listed under those resource types, but bulkdata-status under "Other", that
for the one-file-per-resource mode you need the combination of all 3 files to properly support export (because both Patient and Group export depend on bulkdata-status but that one is in a separate file).

An alternative organization would be to list Group and Patient $export operations together with the system-level $export and $bulkdata-status operations. Then:

  • for the all-in-one these could be under a new grouping called “Export”
  • for the one-per-resource definitions, these could be together in the export-openapi.json (or export-swagger.json)

@lmsurpre
Copy link
Member Author

lmsurpre commented Apr 4, 2022

Due to https://www.ibm.com/support/pages/apar/PH44666 the openapi/ui page is not loading properly.

Despite that, I was able to confirm that there are no openapi validation errors during startup and that each of the following exists in the all-in-one openapi.json in fhir-openapi:

  • Patient/$export (GET and POST)
  • Patient/$everything (GET only)
  • Group/{id]/$export (GET and POST)
  • /$export (GET and POST)

Patient/$everything is missing the POST flavor (although thats probably not so bad).

More concerning is that /$bulkdata-status is missing...I think we should update the generator to ensure that one gets listed.

While in there, I'll think about reorganizing the operations to address Dag's concern above.

@lmsurpre lmsurpre self-assigned this Apr 4, 2022
lmsurpre added a commit that referenced this issue Apr 5, 2022
and group export-related operations together
- in the all-in-one they now have tag "Bulk Data"
- in the file-per-resource they are all in export-swagger.json /
export-openapi.json

Signed-off-by: Lee Surprenant <lmsurpre@us.ibm.com>
lmsurpre added a commit that referenced this issue Apr 5, 2022
issue #3409 - add bulkdata-status to all-in-one openapi
@lmsurpre lmsurpre closed this as completed Apr 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request openapi
Projects
None yet
Development

No branches or pull requests

1 participant