EHRS-FM IG

ISO/HL7 10781 - Electronic Health Record System Functional Model, Release 2.1
0.16.0 - CI Build

Publish Box goes here

Resource Profile: FMFunction

Official URL: http://hl7.org/ehrs/StructureDefinition/FMFunction Version: 0.16.0
Draft as of 2024-08-12 Computable Name: FMFunction

This StructureDefinition represents the base EHR-S FM Function type

Usage:

Formal Views of Profile Content

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

This structure is derived from Requirements

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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.

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
FMCC001warningRequirements.statementThe Conditional Criteria is not structured correctly.
: (conditionality and requirement.startsWith('IF ').not()).not()
FMCC002warningRequirements.statementThe Criteria is structured as conditional but conditional is not indicated.
: (conditionality.not() and requirement.startsWith('IF ')).not()
FMFLC08warningRequirementsFunction names must not end with a period.
: title.endsWith('.').not()
FMFLC09errorRequirementsFunction must have a statement about its purpose.
: purpose
FMFLC10warningRequirementsFunction purpose statement must end in a period.
: purpose.endsWith('.')
FMFLC11errorRequirementsFunction must have a description.
: description
FMFLC12warningRequirementsFunction description statement must end in a period.
: description.endsWith('.')
FMFLC13errorRequirementsFunction must have one or more conformance criteria statements.
: statement.count() > 0
FMFLC15errorRequirements.statementCriterion must have a textual description.
: requirement.hasValue()
FMSVR08warningRequirements.statementOptionality attribute does not match the optionality in the text.
: requirement.contains(conformance.first())
FMTSR03warningRequirements.statementThe text is not single spaced (there are multiple spaces).
: requirement.contains(' ').not()
NameFlagsCard.TypeDescription & Constraintsdoco
.. 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
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... 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.
.... 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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Requirements.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|5.0.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
FMCC001warningRequirements.statementThe Conditional Criteria is not structured correctly.
: (conditionality and requirement.startsWith('IF ').not()).not()
FMCC002warningRequirements.statementThe Criteria is structured as conditional but conditional is not indicated.
: (conditionality.not() and requirement.startsWith('IF ')).not()
FMFLC08warningRequirementsFunction names must not end with a period.
: title.endsWith('.').not()
FMFLC09errorRequirementsFunction must have a statement about its purpose.
: purpose
FMFLC10warningRequirementsFunction purpose statement must end in a period.
: purpose.endsWith('.')
FMFLC11errorRequirementsFunction must have a description.
: description
FMFLC12warningRequirementsFunction description statement must end in a period.
: description.endsWith('.')
FMFLC13errorRequirementsFunction must have one or more conformance criteria statements.
: statement.count() > 0
FMFLC15errorRequirements.statementCriterion must have a textual description.
: requirement.hasValue()
FMSVR08warningRequirements.statementOptionality attribute does not match the optionality in the text.
: requirement.contains(conformance.first())
FMTSR03warningRequirements.statementThe text is not single spaced (there are multiple spaces).
: requirement.contains(' ').not()
cnl-0warningRequirementsName 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-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. 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 BindingsPurpose
CommonLanguages Starter Set
... 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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Requirements.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
Requirements.versionAlgorithm[x]extensibleVersionAlgorithm
http://hl7.org/fhir/ValueSet/version-algorithm
from the FHIR Standard
Requirements.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|5.0.0
from the FHIR Standard
Requirements.jurisdictionextensibleJurisdictionValueSet
http://hl7.org/fhir/ValueSet/jurisdiction
from the FHIR Standard
Requirements.statement.conformancerequiredConformanceExpectation
http://hl7.org/fhir/ValueSet/conformance-expectation|5.0.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
FMCC001warningRequirements.statementThe Conditional Criteria is not structured correctly.
: (conditionality and requirement.startsWith('IF ').not()).not()
FMCC002warningRequirements.statementThe Criteria is structured as conditional but conditional is not indicated.
: (conditionality.not() and requirement.startsWith('IF ')).not()
FMFLC08warningRequirementsFunction names must not end with a period.
: title.endsWith('.').not()
FMFLC09errorRequirementsFunction must have a statement about its purpose.
: purpose
FMFLC10warningRequirementsFunction purpose statement must end in a period.
: purpose.endsWith('.')
FMFLC11errorRequirementsFunction must have a description.
: description
FMFLC12warningRequirementsFunction description statement must end in a period.
: description.endsWith('.')
FMFLC13errorRequirementsFunction must have one or more conformance criteria statements.
: statement.count() > 0
FMFLC15errorRequirements.statementCriterion must have a textual description.
: requirement.hasValue()
FMSVR08warningRequirements.statementOptionality attribute does not match the optionality in the text.
: requirement.contains(conformance.first())
FMTSR03warningRequirements.statementThe text is not single spaced (there are multiple spaces).
: requirement.contains(' ').not()
cnl-0warningRequirementsName 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-1warningRequirements.urlURL should not contain | or # - these characters make processing canonical references problematic
: exists() implies matches('^[^|# ]+$')
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Requirements

Summary

Differential View

This structure is derived from Requirements

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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.

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
FMCC001warningRequirements.statementThe Conditional Criteria is not structured correctly.
: (conditionality and requirement.startsWith('IF ').not()).not()
FMCC002warningRequirements.statementThe Criteria is structured as conditional but conditional is not indicated.
: (conditionality.not() and requirement.startsWith('IF ')).not()
FMFLC08warningRequirementsFunction names must not end with a period.
: title.endsWith('.').not()
FMFLC09errorRequirementsFunction must have a statement about its purpose.
: purpose
FMFLC10warningRequirementsFunction purpose statement must end in a period.
: purpose.endsWith('.')
FMFLC11errorRequirementsFunction must have a description.
: description
FMFLC12warningRequirementsFunction description statement must end in a period.
: description.endsWith('.')
FMFLC13errorRequirementsFunction must have one or more conformance criteria statements.
: statement.count() > 0
FMFLC15errorRequirements.statementCriterion must have a textual description.
: requirement.hasValue()
FMSVR08warningRequirements.statementOptionality attribute does not match the optionality in the text.
: requirement.contains(conformance.first())
FMTSR03warningRequirements.statementThe text is not single spaced (there are multiple spaces).
: requirement.contains(' ').not()

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... 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.
.... 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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Requirements.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|5.0.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
FMCC001warningRequirements.statementThe Conditional Criteria is not structured correctly.
: (conditionality and requirement.startsWith('IF ').not()).not()
FMCC002warningRequirements.statementThe Criteria is structured as conditional but conditional is not indicated.
: (conditionality.not() and requirement.startsWith('IF ')).not()
FMFLC08warningRequirementsFunction names must not end with a period.
: title.endsWith('.').not()
FMFLC09errorRequirementsFunction must have a statement about its purpose.
: purpose
FMFLC10warningRequirementsFunction purpose statement must end in a period.
: purpose.endsWith('.')
FMFLC11errorRequirementsFunction must have a description.
: description
FMFLC12warningRequirementsFunction description statement must end in a period.
: description.endsWith('.')
FMFLC13errorRequirementsFunction must have one or more conformance criteria statements.
: statement.count() > 0
FMFLC15errorRequirements.statementCriterion must have a textual description.
: requirement.hasValue()
FMSVR08warningRequirements.statementOptionality attribute does not match the optionality in the text.
: requirement.contains(conformance.first())
FMTSR03warningRequirements.statementThe text is not single spaced (there are multiple spaces).
: requirement.contains(' ').not()
cnl-0warningRequirementsName 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-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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 BindingsPurpose
CommonLanguages Starter Set
... 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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Requirements.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
Requirements.versionAlgorithm[x]extensibleVersionAlgorithm
http://hl7.org/fhir/ValueSet/version-algorithm
from the FHIR Standard
Requirements.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|5.0.0
from the FHIR Standard
Requirements.jurisdictionextensibleJurisdictionValueSet
http://hl7.org/fhir/ValueSet/jurisdiction
from the FHIR Standard
Requirements.statement.conformancerequiredConformanceExpectation
http://hl7.org/fhir/ValueSet/conformance-expectation|5.0.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
FMCC001warningRequirements.statementThe Conditional Criteria is not structured correctly.
: (conditionality and requirement.startsWith('IF ').not()).not()
FMCC002warningRequirements.statementThe Criteria is structured as conditional but conditional is not indicated.
: (conditionality.not() and requirement.startsWith('IF ')).not()
FMFLC08warningRequirementsFunction names must not end with a period.
: title.endsWith('.').not()
FMFLC09errorRequirementsFunction must have a statement about its purpose.
: purpose
FMFLC10warningRequirementsFunction purpose statement must end in a period.
: purpose.endsWith('.')
FMFLC11errorRequirementsFunction must have a description.
: description
FMFLC12warningRequirementsFunction description statement must end in a period.
: description.endsWith('.')
FMFLC13errorRequirementsFunction must have one or more conformance criteria statements.
: statement.count() > 0
FMFLC15errorRequirements.statementCriterion must have a textual description.
: requirement.hasValue()
FMSVR08warningRequirements.statementOptionality attribute does not match the optionality in the text.
: requirement.contains(conformance.first())
FMTSR03warningRequirements.statementThe text is not single spaced (there are multiple spaces).
: requirement.contains(' ').not()
cnl-0warningRequirementsName 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-1warningRequirements.urlURL should not contain | or # - these characters make processing canonical references problematic
: exists() implies matches('^[^|# ]+$')
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Requirements

Summary

 

Other representations of profile: CSV, Excel, Schematron