Configuration
Initial Oscar Setup
- Create a Provider. Ex: Last Name = Booking, First Name = Online, Type = receptionist (although if you use doctor it will still be secure)
- Create a Login for the provider. Ex: Username=selfbook, Password=<use a long and strong password>, you can uncheck setting the PIN
- Assign 'receptionist' Role to Online Booking Provider.
Oscar Schedule Templates
This is the normal schedule template setting. Note: the template should be a private template for the physician.
The templates should have specific codes for the use of selfbooking. For example you can set the schedule for online available slots coded as 'Y', except for the last 2 slots of each day, which are 'X' and 'Z' . 'Y' slots become available 14 days ahead, 'X' slots become available 7 days ahead and 'Z' slots become available 2 days ahead.
Selfbook Configuration
these values were covered in the installation setting. If you haven't set them yet now is a good time at
var/lib/tomcat7/webapps/selfbook/WEB-INF/classes/config.xml
Final SelfBooking Setup
var/lib/tomcat7/webapps/selfbook/WEB-INF/classes/demo/demobooking.xml
<location>HFHT</location>
2) The patient matching is done at least in part by the supplied health number. Validations can be
- "hin" which will pass any of the patterns of Canadian health cards
- "hinqc" which looks for four leading characters followed by an 8 digit number AAAAnnnnnnnn (currently the format for Quebec health cards)
- "hinbc" which looks for a 10 digit number (currently the format for BC and Ontario)
<algorithm questionNo="1" nextQuestionNo="2" displayText="EnterHealthCard" answerType="text" validation="hinqc" ></algorithm>
3) Edit the question flow to meet your needs. The questions need to follow numerically and start at 1. A simplified working list is below
<algorithm questionNo="1" nextQuestionNo="2" displayText="EnterHealthCard" answerType="text" validation="hin" ></algorithm> <algorithm questionNo="2" displayText="DoYouHaveAFile" answerType="radio" validation="" > <answerRadio displayText="Yes" nextQuestionNo="4"></answerRadio> <answerRadio displayText="No" nextQuestionNo="3"></answerRadio> </algorithm> <algorithm questionNo="3" nextQuestionNo="" displayText="CallClinic" answerType="end" validation=""></algorithm> <algorithm questionNo="4" subQuestionNo="5" nextQuestionNo="" displayText="WhatIsYourDoctorName" providersNo="" answerType="listprov" apptType="FUFD" apptDesc="FUFDD" validation=" 1 2 3 "></algorithm> <algorithm questionNo="5" nextQuestionNo="" displayText="ConfirmAttendingDoctor" providersNo="" answerType="checkbox" validation=""></algorithm>
3) Add provider number to 'WhatIsYourDoctorName' question (space-delimited list for validation). The values allowed have to match the alias setting for each provider below
<algorithm questionNo="4" subQuestionNo="5" displayText="WhatIsYourDoctorName" answerType="listprov" apptType="FUFD" apptDesc="FUFDD" validation=" 1 2 3 "></algorithm>
<appointment_code duration="15" code="1"></appointment_code> <appointment_code duration="15" code="2"></appointment_code> <appointment_code duration="15" code="W"></appointment_code>
<allowedProvider alias="1" providerNo="123" role="PROVIDER" name="Lastname, Firstname"> <allowed_appointment id="1" appointment_codes="Y,X,Z" duration="5" sex="A" ></allowed_appointment> <filter>org.oscarehr.oscar_selfbook_component.booking.filters.ExistingAppointmentFilter</filter> <!-- <filter>org.oscarehr.oscar_selfbook_component.booking.filters.MultiUnitFilter</filter> --> <filter buffer="30">org.oscarehr.oscar_selfbook_component.booking.filters.FutureApptFilter</filter> <filter daysbuffer="2" codes="Z">org.oscarehr.oscar_selfbook_component.booking.filters.OpenAccessFilter</filter> <filter daysbuffer="7" codes="X">org.oscarehr.oscar_selfbook_component.booking.filters.OpenAccessFilter</filter> <filter daysbuffer="14" codes="Y">org.oscarehr.oscar_selfbook_component.booking.filters.OpenAccessFilter</filter> <filter maxdaysahead="14">org.oscarehr.oscar_selfbook_component.booking.filters.MaxDayAheadFilter</filter> </allowedProvider>
You do NOT have to restart tomcat for these changes. They are effective as soon as you save the file.
A backup before you make the changes is always a good idea.
Mixed Slot Durations
Sometimes you have schedules with mixed durations.
Eg. 8-12 has 20 minute slots, then 12-13 has 15 minute slots.
When creating the Private Template for the Provider, you need to use a duration of 5 minutes to accommodate all the correct slot start times.
Eg. The 20 min. hour would be entered as 8 - - - 8 - - - 8 - - - for a total of 60 minutes. The 15 min. hour would be entered as 1 - - 1 - - 1 - - 1 - - for a total of 60 minutes.
Important: The duration="5" will work in this case. Using 20 or 15 will not work.
Multiple Provider Roles
If you have providers with different roles, you can create multiple aliases for the same provider and use a different name="" to distinguish between them.
Eg. A physician want to have 30 minute slots for annual exams and 15 minute slots for follow-ups.
You need to create 2 AllowedProvider blocks with different alias="" codes, like 1a and 1b
Eg. allowedProvider alias="1a" provider="1000" name="Dr. Kildare - 30min/Annual" appointment_codes="0" duration="15"
and allowedProvider alias="1b" provider="1000" name="Dr.Kildare - 15min/follow-up" appointment_codes="1" duration="15"
Note: 1) You need to enter BOTH aliases in line that has answerType="listprov"
2) The duration in both blocks matches the minimum duration times, which is OK, because the duration="x" is not displayed to the patient.
Document Actions