Difference between revisions of "201609 Provider Directories and Scheduling"
Bamarquard (talk | contribs) |
|||
(8 intermediate revisions by 4 users not shown) | |||
Line 6: | Line 6: | ||
Specification Page(s): | Specification Page(s): | ||
− | [http://hl7.org/fhir/ | + | [http://hl7.org/fhir/2016Sep/organization.html Organization] |
− | [http://hl7.org/fhir/ | + | [http://hl7.org/fhir/2016Sep/location.html Location] |
− | [http://hl7.org/fhir/ | + | [http://hl7.org/fhir/2016Sep/practitioner.html Practitioner] |
− | [http://hl7.org/fhir/ | + | [http://hl7.org/fhir/2016Sep/healthcareservice.html HealthcareService] |
And we are seeking some feeback on the new Directory Support resources: | And we are seeking some feeback on the new Directory Support resources: | ||
− | [http://hl7.org/fhir/ | + | [http://hl7.org/fhir/2016Sep/practitionerrole.html PractitionerRole] |
− | [http://hl7 | + | [http://hl7.org/fhir/2016Sep/endpoint.html Endpoint] |
===Background For Scheduling=== | ===Background For Scheduling=== | ||
Line 19: | Line 19: | ||
Specification Page(s): | Specification Page(s): | ||
− | [http://hl7.org/fhir/ | + | [http://hl7.org/fhir/2016Sep/appointment.html Appointment] |
− | [http://hl7.org/fhir/ | + | [http://hl7.org/fhir/2016Sep/appointmentresponse.html AppointmentResponse] |
− | [http://hl7.org/fhir/ | + | [http://hl7.org/fhir/2016Sep/schedule.html Schedule] |
− | [http://hl7.org/fhir/ | + | [http://hl7.org/fhir/2016Sep/slot.html Slot] |
+ | [http://hl7.org/fhir/2016Sep/encounter.html Encounter] | ||
<!-- What will be the actions performed by participants? --> | <!-- What will be the actions performed by participants? --> | ||
The introduction section on the "usual" workflow can be found here: | The introduction section on the "usual" workflow can be found here: | ||
− | http://hl7.org/fhir/ | + | http://hl7.org/fhir/2016Sep/appointment.html#5.29.1.1 |
If you're trying to work out what statuses mean, and what would be expected, there is a summary at the bottom of that same page including a collection of examples | If you're trying to work out what statuses mean, and what would be expected, there is a summary at the bottom of that same page including a collection of examples | ||
− | http://hl7.org/fhir/ | + | http://hl7.org/fhir/2016Sep/appointment.html#typical |
Which tie together the 4 resources... | Which tie together the 4 resources... | ||
Line 37: | Line 38: | ||
==Justification== | ==Justification== | ||
− | |||
A key challenge of healthcare is knowing about the resources available in the local, regional, and global healthcare networks. When a patient's care is transitioned from one setting to another, it's critical to know about the doctors, hospitals and clinics available to receive that patient. When a patient is travelling, it improves care when local healthcare facilities can retrieve the patient's up to date medical history from a primary care provider. | A key challenge of healthcare is knowing about the resources available in the local, regional, and global healthcare networks. When a patient's care is transitioned from one setting to another, it's critical to know about the doctors, hospitals and clinics available to receive that patient. When a patient is travelling, it improves care when local healthcare facilities can retrieve the patient's up to date medical history from a primary care provider. | ||
There are currently no widely adopted standards for exchanging this directory information. Currently, healthcare organizations use a variety of labor intensive processes to gather, normalize, de-duplicate and consume this data. They share custom flat files, scrape web pages, or pay 3rd parties to curate their practitioner data. Organizational data is often isolated in different networks and aren't easily shared. | There are currently no widely adopted standards for exchanging this directory information. Currently, healthcare organizations use a variety of labor intensive processes to gather, normalize, de-duplicate and consume this data. They share custom flat files, scrape web pages, or pay 3rd parties to curate their practitioner data. Organizational data is often isolated in different networks and aren't easily shared. | ||
Line 47: | Line 47: | ||
==Proposed Track Lead== | ==Proposed Track Lead== | ||
− | |||
Coordinator: [mailto:bpostlethwaite@healthconnex.com.au Brian Postlethwaite](sgtshultzpos) | Coordinator: [mailto:bpostlethwaite@healthconnex.com.au Brian Postlethwaite](sgtshultzpos) | ||
See [[Connectathon_Track_Lead_Responsibilities]] | See [[Connectathon_Track_Lead_Responsibilities]] | ||
+ | |||
+ | ==Report== | ||
+ | [http://www.slideshare.net/DavidHay5/hl7-2016-baltimore-connectathon-provider-directories-and-scheduling Report] | ||
==Expected participants== | ==Expected participants== | ||
Line 56: | Line 58: | ||
* SureScripts | * SureScripts | ||
* Epic | * Epic | ||
+ | * Sequoia | ||
+ | * Touchstone (AEGIS) | ||
==Roles== | ==Roles== | ||
Line 62: | Line 66: | ||
A Server that has Service/Provider directory data in it | A Server that has Service/Provider directory data in it | ||
(with associated schedule information) | (with associated schedule information) | ||
− | |||
− | |||
− | |||
===Provider Consumer application=== | ===Provider Consumer application=== | ||
Line 80: | Line 81: | ||
<!-- What will be the actions performed by participants? --> | <!-- What will be the actions performed by participants? --> | ||
− | ===1 | + | ===1 Directory Search - Provider, Location, Organization=== |
− | :Action: Perform a search for | + | :Action: Perform a search for Provider Directory related resource. |
+ | :See '''[http://argonautwiki.hl7.org/index.php?title=2016_08_Argonaut_Provider_Directory_Connectathon_1 Argonaut Provider Directory Connectathon]''' for 1-6 (which have example queries there also) | ||
:Precondition: Directory FHIR Resources should already be on a FHIR server to query | :Precondition: Directory FHIR Resources should already be on a FHIR server to query | ||
:Success Criteria: The desired resources were found | :Success Criteria: The desired resources were found | ||
:Bonus point: The criteria for the resources used several restrictions, possibly Specialty or Location | :Bonus point: The criteria for the resources used several restrictions, possibly Specialty or Location | ||
− | + | We would also like to test to see if extracts can work using paging over an open search, or history can work in these scenarios. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ===2 Check Availability=== | |
+ | :Action: Now that we have been able to search for a resource, check for an endpoint that references a location for schedule/slot information | ||
+ | :Precondition: The Organization/Location/Practitioner or HealthcareService has an endpoint defined to a FHIR server where a Schedule/Slot can be queried | ||
+ | :Success Criteria: The list of slots available for this connectathon weekend (or the week of the WGM) could be located | ||
+ | :Bonus point: Were able to locate a slot that was not available | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ===3 Create Appointment=== | |
− | |||
− | === | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
:Action: Create an appointment resource and store on a server (Requester) | :Action: Create an appointment resource and store on a server (Requester) | ||
This appointment should have a status of proposed or pending, and participant statuses of needs-action | This appointment should have a status of proposed or pending, and participant statuses of needs-action | ||
Line 124: | Line 110: | ||
<!-- Provide a description of each task --> | <!-- Provide a description of each task --> | ||
− | === | + | ===4 Check Schedule=== |
Test the ability to interrogate a schedule to book an appointment | Test the ability to interrogate a schedule to book an appointment | ||
:Action: Query a server for a schedule/slots | :Action: Query a server for a schedule/slots | ||
Line 135: | Line 121: | ||
<!-- Provide a description of each task --> | <!-- Provide a description of each task --> | ||
− | === | + | ===5 Process Appointment (Response)=== |
:Action: Server recieves an AppointmentResponse resource, and updates the Appointment with details of the participants answer | :Action: Server recieves an AppointmentResponse resource, and updates the Appointment with details of the participants answer | ||
:Precondition: an appointment existed with a participant status of needs-action<!-- What setup is required prior to executing this step? --> | :Precondition: an appointment existed with a participant status of needs-action<!-- What setup is required prior to executing this step? --> | ||
Line 141: | Line 127: | ||
:Bonus point: If all participants in the appointment are now accepted and the appointment was in pending or proposed then the appointment status can be changed to booked. | :Bonus point: If all participants in the appointment are now accepted and the appointment was in pending or proposed then the appointment status can be changed to booked. | ||
− | |||
− | === | + | ===6 Cancel Appointment=== |
:Action: Mark an appointment with a cancelled status <!--Who does what? (Use the role names listed above when referring to the participants --> | :Action: Mark an appointment with a cancelled status <!--Who does what? (Use the role names listed above when referring to the participants --> | ||
:Precondition: an appointment was present on the server with a booked status <!-- What setup is required prior to executing this step? --> | :Precondition: an appointment was present on the server with a booked status <!-- What setup is required prior to executing this step? --> | ||
Line 149: | Line 134: | ||
:Bonus point: server reject a status change to cancelled if an encounter was created - (if business rules justify this)<!-- Any additional complexity to make the scenario more challenging --> | :Bonus point: server reject a status change to cancelled if an encounter was created - (if business rules justify this)<!-- Any additional complexity to make the scenario more challenging --> | ||
− | + | ===7 Create Encounter=== | |
− | + | :Action: Create an encounter to represent when a patient arrived at the facility for an appointment created earlier | |
− | == | + | :Precondition: An appointment existed that was ready to be turned into an encounter |
− | + | :Success Criteria: An encounter can be found on the server and can be retrieved through searching on the encounter's appointment search parameter | |
− | + | :Bonus point: Can show a history for the encounter and move it through some of the various states | |
− | |||
− |
Latest revision as of 00:31, 2 November 2016
Background for Service Provider Directory
If considering implementing more than a simple client, extensive pre-connectathon work is recommended.
Specification Page(s):
Organization Location Practitioner HealthcareService
And we are seeking some feeback on the new Directory Support resources:
PractitionerRole Endpoint
Background For Scheduling
If creating a client application, this track should require minimal work in advance of the connectathon, though at least a bit of playing is recommended. If creating a server, advanced preparation will be required, but this scenario should somewhat limit the effort involved.
Specification Page(s):
Appointment AppointmentResponse Schedule Slot Encounter
The introduction section on the "usual" workflow can be found here: http://hl7.org/fhir/2016Sep/appointment.html#5.29.1.1
If you're trying to work out what statuses mean, and what would be expected, there is a summary at the bottom of that same page including a collection of examples http://hl7.org/fhir/2016Sep/appointment.html#typical Which tie together the 4 resources...
Submitting WG/Project/Implementer Group
Patient Administration/Implementer Communities
Justification
A key challenge of healthcare is knowing about the resources available in the local, regional, and global healthcare networks. When a patient's care is transitioned from one setting to another, it's critical to know about the doctors, hospitals and clinics available to receive that patient. When a patient is travelling, it improves care when local healthcare facilities can retrieve the patient's up to date medical history from a primary care provider. There are currently no widely adopted standards for exchanging this directory information. Currently, healthcare organizations use a variety of labor intensive processes to gather, normalize, de-duplicate and consume this data. They share custom flat files, scrape web pages, or pay 3rd parties to curate their practitioner data. Organizational data is often isolated in different networks and aren't easily shared.
This track will test how FHIR can be used to standardize the exchange of services/provider directory data. Defining how healthcare organizations can participate in a federated healthcare directory will promote interoperability and innovation. (And hopefully review the Provider Directory created by MiHN, and some mappings on the IHE HPD profile into FHIR)
This track will also lead into the creation of Appointments based on schedules found associated with the above services/providers, and also verify the workflow of proceeding from a booked appointment into the creation of the Encounter.
Proposed Track Lead
Coordinator: Brian Postlethwaite(sgtshultzpos) See Connectathon_Track_Lead_Responsibilities
Report
Report
Expected participants
- Telstra Health (HealthConnex)
- SureScripts
- Epic
- Sequoia
- Touchstone (AEGIS)
Roles
Service Provider Directory Server
A Server that has Service/Provider directory data in it (with associated schedule information)
Provider Consumer application
An application that should be used by a provider to search for information to support creating a referral, and can book an appointment on a client's behalf
Requester
A client that creates appointments (as either booked resources, or requests which need a placer to fill)
Placer
A placer is a client (or server) that processes appointment requests and allocates either participants, or times to these requests.
Scenarios
1 Directory Search - Provider, Location, Organization
- Action: Perform a search for Provider Directory related resource.
- See Argonaut Provider Directory Connectathon for 1-6 (which have example queries there also)
- Precondition: Directory FHIR Resources should already be on a FHIR server to query
- Success Criteria: The desired resources were found
- Bonus point: The criteria for the resources used several restrictions, possibly Specialty or Location
We would also like to test to see if extracts can work using paging over an open search, or history can work in these scenarios.
2 Check Availability
- Action: Now that we have been able to search for a resource, check for an endpoint that references a location for schedule/slot information
- Precondition: The Organization/Location/Practitioner or HealthcareService has an endpoint defined to a FHIR server where a Schedule/Slot can be queried
- Success Criteria: The list of slots available for this connectathon weekend (or the week of the WGM) could be located
- Bonus point: Were able to locate a slot that was not available
3 Create Appointment
- Action: Create an appointment resource and store on a server (Requester)
This appointment should have a status of proposed or pending, and participant statuses of needs-action
- Precondition: None
- Success Criteria: Appointment passes validation against the Appointment schema and schematron, and has these statuses set
- Bonus point: Define an Appointment with multiple participants
- Bonus point: Define an appointment with a Location
- Bonus point: Define an Appointment with varied Participant statuses
- Bonus point: Define an Appointment against multiple slots
4 Check Schedule
Test the ability to interrogate a schedule to book an appointment
- Action: Query a server for a schedule/slots
- Action: Create an appointment against one of the slots returned
- Action: Update Slot to mark Status
- Precondition: A Server must have a some schedule and slot resources available to search
- Success Criteria: The server is able to indicate that the client searched for the content, and created an appointment against one of the slots.
- Bonus point: The slot was marked as booked
5 Process Appointment (Response)
- Action: Server recieves an AppointmentResponse resource, and updates the Appointment with details of the participants answer
- Precondition: an appointment existed with a participant status of needs-action
- Success Criteria: only the participant defined in the appointmentresponse has its status updated as per the response
- Bonus point: If all participants in the appointment are now accepted and the appointment was in pending or proposed then the appointment status can be changed to booked.
6 Cancel Appointment
- Action: Mark an appointment with a cancelled status
- Precondition: an appointment was present on the server with a booked status
- Success Criteria: The history of the appointment will show that it had a booked status, then was changed to a cancelled status
- Bonus point: server reject a status change to cancelled if an encounter was created - (if business rules justify this)
7 Create Encounter
- Action: Create an encounter to represent when a patient arrived at the facility for an appointment created earlier
- Precondition: An appointment existed that was ready to be turned into an encounter
- Success Criteria: An encounter can be found on the server and can be retrieved through searching on the encounter's appointment search parameter
- Bonus point: Can show a history for the encounter and move it through some of the various states