Profile types
- ROOT profiles — Represent top-level resources (for example
provider
,facility
,plan
). Each ROOT profile becomes its own collection inside the source and can be exposed directly through partitions. - CONTAINED profiles — Represent reusable components that live inside a parent resource, such as operating hours, licensing details, or addresses with additional metadata. They are versioned alongside the parent record and are not addressable on their own.
When deciding between ROOT and CONTAINED, ask whether the data should be queryable on its own or shared across multiple parents. If it should be queryable on its own, create a ROOT profile and connect records with relationships instead.
Anatomy of a profile
A profile describes its type, properties, optional contained components, and any validation rules. The example below highlights common patterns.properties
— List each attribute and its data type. Use validationrules
to enforce required fields, ranges, enums, or vocabulary bindings.contained
— Declare embedded components by referencing other profile keys and their cardinality.description
— Document the business meaning so stewards understand how the schema should evolve.
Designing robust profiles
- Start with shared components — Model reusable structures (addresses, hours, identifiers) as contained profiles so you can embed them consistently across ROOT profiles.
- Validate early — Use rules and vocabularies to fail fast when data violates expectations. This keeps ingestion clean and downstream reconciliation easier.
- Plan for evolution — Introduce new optional properties before deprecating old ones. Coordinate schema updates with upstream producers to prevent ingestion failures.
- Document relationships — Capture how profiles connect using relationship definitions so downstream consumers understand the graph.
Related references
- List all available profiles API for canonical request and response structures.
- Clinia data types for complex types such as
address
,contactpoint
, andhumanname
. - Field validation basics to craft rules that enforce data quality at ingestion time.