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

Proposal: add Find Appointments Query

From HL7Wiki
Jump to navigation Jump to search

Summary

This proposal seeks to add a new query interaction to the Appointment topic of the Scheduling (PRSC) domain.

The new Find Appointments Query (PRSC_IN010701UV) queries the Appoint Manager for apppintments that match a set of criteria (e.g. the time of the appointment and the resources associated with the appointment) as specified in the query parameters. The intent and underlyinh use-cases are the same as those for the HL7 version 2 SQM/SQR - Schedule Query Message and Response (Event S25) (up to version 2.6; now deprecated and moved to chapter 5).

Use-case

Helse Vest, the western region of Norway has a use-case whereby:

  1. (covered by a different proposal) They use a Find Encounters query to find out (e.g.) who is currently sitting in the waiting room in Building X. For all patient IDs returned in the response:
  2. Query the appointment manager to find appointments for a given Patient ID and a particular resource (e.g. the ID of a particular piece of equipment).

Helse Vest has identified the following query parameters as being of importance for their particular use-case:

  • Patient.id (mandatory)
    • ActAppointment/subject/Patient(PAT role).id
  • Physician.id (as scheduled)
    • ActAppointment/performer/AssignedPerson(role).id
  • Equipment.id (as scheduled)
    • ActAppointment/reusabledevice/ManufacturedDevice(role).id
  • Ward/room (as scheduled)
    • Ward/room/bed is modeled in a recursive-hierarchy of PartOf relationships between ServiceDeliveryLocation classes, with the initial one in the hierarchy being ActAppointment/Location/ServiceDeliveryLocation. The Part role link (in the response model) is used in such a way that the hierarchy starts at the most atomic level (bed or room) and moves "up" the hierarchy towards the ward.
    • Room: that element in the hierarchy which has Place.code = ROOM (in the playing entity).
    • Ward: that element in the hierarchy which has Place.code = WARD (in the playing entity).
      • Note: the code ARD doesn't exist as of yet.
  • Clinic (as scheduled)
    • ActAppointment/Location/ServiceDeliveryLocation role (initial ServiceDeliveryLocation in the hierarchy) - scoping Organization.id (in scoping E_Organization)
  • Encounter.code (as scheduled)
    • ActAppointment.code
  • Time/date (of the scheduled encounter)
    • ActAppointment.effectiveTime