DexCare SDK 5.0.0
This page contains information on how to upgrade from SDK 4.0 to SDK 5.0. For a full list of changes, see the Release Notes.
We are no longer using the PodSpec-iOS going forward. Please update your
pod 'DexcareSDK', :git => 'https://github.com/Dexcare/DexcareSDK-iOS.git'
or if you want just want a specific version
pod 'DexcareSDK', :git => 'https://github.com/Dexcare/DexcareSDK-iOS.git', :tag => '5.0.0'
The main change in SDK 5.0 is the deprecation of Regions, and the addition of Virtual Practices. A Practice is a collection of resources that provides a type of care to patients. Each practice has a separate set of regions & hours, payment information, and a pool of caregivers to treat patients. They are an additional layer of separation/precision on top of Regions.
The following methods are now deprecated and should be replaced by calls in the new PracticeService:
The new methods in PracticeService are:
practiceIds are static and can be hardcoded for each practice your app wants to support.
They can be provided by your DexCare contact.
getVirtualPractice returns a VirtualPractice object which contains various information about the practice, including a list of
The VirtualPracticeRegion object has a
regionCode property which can be used in place of the old
VirtualPracticeRegions can be displayed to the user for their selection, just like the old Regions.
Note that not all VirtualPracticeRegions are meant to be displayed to the user. For example, there can be a VirtualPracticeRegion set up that does not book to Epic, and can be separate from normal patient queues. This allows for testing virtual visits in production environments without impacting real patients or providers.
A new parameter has been added to the
This should be the
VirtualPracticeRegion.practiceRegionId property from the region selected by the user.
The parameter is always required when booking using practices (which is the only non-deprecated way to book virtual visits). It is marked as optional for backwards compatibility with the old Regions method of booking virtual visits.
VirtualService.startVirtualVisit methods have been deprecated.
New VirtualService.startVirtualVisit methods have been added to replace them, with a single new parameter
Again, this can be hardcoded for each virtual practice your app supports.
Environment.pcpUrlhas been removed. You no longer need to override this in your Environment object.
AppointmentService.getPcpAppointments()has been removed. There is no replacement as this feature is no longer supported.
- All P CP related models have been removed. There are noreplacements as this feature is no longer supported.
Property name changes
DexcarePatient.demographicLinkshas been renamed to
PatientDemographics.ssnhas been renamed to
AllowedVisitType.shortNameis now a
Anything marked as deprecated in SDK 4.0 has been removed. See the SDK 4.0 Changelog for details of what was deprecated and what the replacements were.
- ProviderService is a new feature that allows scheduling a visit with a particular provider, specified by their NPI.
PatientService.getSuffixes()is a new method that returns a list of acceptable suffixes for use in the creation of
Dates and Timezones
ScheduleDay.date in 5.0 now returns with the timezone local to the Clinic or the Provider. In previous builds, this was returning as GMT:0. This shouldn’t effect you, as for the
ScheduleDay.date you should effectively only be using the date portion of the date, ignoring the timezone to group the
More documentation has been added to any Date
Expression type 'PatientDemographics' is ambiguous without more context
Usually this happens because the
actorRelationshipToPatient is still in the init.
actorRelationshipToPatient is no longer on the
PatientDemographics object and is now required on the Retail/Virtual/Provider visitInformation.
Missing argument for parameter 'practiceRegionId' in call
practiceRegionId is now required on
VirtualVisitInformation. If you are still using the old deprecated startVirtualVisit without practices, you should be setting this to nil.