
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: §wip/atl/mlhim2/extracted
Source used for this grammar: Luciana Tricai Cavalini, Multilevel Healthcare Information Modelling 2.0, mlhim2.ecore, 06/2011
Action, Activity, AdminEntry, ASKR, ASKU, Attestation, CareEntry, CCD, Cluster, Composition, ContentItem, DataStructure, DER, Device, DvAny, DvBoolean, DvByte, DvChar, DvCodedString, DvCount, DvDate, DvDateTime, DvDecimal, DvDuration, DvEncapsulated, DvIdentifier, DvInt, DvInteger, DvInterval, DvLanguage, DvLong, DvMedia, DvMediaApp, DvMediaAudio, DvMediaImage, DvMediaModel, DvMediaMsg, DvMediaMultipart, DvMediaText, DvMediaVideo, DvNegativeInteger, DvNonNegativeInteger, DvNonPositiveInteger, DvNormalizedString, DvNumeric, DvOrdered, DvOrdinal, DvParagraph, DvParsable, DvPositiveInteger, DvProportion, DvQuantified, DvQuantity, DvRate, DvRatio, DvShort, DvString, DvTemporal, DvTime, DvToken, DvUnsignedByte, DvUnsignedInt, DvUnsignedLong, DvUnsignedShort, DvURI, Element, EntityRef, Entry, Evaluation, Event, EventContext, ExceptionalValue, FeederAudit, FeederAuditDetails, Folder, Group, History, Instruction, IntervalEvent, INV, Item, ItemList, ItemSingle, ItemStructure, ItemTable, ItemTree, Link, Locatable, Location, MetaDataEntry, MetaDataSet, MSK, NA, NASK, NAV, NI, NINF, NonHuman, ObjectRef, Observation, Ontology, OntologyEntry, Organization, OTH, Participation, Party, PartyIdentified, PartyProxy, PartyRelated, PartySelf, Person, PINF, PointEvent, QS, ReferenceRange, Relationship, Role, Section, Slot, TRC, UNC, UNK), 0 root (—), 4 top (CCD, ExceptionalValue, FeederAudit, ObjectRef), 0 bottom (—).[time] 4, [description] 4, [ismTransition], [instructionDetails], [timing], [actions], [data] 4, [attestedView], [proof], [reason], [commiter], [timeCommited], [isPending], [definition] 2, [metaData], [ontology], [items] 6, [attestation], [links], [original], [predecessor], [created], [composer], [territory], [category], [language] 3, [context], [content], [details] 6, [dv] 35, [codeString], [terminologyName], [terminologyAbbrev], [count], [issuer], [assigner], [name] 3, [lower], [upper], [lowerIncluded], [upperIncluded], [lowerUnbounded], [upperUnbounded], [uuid] 4, [symbol], [formalism], [proportionType], [units], [rateType], [namespace] 2, [objType] 2, [healthcareFacility], [startTime], [endTime], [participation], [location] 2, [setting], [originatingSystemAudit], [originatingSystemItemIds], [feederSystemAudit], [feederSystemIds], [originalContent], [systemId], [versionId], [provider], [subject], [members], [origin], [events], [period], [duration], [summary], [expiryTime], [narrative], [wfDefinition], [activities], [width], [mathFunction], [sampleCount], [item], [rows], [relation], [target], [isPrimary] 2, [title], [contents] 2, [entries], [state] 2, [names], [internalVocabularies], [lookupTables], [terminologies], [generalEntries], [performer], [function], [mode], [identifiers], [relationship], [externalRef], [dataRange], [targets], [ccd], [allowedCcds].Action ::= [time]::DvTemporal [description]::ItemStructure [ismTransition]::DvCodedString [instructionDetails]::DvCodedString
Activity ::=
[description]::ItemStructure [timing]::DvParsable [actions]::DvTokenAdminEntry ::= [data]::ItemStructure
ASKR ::= ε
ASKU ::= NAV
ASKU ::= NAV
Attestation ::= [attestedView]::DvMedia [proof]::DvParsable [reason]::DvCodedString [commiter]::PartyProxy [timeCommited]::DvTemporal [isPending]::DvBoolean
CareEntry ::= Action
CareEntry ::= Evaluation
CareEntry ::= Instruction
CareEntry ::= Observation
CCD ::=
[definition]::Locatable [metaData]::MetaDataSet [ontology]::OntologyCluster ::=
[items]::ItemComposition ::=
[attestation]::Attestation [links]::Link [original]::DvToken [predecessor]::DvToken [created]::DvTemporal [composer]::PartyProxy [territory]::Location [category]::DvCodedString [language]::DvLanguage [context]::EventContext [content]::LocatableContentItem ::= Entry
ContentItem ::= Section
DataStructure ::= History
DataStructure ::= ItemStructure
DER ::= ε
Device ::= [details]::ItemStructure
DvAny ::= DvBoolean
DvAny ::= DvChar
DvAny ::= DvEncapsulated
DvAny ::= DvInterval
DvAny ::= DvNumeric
DvAny ::= DvOrdered
DvAny ::= DvParagraph
DvAny ::= DvURI
DvAny ::= PartyProxy
DvAny ::= ReferenceRange
DvBoolean ::= [dv]::α
DvByte ::= [dv]::α
DvChar ::= DvLanguage
DvChar ::= DvNormalizedString
DvChar ::= DvString
DvChar ::= DvToken
DvCodedString ::= [codeString]::α [terminologyName]::α [terminologyAbbrev]::α
DvCount ::= [count]::α
DvDate ::= [dv]::α
DvDateTime ::= [dv]::α
DvDecimal ::= [dv]::α
DvDuration ::= [dv]::α
DvEncapsulated ::= DvMedia
DvEncapsulated ::= DvParsable
DvIdentifier ::= [issuer]::α [assigner]::α [name]::α
DvInt ::= [dv]::integer
DvInteger ::= [dv]::α
DvInterval ::= [lower]::DvOrdered [upper]::DvOrdered [lowerIncluded]::α [upperIncluded]::α [lowerUnbounded]::α [upperUnbounded]::α
DvLanguage ::= [dv]::α
DvLong ::= [dv]::α
DvMedia ::= DvMediaApp
DvMedia ::= DvMediaAudio
DvMedia ::= DvMediaImage
DvMedia ::= DvMediaModel
DvMedia ::= DvMediaMsg
DvMedia ::= DvMediaMultipart
DvMedia ::= DvMediaText
DvMedia ::= DvMediaVideo
DvMediaApp ::= [dv]::α
DvMediaAudio ::= [dv]::α
DvMediaImage ::= [dv]::α
DvMediaModel ::= [dv]::α
DvMediaMsg ::= [dv]::α
DvMediaMultipart ::= [dv]::α
DvMediaText ::= [dv]::string
DvMediaVideo ::= [dv]::α
DvNegativeInteger ::= [dv]::α
DvNonNegativeInteger ::= [dv]::α
DvNonPositiveInteger ::= [dv]::α
DvNormalizedString ::= [uuid]::α [language]::α [dv]::α
DvNumeric ::= DvByte
DvNumeric ::= DvDecimal
DvNumeric ::= DvInt
DvNumeric ::= DvInteger
DvNumeric ::= DvLong
DvNumeric ::= DvNegativeInteger
DvNumeric ::= DvNonNegativeInteger
DvNumeric ::= DvNonPositiveInteger
DvNumeric ::= DvPositiveInteger
DvNumeric ::= DvShort
DvNumeric ::= DvUnsignedByte
DvNumeric ::= DvUnsignedInt
DvNumeric ::= DvUnsignedLong
DvNumeric ::= DvUnsignedShort
DvOrdered ::= DvOrdinal
DvOrdered ::= DvQuantified
DvOrdinal ::= [dv]::α [symbol]::string
DvParagraph ::=
[items]::DvStringDvParsable ::= [dv]::α [formalism]::α
DvPositiveInteger ::= [dv]::α
DvProportion ::= [proportionType]::α
DvQuantified ::= DvCount
DvQuantified ::= DvQuantity
DvQuantified ::= DvRatio
DvQuantity ::= [units]::α
DvRate ::= [rateType]::α
DvRatio ::= DvProportion
DvRatio ::= DvRate
DvShort ::= [dv]::α
DvString ::= DvCodedString
DvString ::= DvIdentifier
DvString ::= [uuid]::α [language]::α [dv]::string
DvTemporal ::= DvDate
DvTemporal ::= DvDateTime
DvTemporal ::= DvDuration
DvTemporal ::= DvTime
DvTime ::= [dv]::α
DvToken ::= [dv]::α
DvUnsignedByte ::= [dv]::α
DvUnsignedInt ::= [dv]::α
DvUnsignedLong ::= [dv]::α
DvUnsignedShort ::= [dv]::α
DvURI ::= [dv]::α
Element ::= [dv]::DvAny
EntityRef ::= [uuid]::α [namespace]::α [objType]::α
Entry ::= AdminEntry
Entry ::= CareEntry
Evaluation ::= [data]::ItemStructure
Event ::= IntervalEvent
Event ::= PointEvent
EventContext ::= [healthcareFacility]::Organization [startTime]::DvTemporal [endTime]::DvTemporal [participation]::Participation [location]::Location [setting]::DvCodedString
ExceptionalValue ::= NI
FeederAudit ::= [originatingSystemAudit]::FeederAuditDetails [originatingSystemItemIds]::DvIdentifier [feederSystemAudit]::FeederAuditDetails [feederSystemIds]::DvIdentifier [originalContent]::DvEncapsulated
FeederAuditDetails ::=
[systemId]::DvIdentifier [versionId]::DvNormalizedString [provider]::PartyIdentified [location]::Location [time]::DvTemporal [subject]::PartyProxyFolder ::=
[items]::CompositionGroup ::=
[members]::PartyHistory ::=
[origin]::DvTemporal [events]::Event [period]::DvDuration [duration]::DvDuration [summary]::ItemStructureInstruction ::=
[expiryTime]::DvTemporal [narrative]::DvString [wfDefinition]::DvParsable [activities]::ActivityIntervalEvent ::= [width]::DvDuration [mathFunction]::DvCodedString [sampleCount]::DvCount
INV ::= DER
INV ::= OTH
INV ::= UNC
INV ::= DER OTH UNC
Item ::= Cluster
Item ::= Element
Item ::= Slot
ItemList ::=
[items]::ItemItemSingle ::= [item]::Item
ItemStructure ::= ItemList
ItemStructure ::= ItemSingle
ItemStructure ::= ItemTable
ItemStructure ::= ItemTree
ItemTable ::=
[rows]::ClusterItemTree ::=
[items]::ItemLink ::= [relation]::Relationship [target]::DvToken
Locatable ::= Activity
Locatable ::= Attestation
Locatable ::= Composition
Locatable ::= ContentItem
Locatable ::= DataStructure
Locatable ::= Event
Locatable ::= EventContext
Locatable ::= Folder
Locatable ::= Item
Locatable ::= Location
Locatable ::= Party
Locatable ::= Relationship
Locatable ::= Role
Location ::= [details]::ItemStructure [description]::DvString [isPrimary]::DvBoolean
MetaDataEntry ::= [title]::string [contents]::string
MetaDataSet ::=
[name]::string [entries]::MetaDataEntryMSK ::= ε
NA ::= ε
NASK ::= ε
NAV ::= ε
NI ::= INV
NI ::= MSK
NI ::= NA
NI ::= UNK
NI ::= INV MSK NA UNK
NINF ::= ε
NonHuman ::= [details]::ItemStructure
ObjectRef ::= EntityRef
ObjectRef ::= [uuid]::α [namespace]::α [objType]::α
Observation ::= [data]::History [state]::History
Ontology ::= [names]::string [internalVocabularies]::string [lookupTables]::string [terminologies]::string [generalEntries]::OntologyEntry
OntologyEntry ::=
[contents]::stringOrganization ::= [details]::ItemStructure
OTH ::= NINF
OTH ::= PINF
OTH ::= NINF PINF
Participation ::= [performer]::PartyProxy [function]::DvCodedString [mode]::DvCodedString [time]::DvTemporal
Party ::= Device
Party ::= Group
Party ::= NonHuman
Party ::= Organization
Party ::= Person
PartyIdentified ::= PartyRelated
PartyIdentified ::=
[name]::DvString [identifiers]::DvIdentifierPartyProxy ::= PartyIdentified
PartyProxy ::= PartySelf
PartyRelated ::= [relationship]::Relationship
PartySelf ::= [externalRef]::EntityRef
Person ::= [details]::ItemStructure
PINF ::= ε
PointEvent ::= [time]::DvTemporal [data]::DvAny [state]::ItemStructure
QS ::= ε
ReferenceRange ::= [definition]::DvString [dataRange]::DvInterval
Relationship ::=
[targets]::DvTokenRole ::= [details]::ItemStructure [description]::DvString [isPrimary]::DvBoolean
Section ::=
[items]::ContentItemSlot ::=
[ccd]::DvToken [allowedCcds]::DvTokenTRC ::= ε
UNC ::= ε
UNK ::= ASKR
UNK ::= ASKU
UNK ::= NASK
UNK ::= QS
UNK ::= TRC
UNK ::= ASKR ASKU NASK QS TRC