PREFIX fhir: PREFIX fhirvs: PREFIX xsd: BASE start=@ AND {fhir:nodeRole [fhir:treeRoot]} # A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference CLOSED { a [fhir:Media]; 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:Media.identifier @*; # Identifier(s) for the image fhir:Media.basedOn @*; # Procedure that caused this media # to be created fhir:Media.partOf @*; # Part of referenced event fhir:Media.status @ AND {fhir:value @fhirvs:event-status}; # preparation | in-progress | # not-done | on-hold | stopped | # completed | entered-in-error | # unknown fhir:Media.type @?; # Classification of media as image, # video, or audio fhir:Media.modality @?; # The type of acquisition # equipment/process fhir:Media.view @?; # Imaging view, e.g. Lateral or # Antero-posterior fhir:Media.subject @?; # Who/What this Media is a record of fhir:Media.encounter @?; # Encounter associated with media ( # When Media was collected fhir:Media.createdDateTime @ | fhir:Media.createdPeriod @ )?; fhir:Media.issued @?; # Date/Time this version was made # available fhir:Media.operator @?; # The person who generated the image fhir:Media.reasonCode @*; # Why was event performed? fhir:Media.bodySite @?; # Observed body part fhir:Media.deviceName @?; # Name of the device/manufacturer fhir:Media.device @?; # Observing Device fhir:Media.height @?; # Height of the image in pixels # (photo/video) fhir:Media.width @?; # Width of the image in pixels # (photo/video) fhir:Media.frames @?; # Number of frames if > 1 (photo) fhir:Media.duration @?; # Length in seconds (audio / video) fhir:Media.content @; # Actual Media - reference or data fhir:Media.note @*; # Comments made about the media 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 } # 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 } # 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 } # Text node with attribution CLOSED { fhir:Element.id id?; # Unique id for inter-element # referencing fhir:Element.extension @*; # Additional content defined by # implementations ( # Individual responsible for the # annotation fhir:Annotation.authorReference @ | fhir:Annotation.authorString @ )?; fhir:Annotation.time @?; # When the annotation was made fhir:Annotation.text @; # The annotation - text content (as # markdown) fhir:index xsd:integer? # Relative position in a list } # Primitive Type instant CLOSED { fhir:Element.id string?; # xml:id (or equivalent in JSON) fhir:Element.extension @*; # Additional content defined by # implementations fhir:value instant?; # Primitive value for instant 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 @