# 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: ELEMENTdomainModel
A structural model artefact representing a domain-level realization of one of: Reference Model class lra::technical::en13606::extract::UNBOUND_DATA_ELEMENT; or any concrete specialisation of Reference Model class lra::technical::en13606::extract::BOUND_DATA_ELEMENT. ## Specializes ## LraTechnicalModelArtefact ## Constraints
Type | Name | Specification
--- | --- | ---
Any contained instance is either a DomainModelClass or a DomainComponentRelationship. | LRA Invariant | inv: self.packagedElement-&gt;forAll(Element: e | e.oclIsTypeOf(DomainModelClass) or e.oclIsTypeOf(DomainComponentRelationship))
Each DomainComponentRelationship instance has a minimum of one owned end (i.e. the "subject" relationship) in which the type of every instance is owned by the containing package | LRA Invariant | inv: let elements: Sequence(Element) = self.packagedElement-&gt;select(Element: e | e.oclAsType(DomainModelClass).referenceClass.qualifiedName = ("lra::technical::en13606::extract::FINDING_OBSERVATION_ELEMENT" or "lra::technical::en13606::extract::PROPERTY_OBSERVATION_ELEMENT" or "lra::technical::en13606::extract::GENERAL_ACTIVITY_ELEMENT" or "lra::technical::en13606::extract::MATERIAL_ACTIVITY_ELEMENT" or "lra::technical::en13606::extract::INVESTIGATION_ACTIVITY_ELEMENT" or "lra::technical::en13606::extract::UNBOUND_DATA_ELEMENT")) in let relationships: Sequence(Element) = self.packagedElement-&gt;select(Element: e | e.oclIsTypeOf(DomainComponentRelationship)) in relationships-&gt;forAll(e: Element | e.oclAsType(DomainComponentRelationship).ownedEnd-&gt;exists(p: Property | elements-&gt;includesAll(p.oclAsType(Slot).instance-&gt;flatten())))
Instance contains one DomainModelClass instance of kind ELEMENT | LRA Invariant | inv: self.packagedElement-&gt;select(Element: e | e.oclIsTypeOf(DomainModelClass))-&gt;size() = 1 and self.packagedElement-&gt;select(Element: e | e.oclAsType(DomainModelClass).referenceClass.qualifiedName = ("lra::technical::en13606::extract::FINDING_OBSERVATION_ELEMENT" or "lra::technical::en13606::extract::PROPERTY_OBSERVATION_ELEMENT" or "lra::technical::en13606::extract::GENERAL_ACTIVITY_ELEMENT" or "lra::technical::en13606::extract::MATERIAL_ACTIVITY_ELEMENT" or "lra::technical::en13606::extract::INVESTIGATION_ACTIVITY_ELEMENT" or "lra::technical::en13606::extract::UNBOUND_DATA_ELEMENT"))-&gt;size() = 1
Instance contains zero or more DomainComponentRelationship instances | LRA Invariant | inv: self.packagedElement-&gt;select(Element: e | e.oclAsType(DomainComponentRelationship))-&gt;size() &gt;= 0
## Reference Model Type ##