Release 5

Publish-box (todo)

Example SubscriptionTopic/example (Turtle)

FHIR Infrastructure Work GroupMaturity Level: N/AStandards Status: InformativeCompartments: No defined compartments

Raw Turtle (+ also see Turtle/RDF Format Specification)

Example Topic with Modifiers

@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# - resource -------------------------------------------------------------------

[a fhir:SubscriptionTopic ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "example"] ; # 
  fhir:text [
     fhir:status [ fhir:v "generated" ] ;
     fhir:div "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative: SubscriptionTopic</b><a name=\"example\"> </a></p><div style=\"display: inline-block; background-color: #d9e0e7; padding: 6px; margin: 4px; border: 1px solid #8da1b4; border-radius: 5px; line-height: 60%\"><p style=\"margin-bottom: 0px\">Resource SubscriptionTopic &quot;example&quot; </p></div><p><b>url</b>: <code>http://example.org/FHIR/R5/SubscriptionTopic/example</code></p><p><b>identifier</b>: id: urn:uuid:1caa02ba-051b-4602-8856-65921748ae76</p><p><b>version</b>: 1.0.0-beta.1</p><p><b>title</b>: example</p><p><b>status</b>: draft</p><p><b>date</b>: 2019-01-01</p><p><b>description</b>: Example topic for completed encounters</p><blockquote><p><b>resourceTrigger</b></p><p><b>description</b>: An Encounter has been completed</p><p><b>resource</b>: <a href=\"encounter.html\">Encounter</a></p><p><b>supportedInteraction</b>: update</p><h3>QueryCriteria</h3><table class=\"grid\"><tr><td>-</td><td><b>Previous</b></td><td><b>ResultForCreate</b></td><td><b>Current</b></td><td><b>ResultForDelete</b></td><td><b>RequireBoth</b></td></tr><tr><td>*</td><td>status:not=completed</td><td>test-passes</td><td>status=completed</td><td>test-fails</td><td>true</td></tr></table><p><b>fhirPathCriteria</b>: (%previous.empty() | (%previous.status != 'completed')) and (%current.status = 'completed')</p></blockquote><blockquote><p><b>canFilterBy</b></p><p><b>description</b>: Filter based on the subject of an encounter.</p><p><b>resource</b>: <a href=\"encounter.html\">Encounter</a></p><p><b>filterParameter</b>: subject</p></blockquote><blockquote><p><b>canFilterBy</b></p><p><b>description</b>: Filter based on the group membership of the subject of an encounter.</p><p><b>resource</b>: <a href=\"encounter.html\">Encounter</a></p><p><b>filterParameter</b>: _in</p></blockquote><blockquote><p><b>canFilterBy</b></p><p><b>description</b>: Filter based on the length of an encounter.</p><p><b>resource</b>: <a href=\"encounter.html\">Encounter</a></p><p><b>filterParameter</b>: length</p><p><b>comparator</b>: gt, lt, ge, le</p></blockquote><blockquote><p><b>canFilterBy</b></p><p><b>description</b>: Filter based on the account for billing an encounter.</p><p><b>resource</b>: <a href=\"encounter.html\">Encounter</a></p><p><b>filterParameter</b>: account</p><p><b>modifier</b>: missing, not, identifier</p></blockquote><h3>NotificationShapes</h3><table class=\"grid\"><tr><td>-</td><td><b>Resource</b></td><td><b>Include</b></td></tr><tr><td>*</td><td><a href=\"encounter.html\">Encounter</a></td><td>Encounter:patient&amp;iterate=Patient.link, Encounter:practitioner, Encounter:service-provider, Encounter:account, Encounter:diagnosis, Encounter:observation, Encounter:location</td></tr></table></div>"
  ] ; # 
  fhir:url [ fhir:v "http://example.org/FHIR/R5/SubscriptionTopic/example"^^xsd:anyURI] ; # 
  fhir:identifier ( [
     fhir:system [ fhir:v "urn:ietf:rfc:3986"^^xsd:anyURI ] ;
     fhir:value [ fhir:v "urn:uuid:1caa02ba-051b-4602-8856-65921748ae76" ]
  ] ) ; # 
  fhir:version [ fhir:v "1.0.0-beta.1"] ; # 
  fhir:title [ fhir:v "example"] ; # 
  fhir:status [ fhir:v "draft"] ; # 
  fhir:date [ fhir:v "2019-01-01"^^xsd:date] ; # 
  fhir:description [ fhir:v "Example topic for completed encounters"] ; # 
  fhir:resourceTrigger ( [
     fhir:description [ fhir:v "An Encounter has been completed" ] ;
     fhir:resource [ fhir:v "http://hl7.org/fhir/StructureDefinition/Encounter"^^xsd:anyURI ] ;
     fhir:supportedInteraction ( [ fhir:v "update" ] ) ;
     fhir:queryCriteria [
       fhir:previous [ fhir:v "status:not=completed" ] ;
       fhir:resultForCreate [ fhir:v "test-passes" ] ;
       fhir:current [ fhir:v "status=completed" ] ;
       fhir:resultForDelete [ fhir:v "test-fails" ] ;
       fhir:requireBoth [ fhir:v "true"^^xsd:boolean ]
     ] ;
     fhir:fhirPathCriteria [ fhir:v "(%previous.empty() | (%previous.status != 'completed')) and (%current.status = 'completed')" ]
  ] ) ; # 
  fhir:canFilterBy ( [
     fhir:description [ fhir:v "Filter based on the subject of an encounter." ] ;
     fhir:resource [ fhir:v "Encounter"^^xsd:anyURI ] ;
     fhir:filterParameter [ fhir:v "subject" ]
  ] [
     fhir:description [ fhir:v "Filter based on the group membership of the subject of an encounter." ] ;
     fhir:resource [ fhir:v "Encounter"^^xsd:anyURI ] ;
     fhir:filterParameter [ fhir:v "_in" ]
  ] [
     fhir:description [ fhir:v "Filter based on the length of an encounter." ] ;
     fhir:resource [ fhir:v "Encounter"^^xsd:anyURI ] ;
     fhir:filterParameter [ fhir:v "length" ] ;
     fhir:comparator ( [ fhir:v "gt" ] [ fhir:v "lt" ] [ fhir:v "ge" ] [ fhir:v "le" ] )
  ] [
     fhir:description [ fhir:v "Filter based on the account for billing an encounter." ] ;
     fhir:resource [ fhir:v "Encounter"^^xsd:anyURI ] ;
     fhir:filterParameter [ fhir:v "account" ] ;
     fhir:modifier ( [ fhir:v "missing" ] [ fhir:v "not" ] [ fhir:v "identifier" ] )
  ] ) ; # 
  fhir:notificationShape ( [
     fhir:resource [ fhir:v "Encounter"^^xsd:anyURI ] ;
     fhir:include ( [ fhir:v "Encounter:patient&iterate=Patient.link" ] [ fhir:v "Encounter:practitioner" ] [ fhir:v "Encounter:service-provider" ] [ fhir:v "Encounter:account" ] [ fhir:v "Encounter:diagnosis" ] [ fhir:v "Encounter:observation" ] [ fhir:v "Encounter:location" ] )
  ] )] . # 

# -------------------------------------------------------------------------------------


Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.