· May 9, 2017

Record Map to SDA3 Issue - Need Help Populating SDA3: /Appointments/Appointment/CareProvider/Name/ Fields


Has anyone ever had issues using target class HS.SDA3.Container within a data transformation where the CareProvider values do not populate?

Basically I'm finding that XML stream output has all the SDA3 values I specify/map in the DTL except for the Appointment CareProvider data.
I've mapped the values to another SDA field I know works and the correct value populates, so I know it's not an issue with the source value. I've also tried hardcoding the value and it still does not populate. I've even used the GUI in the management portal to hardcode values in the DTL, and the CareProvider fields are still missing from the output. I know the target properties are being defined correctly because I've used the GUI to acquire the correct syntax (also get an error if property is not correctly defined). The only thing I get in the output are the appointment tags. Some of the internal documentation reference that certain CareProvider.Name and CareProviderType fields cannot be null. I've hardcoded values for all CareProvider.Name properties and data is still missing from the output. This is occurring for both CareProvider.Name and CareProvider.ContactInfo

Example Snippet from DTL:
<assign value='"TestLastName"' property='target.Appointments.(1).CareProvider.Name.FamilyName' action='set' />

Example Snippet from Output missing the CareProvider data (only get the Appointment tags):

I don't have too much experience with SDA3, and not having much luck finding more documentation on this. If anyone has suggestions or can direct me to a comprehensive doc, that would be greatly appreciated.

Discussion (4)2
Log in or sign up to continue

Thanks, Jenny. I posted the solution to my problem.


The documentation did state certain fields could not be null, but couldn't find which specific ones it was referring to. I think it may vary depending upon which fields are being populated. All I know for sure for CareProvider is Code or Description are needed when trying to specify Name and ContactInfo. 

Those extra dots are needed when going to HS.SDA3.Container as target in DTL. I don't know why that is but it won't work without them.


But found out what the issue was. I was missing other required CareProvider fields.


In order for any of the target.Appointments.(1).CareProvider.Name.* and target.Appointments.(1).CareProvider.ContactInfo.* fields to populate, target.Appointments.(1).CareProvider.Code and or target.Appointments.(1).CareProvider.Description must also be specified and cannot be null.

The DTL will successfully place the CareProvider info in the target message, but the ToQuickXMLStream() method will drop the CareProvider fields if both of the required fields are missing.  Which is why the message going outbound to the business operation was missing all the CareProvider fields. At least one of those fields need to be present.


Once CareProvider.Code or CareProvider.Description was specified, the XML Stream to the outbound TCP business operation had all the expected CareProvider SDA data.