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

Patient-view: encounter access #502

Open
bvdh opened this issue Oct 4, 2019 · 4 comments
Open

Patient-view: encounter access #502

bvdh opened this issue Oct 4, 2019 · 4 comments
Labels
stu-update Issue generated during STU Update and will be reviewed by CDS Wg.

Comments

@bvdh
Copy link
Contributor

bvdh commented Oct 4, 2019

The patient-view context provide an optional field encounter that provides the encounter.id of the current Encounter.

The current specification states in the section "Prefetch Template" (From https://cds-hooks.org/specification/1.0/#hook-maturity-model ):

Regardless of how the CDS Client satisfies the prefetch templates (if at all), the prefetched data given to the CDS Service MUST be equivalent to the data the CDS Service would receive if it were making its own call to the CDS Client's FHIR server using the parameterized prefetch template.

So a prefetch query using the id from the encounter field returns the Encounter. A query to the FHIR Server will return the same Resource.

Other parts of this specification indicate that it is expected that some information is present in the CDS-Client memory and has not yet been persisted to the FHIR-Server, see section "FHIR resources in context" (https://cds-hooks.org/specification/1.0/#hook-maturity-model):

Often, context is populated with in-progress or in-memory data that may not yet be available from the FHIR server. For example, imagine a hook, medication-order that is invoked when a user selects a medication durating an order workflow.

The results in the question: wow does one retrieve the current Encounter, if stored in memory?
Does this mean that a CDS Server must make sure the Encounter resource (and other data in-memory) is accessible from the FHIR-server?

@isaacvetter
Copy link
Member

Hey @bvdh ,

This distinction in the spec is between context, which can contain "in-memory" data that may not be available via the FHIR server, and prefetch'd data which MUST be the same result if the CDS server executed the prefetch template query against the restful fhir server.

Generally, it is draft resources supplied via context may not be available on the FHIR server. There are no draft resources in patient-view's context (unlike order-sign and order-select). I'd expect that all of the fields in the patient-view hook's context are available on the FHIR server and therefore the currently documented patient-view hook is clearly consistent with the base spec as published.

What this really means is that if a prefetch template references a FHIR resource that is only "in memory", the CDS client shouldn't honor it.

@bvdh - what do you think?

@isaacvetter isaacvetter added the stu-update Issue generated during STU Update and will be reviewed by CDS Wg. label Oct 9, 2019
@brynrhodes
Copy link
Contributor

Add to the patient-view documentation a note that the encounter referenced by the encounterId context field is expected to be available via the FHIR Server (if an endpoint is used) or via prefetch if no endpoint is provided. However, the specification does not explicitly require this behavior and implementations should be aware that integrations may not fully support this expectation.

@isaacvetter
Copy link
Member

Per wg call conversation:

Ultimately, the hooks that we've created thus far distinguish between mere FHIR ids in context and full draft resources in context. This distinction implies that the mere FHIR ids are available for query (either through the FHIR server, or through a prefetch template); and that full resources sent in context may not be available for query.

  • Prefetch support is optional for cds clients
  • FHIR server support is optional

isaacvetter added a commit that referenced this issue Oct 9, 2019
Intended to address -- 
Fixes: #502, #503
@isaacvetter
Copy link
Member

isaacvetter commented Oct 9, 2019

@bvdh - as a starting point, will you take a look at #506 ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stu-update Issue generated during STU Update and will be reviewed by CDS Wg.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants