PREFIX fhir: PREFIX fhirvs: PREFIX xsd: BASE start=@ AND {fhir:nodeRole [fhir:treeRoot]} # Represents a library of quality improvement components CLOSED { a [fhir:Library]; 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:Library.url @?; # Canonical identifier for this # library, represented as a URI # (globally unique) fhir:Library.identifier @*; # Additional identifier for the # library fhir:Library.version @?; # Business version of the library fhir:Library.name @?; # Name for this library (computer # friendly) fhir:Library.title @?; # Name for this library (human # friendly) fhir:Library.subtitle @?; # Subordinate title of the library fhir:Library.status @ AND {fhir:value @fhirvs:publication-status}; # draft | active | retired | unknown fhir:Library.experimental @?; # For testing purposes, not real # usage fhir:Library.type @; # logic-library | model-definition | # asset-collection | # module-definition ( # Type of individual the library # content is focused on fhir:Library.subjectCodeableConcept @ | fhir:Library.subjectReference @ )?; fhir:Library.date @?; # Date last changed fhir:Library.publisher @?; # Name of the publisher # (organization or individual) fhir:Library.contact @*; # Contact details for the publisher fhir:Library.description @?; # Natural language description of # the library fhir:Library.useContext @*; # The context that the content is # intended to support fhir:Library.jurisdiction @*; # Intended jurisdiction for library # (if applicable) fhir:Library.purpose @?; # Why this library is defined fhir:Library.usage @?; # Describes the clinical usage of # the library fhir:Library.copyright @?; # Use and/or publishing restrictions fhir:Library.approvalDate @?; # When the library was approved by # publisher fhir:Library.lastReviewDate @?; # When the library was last reviewed fhir:Library.effectivePeriod @?; # When the library is expected to be # used fhir:Library.topic @*; # E.g. Education, Treatment, # Assessment, etc. fhir:Library.author @*; # Who authored the content fhir:Library.editor @*; # Who edited the content fhir:Library.reviewer @*; # Who reviewed the content fhir:Library.endorser @*; # Who endorsed the content fhir:Library.relatedArtifact @*; # Additional documentation, # citations, etc. fhir:Library.parameter @*; # Parameters defined by the library fhir:Library.dataRequirement @*; # What data is referenced by this # library fhir:Library.content @*; # Contents of the library, either # embedded or referenced 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 } # Primitive Type date CLOSED { fhir:Element.id string?; # xml:id (or equivalent in JSON) fhir:Element.extension @*; # Additional content defined by # implementations fhir:value date?; # Primitive value for date 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 } # A reference from one resource to another CLOSED { fhir:link IRI?; fhir:Element.id id?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:Reference.reference @?; # Literal reference, Relative, # internal or absolute URL fhir:Reference.type @?; # Type the reference refers to (e.g. # "Patient") fhir:Reference.identifier @?; # Logical reference, when literal # reference is not known fhir:Reference.display @?; # Text alternative for the resource 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? } # Time range defined by start and end date/time CLOSED { fhir:Element.id id?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:Period.start @?; # Starting time with inclusive # boundary fhir:Period.end @?; # End time with inclusive boundary, # if not ongoing fhir:index xsd:integer? # Relative position in a list } # Content in a format defined elsewhere CLOSED { fhir:Element.id id?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:Attachment.contentType @ AND {fhir:value @fhirvs:mimetypes}?; # Mime type of the content, with # charset etc. fhir:Attachment.language @?; # Human language of the content # (BCP-47) fhir:Attachment.data @?; # Data inline, base64ed fhir:Attachment.url @?; # Uri where the data can be found fhir:Attachment.size @?; # Number of bytes of content (if url # provided) fhir:Attachment.hash @?; # Hash of the data (sha-1, base64ed) fhir:Attachment.title @?; # Label to display in place of the # data fhir:Attachment.creation @?; # Date attachment was first created fhir:index xsd:integer? # Relative position in a list } # Describes a required data item CLOSED { fhir:Element.id id?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:DataRequirement.type @ AND {fhir:value @fhirvs:all-types}; # The type of the required data fhir:DataRequirement.profile @*; # The profile of the required data ( # E.g. Patient, Practitioner, # RelatedPerson, Organization, # Location, Device fhir:DataRequirement.subjectCodeableConcept @ | fhir:DataRequirement.subjectReference @ )?; fhir:DataRequirement.mustSupport @*; # Indicates specific structure # elements that are referenced by # the knowledge module fhir:DataRequirement.codeFilter @*; # What codes are expected fhir:DataRequirement.dateFilter @*; # What dates/date ranges are expected fhir:DataRequirement.limit @?; # Number of results fhir:DataRequirement.sort @*; # Order of the results fhir:index xsd:integer? # Relative position in a list } # Related artifacts for a knowledge resource CLOSED { fhir:Element.id id?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations fhir:RelatedArtifact.type @ AND {fhir:value @fhirvs:related-artifact-type}; # documentation | justification | # citation | predecessor | successor # | derived-from | depends-on | # composed-of fhir:RelatedArtifact.label @?; # Short label fhir:RelatedArtifact.display @?; # Brief description of the related # artifact fhir:RelatedArtifact.citation @?; # Bibliographic citation for the # artifact fhir:RelatedArtifact.url @?; # Where the artifact can be accessed fhir:RelatedArtifact.document @?; # What document is being referenced fhir:RelatedArtifact.resource @?; # What resource is being referenced 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 @