hl7-be / pss

Prescription Search Support
Other
0 stars 0 forks source link

Using standard operations for PSS services #42

Open costateixeira opened 6 months ago

costateixeira commented 6 months ago

I got the reply today: Guidance around Decision Support had the same issue and similar approach - an operation for "apply" that supersedes the standard one. and does have a Bundle for data. This allows the PSS system to be stateless, which is what we want. Here is the guidance https://build.fhir.org/ig/HL7/cqf-recommendations/OperationDefinition-cpg-plandefinition-apply.html

In my view this makes it simpler: we just use this operation, no need to define others.

bdc-ehealth commented 5 months ago

@costateixeira Hi José, your inventivity and creativity is much appreciated. I am looking forward to your JSON examples so that we can evaluate those against the text of the R4 specification and using the validator and IG Publisher.

costateixeira commented 5 months ago

You're welcome. That is part of our work, and there's no much creativity - it is the standard approach.

bdc-ehealth commented 5 months ago

@costateixeira Could you remind me of the branch you put your examples on? I was not able to find them.

costateixeira commented 5 months ago

This issue is about providing the link to the specification. There was no plan for me to provide examples.

On Wed, Jun 5, 2024 at 9:16 AM Bart Decuypere (eHealth) < @.***> wrote:

@costateixeira https://github.com/costateixeira Could you remind me of the branch you put your examples on? I was not able to find them.

— Reply to this email directly, view it on GitHub https://github.com/hl7-be/pss/issues/42#issuecomment-2149054499, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD3HUUDGMPEMKCIQQ6IHLM3ZF23LZAVCNFSM6AAAAABIS6CV5OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBZGA2TINBZHE . You are receiving this because you were mentioned.Message ID: @.***>

LionelCremer commented 5 months ago

@costateixeira ,

To fully understand your proposal, verify its feasibility, and ensure it aligns perfectly with PSS requirements, we need examples for both of our use cases: antimicrobial and radiology, similar to what Nick and I did for the initial proposal.

costateixeira commented 5 months ago

Hi. For now, you can look for guidance in the specification. Let me know if you have some examples for me to take a look at. I will see if can produce something of use.

On Wed, 5 Jun 2024, 14:11 LionelCremer, @.***> wrote:

@costateixeira https://github.com/costateixeira ,

To fully understand your proposal, verify its feasibility, and ensure it aligns perfectly with PSS requirements, we need examples for both of our use cases: antimicrobial and radiology, similar to what Nick and I did for the initial proposal.

— Reply to this email directly, view it on GitHub https://github.com/hl7-be/pss/issues/42#issuecomment-2149678293, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD3HUUGURKOYBQG756FQZHDZF356JAVCNFSM6AAAAABIS6CV5OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBZGY3TQMRZGM . You are receiving this because you were mentioned.Message ID: @.***>

LionelCremer commented 5 months ago

@costateixeira,

After reviewing the documentation related to the page you provided, it appears to me that the architecture of this project diverges significantly from that of PSS on several key points.

CPG Project Architecture

  1. Use of FHIR for Decision Logic:

    • PlanDefinition: Utilized to describe entire business processes, including triggers, activity descriptions (ActivityDefinition), and conditions for execution (Library).
    • ActivityDefinition: Defines specific activities to be undertaken within the processes.
    • Library: Contains the conditions and rules necessary to perform the activities and make decisions.
    • RequestGroup: Used to propose specific actions based on activity definitions.
  2. Comprehensive Process Description:

    • PlanDefinition is used to describe the steps to follow in a specific context, similar to a sequence diagram.
    • It is also used to describe the logic of the decision support system.

PSS Project Architecture

  1. Logic Management by External Systems:

    • Radiology: Decision logic is managed by a third-party system (QSI).
    • Antimicrobial: Logic is orchestrated by a process orchestrator (already implemented using Camunda).
  2. Purpose of the FHIR: FHIR is used as an interface for exchanging data with external client applications, facilitating communication and data sharing.

  3. No Comprehensive Integration of Logic in FHIR:

    • There is no interest or intention to migrate the logic to FHIR resources. Decision logic remains within external systems.
    • Steps to obtain recommendations will be described in a Cookbook using sequence diagrams, not FHIR.

In summary, the CPG project fully integrates decision logic within FHIR resources, while the PSS project externalizes this logic and uses FHIR as an interface to facilitate data exchange with external applications.

Considering these architectural divergences, I strongly believe that the approach of using PlanDefinition in the context of PSS is inappropriate and is complex, if not impossible for the Radiology workflow, to implement.

costateixeira commented 5 months ago

Hi. I actually see no arguments for not using a standard - @LionelCremer is the discussion about using FHIR for logic? That is not the proposal (sorry if it was not clear). In my view, the clarified (funcional) architecture of PSS and CPG seems similar.

The guidance and advice is to make the interface (not the logic) as PlanDefinition/$apply (using the CPG). The other points on ApplicationDefinition, Library etc don't necessarily apply here. I would consider documenting the steps in a structured way - BPM+ or FHIR - and not in the code or documents. But that is separate from our considerations of the interface which was proposed, and I see no arguments on the interface. I agree the logic is rather complicated, but that is not the scope of the proposal.

So, concretely: If you want the PSS interfaces to use FHIR, you should simply make a PlanDefinition (actually 3) (without necessarily detailing the logic in the activitydefinition etc). and use the apply operation.

"process orchestrator using Camunda" - you mean using BPMN? or DMN? Camunda is a modeling software for another standard.

If desired, we can discuss and clarify before consolidating opinions.

costateixeira commented 1 month ago

There seems to have been a misunderstanding of the proposal and arguments do not seem to apply or are based on incorrect understanding of the proposal. Independent of the internal or external logic, which is not (yet) a requirement, the use of PlanDefinition is the approach defined by the FHIR community - description and examples here: https://build.fhir.org/ig/hl7-be/pss/branches/cpg-guidance/functional-overview.html

bdc-ehealth commented 1 month ago

There seem to be quite some technical problems in the QA.html: PrescriptionSearchSupport _ Validation Results.pdf