Managing Profiles
Profiles describe the schema of your Data Source
Once a Data Source is created, the next step is to configure its profiles (Data Schemas) that define how the data that you want to ingest is structured.
After completing the profile configuration, they will mirror the modeling of data in an external data store, excluding its relationships. This later will be done afterward in Managing Relationship Definition.
Creating Profiles
Each profile contains a collection of attributes where each one helps describe the profile properties.
- A simple profile can be created by defining the
properties
attribute, and describing every attribute with its key and type description.- A more complex profile can also contain
contained
resource, a way to include another already defined profile as an included property.
- A more complex profile can also contain
{
"properties": {
"<propertyKey>": {
"type": "<type>"
}
},
// Optional
"contained": {
"<propertyKey>": {
"types": "[<profileKey>]",
"cardinality": "<cardinality>"
}
}
}
Create a simple profile
Here is an example of a provider
profile with four different kinds of properties (symbol (string), integer, date, and array):
{
"properties": {
"name": {
"type": "symbol"
},
"practiceNumber": {
"type": "integer"
},
"specialities": {
"type": "array",
"items": {
"type": "symbol"
}
}
}
}
Create a profile with contained resources
Given that a simple profile paymentMethod
with a single value
property is already created, here is a office
profile definition with a contained resource:
{
"properties": {
"name": {
"type": "symbol"
},
"note": {
"type": "symbol"
}
},
"contained": {
"primaryPaymentMethod": {
"types": [
"paymentMethod"
],
"cardinality": "0:1"
},
"alternativePaymentMethods": {
"types": [
"paymentMethod"
],
"cardinality": "0:*"
}
}
}
Considerations
- See Data Types for all supported property types. Some complex objects like Address and HumanName are supported out of the box.
- Turn reusable objects into their own profile so they can be included in any profile (ex: A detailed contact information object)
- Create your profile from the bottom up, starting with reusable objects and simple Profiles to then contained resources.
For more Profile endpoint references (Fetch), see our Profile API documentation.
Updated 5 months ago
Once every profile is created, you can either define relationships or send data to be ingested.