Stream: implementers
Topic: Decision Support/Quality Measurement
David Hay (Jul 08 2016 at 03:22):
In the current build there are 2 resources - PlanDefinition and OrderSet. The text for PlanDefinition is the same for OrderSet - does PlanDefinition replace OrderSet?
Lloyd McKenzie (Jul 08 2016 at 03:50):
Yes. OrderSet is supposed to go away
Lloyd McKenzie (Jul 08 2016 at 03:50):
(And the text for PlanDefinition should become more generic to encompass protocols and other things too)
Bryn Rhodes (Jul 08 2016 at 16:24):
Yes, PlanDefinition replaces OrderSet, Protocol, and DecisionSupportRule. The text hasn't been updated yet, I'm still applying the approved changes to the resource structures. Soon though :)
David Hay (Jul 08 2016 at 19:19):
Thanks bryn - trying to get my head around this stuff!
Erich Schulz (Jul 10 2016 at 03:03):
@David Hay maybe you can explain it to me when you understand it?
Zoran Milosevic (Jul 13 2016 at 00:38):
@Bryn Rhodes How is ActivityDefinition related to Activity defined inline as part of CarePlan?
Zoran Milosevic (Jul 13 2016 at 00:40):
And also, is there a difference between ActionDefinition (in PlanDefinition) and ActivityDefinition ?
Bryn Rhodes (Jul 13 2016 at 15:25):
The goal of ActivityDefinition is to provide the patient-independent template for the inline Activities in a CarePlan.
Bryn Rhodes (Jul 13 2016 at 15:27):
The ActivityDefinition is focused on describing "thing being performed", where the ActionDefinition in PlanDefinition is focused on describing the information about the step, as well as its relationships to other steps in the PlanDefinition.
Bryn Rhodes (Jul 13 2016 at 15:27):
ActivityDefinition is separated out so it can be used by itself, as well as reused in multiple plans if appropriate.
Bryn Rhodes (Jul 13 2016 at 15:29):
I'm about to commit a round of changes to the ActivityDefinition and PlanDefinition documentation that should make this more clear.
Dave Carlson (Jul 13 2016 at 18:20):
Bryn, will your forthcoming changes remove CarePlan.activity.detail and replace with reference to ActivityDefinition? Or will current embedded detail remain, and ActivityDefinition be added to the list of CarePlan.activity.reference (which results in implementer ambiguity about which should be used)?
Bryn Rhodes (Jul 13 2016 at 19:29):
Neither, the CarePlan.activity.detail would be used if the ActivityDefinition wasn't describing a specific request resource. If it did describe a specific Request resource, like ProcedureRequest say, then that resource would be the target of the reference element, and the detail element wouldn't be used.
Bryn Rhodes (Jul 13 2016 at 19:31):
We will probably want to add the ability for a CarePlan as a whole to reference the PlanDefinition that it was based on. And then within the request resources, you use the basedOn element (recommended by the Work Flow task force) to reference the ActivityDefinition.
Dave Carlson (Jul 13 2016 at 19:47):
Thanks Bryn, would be helpful to include some of this guideance in the IG. You specifically cited CarePlan, then said "ActivityDefinition is separated out so it can be used by itself, as well as reused in multiple plans if appropriate." Now, if I understand, the "plan" in this last statement is a PlanDefinition, not a CarePlan...
Bryn Rhodes (Jul 13 2016 at 19:52):
Yes, that's correct, should have said plan definition.
Bryn Rhodes (Jul 13 2016 at 19:52):
And yes, the IG will definitely provide guidance in this area.
Zoran Milosevic (Jul 13 2016 at 23:36):
Good to hear about this distinction between activity and action. Sounds like, at one level of abstraction, an action is a finer grain of behavioural element than activity (which also applies to their templates, i.e. Definition elements); this is in line with several modelling approaches, including one from the ISO standard, Reference Model for Open Distributed Processing (RM-ODP), stating that 'activity is a single-headed DAG of actions, where occurrence of each action in the graph is made possible by the occurrence of all immediately preceding actions'; further, according to this standard, activity may be used, to describe a process (or workflow), described as a 'collection of steps taking place in a prescribed manner', by substituting 'step' with 'action' and 'process' for 'activity'. In the case of FHIR workflow project, 'step' can be realised using 'Task'
Zoran Milosevic (Jul 13 2016 at 23:37):
Since we are now talking about 'Task', is there a distinction between 'Task Definition' and 'Task', as we have it with Activity for example?
Lloyd McKenzie (Jul 13 2016 at 23:46):
ActivityDefinition will be used to define tasks, procedures drug administrations and all sorts of other tasks
Zoran Milosevic (Jul 14 2016 at 00:40):
Ok - as a follow on to Task discussion, since Task Resource is based on the Oasis Human Task and that specification uses 'notification' to signify when an important occurrence of interest to people happened, why was it decided to use 'event' and not 'notification' for this one-way type of interaction in the FHIR workflow ? This compliance with the nominated specification would avoid few ambiguities to those familiar with such specifications, unless there is a strong reason not to use 'notification' as it is used elsewhere
Lloyd McKenzie (Jul 14 2016 at 02:15):
In don't understand what you mean by "decided to use 'event'". Task is a resource like any other. It gets updated the same as any other and you can discover information about it like any other - by querying, polling, receiving it in a message, being pinged by a subscription, etc.
Keith Boone (Jul 14 2016 at 03:26):
@Zoran Milosevic Where is the event reference in Task? I'm not seeing it. Can you provide a link?
Zoran Milosevic (Jul 14 2016 at 06:16):
@Keith Boone i referred to the email that was sent by @Lloyd McKenzie on July the 5th, to a number of mailing lists, and which mentions 'request' and 'event' pattern to be applied to relevant resources requiring the of Task resource; if you have not received that email, I would be happy to forward you
Reinhard Egelkraut (Jul 14 2016 at 07:30):
@Zoran Milosevic maybe you've mixed something up here.The 'event' resource is in a workflow context more like a response to a 'request', just like @Lloyd McKenzie wrote in the mentioned mail: "Most of the listed resources are categorized as either a "request" - a resource that indicates a specific intention for something to occur; or an "event" - a resource that represents a specific occurrence that could have been done in response to a request." and will not be used as notification. Notifications can be done for example via the 'MessageHeader' resource.
Zoran Milosevic (Jul 14 2016 at 08:59):
@Reinhard Egelkraut Perhaps I should ask here question to what extent is really FHIR workflow architecture compliant with the OASIS WS-Human Task as specified here http://docs.oasis-open.org/bpel4people/ws-humantask-1.1-spec-cs-01.pdf ? This was mentioned in several postings and thus I follow this approach. This would help me understand whether we are talking about a synchronous call back from the 'event' to the 'request' and if so, how a Request resource, Task resource and Event resource communicate. Who maintains context information supporting call back between the invoked task and 'parent' task (Figure 5 in the Oasis specification). Is Task Parent (as per Oasis Human Task spec) a Request resource in FHIR workflow? Then, how do we support Notifications as per the OASIS specification, as a one-way notification (e.g. timeouts etc), as per my earlier question? This is not a messaging rather a workflow (or even better) distributed systems coordination question.
Grahame Grieve (Jul 14 2016 at 10:12):
it's a pretty confusing question given that resources don't 'do' anything, and there's no such thing as 'call backs' from tasks
Lloyd McKenzie (Jul 14 2016 at 11:02):
@Zoran Milosevic I'll be posting a page next week that summarizes the wide variety of options for communicating tasks and their statuses between placers and fillers. A notification-based approach is one, but there are others and we certainly won't force a single architectural approach because we need to support a wide variety of paradigms.
Zoran Milosevic (Jul 14 2016 at 11:45):
Thanks @Lloyd McKenzie . That would be really good. Would be also good if that page could include an end-to-end example showing sequence of actions/steps involving placers, fillers and tasks. It would be also good to show some kind of 'mapping' to the Oasis Human Tasks spec, as appropriate
Lloyd McKenzie (Jul 14 2016 at 18:00):
@Zoran Milosevic I believe we have mappings on the resource itself. The workflow page probably won't talk much about the Oasis stuff in my first pass because I'm not familiar with it, but we can probably get more adjustments in going forward once there's something for those who are knowledgable to edit.
Andrew Ross (Aug 11 2016 at 15:00):
Hey @Bryn Rhodes and others who have been working on this , thanks a lot for the changes to PlanDefinition. We're actually considering trying to use it now for chemotherapy regimen templates, and we made a quick example: https://gist.github.com/asross/9ba4817bb9a696cdceda3a67cbf43ad2
Andrew Ross (Aug 11 2016 at 15:00):
(cc @Lee Surprenant )
Andrew Ross (Aug 11 2016 at 15:00):
The one suggestion I think I want to make is that it would be really nice to have access to everything in MedicationOrder.dosageInstruction
Andrew Ross (Aug 11 2016 at 15:01):
in each ActivityDefinition
Andrew Ross (Aug 11 2016 at 15:01):
or, maybe instead of referencing a general ActivityDefinition
, we could reference a "MedicationOrderDefinition"
Andrew Ross (Aug 11 2016 at 15:01):
after that, I think we'd be pretty close to being able to represent all of our use-cases and maybe most of Lee's.
Lee Surprenant (Aug 11 2016 at 15:07):
@Andrew Ross good to hear from you. i've sent similar feedback to @Bryn Rhodes already. unfortunately, the spec is "frozen" for the September working group ballot. i guess there was some discussion on it already but it hasn't resolved yet and so it missed the deadline: http://wiki.hl7.org/index.php?title=CDS_Pharmacy_FHIR_request
Lee Surprenant (Aug 11 2016 at 15:08):
i strongly agree it would be simpler just to have a definitional version of certain request resources like the MedicationOrder
Andrew Ross (Aug 11 2016 at 15:10):
Gotcha. Well, I'm sorry my feedback is late, would be good to discuss it anyway even if it can't be added to the spec for a while. When's the next ballot after September?
Lee Surprenant (Aug 11 2016 at 15:10):
not sure if the issue will be discussed in any upcoming pharmacy or cds meetings or not. if not, i'm pretty sure they will discuss at baltimore WGM
Andrew Ross (Aug 11 2016 at 15:11):
I guess worst-case scenario, we could make up a custom structure that we think will resemble the eventual spec, and use that until it catches up
Lee Surprenant (Aug 11 2016 at 15:11):
personally, i signed up for the ballot consensus group (today is last day to sign up), and will probably weigh in there as well. my assumption is that it could be handled as part of ballot resolution...but honestly i'm not too familiar with the process
Paul Knapp (Aug 11 2016 at 15:15):
Yes that is exactly what you can do. Put it forward as a change, a negative ballot comment, which then allows the committee to review and decide on this, where the decision may be to make the change you have discussed.
Andrew Ross (Aug 11 2016 at 15:16):
Hmm. Well I don't think I'm going to be able to participate in the ballot consensus group unfortunately, but it would be really great if something like this could be put forward. Lee, do you agree that adding dosageInstruction
to ActivityDefinition
would be the simplest change that would provide the most benefit?
Andrew Ross (Aug 11 2016 at 15:17):
i'm sure Bryn has considered this though
Paul Knapp (Aug 11 2016 at 15:19):
Or, you could use the 'Propose a Change' link at the bottom of the spec to enter a change request into the Tracker syste.
Andrew Ross (Aug 11 2016 at 15:19):
ok, i could do that today
Andrew Ross (Aug 11 2016 at 15:24):
Lee, would proposing that kind of change just be a duplicate of the issue you created (http://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_id=677&tracker_item_id=10433) ?
Lee Surprenant (Aug 11 2016 at 15:28):
not a duplicate, but certainly related
Lee Surprenant (Aug 11 2016 at 15:28):
for me, the requirement is to support that information
Lee Surprenant (Aug 11 2016 at 15:28):
and there are 2 options
Lee Surprenant (Aug 11 2016 at 15:28):
agree adding dosageInstruction to ActivityDefinition is easiest change
Lee Surprenant (Aug 11 2016 at 15:28):
but personally i would prefer the addition of a MedicationOrder specific definitional resource
Lee Surprenant (Aug 11 2016 at 15:29):
i think that is the heart of the convo from that Pharmacy wiki page i linked
Andrew Ross (Aug 11 2016 at 15:32):
Yeah. I agree that would be better for templating in general, but I can also see how it might be a lot harder to squeeze in right before balloting. In any case, I made this issue: http://gforge.hl7.org/gf/project/fhir/tracker/?action=TrackerItemEdit&tracker_item_id=10441
Lee Surprenant (Aug 11 2016 at 18:07):
unless i'm mistaken, i don't think anything will be 'squeezed in' before ballot at this point (thats at http://www.hl7.org/FHIR/2016Sep/). Its more a question of whether some reconciliation like this could be done in the nightly build while the ballot is still occurring (anyone know?)
Grahame Grieve (Aug 11 2016 at 23:20):
it's possible to get changes made in the nightly build, but they won't matter for the purposes of the Baltimore connectathon, since all the servers and reference implementations will be running on the frozen build.
Grahame Grieve (Aug 11 2016 at 23:21):
and given where our energies are, unlikely that any of the editors (who are all exhausted and deep in technical debt in our personal and professional lives after the last few weeks) will haev time to do anything either
Grahame Grieve (Aug 11 2016 at 23:21):
usually, implementers just define extensions, add them to the connectathon streams, use them, and then propose changes after the connectathon
Lloyd McKenzie (Aug 15 2016 at 16:17):
There's been discussion with the Pharmacy WG about turning dosage instructions into a data type that they owned that would then be used in MedicationOrder, MedicationDispense and ActionDefinition, but the work group had some concerns. (In fact, if I understand things correctly, they had some concerns about the existence of ActivityDefinition in the first place . . .) @Bryn Rhodes or @Melva Peters may be able to shed mor light on the current state of discussions.
Melva Peters (Aug 15 2016 at 16:31):
The Pharmacy WG will continue to discuss moving forward with a data type for dosage instructions. The concerns raised by Pharmacy were related to the fact that ActivityDefinition has pulled some elements but not all elements related to a medicationOrder that the Pharmacy WG believed should be included. Pharmacy WG will continue the discussion of a new data type for Dosage instructions leading up to Baltimore WGM and will likely continue in Baltimore
Last updated: Apr 12 2022 at 19:14 UTC