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

Import bundle #3720

Open
wants to merge 55 commits into
base: main
Choose a base branch
from
Open

Import bundle #3720

wants to merge 55 commits into from

Conversation

SergeyGaluzo
Copy link
Contributor

@SergeyGaluzo SergeyGaluzo commented Feb 19, 2024

To avoid confusion...

Currently the only API to ingest the set of resources in real time is to POST Bundle. This API has performance and stability issues, which prompted this new work.

My goal was to extend efficient $import logic to real time calls. We should not, at least now, add any extra logic beyond $import, which might have performance impact.

$import uses ndjson as input format. Very efficient. Hence new endpoint should use this format. There is a demand, for customer convenience, support bundle format, so it was enabled too. By no means, this endpoint is a replacement of current generic bundles processing logic.

We should avoid inheriting any complexity allowed by generic bundle format. For example, $import logic (so new endpoint logic) requires resource id. We should avoid attempts to extend functionality by enabling identity search to identify resource. Maybe in future, but not now.

To avoid confusion (added because of bundle format) about what functionality is supported, I suggest refraining from using bundle in endpoint name. I suggest clarifying intent in the documentation.

This endpoint will process batch in a single database call, hence it inherently equivalent to the transaction bundle. It also either PUTs all input resources or none. This makes output response trivial (no need to have complex output logic generic bundles have).

When using bundle format, it would be nice to ignore all bundle components except Resource. We should be clear about it in the documentation. BTW I am not sure that we need to make documentation change now, we can wait till first customer provides feedback.

https://microsofthealth.visualstudio.com/Health/_workitems/edit/117904

@SergeyGaluzo SergeyGaluzo added Enhancement Enhancement on existing functionality. Azure Healthcare APIs Label denotes that the issue or PR is relevant to the FHIR service in the Azure Healthcare APIs Schema Version unchanged labels Feb 19, 2024
@SergeyGaluzo SergeyGaluzo added this to the S134 milestone Feb 19, 2024
@SergeyGaluzo SergeyGaluzo requested a review from a team as a code owner February 19, 2024 21:07
@SergeyGaluzo SergeyGaluzo changed the title New endpoint for batch processing Import bundle Mar 3, 2024
@microsoft microsoft deleted a comment from azure-pipelines bot Mar 3, 2024
@microsoft microsoft deleted a comment from azure-pipelines bot Mar 12, 2024
@microsoft microsoft deleted a comment from azure-pipelines bot Mar 15, 2024
@SergeyGaluzo
Copy link
Contributor Author

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@SergeyGaluzo
Copy link
Contributor Author

/azp run

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Azure Healthcare APIs Label denotes that the issue or PR is relevant to the FHIR service in the Azure Healthcare APIs Enhancement Enhancement on existing functionality. Schema Version unchanged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants