--- description: FHIR profiles, terminology bindings, binding strengths, and how validation engines use terminology servers --- # Profiles, Binding, and Validation FHIR Profiles define implementation-specific constraints on base FHIR resources, specifying exactly what data elements are required, optional, or prohibited for particular use cases. When a healthcare organization implements FHIR, they create profiles that reflect their specific workflows, data requirements, and regulatory constraints. Terminology bindings are a key component of profiles, connecting data elements to specific ValueSets to ensure consistent coded data. A profile might specify that `Observation.code` must use codes from a particular laboratory test ValueSet, or that `Patient.maritalStatus` should prefer standard FHIR codes but allow local extensions when needed. FHIR validation engines use these profiles to verify that incoming data meets the specified constraints. The terminology server plays a crucial role by validating that coded values conform to the bound ValueSets, ensuring data quality and interoperability across systems. ## Binding Concept To specify what codes can be assigned to specific elements, FHIR uses the concept of **binding** - linking element definitions to ValueSets. A binding defines which ValueSet constrains the possible values for a coded element. Bindings can have different strengths: - **Required** - The element must have a value from the specified ValueSet - **Extensible** - The element should have a value from the specified ValueSet, but other codes are allowed if the ValueSet doesn't contain an appropriate code - **Preferred** - The element should have a value from the specified ValueSet if possible - **Example** - The ValueSet provides examples of codes that might be used For example, the `Observation.code` element is bound to a ValueSet that includes LOINC codes, ensuring that laboratory observations use standardized terminology for test identification. See also: [Validation Tutorials](../../tutorials/validation-tutorials/)