HL7 Personal Health Record System Functional Model, Release 2
2.0.1-ballot - Normative Ballot

Publication Build: This will be filled in by the publication tooling

## Resource Profile: FMFunction

Official URL: http://hl7.org/ehrs/uv/phrsfmr2/StructureDefinition/FMFunction | Version: 2.0.1-ballot
Standards status: Normative | Maturity Level: 1 | Computable Name: FMFunction

This StructureDefinition represents the base EHR-S FM Function type

Usage:

- Examples for this Resource Profile: PH_0_Personal_Health, PH_1_1_Identify_and_Maintain_a_PHR_Account_Holder_Record, PH_1_2_Manage_PHR_Account_Holder_Demographic_Information, PH_1_3_Manage_PHR_Account_Holder_and_Family_Preferences... Show 217 more, PH_1_4_Manage_PHR_Account_Holder_Advance_Directives, PH_1_5_Manage_Consents_and_Authorizations, PH_1_6_Manage_PHR_Account_Status, PH_2_1_Manage_PHR_Account_Holder_Originated_Data, PH_2_2_Manage_Data_from_External_Administrative_Sources, PH_2_3_Manage_Data_and_Documentation_from_External_Clinical_Sources, PH_2_4_Produce_and_Present_Ad_Hoc_Views_of_the_Personal_Health_Record, PH_2_5_1_Manage_Problem_Lists, PH_2_5_10_Manage_Social_History, PH_2_5_11_Nutrition_and_Diet_Information, PH_2_5_2_Manage_Medication_List, PH_2_5_3_Manage_Test_Results, PH_2_5_4_Manage_Allergy__Intolerance__and_Adverse_Reaction_List, PH_2_5_5_Manage_Immunization_List, PH_2_5_6_Manage_Medical_History, PH_2_5_7_Manage_Surgical_History, PH_2_5_8_Maintain_Family_History, PH_2_5_9_Manage_Personal_Genetic_Information, PH_2_5_Manage_Historical_and_Current_State_Data, PH_2_Manage_Historical_Clinical_Data_and_Current_State_Data, PH_3_1_1_Manage_Personal_Observations_and_Care, PH_3_1_2_Communication_with_Home_Monitoring_Devices, PH_3_2_Manage_Account_Holder_Implemented_Care_Plans, PH_3_3_Manage_Provider_Initiated_Care_Plans, PH_3_4_Manage_Medications, PH_3_5_1_Manage_Health_Calendar, PH_3_5_2_Manage_Tasks, PH_3_5_3_Manage_a_Registry_and_Directory_of_Actors, PH_3_5_4_Manage_Reminders, PH_3_5_5_Manage_Health_Alerts, PH_3_5_6_Manage_Recommendations, PH_3_6_1_Public_Health_Reporting, PH_3_6_2_Public_Health_Risk_Alerts, PH_4_Manage_Health_Education, PH_5_1_Manage_Guidelines_and_Protocols, PH_5_2_Drug_Interaction_Checking, PH_5_3_Care_Related_Decision_Support, PH_5_4_Integration_with_Third_Party_Clinical_Decision_Support_Services, PH_5_5_PHR_Account_Holder_Configured_Alerts__Reminders__and_or_Notifications, PH_5_6_Manage_Updated_Orders__Recommendations__or_Alternative_Care_Plans, PH_6_1_PHR_Account_Holder_Health_Data_Derived_from_Administrative_and_Financial_Sources, PH_6_2_Manage_Self_Assessments__i_e___Symptoms_, PH_6_3_Communications_Between_Provider_and_PHR_Account_Holder_and_or_PHR_Account_Holder_Proxy, PH_6_4_Data_and_Documentation_from_External_Clinical_Sources, PH_6_5_Provider_Assessments, PH_6_6_Referrals_and_Referral_Process, PH_6_7_Patient_Specific_Care__Instructions__Care_Plans__Treatment_Plans__Guidelines_and_Protocols, PH_6_8_Manage_Patient_Specific_Care_and_Treatment_Plans, RI_1_1_1_1_Evidence_of_Record_Entry_Originate_Retain_Event, RI_1_1_1_Originate_Retain_Record_Lifecycle_Event, RI_1_1_10_1_Evidence_of_Record_Entry_De_Identification_Event, RI_1_1_10_De_Identify__Anononymize__Record_Lifecycle_Event, RI_1_1_11_1_Evidence_of_Record_Entry_Pseudomynization_Event, RI_1_1_11_Pseudonymize_Record_Lifecycle_Event, RI_1_1_12_1_Evidence_of_Record_Entry_Re_Identification_Event, RI_1_1_12_Re_identify_Record_Lifecycle_Event, RI_1_1_13_1_Evidence_of_Record_Entry_Extraction_Event, RI_1_1_13_Extract_Record_Lifecycle_Event, RI_1_1_14_1_Evidence_of_Record_Entry_Archive_Event, RI_1_1_14_Archive_Record_Lifecycle_Event, RI_1_1_15_1_Evidence_of_Record_Entry_Restore_Event, RI_1_1_15_Restore_Record_Lifecycle_Event, RI_1_1_16_1_Evidence_of_Record_Entry_Destruction_Event, RI_1_1_16_Destroy_Delete_Record_Lifecycle_Event, RI_1_1_17_1_Evidence_of_Record_Entry_Deprecation_Retraction_Event, RI_1_1_17_Deprecate_Record_Lifecycle_Event, RI_1_1_18_1_Evidence_of_Record_Entry_Re_Activation_Event, RI_1_1_18_Re_activate_Record_Lifecycle_Event, RI_1_1_19_1_Evidence_of_Record_Entry_Merge_Event, RI_1_1_19_Merge_Record_Lifecycle_Event, RI_1_1_2_1_Evidence_of_Record_Entry_Amendment_Event, RI_1_1_2_Amend__Update__Record_Lifecycle_Event, RI_1_1_20_1_Evidence_of_Record_Entry_Unmerge_Event, RI_1_1_20_Unmerge_Record_Lifecycle_Event, RI_1_1_21_1_Evidence_of_Record_Entry_Link_Event, RI_1_1_21_Link_Record_Lifecycle_Event , RI_1_1_22_1_Evidence_of_Record_Entry_Unlink_Event, RI_1_1_22_Unlink_Record_Lifecycle_Event, RI_1_1_23_1_Evidence_of_Record_Entry_Legal_Hold_Event, RI_1_1_23_Add_Legal_Hold_Record_Lifecycle_Event, RI_1_1_24_1_Evidence_of_Record_Entry_Legal_Hold_Removal_Event, RI_1_1_24_Remove_Legal_Hold_Record_Lifecycle_Event, RI_1_1_25_1_Evidence_of_Record_Entry_Verification_Event, RI_1_1_25_Verify_Record_Entries, RI_1_1_26_1_Evidence_of_Record_Entry_Encryption_Event, RI_1_1_26_Encrypt_Record_Entries, RI_1_1_27_1_Evidence_of_Record_Entry_Decryption_Event, RI_1_1_27_Decrypt_Record_Entries, RI_1_1_3_1_Evidence_of_Record_Entry_Translate_Event, RI_1_1_3_Transform_Translate_Record_Lifecycle_Event, RI_1_1_4_1_Evidence_of_Record_Entry_Attestation_Event, RI_1_1_4_Attest_Record_Lifecycle_Event, RI_1_1_5_1_Evidence_of_Record_Entry_View_Access_Event, RI_1_1_5_Access_View_Record_Lifecycle_Event, RI_1_1_6_1_Evidence_of_Record_Entry_Output_Report_Event, RI_1_1_6_Report__Output__Record_Lifecycle_Event, RI_1_1_7_1_Evidence_of_Record_Entry_Disclosure_Event, RI_1_1_7_Disclose_Record_Lifecycle_Event, RI_1_1_8_1_Evidence_of_Record_Entry_Transmit_Event, RI_1_1_8_Transmit_Record_Lifecycle_Event, RI_1_1_9_1_Evidence_of_Record_Entry_Receive_Retain_Event, RI_1_1_9_Receive_Retain_Record_Lifecycle_Event, RI_1_1_Record_Lifecycle, RI_1_2_1_Manage_Record_Entries, RI_1_2_2_Manage_Record_Entries_for_Legal_Hold, RI_1_3_1_Manage_Record_Pending_State, RI_1_3_2_Manage_Record_Entry_Amended__Corrected_and_Augmented_State, RI_1_3_3_Manage_Record_Entry_Succession_and_Version_Control, RI_1_3_4_Manage_Record_Entry_Retraction, RI_1_4_Record_Completeness, RI_2_Record_Synchronization, RI_3_Record_Archive_and_Restore, S_1_1_Manage_Selection_of_Providers, S_1_2_Manage_PHR_Account_Holder_Provider_s_Information, S_1_3_Manage_Health_Care_Provider_Information, S_1_4_Manage_Provider_Transparency_Information, S_1_5_Manage_Healthcare_Facility_Information, S_1_6_Manage_Healthcare_Facility_Transparency_Information, S_1_7_Manage_Surveys_on_the_Healthcare_Experience, S_2_1_Capture_and_Read_Health_Insurance_Account_and_Benefit_Information, S_2_2_Manage_Health_Insurance_Plan_Benefit_Information, S_2_3_Manage_Standard_Reporting, S_2_4_Manage_Ad_Hoc_Reporting, S_3_1_Manage_Interoperability_of_PHR_Account_Holder_Demographics, S_3_2_Manage_PHR_Conditions_of_Use, S_3_3_1_Manage_Consents_and_Authorizations, S_3_3_2_Manage_End_of_Life_Documents_and_Other_Advance_Directives, S_3_3_3_Manage_Documents_for_Personal_Representation, S_3_4_Manage_Data_Masking_for_Sensitive_or_Selective_Information, S_3_5_Manage_PHR_Output, S_3_6_Manage_PHR_Data_Import_and_Export, S_3_7_Manage_New__Additional__or_Other_Use_Request, S_3_8_Manage_Requests_for_Release_of_Information, S_3_9_Manage_Information_Views, S_4_1_1_Capture_Genomic_Proteomic_Data_and_Documentation_from_External_Clinical_Sources, S_4_1_2_Manage_De_Identified_Data_Request_Process, S_4_1_3_Manage_PHR_Account_Holder_Notification_of_Clinical_Trials, S_4_1_4_Manage_PHR_Account_Holder_Enrollment_in_Clinical_Trials_or_Research, S_4_2_Registry_Notification_and_Management, S_4_3_Manage_Donor_Information, S_4_4_Manage_PHR_Account_Holder_Education_Material_Updates, S_4_5_Manage_PHR_Account_Holder_Reminder_Information_Updates, S_4_6_1_Manage_Public_Health_Related_Updates, S_4_6_2_Manage_Access_to_Public_Health_Information_Resources, S_4_6_3_Manage_Access_to_Public_Health_Knowledge_Bases, S_4_6_4_Manage_Enrollment_in_Public_Health_Programs, S_4_6_5_Manage_Enrollment_in_Public_Health_Notifications_and_Alerts, S_4_6_6_Enrollment_in_Public_Health_Surveys, TI_1_1_Entity_Authentication, TI_1_10_Service_Availability, TI_1_11_Trusted_Information_Exchange_Environment, TI_1_2_Entity_Authorization, TI_1_3_1_Emergency_Access_Control, TI_1_3_Entity_Access_Control, TI_1_4_Patient_Access_Management, TI_1_5_Non_Repudiation , TI_1_6_Secure_Data_Exchange, TI_1_7_Secure_Data_Routing, TI_1_8_1_Redact_Patient_Identifying_Information, TI_1_8_2_Protect_Individual_Patient_Identity, TI_1_8_Patient_Privacy_and_Confidentiality, TI_1_9_System_Operation_Measurements, TI_10_1_Standard_or_Preferred_Clinical_Models, TI_10_2_Maintenance_and_Versioning_of_Standard_or_Preferred_Clinical_Models, TI_10_3_Clinical_Model_Mapping, TI_2_1_1_Record_Entry_Audit_Triggers, TI_2_1_2_1_Security_Event_Security_Audit_Trigger, TI_2_1_2_2_User_Authentication_to_the_System__Start_user_session__Security_Audit_Trigger, TI_2_1_2_3_User_Authentication__System_Prompt_for_Password_Change__Security_Audit_Trigger, TI_2_1_2_4_User_Request_to_Change_Password_Security_Audit_Trigger, TI_2_1_2_5_User_Log_Out__End_user_session__Security_Audit_Trigger, TI_2_1_2_6_User_Access__Successful__Security_Audit_Trigger, TI_2_1_2_7_User_Attempts_to_Access_Data__Unsuccessful____Access_Denied__Security_Audit_Trigger, TI_2_1_2_8_Extraordinary_User_Access__Break_the_Glass__Security_Audit_Trigger, TI_2_1_2_9_User_Permissions__Authorization__Security_Audit_Trigger, TI_2_1_2_Security_Audit_Triggers, TI_2_1_3_1_System_Event_System_Audit_Trigger, TI_2_1_3_10_Maintenance_Completed_System_Audit_Trigger, TI_2_1_3_11_Resource_Usage_System_Audit_Trigger, TI_2_1_3_12_System_Maintenance_Events__Local_Access_System_Audit_Trigger, TI_2_1_3_13_System_Maintenance_Events__Remote_Access_System_Audit_Trigger, TI_2_1_3_14_System_Maintenance___PHR_or_Clinical_Software_System_Audit_Trigger, TI_2_1_3_15_System_Maintenance___Codes__Vocabulary__Knowledge__Rules_System_Audit_Trigger, TI_2_1_3_16_Data_Corruption_System_Audit_Trigger, TI_2_1_3_2_System_Started_System_Audit_Trigger, TI_2_1_3_3_Back_Up_Started_System_Audit_Trigger, TI_2_1_3_4_Back_Up_Completed_System_Audit_Trigger, TI_2_1_3_5_Back_Up_Recovery_Started_System_Audit_Trigger, TI_2_1_3_6_Back_Up_Recovery_Completed_System_Audit_Trigger, TI_2_1_3_7_Batch_Job_Started_System_Audit_Trigger, TI_2_1_3_8_Batch_Job_Completed_System_Audit_Trigger, TI_2_1_3_9_Maintenance_Started_System_Audit_Trigger, TI_2_1_3_System_Audit_Triggers, TI_2_1_4_1_Clinical_Alerts_Clinical_Audit_Trigger, TI_2_1_4_2_Acknowledgements_of_Clinically_Significant_Report_Changes_Clinical_Audit_Trigger, TI_2_1_4_3_Disable_Decision_Support_Alerts_Clinical_Audit_Trigger, TI_2_1_4_Clinical_Audit_Triggers, TI_2_1_Audit_Triggers, TI_2_2_1_Audit_Log_Indelibility, TI_2_2_Audit_Log_Management, TI_2_3_Audit_Notification_and_Review, TI_2_Audit, TI_3_Registry_and_Directory_Services, TI_4_1_Standard_Terminology_and_Terminology_Models, TI_4_2_Maintenance_and_Versioning_of_Standard_Terminologies, TI_4_3_Terminology_Mapping, TI_5_1_1_Application_Interchange_Standards, TI_5_1_2_Structured_Document_Interchange_Standards, TI_5_1_3_Structured_Message_Interchange_Standards, TI_5_2_Interchange_Standards_Versioning_and_Maintenance, TI_5_3_Standards_Based_Application_Integration, TI_5_4_Interchange_Agreements, TI_5_5_System_Integration, TI_6_Business_Rules_Management, TI_7_Workflow_Management, TI_8_Database_Backup_and_Recovery and TI_9_System_Management_Operations_and_Performance

### Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

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

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Requirements | C | 0..* | Requirements | A set of requirements - features of systems that are necessary cnl-0: Name should be usable as an identifier for the module by machine processing applications such as code generation FMFLC08: Function names must not end with a period. FMFLC09: Function must have a statement about its purpose. FMFLC10: Function purpose statement must end in a period. FMFLC11: Function must have a description. FMFLC12: Function description statement must end in a period. FMFLC13: Function must have one or more conformance criteria statements.
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created ele-1: All FHIR elements must have a @value or children
contained |  | 0..* | Resource | Contained, inline Resources
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. ele-1: All FHIR elements must have a @value or children
statement | C | 0..* | BackboneElement | Actual statement as markdown ele-1: All FHIR elements must have a @value or children FMTSR03: The text is not single spaced (there are multiple spaces). FMCC001: The Conditional Criteria is not structured correctly. FMCC002: The Criteria is structured as conditional but conditional is not indicated. FMSVR08: Optionality attribute does not match the optionality in the text. FMFLC15: Criterion must have a textual description.
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
key |  | 1..1 | id | Key that identifies this statement ele-1: All FHIR elements must have a @value or children
requirement |  | 1..1 | markdown | The actual requirement ele-1: All FHIR elements must have a @value or children
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Requirements.status | required | PublicationStatus `http://hl7.org/fhir/ValueSet/publication-status|5.0.0` from the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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() |

This structure is derived from Requirements

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Requirements | C | 0..* | Requirements | A set of requirements - features of systems that are necessary FMFLC08: Function names must not end with a period. FMFLC09: Function must have a statement about its purpose. FMFLC10: Function purpose statement must end in a period. FMFLC11: Function must have a description. FMFLC12: Function description statement must end in a period. FMFLC13: Function must have one or more conformance criteria statements.
statement | C | 0..* | BackboneElement | Actual statement as markdown FMTSR03: The text is not single spaced (there are multiple spaces). FMCC001: The Conditional Criteria is not structured correctly. FMCC002: The Criteria is structured as conditional but conditional is not indicated. FMSVR08: Optionality attribute does not match the optionality in the text. FMFLC15: Criterion must have a textual description.
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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
--- | --- | --- | --- | ---
Requirements | C | 0..* | Requirements | A set of requirements - features of systems that are necessary cnl-0: Name should be usable as an identifier for the module by machine processing applications such as code generation FMFLC08: Function names must not end with a period. FMFLC09: Function must have a statement about its purpose. FMFLC10: Function purpose statement must end in a period. FMFLC11: Function must have a description. FMFLC12: Function description statement must end in a period. FMFLC13: Function must have one or more conformance criteria statements.
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
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) cnl-1: URL should not contain | or # - these characters make processing canonical references problematic
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 FMTSR03: The text is not single spaced (there are multiple spaces). FMCC001: The Conditional Criteria is not structured correctly. FMCC002: The Criteria is structured as conditional but conditional is not indicated. FMSVR08: Optionality attribute does not match the optionality in the text. FMFLC15: Criterion must have a textual description.
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 | Conformance | ValueSet | URI
Requirements.language | required | AllLanguages `http://hl7.org/fhir/ValueSet/all-languages|5.0.0` from the FHIR Standard
Requirements.versionAlgorithm[x] | extensible | VersionAlgorithm `http://hl7.org/fhir/ValueSet/version-algorithm` from the FHIR Standard
Requirements.status | required | PublicationStatus `http://hl7.org/fhir/ValueSet/publication-status|5.0.0` from the FHIR Standard
Requirements.jurisdiction | extensible | JurisdictionValueSet `http://hl7.org/fhir/ValueSet/jurisdiction` from the FHIR Standard
Requirements.statement.conformance | required | ConformanceExpectation `http://hl7.org/fhir/ValueSet/conformance-expectation|5.0.0` from the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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() |

This structure is derived from Requirements

Summary

Maturity: 1

Key Elements View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Requirements | C | 0..* | Requirements | A set of requirements - features of systems that are necessary cnl-0: Name should be usable as an identifier for the module by machine processing applications such as code generation FMFLC08: Function names must not end with a period. FMFLC09: Function must have a statement about its purpose. FMFLC10: Function purpose statement must end in a period. FMFLC11: Function must have a description. FMFLC12: Function description statement must end in a period. FMFLC13: Function must have one or more conformance criteria statements.
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created ele-1: All FHIR elements must have a @value or children
contained |  | 0..* | Resource | Contained, inline Resources
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required): The lifecycle status of an artifact. ele-1: All FHIR elements must have a @value or children
statement | C | 0..* | BackboneElement | Actual statement as markdown ele-1: All FHIR elements must have a @value or children FMTSR03: The text is not single spaced (there are multiple spaces). FMCC001: The Conditional Criteria is not structured correctly. FMCC002: The Criteria is structured as conditional but conditional is not indicated. FMSVR08: Optionality attribute does not match the optionality in the text. FMFLC15: Criterion must have a textual description.
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
key |  | 1..1 | id | Key that identifies this statement ele-1: All FHIR elements must have a @value or children
requirement |  | 1..1 | markdown | The actual requirement ele-1: All FHIR elements must have a @value or children
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
Requirements.status | required | PublicationStatus `http://hl7.org/fhir/ValueSet/publication-status|5.0.0` from the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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

This structure is derived from Requirements

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Requirements | C | 0..* | Requirements | A set of requirements - features of systems that are necessary FMFLC08: Function names must not end with a period. FMFLC09: Function must have a statement about its purpose. FMFLC10: Function purpose statement must end in a period. FMFLC11: Function must have a description. FMFLC12: Function description statement must end in a period. FMFLC13: Function must have one or more conformance criteria statements.
statement | C | 0..* | BackboneElement | Actual statement as markdown FMTSR03: The text is not single spaced (there are multiple spaces). FMCC001: The Conditional Criteria is not structured correctly. FMCC002: The Criteria is structured as conditional but conditional is not indicated. FMSVR08: Optionality attribute does not match the optionality in the text. FMFLC15: Criterion must have a textual description.
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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 View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Requirements | C | 0..* | Requirements | A set of requirements - features of systems that are necessary cnl-0: Name should be usable as an identifier for the module by machine processing applications such as code generation FMFLC08: Function names must not end with a period. FMFLC09: Function must have a statement about its purpose. FMFLC10: Function purpose statement must end in a period. FMFLC11: Function must have a description. FMFLC12: Function description statement must end in a period. FMFLC13: Function must have one or more conformance criteria statements.
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
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) cnl-1: URL should not contain | or # - these characters make processing canonical references problematic
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 FMTSR03: The text is not single spaced (there are multiple spaces). FMCC001: The Conditional Criteria is not structured correctly. FMCC002: The Criteria is structured as conditional but conditional is not indicated. FMSVR08: Optionality attribute does not match the optionality in the text. FMFLC15: Criterion must have a textual description.
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 | Conformance | ValueSet | URI
Requirements.language | required | AllLanguages `http://hl7.org/fhir/ValueSet/all-languages|5.0.0` from the FHIR Standard
Requirements.versionAlgorithm[x] | extensible | VersionAlgorithm `http://hl7.org/fhir/ValueSet/version-algorithm` from the FHIR Standard
Requirements.status | required | PublicationStatus `http://hl7.org/fhir/ValueSet/publication-status|5.0.0` from the FHIR Standard
Requirements.jurisdiction | extensible | JurisdictionValueSet `http://hl7.org/fhir/ValueSet/jurisdiction` from the FHIR Standard
Requirements.statement.conformance | required | ConformanceExpectation `http://hl7.org/fhir/ValueSet/conformance-expectation|5.0.0` from the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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() |

This structure is derived from Requirements

Summary

Maturity: 1

Other representations of profile: CSV, Excel, Schematron