During today's meeting it was mentioned that the bundle type that was chosen for prescription is "list". After preliminary checks, it seems that "document" is more appropriate since the resources form a logical entity and are not a bunch of arbitrary resources happened to be together during transmission.
https://www.hl7.org/fhir/valueset-bundle-type.html
Bundle of "document" type uses "Composition" resource which would be a good place to tell that this a digital prescription.
Composition type ( https://hl7.org/fhir/composition-definitions.html#Composition.type ) should use LOINC, which has appropriate (I think) code: https://loinc.org/57828-6/
Opinion: Composition makes more sense than a List:
For example, when a doctor signs on something, he/she signs on the document, not on each line of the prescription.
In general, we are replacing a single "real life" document here.
What exactly do you mean by that? Also, who/what is "the client" here?
Does the List have "medications" code?
Can you please elaborate?
If a prescription is stored in a FHIR server, with the currently suggested data model, what is the search to be performed to find all prescriptions on that server that belong to this pilot/project?
Hello,
it seems you are confusing two separate concepts - the bundle type and the List resource. We have chosen the list resource to represent the medication list since it is less strict than the Composition resource, that requires sections with narratives and has it's own rules regarding the lifecycle of the document. Also it makes it easier for the client to edit the list - removing or adding medications. The Composition is more appropriate for true documents, where there are sections, narratives, and the need to package everything in a way that can be reproduced byte-for-byte on demand. In the first versions we did use the Composition but quickly realized it introduces unnecessary complexities.
As for the Bundle.type - if we were to use the Composition it would have been "document". Since we use the List instead, the Bundle.type can be one of the following: collection, transaction, batch.
It appears that we would use transaction, since we need all of the resources in the Bundle to be processed successfully. A collection (the value that is currently in the specs) is the least strict, since it does not imply any rules about the processing of the Bundle - it is entirely in the hands of the server to decide what to do with it. A batch means that partial processing is allowed (where one of the resources fail while others succeed) so it not appropriate for our use case.
Hope this makes sense :)