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

Difference between revisions of "Proposal: add Find Appointments Query"

From HL7Wiki
Jump to navigation Jump to search
Line 17: Line 17:
 
**ActAppointment/reusabledevice/ManufacturedDevice(role).id
 
**ActAppointment/reusabledevice/ManufacturedDevice(role).id
 
*Ward/room (as scheduled)
 
*Ward/room (as scheduled)
**Room: ActAppointment/Location/ServiceDeliveryLocation.id [id of tuple (room,ward)] and (optionally, in playing entity:) Place.name
+
**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.
**Ward: ActAppointment/Location/ServiceDeliveryLocation/partOf/ServiceDeliveryLocation2.id [id of ward - highest level of the Helse Vest location hierarchy] and (optionally, in the playing entity of the ServiceDeliveryLocation2) Place.name. The Part role link is used in such a way that the ServiceDeliveryLocation role is part of the role ServiceDeliveryLocation2.
+
**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)
 
*Clinic (as scheduled)
**ActAppointment/Location/ServiceDeliveryLocation role - scoping Organization.id
+
**ActAppointment/Location/ServiceDeliveryLocation role (initial ServiceDeliveryLocation in the hierarchy) - scoping Organization.id (in scoping E_Organization)
 
*Encounter.code (as scheduled)
 
*Encounter.code (as scheduled)
 
**ActAppointment.code
 
**ActAppointment.code
 
*Time/date (of the scheduled encounter)
 
*Time/date (of the scheduled encounter)
 
**ActAppointment.effectiveTime
 
**ActAppointment.effectiveTime

Revision as of 14:18, 11 February 2009

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