PREFIX fhir: PREFIX fhirvs: PREFIX xsd: BASE start=@ AND {fhir:nodeRole [fhir:treeRoot]} # A resource that defines a type of message that can be exchanged between systems CLOSED { a [fhir:MessageDefinition]; fhir:nodeRole [fhir:treeRoot]?; fhir:Resource.id id?; # Logical id of this artifact fhir:Resource.meta @?; # Metadata about the resource fhir:Resource.implicitRules @?; # A set of rules under which this # content was created fhir:Resource.language @?; # Language of the resource content fhir:DomainResource.text @?; # Text summary of the resource, for # human interpretation fhir:DomainResource.contained @*; # Contained, inline Resources fhir:DomainResource.extension @*; # Additional content defined by # implementations fhir:DomainResource.modifierExtension @*; # Extensions that cannot be ignored fhir:MessageDefinition.url @?; # Business Identifier for a given # MessageDefinition fhir:MessageDefinition.identifier @*; # Primary key for the message # definition on a given server fhir:MessageDefinition.version @?; # Business version of the message # definition fhir:MessageDefinition.name @?; # Name for this message definition # (computer friendly) fhir:MessageDefinition.title @?; # Name for this message definition # (human friendly) fhir:MessageDefinition.replaces @*; # Takes the place of fhir:MessageDefinition.status @ AND {fhir:value @fhirvs:publication-status}; # draft | active | retired | unknown fhir:MessageDefinition.experimental @?; # For testing purposes, not real # usage fhir:MessageDefinition.date @; # Date last changed fhir:MessageDefinition.publisher @?; # Name of the publisher # (organization or individual) fhir:MessageDefinition.contact @*; # Contact details for the publisher fhir:MessageDefinition.description @?; # Natural language description of # the message definition fhir:MessageDefinition.useContext @*; # The context that the content is # intended to support fhir:MessageDefinition.jurisdiction @*; # Intended jurisdiction for message # definition (if applicable) fhir:MessageDefinition.purpose @?; # Why this message definition is # defined fhir:MessageDefinition.copyright @?; # Use and/or publishing restrictions fhir:MessageDefinition.base @?; # Definition this one is based on fhir:MessageDefinition.parent @*; # Protocol/workflow this is part of ( # Event code or link to the # EventDefinition fhir:MessageDefinition.eventCoding @ | fhir:MessageDefinition.eventUri @ ); fhir:MessageDefinition.category @ AND {fhir:value @fhirvs:message-significance-category}?; # consequence | currency | # notification fhir:MessageDefinition.focus @*; # Resource(s) that are the subject # of the event fhir:MessageDefinition.responseRequired @ AND {fhir:value @fhirvs:messageheader-response-request}?; # always | on-error | never | # on-success fhir:MessageDefinition.allowedResponse @*; # Responses to this message fhir:MessageDefinition.graph @*; # Canonical reference to a # GraphDefinition fhir:index xsd:integer? # Relative position in a list } # Resource(s) that are the subject of the event CLOSED { fhir:Element.id string?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored # even if unrecognized fhir:MessageDefinition.focus.code @ AND {fhir:value @fhirvs:resource-types}; # Type of resource fhir:MessageDefinition.focus.profile @?; # Profile that must be adhered to by # focus fhir:MessageDefinition.focus.min @; # Minimum number of focuses of this # type fhir:MessageDefinition.focus.max @?; # Maximum number of focuses of this # type fhir:index xsd:integer? # Relative position in a list } # Responses to this message CLOSED { fhir:Element.id string?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:BackboneElement.modifierExtension @*; # Extensions that cannot be ignored # even if unrecognized fhir:MessageDefinition.allowedResponse.message @; # Reference to allowed message # definition response fhir:MessageDefinition.allowedResponse.situation @?; # When should this response be used fhir:index xsd:integer? # Relative position in a list } #---------------------- Data Types ------------------- # Primitive Type dateTime CLOSED { fhir:Element.id string?; # xml:id (or equivalent in JSON) fhir:Element.extension @*; # Additional content defined by # implementations fhir:value dateTime?; # Primitive value for dateTime fhir:index xsd:integer? # Relative position in a list } # Metadata about a resource CLOSED { fhir:Element.id id?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:Meta.versionId @?; # Version specific identifier fhir:Meta.lastUpdated @?; # When the resource version last # changed fhir:Meta.source @?; # Identifies where the resource # comes from fhir:Meta.profile @*; # Profiles this resource claims to # conform to fhir:Meta.security @*; # Security Labels applied to this # resource fhir:Meta.tag @*; # Tags applied to this resource fhir:index xsd:integer? # Relative position in a list } # Primitive Type code CLOSED { fhir:Element.id string?; # xml:id (or equivalent in JSON) fhir:Element.extension @*; # Additional content defined by # implementations fhir:value code?; # Primitive value for code fhir:index xsd:integer? # Relative position in a list } # Primitive Type string CLOSED { fhir:Element.id string?; # xml:id (or equivalent in JSON) fhir:Element.extension @*; # Additional content defined by # implementations fhir:value string MAXLENGTH 1048576?; # Primitive value for string fhir:index xsd:integer? # Relative position in a list } # Base Resource {a .+; fhir:Resource.id id?; # Logical id of this artifact fhir:Resource.meta @?; # Metadata about the resource fhir:Resource.implicitRules @?; # A set of rules under which this # content was created fhir:Resource.language @?; # Language of the resource content fhir:index xsd:integer? } # Primitive Type canonical CLOSED { fhir:Element.id string?; # xml:id (or equivalent in JSON) fhir:Element.extension @*; # Additional content defined by # implementations fhir:value canonical?; # Primitive value for canonical fhir:index xsd:integer? # Relative position in a list } # Primitive Type uri CLOSED { fhir:Element.id string?; # xml:id (or equivalent in JSON) fhir:Element.extension @*; # Additional content defined by # implementations fhir:value uri?; # Primitive value for uri fhir:index xsd:integer? # Relative position in a list } # Optional Extensions Element CLOSED { fhir:Element.id id?; fhir:Element.extension @*; fhir:Extension.url uri; ( fhir:Extension.valueBase64Binary @ | fhir:Extension.valueBoolean @ | fhir:Extension.valueCanonical @ | fhir:Extension.valueCode @ | fhir:Extension.valueDate @ | fhir:Extension.valueDateTime @ | fhir:Extension.valueDecimal @ | fhir:Extension.valueId @ | fhir:Extension.valueInstant @ | fhir:Extension.valueInteger @ | fhir:Extension.valueMarkdown @ | fhir:Extension.valueOid @ | fhir:Extension.valuePositiveInt @ | fhir:Extension.valueString @ | fhir:Extension.valueTime @