Skip to content

Commit

Permalink
add additional build for context plus qa suppression of certain error…
Browse files Browse the repository at this point in the history
…s. need cannonical URL for cds hooks library
  • Loading branch information
rizzolol committed Oct 22, 2024
1 parent 29e7f7f commit 9823992
Show file tree
Hide file tree
Showing 10 changed files with 102 additions and 58 deletions.
3 changes: 1 addition & 2 deletions FHIR-cds-hooks.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,8 @@
<page key="many" name="(many)"/>
<page deprecated="true" key="profiles" name="(profiles)"/>
<page key="artifacts" name="Artifacts Summary"/>
<page key="index" name="Home"/>
<page key="toc" name="Table of Contents"/>
<page deprecated="true" key="documentation" name="documentation"/>
<page deprecated="true" key="hooks" name="hooks"/>
<page deprecated="true" key="specification" name="specification"/>
<page key="specification" name="specification"/>
</specification>
1 change: 1 addition & 0 deletions ig.ini
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
[IG]
ig = fsh-generated/resources/ImplementationGuide-hl7.fhir.uv.cds-hooks.json
template = hl7.fhir.template#current
suppress-toc = true
7 changes: 7 additions & 0 deletions input/data/links.yml
Original file line number Diff line number Diff line change
@@ -1 +1,8 @@
cdshookslibrary: ../cds-hooks-library/
library-contexts:
relative:
url: ../cds-hooks-library/
build:
url: https://build.fhir.org/ig/HL7/cds-hooks-library/
current:
url: https://www.hl7.org/fhir/uv/cds-hooks-library/
19 changes: 18 additions & 1 deletion input/ignoreWarnings.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,21 @@

# Add warning and/or information messages here after you've confirmed that they aren't really a problem
# (And include comments like this justifying why)
# See https://github.com/FHIR/sample-ig/blob/master/input/ignoreWarnings.txt for examples
# See https://github.com/FHIR/sample-ig/blob/master/input/ignoreWarnings.txt for examples

# As this is an errata review, we are not defining resources as the CDS Hooks v2 spec does not define any
ImplementationGuide.definition.resource: minimum required = 1, but only found 0 (from http://hl7.org/fhir/StructureDefinition/ImplementationGuide|4.0.1)

# As this is an errata review, we are not defining resources as the CDS Hooks v2 spec does not define any
The HTML fragment 'globals-table.xhtml' is not included anywhere in the produced implementation guide

# <dependency comments> - discuss with Isaac
An HTML fragment from the set [dependency-table.xhtml, dependency-table-short.xhtml] is not included anywhere in the produced implementation guide

# <version analysis comments> - discuss with Isaac
An HTML fragment from the set [cross-version-analysis.xhtml, cross-version-analysis-inline.xhtml] is not included anywhere in the produced implementation guide

# We are removing all hook definitions from this implementation guide
The jira specification file appears to be out of date with the versions, artifacts and pages currently defined in the IG. A proposed revised file to be reviewed and, if appropriate, submitted as a pull request against the XML folder in https://github.com/HL7/JIRA-Spec-Artifacts. To see the differences, perform a file compare on 'template/jira-current.xml' (a normalized view of what is in Github) and 'template/jira-new.xml' (reflects current IG content)
# As of today, this is the correct link for all versions of cds-Hooks
The link 'https://cds-hooks.hl7.org' for "https://cds-hooks.hl7.org" is a canonical link and is therefore unsafe with regard to versions
24 changes: 12 additions & 12 deletions input/includes/menu.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,40 +10,40 @@
</a>
<ul class="dropdown-menu">
<li>
<a href="{{site.data.links.cdshookslibrary}}allergyintolerance-create.html">allergyintolerance-create (1)</a>
{% include relative-link.html link="allergyintolerance-create.html" title="allergyintolerance-create (1)" %}
</li>
<li>
<a href="{{site.data.links.cdshookslibrary}}appointment-book.html">appointment-book (1)</a>
{% include relative-link.html link="appointment-book.html" title="appointment-book (1)" %}
</li>
<li>
<a href="{{site.data.links.cdshookslibrary}}encounter-discharge.html">encounter-discharge (1)</a>
{% include relative-link.html link="encounter-discharge.html" title="encounter-discharge (1)" %}
</li>
<li>
<a href="{{site.data.links.cdshookslibrary}}encounter-start.html">encounter-start (1)</a>
{% include relative-link.html link="encounter-start.html" title="encounter-start (1)" %}
</li>
<li>
<a href="{{site.data.links.cdshookslibrary}}medication-refill.html">medication-refill (1)</a>
{% include relative-link.html link="medication-refill.html" title="medication-refill (1)" %}
</li>
<li>
<a href="{{site.data.links.cdshookslibrary}}order-dispatch.html">order-dispatch (0)</a>
{% include relative-link.html link="order-dispatch.html" title="order-dispatch (0)" %}
</li>
<li>
<a href="{{site.data.links.cdshookslibrary}}order-select.html">order-select (4)</a>
{% include relative-link.html link="order-select.html" title="order-select (4)" %}
</li>
<li>
<a href="{{site.data.links.cdshookslibrary}}order-sign.html">order-sign (5)</a>
{% include relative-link.html link="order-sign.html" title="order-sign (5)" %}
</li>
<li>
<a href="{{site.data.links.cdshookslibrary}}patient-view.html">patient-view (5)</a>
{% include relative-link.html link="patient-view.html" title="patient-view (5)" %}
</li>
<li>
<a href="{{site.data.links.cdshookslibrary}}problem-list-item-create.html">problem-list-item-create (1)</a>
{% include relative-link.html link="problem-list-item-create.html" title="problem-list-item-create (1)" %}
</li>
<li>
<a href="{{site.data.links.cdshookslibrary}}medication-prescribe.html">medication-prescribe (deprecated)</a>
{% include relative-link.html link="medication-prescribe.html" title="medication-prescribe (deprecated)" %}
</li>
<li>
<a href="{{site.data.links.cdshookslibrary}}order-review.html">order-review (deprecated)</a>
{% include relative-link.html link="order-review.html" title="order-review (deprecated)" %}
</li>
</ul>
</li>
Expand Down
10 changes: 10 additions & 0 deletions input/includes/relative-link.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{% assign host = site.build %}
{% if host == "ci" %}
<a href="{{site.data.links.library-contexts.build.url}}{{include.link}}">{{include.title}}</a>
{% elsif host == "ballot" %}
<a href="{{site.data.links.library-contexts.build.url}}{{include.link}}">{{include.title}}</a>
{% elsif host == "local" %}
<a href="{{site.data.links.library-contexts.build.url}}{{include.link}}">{{include.title}}</a>
{% else %}
<a href="{{site.data.links.library-contexts.current.url}}{{include.link}}">{{include.title}}</a>
{% endif %}
11 changes: 11 additions & 0 deletions input/pagecontent/history.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Publication History

| Date | IG Version | FHIR Version | Description | Links |
|------------|------------|--------------|--------------------------------------------------------|------------------------------------------------------|
| | current | | Continuous Integration Build (latest in version control) | Link |
| 2022-08-23 | 2.0 | 4.0.1 | 2.0 STU 2 release (current) | Link |
| 2022-08-23 | 2.0 | 4.0.1 | 2.0 STU 2 release (current) | Link |
| 2020-07-28 | 1.1 | 4.0.1 | 1.1 STU 2 Ballot (September 2020) | Link |
| 2019-04-23 | 1.0 | 4.0.1 | 1.0 STU release | Link |
| 2018-03-30 | 2018May | 4.0.1 | 1.0 ballot (May 2018) | Link |

35 changes: 19 additions & 16 deletions input/pagecontent/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ Field | Optionality | Type | Description
`hookInstance` | REQUIRED | *string* | A universally unique identifier (UUID) for this particular hook call (see more information below).
`fhirServer` | CONDITIONAL | *URL* | The base URL of the CDS Client's [FHIR](https://www.hl7.org/fhir/) server. If fhirAuthorization is provided, this field is REQUIRED. The scheme MUST be `https` when production data is exchanged.
`fhirAuthorization` | OPTIONAL | *object* | A structure holding an [OAuth 2.0](https://oauth.net/2/) bearer access token granting the CDS Service access to FHIR resources, along with supplemental information relating to the token. See the [FHIR Resource Access](#fhir-resource-access) section for more information.
`context` | REQUIRED | *object* | Hook-specific contextual data that the CDS service will need.<br />For example, with the `patient-view` hook this will include the FHIR id of the [Patient](https://www.hl7.org/fhir/patient.html) being viewed. For details, see the Hooks specific specification page (example: [patient-view]({{site.data.fhir.cdshookslibrary}}patient-view.html)).
`context` | REQUIRED | *object* | Hook-specific contextual data that the CDS service will need.<br />For example, with the `patient-view` hook this will include the FHIR id of the [Patient](https://www.hl7.org/fhir/patient.html) being viewed. For details, see the Hooks specific specification page (example: [patient-view]({{site.data.links.library-contexts.build.url}}patient-view.html)).
`prefetch` | OPTIONAL | *object* | The FHIR data that was prefetched by the CDS Client (see more information below).
{:.grid}

Expand Down Expand Up @@ -1153,15 +1153,15 @@ Field | Optionality | Type | Description

### Hooks

### Overview
#### Overview

As a specification, CDS Hooks does not prescribe a default or required set of hooks for implementers. Rather, the set of hooks defined here are merely a set of common use cases that were used to aid in the creation of CDS Hooks. The set of hooks defined here are not a closed set; anyone is able to define new hooks to fit their use cases and propose those hooks to the community. New hooks are proposed in a prescribed [format](#hook-definition-format) using the [documentation template](https://github.com/cds-hooks/docs/wiki/Proposed-Hooks) by submitting a [pull request](https://github.com/cds-hooks/docs/tree/master/docs/hooks) for community feedback. Hooks are [versioned](#hook-version), and mature according to the [Hook Maturity Model](#hook-maturity-model).

Note that each hook (e.g. `order-select`) represents something the user is doing in the CDS Client and multiple CDS Services might respond to the same hook (e.g. a "price check" service and a "prior authorization" service might both respond to `order-select`).

### Hook context and prefetch
#### Hook context and prefetch

### What's the difference?
#### What's the difference?

Any user workflow or action within a CDS Client will naturally include contextual information such as the current user and patient. CDS Hooks refers to this information as _context_ and allows each hook to define the information that is available in the context. Because CDS Hooks is intended to support usage within any CDS Client, this context can contain both required and optional data, depending on the capabilities of individual CDS Clients. However, the context information is intended to be relevant to most CDS Services subscribing to the hook.

Expand Down Expand Up @@ -1191,21 +1191,21 @@ Additionally, consider a PGX CDS Service and a Zika screening CDS Service, each

In summary, context is specified in the hook definition to guide developers on the information available at the point in the workflow when the hook is triggered. Prefetch data is defined by each CDS Service because it is specific to the information that service needs in order to process.

### Hook Definition Format
#### Hook Definition Format

Hooks are defined in the following format.

### `hook-name-expressed-as-noun-verb`
#### `hook-name-expressed-as-noun-verb`

The name of the hook SHOULD succinctly and clearly describe the activity or event. Hook names are unique so hook creators SHOULD take care to ensure newly proposed hooks do not conflict with an existing hook name. Hook creators SHALL name their hook with reverse domain notation (e.g. `org.example.patient-transmogrify`) if the hook is specific to an organization. Reverse domain notation SHALL not be used by a standard hooks catalog.

When naming hooks, the name should start with the subject (noun) of the hook and be followed by the activity (verb). For example, `patient-view` (not `view-patient`) or `order-sign` (not `sign-order`).

### Workflow
#### Workflow

Describe when this hook occurs in a workflow. Hook creators SHOULD include as much detail and clarity as possible to minimize any ambiguity or confusion among implementers.

### Context
#### Context

Describe the set of contextual data used by this hook. Only data logically and necessarily associated with the purpose of this hook should be represented in context.

Expand All @@ -1228,15 +1228,15 @@ Field | Optionality | Prefetch Token | Type | Description
`allFHIR` | OPTIONAL | No | *object* | A FHIR Bundle of the following FHIR resources using a specific version of FHIR.
{:.grid}

### FHIR resources in context
#### FHIR resources in context

For context fields that may contain multiple FHIR resources, the field SHOULD be defined as a FHIR Bundle, rather than as an array of FHIR resources. For example, multiple FHIR resources are necessary to describe all of the orders under review in the `order-sign` hook's `draftOrders` field. Hook definitions SHOULD prefer the use of FHIR Bundles over other bespoke data structures.

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, `order-select` that is invoked when a user selects a medication during an order workflow. The context data for this hook would contain draft FHIR resources representing the medications that have been selected for ordering. In this case, the CDS Client should only provide these draft resources and not the full set of orders available from its FHIR server. The CDS service MAY pre-fetch or query for FHIR resources with other statuses.

All FHIR resources in context MUST be based on the same FHIR version.

### Examples
#### Examples

Hook creators SHOULD include examples of the context.

Expand All @@ -1254,7 +1254,7 @@ Hook creators SHOULD include examples of the context.

If the context contains FHIR data, hook creators SHOULD include examples across multiple versions of FHIR if differences across FHIR versions are possible.

### Hook Maturity Model
#### Hook Maturity Model
The intent of the CDS Hooks Maturity Model is to attain broad community engagement and consensus, before a hook is labeled as mature, that the hook is necessary, implementable, and worthwhile to the CDS Services and CDS Clients that would reasonably be expected to use it. Implementer feedback should drive the maturity of new hooks. Diverse participation in open developer forums and events, such as HL7 FHIR Connectathons, is necessary to achieve significant implementer feedback. The below criteria will be evaluated with these goals in mind.

Hook maturity | 3 - Considered
Expand All @@ -1272,19 +1272,19 @@ Maturity Level | Maturity title | Requirements
6 | Normative | _The above, and ..._ the responsible HL7 working group and the CDS working group agree the material is ready to lock down and the hook has passed HL7 normative ballot
{:.grid}

### Changes to a Hook
#### Changes to a Hook

Each hook MUST include a Metadata table at the beginning of the hook with the specification version and hook version as described in the following sections.

### Specification Version
#### Specification Version

Because hooks are such an integral part of the CDS Hooks specification, hook definitions are associated with specific versions of the specification. The hook definition MUST include the version (or versions) of the CDS Hooks specification that it is defined to work with.

specificationVersion | 1.0

Because the specification itself follows semantic versioning, the version specified here is a minimum specification version. In other words, a hook defined to work against 1.0 should continue to work against the 1.1 version of CDS Hooks. However, a hook that specifies 1.1 would not be expected to work in a CDS Hooks 1.0 environment.

### Hook Version
#### Hook Version

To enable tracking of changes to hook definitions, each hook MUST include a version indicator, expressed as a string.

Expand Down Expand Up @@ -1315,12 +1315,12 @@ When a major change is made, the hook definition MUST be published under a new n

> Note that the intent of this table is to outline possible breaking changes. The authors have attempted to enumerate these types of changes exhaustively, but as new types of breaking changes are identified, this list will be updated.
### Hook Maturity
#### Hook Maturity
As each hook progresses through a process of being defined, tested, implemented, used in production environments, and balloted, the hook's formal maturity level increases. Each hook has its own maturity level, which MUST be defined in the hook's definition and correspond to the [Hook Maturity Model](#hook-maturity-model).

hookMaturity | 0 - Draft

### Change Log
#### Change Log

Changes made to a hook's definition MUST be documented in a change log to ensure hook consumers can track what has been changed over the life of a hook. The change log MUST contain the following elements:

Expand All @@ -1335,3 +1335,6 @@ Version | Description
1.0.1 | Clarified context variable usage
1.0 | Initial Release
{:.grid}

### IP Statements
{% include ip-statements.xhtml %}
1 change: 1 addition & 0 deletions input/pagecontent/toc.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><div style="col-12"><table style="border:0px;font-size:11px;font-family:verdana;vertical-align:top;" cellpadding="0" border="0" cellspacing="0"><tbody><tr style="border:0px;padding:0px;vertical-align:top;background-color:inherit;" id="!"><td style="vertical-align:top;text-align:left;background-color:inherit;padding:0px 4px 0px 4px;white-space:nowrap;background-image:url(tbl_bck0.png)" class="hierarchy"><img style="background-color:inherit" alt="." class="hierarchy" src="tbl_spacer.png"/><img style="background-color:inherit" alt="." class="hierarchy" src="icon_page-child.gif"/><a title="Table of Contents" href="toc.html"> 0 Table of Contents</a></td></tr><tr style="border:0px;padding:0px;vertical-align:top;background-color:inherit;" id="!&quot;"><td style="vertical-align:top;text-align:left;background-color:inherit;padding:0px 4px 0px 4px;white-space:nowrap;background-image:url(tbl_bck0.png)" class="hierarchy"><img style="background-color:inherit" alt="." class="hierarchy" src="tbl_spacer.png"/><img style="background-color:inherit" alt="." class="hierarchy" src="tbl_vjoin.png"/><img style="background-color:inherit" alt="." class="hierarchy" src="icon_page.gif"/><a title="specification" href="index.html"> 1 specification</a></td></tr><tr style="border:0px;padding:0px;vertical-align:top;background-color:inherit;" id="!#"><td style="vertical-align:top;text-align:left;background-color:inherit;padding:0px 4px 0px 4px;white-space:nowrap;background-image:url(tbl_bck0.png)" class="hierarchy"><img style="background-color:inherit" alt="." class="hierarchy" src="tbl_spacer.png"/><img style="background-color:inherit" alt="." class="hierarchy" src="tbl_vjoin_end.png"/><img style="background-color:inherit" alt="." class="hierarchy" src="icon_page.gif"/><a title="Artifacts Summary" href="artifacts.html"> 2 Artifacts Summary</a></td></tr></tbody></table></div>
Loading

0 comments on commit 9823992

Please sign in to comment.