Page Status: updated 2025-02-18

NLLTransactionBundle (Bundle)

Page index

Introduction {#intro}

The profile {{link: NLLTransactionBundle}} is used when managing multiple resources in a transaction. Supported profiles in an transaction bunlde are

  • MedicationRequest (Sv. Förskrivning)
  • NLLDataLock (sv.Spärr)
  • NLLMultiDoseDispensingBasis (Sv. Dosunderlag)
  • NLLMultiDoseDispConsent (Sv. Dossamtycke)
  • NLLMedicationDispense (Sv. uttag)
  • NLLDispensePaperPrescription (Sv. uttag pappersrecept)

More information about recommended scenarion is described in "Resurssamling – Bundle, Handbok för vård och apoteksaktörer - Nationella läkemedelslistan. and in Examples

Regarding information about how the "must support"-property is used in the Swedish National MedicationList, please refer to the page {{pagelink:Resources}}

In this use case the endpoint is [base] and not [base]/Bundle.

Overview {#overview}

<tabs> <tab title="Tree view">
{{tree:NLLTransactionBundle, buttons}} </tab> <tab title="Detailed view"> {{dict:NLLTransactionBundle}} </tab> <tab title="XML"> {{xml:NLLTransactionBundle}} </tab> <tab title="JSON"> {{json:NLLTransactionBundle}} </tab> </tab> <tab title="Table"> {{table:NLLTransactionBundle}} </tab> </tabs>

Details {#details}

Description of all elements can be found here, Element descriptions.

Provenance details, activity and reason {#provenance-details}

The resource activities and for separate resaons. Therefore this data, which usually is provided in the header x-provenance, is now sent per resource within the bundle. This is done on the extension Bundle.entry.request.extension:nllProvenanceDetails {{link:NLLProvenanceDetails}} which gives the possibility to provide a unique "activity" and "reason"(when needed) for each reource.

Error handling {#error-handling}

If an error is detected on one of resources in the bundle the requests are rejected with an HTTP status of 4xx. The returned {{pagelink:OperationOutcome}} will contain information about the detected issues and errors.

A note on identities (Placeholder ids) {#placeholder-ids}

Normally, when creating a resource (e.g., a MedicationRequest), assigning a logical identity has no effect, as the system assigns the identity upon creation.
However, in the context of a TransactionBundle, it is required to set a "placeholder ID" if another resource needs to reference it before its final logical ID is known.
For further details on using placeholder IDs for NLLMedicationDispense and NLLDataLock, please refer to {{pagelink:Bundles-TransactionBundle.md}}

Supported operations {#operations}

HTTP methods {#http-methods}

Operation Supported Comment
POST yes See comment below

Example: A new resource is created by setting entry.request.method to POST. An existing resource is updated by setting entry.request.method to PUT.

The result is eighter a Bundle of type transaction-response with one entry per entry in the incoming Bundle or an OperationOutcome if the request was rejected.

When interacting with this resource a set of HTTP-headers must be included in the request, see {{pagelink:HttpHeaderAndAuthorization}}.

Query operations {#query-operations}

Search is not supported for this resource.

Examples {#examples}

See {{pagelink:Bundles-TransactionBundle.md}}