DexCare SDK 7.0.0
This page contains information on how to upgrade from SDK 6.0 to SDK 7.0. For a full list of changes, see the Release Notes.
It is recommended to make sure you have zero deprecation warnings from your previous version SDK version. All previously deprecated methods, properties, etc have been removed.
VisitType has been renamed to VisitTypeShortName and switched from an enum to a struct that inherits from
RawRepresentable. This allows for new Visit Types to be added in the future without the need for a new SDK version with a hard coded enum.
VisitType enum cases are now static properties on
VisitTypeShortName. Ex: illness, virtual etc.
With the change, we’ve updated the functions that used the old
AllowedVisitType and instead use the
allowedVisitType parameter changed to
visitTypeShortName: VisitTypeShortName. This means that you can retrieve time slots for any visit type you want to support, and the SDK no longer restricts to the few that were defined in the old
let dexcareSDK = DexcareSDK(configuration: ...) dexcareSDK.retailService.getTimeSlots(departmentName: clinic.departmentName, allowedVisitType: nil)
let dexcareSDK = DexcareSDK(configuration: ...) dexcareSDK.retailService.getTimeSlots(departmentName: clinic.departmentName, visitTypeShortName: nil) // or dexcareSDK.retailService.getTimeSlots(departmentName: clinic.departmentName, visitTypeShortName: .illness)
VirtualEventDelegate can now be set on an SDK instance
let dexcareSDK = DexcareSDK(configuration: ...) dexcareSDK.virtualService.setVirtualEventDelegate(delegate: self)
When set, the SDK will return various events during the Virtual Visit experience. These are for analytic purposes only, and should not be used as user facing errors. Consider these “soft” errors. Any “hard” errors will be returned in the failure closure when starting or resuming a virtual visit. More information can be found on the VirtualEventDelegate API documentation.
If you have the SDKLogger instance already attached, you will receive similar results, in some instances more information to help debug.
A new waitTime for PracticeRegions has been added PracticeService.getEstimatedWaitTime This can be used to show the calculated estimated wait time for a practice region.
Also added (was previously internal) was the ability to show a wait time for a virtual visit. VirtualSerivce.getEstimatedWaitTime will show you the estimated for a vist. This is the same call that is used and shown in the DexCareSDK Waiting Room.
Both will return a WaitTime struct.
Added CustomizationOptions.validateEmails that if set to false will skip any email validation the SDK uses. You can set the customization through the
DexcareSDK.customizationOption property after initialization.
Defaults to TRUE for backwards compatibility.
let dexcareSDK = DexcareSDK(configuration: ...) let customizationOptions = CustomizationOptions(validateEmails: true) dexcareSDK.customizationOptions = customizationOptions
Epic is still the final validation for emails and you should use this property in sync in how your Epic server validates email. This will skip ALL email validation (not including empty fields) - so it is up to you to validate any emails if this property is set to false. The email validation SDK uses can be found at
The SDK now accepts 5+4 US zip codes. Previously the SDK would only accept 5 digit zip codes. Similar to Email Valication - you can see the RegEx the SDK uses at
// Acceptable zip codes - 90210 - 90210-1234
The OpenTok dependency has been ugpraded to 2.20.0 which cleans up all the warnings that were in 2.19.0
- Removed the following deprecated models/methods/properties:
- VirtualService.startVirtualVisit methods without practiceId argument
These were previously with warning on 6.X, before upgrading to 7.0, it’s a good idea to make sure that all SDK warnings are removed.