R6 Ballot (2nd Draft)

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:extension ( [
     fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg"^^xsd:anyURI ] ;
     fhir:value [ fhir:v "fhir" ]
  ] ) ; # 
  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:publisher [ fhir:v "HL7 International / FHIR Infrastructure"] ; # 
  fhir:contact ( [
     fhir:telecom ( [
       fhir:system [ fhir:v "url" ] ;
       fhir:value [ fhir:v "http://www.hl7.org/Special/committees/fiwg" ]
     ] )
  ] ) ; # 
  fhir:description [ fhir:v "Example topic for completed encounters"] ; # 
  fhir:trigger ( [
     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" ] ) ;
       fhir:relatedQuery ( [
         fhir:queryType [ ] ;
         fhir:query [ fhir:v "Patient?_include:iterate=Patient:link" ]
       ] [
         fhir:queryType [ ] ;
         fhir:query [ fhir:v "$current-providers" ]
       ] )
     ] )
  ] )] . # 

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


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.