PREFIX fhir: PREFIX fhirvs: PREFIX xsd: BASE start=@ AND {fhir:nodeRole [fhir:treeRoot]} # Example of workflow instance CLOSED { a [fhir:ExampleScenario]; 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:ExampleScenario.url @?; # Canonical identifier for this # example scenario, represented as a # URI (globally unique) fhir:ExampleScenario.identifier @*; # Additional identifier for the # example scenario fhir:ExampleScenario.version @?; # Business version of the example # scenario fhir:ExampleScenario.name @?; # Name for this example scenario # (computer friendly) fhir:ExampleScenario.status @ AND {fhir:value @fhirvs:publication-status}; # draft | active | retired | unknown fhir:ExampleScenario.experimental @?; # For testing purposes, not real # usage fhir:ExampleScenario.date @?; # Date last changed fhir:ExampleScenario.publisher @?; # Name of the publisher # (organization or individual) fhir:ExampleScenario.contact @*; # Contact details for the publisher fhir:ExampleScenario.useContext @*; # The context that the content is # intended to support fhir:ExampleScenario.jurisdiction @*; # Intended jurisdiction for example # scenario (if applicable) fhir:ExampleScenario.copyright @?; # Use and/or publishing restrictions fhir:ExampleScenario.purpose @?; # The purpose of the example, e.g. # to illustrate a scenario fhir:ExampleScenario.actor @*; # Actor participating in the resource fhir:ExampleScenario.instance @*; # Each resource and each version # that is present in the workflow fhir:ExampleScenario.process @*; # Each major process - a group of # operations fhir:ExampleScenario.workflow @*; # Another nested workflow fhir:index xsd:integer? # Relative position in a list } # Each resource and each version that is present in the workflow 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:ExampleScenario.instance.resourceId @; # The id of the resource for # referencing fhir:ExampleScenario.instance.resourceType @ AND {fhir:value @fhirvs:resource-types}; # The type of the resource fhir:ExampleScenario.instance.name @?; # A short name for the resource # instance fhir:ExampleScenario.instance.description @?; # Human-friendly description of the # resource instance fhir:ExampleScenario.instance.version @*; # A specific version of the resource fhir:ExampleScenario.instance.containedInstance @*; # Resources contained in the instance fhir:index xsd:integer? # Relative position in a list } # Each major process - a group of operations 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:ExampleScenario.process.title @; # The diagram title of the group of # operations fhir:ExampleScenario.process.description @?; # A longer description of the group # of operations fhir:ExampleScenario.process.preConditions @?; # Description of initial status # before the process starts fhir:ExampleScenario.process.postConditions @?; # Description of final status after # the process ends fhir:ExampleScenario.process.step @*; # Each step of the process fhir:index xsd:integer? # Relative position in a list } # Actor participating in the resource 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:ExampleScenario.actor.actorId @; # ID or acronym of the actor fhir:ExampleScenario.actor.type @ AND {fhir:value @fhirvs:examplescenario-actor-type}; # person | entity fhir:ExampleScenario.actor.name @?; # The name of the actor as shown in # the page fhir:ExampleScenario.actor.description @?; # The description of the actor fhir:index xsd:integer? # Relative position in a list } # A specific version of the resource 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:ExampleScenario.instance.version.versionId @; # The identifier of a specific # version of a resource fhir:ExampleScenario.instance.version.description @; # The description of the resource # version fhir:index xsd:integer? # Relative position in a list } # Each step of the process 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:ExampleScenario.process.step.process @*; # Nested process fhir:ExampleScenario.process.step.pause @?; # If there is a pause in the flow fhir:ExampleScenario.process.step.operation @?; # Each interaction or action fhir:ExampleScenario.process.step.alternative @*; # Alternate non-typical step action fhir:index xsd:integer? # Relative position in a list } # Resources contained in the instance 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:ExampleScenario.instance.containedInstance.resourceId @; # Each resource contained in the # instance fhir:ExampleScenario.instance.containedInstance.versionId @?; # A specific version of a resource # contained in the instance fhir:index xsd:integer? # Relative position in a list } # Alternate non-typical step action 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:ExampleScenario.process.step.alternative.title @; # Label for alternative fhir:ExampleScenario.process.step.alternative.description @?; # A human-readable description of # each option fhir:ExampleScenario.process.step.alternative.step @*; # What happens in each alternative # option fhir:index xsd:integer? # Relative position in a list } # Nested process CLOSED { fhir:index xsd:integer? # Relative position in a list } # Each interaction or action 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:ExampleScenario.process.step.operation.number @; # The sequential number of the # interaction fhir:ExampleScenario.process.step.operation.type @?; # The type of operation - CRUD fhir:ExampleScenario.process.step.operation.name @?; # The human-friendly name of the # interaction fhir:ExampleScenario.process.step.operation.initiator @?; # Who starts the transaction fhir:ExampleScenario.process.step.operation.receiver @?; # Who receives the transaction fhir:ExampleScenario.process.step.operation.description @?; # A comment to be inserted in the # diagram fhir:ExampleScenario.process.step.operation.initiatorActive @?; # Whether the initiator is # deactivated right after the # transaction fhir:ExampleScenario.process.step.operation.receiverActive @?; # Whether the receiver is # deactivated right after the # transaction fhir:ExampleScenario.process.step.operation.request @?; # Each resource instance used by the # initiator fhir:ExampleScenario.process.step.operation.response @?; # Each resource instance used by the # responder fhir:index xsd:integer? # Relative position in a list } # Each resource instance used by the responder CLOSED { fhir:index xsd:integer? # Relative position in a list } # What happens in each alternative option CLOSED { fhir:index xsd:integer? # Relative position in a list } # Each resource instance used by the initiator CLOSED { 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 @