HL7 Electronic Health Record System Functional Model, Release 2.1.1
2.1.1 - Normative

HL7 Electronic Health Record System Functional Model, Release 2.1.1, published by HL7 International / Electronic Health Records. This guide is not an authorized publication; it is the continuous build for version 2.1.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/ehrsfm-ig/ and changes regularly. See the Directory of published versions

## Resource Profile: FMFunction

Official URL: http://hl7.org/ehrs/uv/ehrsfmr2/StructureDefinition/FMFunction | Version: 2.1.1
Standards status: Normative Active as of 2025-12-13 | Maturity Level: 1 | Computable Name: FMFunction

This StructureDefinition represents the base EHR-S FM Function type

Usages:

- Examples for this Profile: AS_1_1_Manage_Provider_Registry_or_Directory, AS_1_2_Manage_Provider_s_Location_Within_Facility, AS_1_3_Provider_s_On_Call_Location, AS_1_4_Manage_Provider_s_Location_s__or_Office_s_... Show 46 more, AS_1_5_Team_Group_of_Providers_Registry_or_Directory, AS_1_6_Provider_Caseload_Panel, AS_1_7_Manage_Practitioner_Patient_Relationships, AS_1_8_Support_for_Provider_Credentialing, AS_2_1_Synchronize_Patient_Demographic_Data, AS_2_2_Manage_Patient_s_Location_Within_Facility, AS_2_3_Manage_Patient_s_Residence_for_the_Provision_and_Administration_of_Services, AS_2_4_Manage_Patient_Bed_Assignment, AS_2_5_Manage_Patients_in_Healthcare_Programs, AS_2_6_Manage_Patient_Privacy_Consent_Directives, AS_2_Manage_Patient_Demographics__Location_and_Synchronization, AS_3_1_Manage_Information_Exchange_with_Patient_PHR, AS_3_2_1_Manage_Consents_and_Authorizations_from_a_PHR, AS_3_2_2_Manage_PHR_End_of_Life_Documents_and_Other_Advance_Directives, AS_4_1_Manage_Registry_Communication, AS_4_2_Support_for_Communications_Within_an_Organization, AS_4_3_Support_for_Communications_Between_Organizations, AS_4_4_Support_for_Provider_Employer_Communications, AS_5_1_Clinical_Task_Creation__Assignment_and_Routing, AS_5_2_Clinical_Task_Assignment_and_Routing_for_Medication_Management___Administration, AS_5_3_Clinical_Task_Linking, AS_5_4_Clinical_Task_Status_Tracking, AS_6_1_Manage_Facility_Demographics, AS_6_2_Manage_Healthcare_Resource_Availability_Information, AS_6_3_Manage_Healthcare_Resource_Scheduling, AS_6_4_Support_Triage_Categorization, AS_6_5_Support_Waiting_Room_Management, AS_6_6_Support_Patient_Acuity_and_Severity_Determination, AS_7_1_Manage_Presentation_Filters, AS_7_2_Support_Encounter_Documentation, AS_7_3_Support_Financial_Reporting, AS_7_4_Support_Remote_Healthcare_Services, AS_7_5_Manage_Transitions_of_Care_and_Discharged_Patients, AS_8_1_Support_Rules_Driven_Clinical_Coding, AS_8_2_Support_Rules_Driven_Financial___Administrative_Coding, AS_8_3_Support_Integration_of_Cost_Financial_information_into_Patient_Care, AS_8_4_Manage_Healthcare_Facility_Performance_Information, AS_8_5_Support_for_Provider_Training, AS_9_1_Support_Financial_Plan_Enrollment, AS_9_2_Support_Financial_Eligibility_Verification, AS_9_3_Support_Service_Authorizations, AS_9_4_Support_Service_Requests_and_Claims, AS_9_5_Support_Financial_Claims___Encounter_Reports, CP_1_1_Manage_Patient_History, CP_1_2_Manage_Allergy__Intolerance_and_Adverse_Reaction_List and CP_1_3_Manage_Medication_List

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Requirements | C | 0..* | Requirements | A set of requirements - features of systems that are necessary Constraints: cnl-0, FMFLC08, FMFLC09, FMFLC10, FMFLC11, FMFLC12, FMFLC13
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
contained |  | 0..* | Resource | Contained, inline Resources
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
statement | C | 0..* | BackboneElement | Actual statement as markdown Constraints: FMTSR03, FMCC001, FMCC002, FMSVR08, FMFLC15
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
key |  | 1..1 | id | Key that identifies this statement
requirement |  | 1..1 | markdown | The actual requirement
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Requirements.status | Base | required | PublicationStatus | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
FMCC001 | warning | Requirements.statement | The Conditional Criteria is not structured correctly. | `(conditionality and requirement.toString().startsWith('IF ').not()).not()`
FMCC002 | warning | Requirements.statement | The Criteria is structured as conditional but conditional is not indicated. | `(conditionality.not() and requirement.toString().startsWith('IF ')).not()`
FMFLC08 | warning | Requirements | Function names must not end with a period. | `title.endsWith('.').not()`
FMFLC09 | error | Requirements | Function must have a statement about its purpose. | `purpose`
FMFLC10 | warning | Requirements | Function purpose statement must end in a period. | `purpose.toString().endsWith('.')`
FMFLC11 | error | Requirements | Function must have a description. | `description`
FMFLC12 | warning | Requirements | Function description statement must end in a period. | `description.toString().endsWith('.')`
FMFLC13 | error | Requirements | Function must have one or more conformance criteria statements. | `statement.count() > 0`
FMFLC15 | error | Requirements.statement | Criterion must have a textual description. | `requirement.hasValue()`
FMSVR08 | warning | Requirements.statement | Optionality attribute does not match the optionality in the text. | `requirement.toString().contains(conformance.first())`
FMTSR03 | warning | Requirements.statement | The text is not single spaced (there are multiple spaces). | `requirement.toString().contains(' ').not()`
cnl-0 | warning | Requirements | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Requirements | C | 0..* | Requirements | A set of requirements - features of systems that are necessary Constraints: FMFLC08, FMFLC09, FMFLC10, FMFLC11, FMFLC12, FMFLC13
statement | C | 0..* | BackboneElement | Actual statement as markdown Constraints: FMTSR03, FMCC001, FMCC002, FMSVR08, FMFLC15
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
FMCC001 | warning | Requirements.statement | The Conditional Criteria is not structured correctly. | `(conditionality and requirement.toString().startsWith('IF ').not()).not()`
FMCC002 | warning | Requirements.statement | The Criteria is structured as conditional but conditional is not indicated. | `(conditionality.not() and requirement.toString().startsWith('IF ')).not()`
FMFLC08 | warning | Requirements | Function names must not end with a period. | `title.endsWith('.').not()`
FMFLC09 | error | Requirements | Function must have a statement about its purpose. | `purpose`
FMFLC10 | warning | Requirements | Function purpose statement must end in a period. | `purpose.toString().endsWith('.')`
FMFLC11 | error | Requirements | Function must have a description. | `description`
FMFLC12 | warning | Requirements | Function description statement must end in a period. | `description.toString().endsWith('.')`
FMFLC13 | error | Requirements | Function must have one or more conformance criteria statements. | `statement.count() > 0`
FMFLC15 | error | Requirements.statement | Criterion must have a textual description. | `requirement.hasValue()`
FMSVR08 | warning | Requirements.statement | Optionality attribute does not match the optionality in the text. | `requirement.toString().contains(conformance.first())`
FMTSR03 | warning | Requirements.statement | The text is not single spaced (there are multiple spaces). | `requirement.toString().contains(' ').not()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Requirements | C | 0..* | Requirements | A set of requirements - features of systems that are necessary Constraints: cnl-0, FMFLC08, FMFLC09, FMFLC10, FMFLC11, FMFLC12, FMFLC13
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
Additional Bindings | Purpose
CommonLanguages | Starter
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
url | Σ C | 0..1 | uri | Canonical identifier for this Requirements, represented as a URI (globally unique) Constraints: cnl-1
identifier | Σ | 0..* | Identifier | Additional identifier for the Requirements (business identifier)
version | Σ | 0..1 | string | Business version of the Requirements
versionAlgorithm[x] | Σ | 0..1 |  | How to compare versions Binding: VersionAlgorithm (extensible)
versionAlgorithmString |  |  | string |
versionAlgorithmCoding |  |  | Coding |
name | Σ C | 0..1 | string | Name for this Requirements (computer friendly)
title | Σ | 0..1 | string | Name for this Requirements (human friendly)
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
experimental | Σ | 0..1 | boolean | For testing purposes, not real usage
date | Σ | 0..1 | dateTime | Date last changed
publisher | Σ | 0..1 | string | Name of the publisher/steward (organization or individual)
contact | Σ | 0..* | ContactDetail | Contact details for the publisher
description |  | 0..1 | markdown | Natural language description of the requirements
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for Requirements (if applicable) Binding: JurisdictionValueSet (extensible): Countries and regions within which this artifact is targeted for use.
purpose |  | 0..1 | markdown | Why this Requirements is defined
copyright |  | 0..1 | markdown | Use and/or publishing restrictions
copyrightLabel |  | 0..1 | string | Copyright holder and year(s)
derivedFrom | Σ | 0..* | canonical(Requirements) | Other set of Requirements this builds on
reference |  | 0..* | url | External artifact (rule/document etc. that) created this set of requirements
actor |  | 0..* | canonical(ActorDefinition) | Actor for these requirements
statement | C | 0..* | BackboneElement | Actual statement as markdown Constraints: FMTSR03, FMCC001, FMCC002, FMSVR08, FMFLC15
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
key |  | 1..1 | id | Key that identifies this statement
label |  | 0..1 | string | Short Human label for this statement
conformance |  | 0..* | code | SHALL | SHOULD | MAY | SHOULD-NOT Binding: ConformanceExpectation (required)
conditionality |  | 0..1 | boolean | Set to true if requirements statement is conditional
requirement |  | 1..1 | markdown | The actual requirement
derivedFrom |  | 0..1 | string | Another statement this clarifies/restricts ([url#]key)
parent |  | 0..1 | string | A larger requirement that this requirement helps to refine and enable
satisfiedBy |  | 0..* | url | Design artifact that satisfies this requirement
reference |  | 0..* | url | External artifact (rule/document etc. that) created this requirement
source |  | 0..* | Reference(CareTeam | Device | Group | HealthcareService | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) | Who asked for this statement
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Requirements.language | Base | required | All Languages | 📍5.0.0 | FHIR Std.
Requirements.versionAlgorithm[x] | Base | extensible | Version Algorithm | 📍5.0.0 | FHIR Std.
Requirements.status | Base | required | PublicationStatus | 📍5.0.0 | FHIR Std.
Requirements.jurisdiction | Base | extensible | Jurisdiction ValueSet | 📍5.0.0 | FHIR Std.
Requirements.statement.​conformance | Base | required | Conformance Expectation | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
FMCC001 | warning | Requirements.statement | The Conditional Criteria is not structured correctly. | `(conditionality and requirement.toString().startsWith('IF ').not()).not()`
FMCC002 | warning | Requirements.statement | The Criteria is structured as conditional but conditional is not indicated. | `(conditionality.not() and requirement.toString().startsWith('IF ')).not()`
FMFLC08 | warning | Requirements | Function names must not end with a period. | `title.endsWith('.').not()`
FMFLC09 | error | Requirements | Function must have a statement about its purpose. | `purpose`
FMFLC10 | warning | Requirements | Function purpose statement must end in a period. | `purpose.toString().endsWith('.')`
FMFLC11 | error | Requirements | Function must have a description. | `description`
FMFLC12 | warning | Requirements | Function description statement must end in a period. | `description.toString().endsWith('.')`
FMFLC13 | error | Requirements | Function must have one or more conformance criteria statements. | `statement.count() > 0`
FMFLC15 | error | Requirements.statement | Criterion must have a textual description. | `requirement.hasValue()`
FMSVR08 | warning | Requirements.statement | Optionality attribute does not match the optionality in the text. | `requirement.toString().contains(conformance.first())`
FMTSR03 | warning | Requirements.statement | The text is not single spaced (there are multiple spaces). | `requirement.toString().contains(' ').not()`
cnl-0 | warning | Requirements | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')`
cnl-1 | warning | Requirements.url | URL should not contain | or # - these characters make processing canonical references problematic | `exists() implies matches('^[^|# ]+$')`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

Summary

Maturity: 1

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Requirements | C | 0..* | Requirements | A set of requirements - features of systems that are necessary Constraints: cnl-0, FMFLC08, FMFLC09, FMFLC10, FMFLC11, FMFLC12, FMFLC13
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
contained |  | 0..* | Resource | Contained, inline Resources
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
statement | C | 0..* | BackboneElement | Actual statement as markdown Constraints: FMTSR03, FMCC001, FMCC002, FMSVR08, FMFLC15
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
key |  | 1..1 | id | Key that identifies this statement
requirement |  | 1..1 | markdown | The actual requirement
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Requirements.status | Base | required | PublicationStatus | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
FMCC001 | warning | Requirements.statement | The Conditional Criteria is not structured correctly. | `(conditionality and requirement.toString().startsWith('IF ').not()).not()`
FMCC002 | warning | Requirements.statement | The Criteria is structured as conditional but conditional is not indicated. | `(conditionality.not() and requirement.toString().startsWith('IF ')).not()`
FMFLC08 | warning | Requirements | Function names must not end with a period. | `title.endsWith('.').not()`
FMFLC09 | error | Requirements | Function must have a statement about its purpose. | `purpose`
FMFLC10 | warning | Requirements | Function purpose statement must end in a period. | `purpose.toString().endsWith('.')`
FMFLC11 | error | Requirements | Function must have a description. | `description`
FMFLC12 | warning | Requirements | Function description statement must end in a period. | `description.toString().endsWith('.')`
FMFLC13 | error | Requirements | Function must have one or more conformance criteria statements. | `statement.count() > 0`
FMFLC15 | error | Requirements.statement | Criterion must have a textual description. | `requirement.hasValue()`
FMSVR08 | warning | Requirements.statement | Optionality attribute does not match the optionality in the text. | `requirement.toString().contains(conformance.first())`
FMTSR03 | warning | Requirements.statement | The text is not single spaced (there are multiple spaces). | `requirement.toString().contains(' ').not()`
cnl-0 | warning | Requirements | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

Differential View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Requirements | C | 0..* | Requirements | A set of requirements - features of systems that are necessary Constraints: FMFLC08, FMFLC09, FMFLC10, FMFLC11, FMFLC12, FMFLC13
statement | C | 0..* | BackboneElement | Actual statement as markdown Constraints: FMTSR03, FMCC001, FMCC002, FMSVR08, FMFLC15
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
FMCC001 | warning | Requirements.statement | The Conditional Criteria is not structured correctly. | `(conditionality and requirement.toString().startsWith('IF ').not()).not()`
FMCC002 | warning | Requirements.statement | The Criteria is structured as conditional but conditional is not indicated. | `(conditionality.not() and requirement.toString().startsWith('IF ')).not()`
FMFLC08 | warning | Requirements | Function names must not end with a period. | `title.endsWith('.').not()`
FMFLC09 | error | Requirements | Function must have a statement about its purpose. | `purpose`
FMFLC10 | warning | Requirements | Function purpose statement must end in a period. | `purpose.toString().endsWith('.')`
FMFLC11 | error | Requirements | Function must have a description. | `description`
FMFLC12 | warning | Requirements | Function description statement must end in a period. | `description.toString().endsWith('.')`
FMFLC13 | error | Requirements | Function must have one or more conformance criteria statements. | `statement.count() > 0`
FMFLC15 | error | Requirements.statement | Criterion must have a textual description. | `requirement.hasValue()`
FMSVR08 | warning | Requirements.statement | Optionality attribute does not match the optionality in the text. | `requirement.toString().contains(conformance.first())`
FMTSR03 | warning | Requirements.statement | The text is not single spaced (there are multiple spaces). | `requirement.toString().contains(' ').not()`

Snapshot ViewView

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Requirements | C | 0..* | Requirements | A set of requirements - features of systems that are necessary Constraints: cnl-0, FMFLC08, FMFLC09, FMFLC10, FMFLC11, FMFLC12, FMFLC13
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
Additional Bindings | Purpose
CommonLanguages | Starter
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
url | Σ C | 0..1 | uri | Canonical identifier for this Requirements, represented as a URI (globally unique) Constraints: cnl-1
identifier | Σ | 0..* | Identifier | Additional identifier for the Requirements (business identifier)
version | Σ | 0..1 | string | Business version of the Requirements
versionAlgorithm[x] | Σ | 0..1 |  | How to compare versions Binding: VersionAlgorithm (extensible)
versionAlgorithmString |  |  | string |
versionAlgorithmCoding |  |  | Coding |
name | Σ C | 0..1 | string | Name for this Requirements (computer friendly)
title | Σ | 0..1 | string | Name for this Requirements (human friendly)
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact.
experimental | Σ | 0..1 | boolean | For testing purposes, not real usage
date | Σ | 0..1 | dateTime | Date last changed
publisher | Σ | 0..1 | string | Name of the publisher/steward (organization or individual)
contact | Σ | 0..* | ContactDetail | Contact details for the publisher
description |  | 0..1 | markdown | Natural language description of the requirements
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for Requirements (if applicable) Binding: JurisdictionValueSet (extensible): Countries and regions within which this artifact is targeted for use.
purpose |  | 0..1 | markdown | Why this Requirements is defined
copyright |  | 0..1 | markdown | Use and/or publishing restrictions
copyrightLabel |  | 0..1 | string | Copyright holder and year(s)
derivedFrom | Σ | 0..* | canonical(Requirements) | Other set of Requirements this builds on
reference |  | 0..* | url | External artifact (rule/document etc. that) created this set of requirements
actor |  | 0..* | canonical(ActorDefinition) | Actor for these requirements
statement | C | 0..* | BackboneElement | Actual statement as markdown Constraints: FMTSR03, FMCC001, FMCC002, FMSVR08, FMFLC15
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
key |  | 1..1 | id | Key that identifies this statement
label |  | 0..1 | string | Short Human label for this statement
conformance |  | 0..* | code | SHALL | SHOULD | MAY | SHOULD-NOT Binding: ConformanceExpectation (required)
conditionality |  | 0..1 | boolean | Set to true if requirements statement is conditional
requirement |  | 1..1 | markdown | The actual requirement
derivedFrom |  | 0..1 | string | Another statement this clarifies/restricts ([url#]key)
parent |  | 0..1 | string | A larger requirement that this requirement helps to refine and enable
satisfiedBy |  | 0..* | url | Design artifact that satisfies this requirement
reference |  | 0..* | url | External artifact (rule/document etc. that) created this requirement
source |  | 0..* | Reference(CareTeam | Device | Group | HealthcareService | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) | Who asked for this statement
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Requirements.language | Base | required | All Languages | 📍5.0.0 | FHIR Std.
Requirements.versionAlgorithm[x] | Base | extensible | Version Algorithm | 📍5.0.0 | FHIR Std.
Requirements.status | Base | required | PublicationStatus | 📍5.0.0 | FHIR Std.
Requirements.jurisdiction | Base | extensible | Jurisdiction ValueSet | 📍5.0.0 | FHIR Std.
Requirements.statement.​conformance | Base | required | Conformance Expectation | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
FMCC001 | warning | Requirements.statement | The Conditional Criteria is not structured correctly. | `(conditionality and requirement.toString().startsWith('IF ').not()).not()`
FMCC002 | warning | Requirements.statement | The Criteria is structured as conditional but conditional is not indicated. | `(conditionality.not() and requirement.toString().startsWith('IF ')).not()`
FMFLC08 | warning | Requirements | Function names must not end with a period. | `title.endsWith('.').not()`
FMFLC09 | error | Requirements | Function must have a statement about its purpose. | `purpose`
FMFLC10 | warning | Requirements | Function purpose statement must end in a period. | `purpose.toString().endsWith('.')`
FMFLC11 | error | Requirements | Function must have a description. | `description`
FMFLC12 | warning | Requirements | Function description statement must end in a period. | `description.toString().endsWith('.')`
FMFLC13 | error | Requirements | Function must have one or more conformance criteria statements. | `statement.count() > 0`
FMFLC15 | error | Requirements.statement | Criterion must have a textual description. | `requirement.hasValue()`
FMSVR08 | warning | Requirements.statement | Optionality attribute does not match the optionality in the text. | `requirement.toString().contains(conformance.first())`
FMTSR03 | warning | Requirements.statement | The text is not single spaced (there are multiple spaces). | `requirement.toString().contains(' ').not()`
cnl-0 | warning | Requirements | Name should be usable as an identifier for the module by machine processing applications such as code generation | `name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')`
cnl-1 | warning | Requirements.url | URL should not contain | or # - these characters make processing canonical references problematic | `exists() implies matches('^[^|# ]+$')`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

Summary

Maturity: 1

Other representations of profile: CSV, Excel, Schematron