This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

CDS Hooks Interface for Hacking Health Brisbane 2017 Track 6

From HL7Wiki
Revision as of 04:40, 4 August 2017 by Brett.esler (talk | contribs)
Jump to navigation Jump to search

This page describes the interface for track 6 for Hacking Health Brisbane 2017 (see [[1]])

Basics

The cds-hook is 'order-review' - see [[2]].

Given the scenario described in the track, we assume that there's no call back to the EHR - so all data is provided via pre-fetch. Therefore, the EHR provides the following information:

  • hook = order-review
  • a hook instance
  • a user id
  • a patient
  • an encounter (e.g. information about the GP consultation)
  • a patient and and encounter resource matching those in the pre-fetch data
  • at least one Condition - (problem list for the patient, also in the prefetch data
  • one or more ProcedureRequest resources, for each test (or panel) requested by the clinician (in the context)
  • no oauth/redirect details

The service returns a set of cards (no profile on the response yet).

Implementations

There's an implementation at http://test.fhir.org/r3/cds-services/hacking-health. All that implementation does is return a card that describes technical issues with the submission from the EHR.

We decided that the cds-hook 'context' element should be an array for - the cds-hooks specification is somewhat unclear.

Example

{
  "hookInstance": "679951bb-4386-4236-8fa6-b816572ce46b",
  "hook": "order-review",
  "user": "Practitioner/1",
  "patient": "8",
  "encounter": "1-862",
  "context": [
    {
      "resourceType": "ProcedureRequest",
      "id": "29-82A52E1D203A00A77D4B222E4630B023",
      "meta": {
        "versionId": "20170803141836",
        "lastUpdated": "2017-08-04T00:18:36+10:00"
      },
      "text": {
        "status": "generated",
        "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>2017-08-04 ESR</p></div>"
      },
      "status": "active",
      "code": {
        "text": "ESR"
      },
      "subject": {
        "reference": "Patient/8"
      },
      "context": {
        "reference": "Encounter/1-862"
      },
      "occurrenceDateTime": "2017-08-04"
    },
    {
      "resourceType": "ProcedureRequest",
      "id": "29-39F275FBA712869CF8D656D72CEFE1C5",
      "meta": {
        "versionId": "20170803141836",
        "lastUpdated": "2017-08-04T00:18:36+10:00"
      },
      "text": {
        "status": "generated",
        "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>2017-08-04 FBC</p></div>"
      },
      "status": "active",
      "code": {
        "text": "FBC"
      },
      "subject": {
        "reference": "Patient/8"
      },
      "context": {
        "reference": "Encounter/1-862"
      },
      "occurrenceDateTime": "2017-08-04"
    },
    {
      "resourceType": "ProcedureRequest",
      "id": "11-33AF404896F87F96AB9D345FC1A68195",
      "meta": {
        "versionId": "20040210130000",
        "lastUpdated": "2004-02-11T00:00:00+11:00"
      },
      "text": {
        "status": "generated",
        "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>2003-10-20 Modified rast</p></div>"
      },
      "status": "active",
      "code": {
        "text": "Modified rast"
      },
      "subject": {
        "reference": "Patient/8"
      },
      "context": {
        "reference": "Encounter/1-862"
      },
      "occurrenceDateTime": "2003-10-20"
    }
  ],
  "prefetch": {
    "encounter": {
      "response": {
        "status": "200 OK"
      },
      "resource": {
        "resourceType": "Encounter",
        "id": "1-862",
        "meta": {
          "lastUpdated": "2017-08-04T00:11:29+10:00"
        },
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><div>2017-08-04 00:11 : General Practitioner<pre>\r\n\r\nActions:\r\nRequest printed to Best Pathology Service: ESR; FBC.\r\n</pre></div></div>"
        },
        "status": "in-progress",
        "type": [
          {
            "coding": [
              {
                "system": "http://snomed.info/sct",
                "code": "62247001",
                "display": "General Practitioner"
              }
            ]
          }
        ],
        "subject": {
          "reference": "Patient/8"
        },
        "participant": [
          {
            "type": [
              {
                "coding": [
                  {
                    "system": "http://hl7.org/fhir/v3/ParticipationType",
                    "code": "ATND",
                    "display": "attender"
                  }
                ]
              }
            ],
            "individual": {
              "reference": "Practitioner/1"
            }
          }
        ],
        "period": {
          "start": "2017-08-04T00:11:29+10:00"
        }
      }
    },
    "patient": {
      "response": {
        "status": "200 OK"
      },
      "resource": {
        "resourceType": "Patient",
        "id": "8",
        "meta": {
          "lastUpdated": "2004-11-05T00:00:00+11:00"
        },
        "text": {
          "status": "generated",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>Allen, Fay (Female 77y)</p></div>"
        },
        "extension": [
          {
            "url": "http://hl7.org.au/fhir/StructureDefinition/indigenous-status",
            "valueCoding": {
              "system": "http://meteor.aihw.gov.au/content/index.phtml/itemId/602543#Codes",
              "code": "9",
              "display": "Not stated/inadequately described"
            }
          }
        ],
        "identifier": [
          {
            "use": "usual",
            "type": {
              "coding": [
                {
                  "system": "http://hl7.org/fhir/v2/0203",
                  "code": "MC",
                  "display": "Patient's Medicare Number"
                }
              ],
              "text": "Medicare Number"
            },
            "system": "http://ns.electronichealth.net.au/id/medicare-number",
            "value": "22345678911"
          },
          {
            "use": "usual",
            "type": {
              "coding": [
                {
                  "system": "http://hl7.org/fhir/v2/0203",
                  "code": "MB",
                  "display": "Member Number"
                }
              ],
              "text": "Health Fund Number"
            },
            "value": "7861327",
            "assigner": {
              "display": "Medihealthy"
            }
          }
        ],
        "active": true,
        "name": [
          {
            "use": "usual",
            "family": "Allen",
            "given": [
              "Fay",
              "Ellen"
            ],
            "prefix": [
              "Mrs."
            ]
          },
          {
            "use": "nickname",
            "text": "Fay"
          }
        ],
        "telecom": [
          {
            "system": "phone",
            "value": "0899905050",
            "use": "home"
          }
        ],
        "gender": "female",
        "birthDate": "1940-07-12",
        "deceasedBoolean": false,
        "address": [
          {
            "use": "home",
            "type": "physical",
            "line": [
              "8 Grey St"
            ],
            "city": "Fremantle",
            "state": "WA",
            "postalCode": "6160"
          }
        ],
        "contact": [
          {
            "relationship": [
              {
                "coding": [
                  {
                    "system": "http://hl7.org/fhir/patient-contact-relationship",
                    "code": "family",
                    "display": "Family"
                  }
                ],
                "text": "Next of Kin"
              }
            ],
            "name": {
              "use": "usual",
              "family": "Allen",
              "given": [
                "Kenneth"
              ],
              "prefix": [
                "Mr."
              ]
            },
            "telecom": [
              {
                "system": "phone",
                "value": "0899905050",
                "use": "home"
              }
            ],
            "address": {
              "line": [
                "8 Grey St"
              ],
              "city": "Fremantle",
              "postalCode": "6160"
            }
          }
        ],
        "generalPractitioner": [
          {
            "reference": "Organization/0"
          }
        ],
        "managingOrganization": {
          "reference": "Organization/0"
        }
      }
    },
    "problems": {
      "response": {
        "status": "200 OK"
      },
      "resource": {
        "resourceType": "Bundle",
        "id": "e72c7adb-7665-40fa-8f04-f9e5dcaefb40",
        "meta": {
          "versionId": "20170804010316",
          "lastUpdated": "2017-08-04T01:03:16.705+10:00"
        },
        "type": "searchset",
        "total": 2,
        "link": [
          {
            "relation": "self",
            "url": "https://localhost.oridashi.com.au:8109/Condition?patient=8&_list=%24current-problems"
          },
          {
            "relation": "last",
            "url": "https://localhost.oridashi.com.au:8109/Condition?patient=8&_list=%24current-problems&_page=1&_snapshot=636374053966930617"
          }
        ],
        "entry": [
          {
            "fullUrl": "https://localhost.oridashi.com.au:8109/Condition/143",
            "resource": {
              "resourceType": "Condition",
              "id": "143",
              "meta": {
                "versionId": "20161027075650",
                "lastUpdated": "2016-10-27T18:56:50+11:00",
                "security": [
                  {
                    "system": "http://hl7.org/fhir/v3/Confidentiality",
                    "code": "N",
                    "display": "normal"
                  },
                  {
                    "system": "http://oridashi.com.au/system/code/include-in-summary",
                    "code": "SUMMARY",
                    "display": "summary"
                  }
                ]
              },
              "text": {
                "status": "generated",
                "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>2016-10-27 Cold, common</p></div>"
              },
              "clinicalStatus": "active",
              "verificationStatus": "confirmed",
              "category": [
                {
                  "coding": [
                    {
                      "system": "http://snomed.info/sct",
                      "code": "439401001",
                      "display": "Diagnosis"
                    }
                  ]
                }
              ],
              "code": {
                "coding": [
                  {
                    "system": "http://oridashi.com.au/system/code/bestpracticeterm",
                    "code": "648",
                    "display": "Cold, common"
                  },
                  {
                    "system": "http://snomed.info/sct",
                    "code": "82272006",
                    "display": "Cold, common"
                  }
                ],
                "text": "Cold, common"
              },
              "subject": {
                "reference": "Patient/8"
              },
              "onsetDateTime": "2016-10-27",
              "abatementBoolean": false
            }
          },
          {
            "fullUrl": "https://localhost.oridashi.com.au:8109/Condition/11",
            "resource": {
              "resourceType": "Condition",
              "id": "11",
              "meta": {
                "versionId": "20040210130000",
                "lastUpdated": "2004-02-11T00:00:00+11:00",
                "security": [
                  {
                    "system": "http://hl7.org/fhir/v3/Confidentiality",
                    "code": "N",
                    "display": "normal"
                  },
                  {
                    "system": "http://oridashi.com.au/system/code/include-in-summary",
                    "code": "SUMMARY",
                    "display": "summary"
                  }
                ]
              },
              "text": {
                "status": "generated",
                "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>2004-03-04 Osteoporosis (inactive)</p></div>"
              },
              "clinicalStatus": "resolved",
              "verificationStatus": "confirmed",
              "category": [
                {
                  "coding": [
                    {
                      "system": "http://snomed.info/sct",
                      "code": "439401001",
                      "display": "Diagnosis"
                    }
                  ]
                }
              ],
              "code": {
                "coding": [
                  {
                    "system": "http://oridashi.com.au/system/code/bestpracticeterm",
                    "code": "2588",
                    "display": "Osteoporosis"
                  },
                  {
                    "system": "http://snomed.info/sct",
                    "code": "64859006",
                    "display": "Osteoporosis"
                  }
                ],
                "text": "Osteoporosis"
              },
              "subject": {
                "reference": "Patient/8"
              },
              "onsetDateTime": "2004-03-04",
              "abatementBoolean": true
            }
          }
        ]
      }
    }
  }
}


Terminology

Test names from standard sets MD/BP Media:default-pathology-requests.xlsx