Skip to content

Commit

Permalink
Merge pull request #9 from HL7/snapshot-2020-may
Browse files Browse the repository at this point in the history
Snapshot of draft hooks in support of the 2020May connectathon and IG…
  • Loading branch information
brynrhodes authored Jul 28, 2020
2 parents 9059fcd + 1006909 commit cb33cda
Show file tree
Hide file tree
Showing 7 changed files with 1,459 additions and 1 deletion.
248 changes: 248 additions & 0 deletions docs/hooks/appointment-book/2020May/appointment-book.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,248 @@
# `appointment-book`

!!! info "May 2020 Draft Snapshot"
This is a draft snapshot of this hook definition provided to support a
stable published version for testing. The [Hook Maturity Model](https://cds-hooks.hl7.org/1.0/#hook-maturity-model)
defines the process for proposing new hooks on the [CDS Hooks Repository](https://github.com/cds-hooks/docs) and
the [CDS Hooks Community Build Site](https://cds-hooks.org/).

| Metadata | Value
| ---- | ----
| specificationVersion | 1.0
| hookVersion | 1.0
| hookMaturity | [1 - Submitted](../../specification/1.0/#hook-maturity-model)
| standardsStatus | draft
| publicationStatus | snapshot

## Workflow

This hook is invoked when the user is scheduling one or more future encounters/visits for the patient. It may be invoked at the start and end of the booking process and/or any time between those two points. It allows CDS Services to intervene in the decision of when future appointments should be scheduled, where they should be scheduled, what services should be booked, to identify actions that need to occur prior to scheduled appointments, etc.

## Context

The Patient whose appointment(s) are being booked, as well as the proposed Appointment records.

Field | Optionality | Prefetch Token | Type | Description
----- | -------- | ---- | ---- | ----
`userId` | REQUIRED | Yes | *string* | The id of the current user.<br />For this hook, the user could be of type [Practitioner](https://www.hl7.org/fhir/practitioner.html), [PractitionerRole](https://www.hl7.org/fhir/practitionerrole.html), [Patient](https://www.hl7.org/fhir/patient.html), or [RelatedPerson](https://www.hl7.org/fhir/relatedperson.html).<br />For example, `Practitioner/123`
`patientId` | REQUIRED | Yes | *string* | The FHIR `Patient.id` of Patient appointment(s) is/are for
`encounterId` | OPTIONAL | Yes | *string* | The FHIR `Encounter.id` of Encounter where booking was initiated
`appointments` | REQUIRED | No | *object* | DSTU2/STU3/R4 - FHIR Bundle of Appointments in 'proposed' state


### Examples (STU3)

```json
"context":{
"userId" : "PractitionerRole/A2340113",
"patientId" : "1288992",
"appointments" : [
{
"resourceType": "Appointment",
"id": "apt1",
"status": "proposed",
"serviceType": [
{
"coding": [
{
"code": "183",
"display": "Sleep Medicine"
}
]
}
],
"appointmentType": {
"coding": [
{
"system": "http://hl7.org/fhir/v2/0276",
"code": "FOLLOWUP",
"display": "A follow up visit from a previous appointment"
}
]
},
"reason": {
"coding": {
"system": "",
"code": "1023001",
"display": "Apnea"
}
},
"description": "CPAP adjustments",
"start": "2019-08-10T09:00:00-06:00",
"end": "2019-08-10T09:10:00:00-06:00",
"created": "2019-08-01",
"participant": [
{
"actor": {
"reference": "Patient/example",
"display": "Peter James Chalmers"
},
"required": "required",
"status": "tentative"
},
{
"actor": {
"reference": "Practitioner/example",
"display": "Dr Adam Careful"
},
"required": "required",
"status": "accepted"
}
]
},
{
"resourceType": "Appointment",
"id": "apt1",
"status": "proposed",
"appointmentType": {
"coding": [
{
"system": "http://hl7.org/fhir/v2/0276",
"code": "CHECKUP",
"display": "A routine check-up, such as an annual physical"
}
]
},
"description": "Regular physical",
"start": "2020-08-01T13:00:00-06:00",
"end": "2020-08-01T13:30:00:00-06:00",
"created": "2019-08-01",
"participant": [
{
"actor": {
"reference": "Patient/example",
"display": "Peter James Chalmers"
},
"required": "required",
"status": "tentative"
},
{
"actor": {
"reference": "Practitioner/example",
"display": "Dr Adam Careful"
},
"required": "required",
"status": "accepted"
}
]
}
]
}
```

```json
"context":{
"userId" : "PractitionerRole/A2340113",
"patientId" : "1288992",
"encounterId" : "456",
"appointment" : [
{
"resourceType": "Appointment",
"id": "example",
"text": {
"status": "generated",
"div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">Brian MRI results discussion</div>"
},
"status": "proposed",
"serviceCategory": {
"coding": [
{
"system": "http://example.org/service-category",
"code": "gp",
"display": "General Practice"
}
]
},
"serviceType": [
{
"coding": [
{
"code": "52",
"display": "General Discussion"
}
]
}
],
"specialty": [
{
"coding": [
{
"system": "http://example.org/specialty",
"code": "gp",
"display": "General Practice"
}
]
}
],
"appointmentType": {
"coding": [
{
"system": "http://example.org/appointment-type",
"code": "follow",
"display": "Followup"
}
]
},
"indication": [
{
"reference": "Condition/example",
"display": "Severe burn of left ear"
}
],
"priority": 5,
"description": "Discussion on the results of your recent MRI",
"start": "2013-12-10T09:00:00Z",
"end": "2013-12-10T11:00:00Z",
"created": "2013-10-10",
"comment": "Further expand on the results of the MRI and determine the next actions that may be appropriate.",
"incomingReferral": [
{
"reference": "ReferralRequest/example"
}
],
"participant": [
{
"actor": {
"reference": "Patient/example",
"display": "Peter James Chalmers"
},
"required": "required",
"status": "tentative"
},
{
"type": [
{
"coding": [
{
"system": "http://hl7.org/fhir/v3/ParticipationType",
"code": "ATND"
}
]
}
],
"actor": {
"reference": "Practitioner/example",
"display": "Dr Adam Careful"
},
"required": "required",
"status": "accepted"
},
{
"actor": {
"reference": "Location/1",
"display": "South Wing, second floor"
},
"required": "required",
"status": "action-needed"
}
]
}
]
}
```

## Change Log

Version | Description
---- | ----
1.0 | Initial Release
45 changes: 45 additions & 0 deletions docs/hooks/encounter-discharge/2020May/encounter-discharge.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# `encounter-discharge`

!!! info "May 2020 Draft Snapshot"
This is a draft snapshot of this hook definition provided to support a
stable published version for testing. The [Hook Maturity Model](https://cds-hooks.hl7.org/1.0/#hook-maturity-model)
defines the process for proposing new hooks on the [CDS Hooks Repository](https://github.com/cds-hooks/docs) and
the [CDS Hooks Community Build Site](https://cds-hooks.org/).

| Metadata | Value
| ---- | ----
| specificationVersion | 1.0
| hookVersion | 1.0
| hookMaturity | [1 - Submitted](../../specification/1.0/#hook-maturity-model)
| standardsStatus | draft
| publicationStatus | snapshot

## Workflow

This hook is invoked when the user is performing the discharge process for an encounter where the notion of 'discharge' is relevant - typically an inpatient encounter. It may be invoked at the start and end of the discharge process or any time between those two points. It allows hook services to intervene in the decision of whether discharge is appropriate, to verify discharge medications, to check for continuity of care planning, to ensure necessary documentation is present for discharge processing, etc.

## Context

The patient who is being discharged and the encounter being ended.

Field | Optionality | Prefetch Token | Type | Description
----- | -------- | ---- | ---- | ----
`userId` | REQUIRED | Yes | *string* | The id of the current user.<br />For this hook, the user is expected to be of type [Practitioner](https://www.hl7.org/fhir/practitioner.html) or [PractitionerRole](https://www.hl7.org/fhir/practitionerrole.html).<br />For example, `Practitioner/123`
`patientId` | REQUIRED | Yes | *string* | The FHIR `Patient.id` of the being discharged
`encounterId` | REQUIRED | Yes | *string* | The FHIR `Encounter.id` of the Encounter being ended

### Examples

```json
"context":{
"userId" : "PractitionerRole/A2340113",
"patientId" : "1288992",
"encounterId" : "456"
}
```

## Change Log

Version | Description
---- | ----
1.0 | Initial Release
47 changes: 47 additions & 0 deletions docs/hooks/encounter-start/2020May/encounter-start.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# `encounter-start`

!!! info "May 2020 Draft Snapshot"
This is a draft snapshot of this hook definition provided to support a
stable published version for testing. The [Hook Maturity Model](https://cds-hooks.hl7.org/1.0/#hook-maturity-model)
defines the process for proposing new hooks on the [CDS Hooks Repository](https://github.com/cds-hooks/docs) and
the [CDS Hooks Community Build Site](https://cds-hooks.org/).

| Metadata | Value
| ---- | ----
| specificationVersion | 1.0
| hookVersion | 1.0
| hookMaturity | [1 - Submitted](../../specification/1.0/#hook-maturity-model)
| standardsStatus | draft
| publicationStatus | snapshot

## Workflow

This hook is invoked when the user is initiating a new encounter. In an inpatient setting, this would be the time of admission. In an outpatient/community environment, this would be the time of patient-check-in for a face-to-face or equivalent for a virtual/telephone encounter. The Encounter should either be in one of the following states: `planned` | `arrived` | `triaged` | `in-progress`. Note that there can be multiple 'starts' for the same encounter as each user becomes engaged. For example, when a scheduled encounter is presented at the beginning of the day for planning purposes, when the patient arrives, when the patient first encounters a clinician, etc. Hooks may present different information depending on user role and Encounter.status.

Note: This is distinct from the `patient-view` hook which occurs any time the patient's record is looked at - which might be done outside the context of any encounter and will often occur during workflows that are not linked to the initiation of an encounter.

The intention is that the cards from any invoked CDS Services are available at the time when decisions are being made about what actions are going to occur during this encounter. For example, identifying that the patient is due for certain diagnostic tests or interventions, identifying additional information that should be collected to comply with protocols associated with clinical studies the patient is enrolled in, identifying any documentation or other requirements associated with patient insurance, etc.

## Context

Field | Optionality | Prefetch Token | Type | Description
----- | -------- | ---- | ---- | ----
`userId` | REQUIRED | Yes | *string* | The id of the current user.<br />For this hook, the user is expected to be of type [Practitioner](https://www.hl7.org/fhir/practitioner.html) or [PractitionerRole](https://www.hl7.org/fhir/practitionerrole.html).<br />For example, `Practitioner/123`
`patientId` | REQUIRED | Yes | *string* | The FHIR `Patient.id` of the Patient the Encounter is for
`encounterId` | REQUIRED | Yes | *string* | The FHIR `Encounter.id` of the Encounter being started

### Examples

```json
"context":{
"userId" : "PractitionerRole/A2340113",
"patientId" : "1288992",
"encounterId" : "456"
}
```

## Change Log

Version | Description
---- | ----
1.0 | Initial Release
Loading

0 comments on commit cb33cda

Please sign in to comment.