# Logical Record Architecture for Health and Social Care
## Discharge Summary Release 0.02

Contents
The content of this release is not comprehensive and is not fully validated and must not be used in live system implementations.
# Reference Model Class: COMPOSITIONmodel
A structural model artefact representing a domain-level realization of Reference Model class lra::technical::en13606::extract::COMPOSITION intended for use within one or more specified areas of interest within the domain of the LRA. ## Specializes ## LraTechnicalModelArtefact ## Constraints
Type | Name | Specification
--- | --- | ---
ConstrainedDomainModelClass instance of type COMPOSITION contains a reference zero or one Composition Content Constraint | Invariant | let c : ConstrainedDomainModelClass = self.packagedElement-&gt;select(Element: e | e.oclAsType(ConstrainedDomainModelClass).referenceClass.qualifiedName = "lra::technical::en13606::extract::COMPOSITION")-&gt;first().oclAsType(ConstrainedDomainModelClass) in c.constraintBinding-&gt;select(ConstraintBinding: cb | cb.constraint.oclIsTypeof(CompositionContentConstraint))-&gt;size() &lt;= 1
Instance contains an association to each of one or more ConstrainedDomainModelClass instances of type ENTRY | Invariant | inv: self.packagedElement-&gt;select(Element: e | e.oclAsType(Association).memberEnd-&gt;exists(Property: p | p.class.oclAsType(ConstrainedDomainModelClass).qualifiedName = "lra::technical::en13606::extract::ENTRY")) &gt;= 1
Instance contains one ConstrainedDomainModelClass instance of type AUDIT_INFO | Invariant | inv: self.packagedElement-&gt;select(Element: e | e.oclAsType(ConstrainedDomainModelClass).referenceClass.qualifiedName = "lra::technical::en13606::extract::AUDIT_INFO")-&gt;size() = 1
Instance contains one ConstrainedDomainModelClass instance of type COMPOSITION | Invariant | inv: self.packagedElement-&gt;select(Element: e | e.oclAsType(ConstrainedDomainModelClass).referenceClass.qualifiedName = "lra::technical::en13606::extract::COMPOSITION")-&gt;size() = 1
Instance contains one or more ConstrainedDomainModelClass "Participant" instances | Invariant | inv: self.packagedElement-&gt;select(Element: e | e.oclAsType(ConstrainedDomainModelClass).referenceClass.qualifiedName = ("lra::technical::en13606::extract ::FUNCTIONAL_ROLE" or "lra::technical::participations::LANGUAGE_COMMUNICATION" or "lra::technical::participations::ROLE_RELATIONSHIP" or "lra::technical::participations::PERSON_ROLE" or "lra::technical::participations::ORGANISATIONAL_ROLE" or "lra::technical::participations::DEVICE_ROLE" or "lra::technical::participations::ENVIRONMENT_ROLE" or "lra::technical::participations::PERSON_ENTITY" or "lra::technical::participations::ORGANISATION_ENTITY" or "lra::technical::participations::DEVICE_ENTITY" or "lra::technical::participations::PLACE_ENTITY"))-&gt;size() &gt;= 0
Instance contains one or more ConstrainedDomainModelClass instances of type PARTICIPATION | Invariant | inv: self.packagedElement-&gt;select(Element: e | e.oclAsType(ConstrainedDomainComponent).referenceClass.qualifiedName = "lra::technical::en13606::extended::PARTICIPATION")-&gt;size() &gt;= 1
## Reference Model Type ##