Snapshot 3: Connectathon 32 Base

This is Snapshot #3 for FHIR R5, released to support Connectathon 32. For a full list of available versions, see the Directory of published versions.

Example Consent/consent-example-smartonfhir (Turtle)

Community Based Collaborative Care Work GroupMaturity Level: N/AStandards Status: InformativeCompartments: Patient

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

Template for recording a Smart on FHIR Authorization

@prefix fhir: <http://hl7.org/fhir/> .
@prefix loinc: <http://loinc.org/rdf#> .
@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:Consent;
  fhir:nodeRole fhir:treeRoot;
  fhir:Resource.id [ fhir:value "consent-example-smartonfhir"]; #   
  This example provides a basic template for recording
  the consent associated with a SMART on FHIR OAuth dance.

  In SMART on FHIR, the user grants (consents) to a set
  of actions that the server can take when with regard to
  release of information from their own record to the application

  This is not the main intended use of the Consent resource,
  and there's no need for the consent resource as part of
  the SMART on FHIR Authorization process, or when using
  Heart UMA. Using a Consent resource to record and exchange
  the users consent may be useful for recording and storing
  the consent and making it available to the user later,
  or for exchanging the patient's consent between AS and RS,
  or between systems in a multi-system virtual RS a very
  common scenario)

  Note that whichever system builds this Content resource,
  it needs access to information from both the AS and the
  RS.

  Note also, that a situation where a practitioner type user
  authorises the application to access information on a general
  set of patients does not count as 'consent'.
  
  fhir:DomainResource.text [
     fhir:Narrative.status [ fhir:value "generated" ];
     fhir:Narrative.div "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative: Consent</b><a name=\"consent-example-smartonfhir\"> </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 Consent &quot;consent-example-smartonfhir&quot; </p></div><p><b>status</b>: active</p><p><b>category</b>: Patient Consent <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"https://loinc.org/\">LOINC</a>#59284-0)</span></p><p><b>subject</b>: <span title=\"  In this SMART on FHIR login, the user consents for data sharing for their elderly parent's record  \"><a href=\"patient-example-xcda.html\">Patient/xcda</a> &quot;Henry LEVIN&quot;</span></p><p><b>date</b>: 2016-06-23</p><p><b>grantor</b>: <a href=\"relatedperson-example-peter.html\">RelatedPerson/peter</a> &quot;Peter CHALMERS&quot;</p><p><b>controller</b>: <a href=\"organization-example-f001-burgers.html\">Organization/f001</a> &quot;Burgers University Medical Center&quot;</p><p><b>regulatoryBasis</b>: <span title=\"  there's no source record for a Smart on FHIR consent\n    smart on fhir requires a base opt-in policy  \">information access <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"http://terminology.hl7.org/4.0.0/CodeSystem-v3-ActCode.html\">ActCode</a>#INFA)</span></span></p><blockquote><p><b>provision</b></p><p><b>type</b>: deny</p><p><b>period</b>: 2016-06-23T17:02:33+10:00 --&gt; 2016-06-23T17:32:33+10:00</p><h3>Provisions</h3><table class=\"grid\"><tr><td>-</td><td><b>Type</b></td><td><b>Action</b></td><td><b>ResourceType</b></td></tr><tr><td>*</td><td><span title=\"  this rule corresponds to MedicationRequest/read  \">permit</span></td><td><span title=\"  no actors here, or anything, just read/write and the resource type  \">Access <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"http://terminology.hl7.org/4.0.0/CodeSystem-consentaction.html\">Consent Action Codes</a>#access)</span></span>, Access and Correct <span style=\"background: LightGoldenRodYellow; margin: 4px; border: 1px solid khaki\"> (<a href=\"http://terminology.hl7.org/4.0.0/CodeSystem-consentaction.html\">Consent Action Codes</a>#correct)</span></td><td>MedicationRequest (Details: http://hl7.org/fhir/resource-types code MedicationRequest = 'MedicationRequest', stated as 'null')</td></tr></table></blockquote></div>"
  ]; # 
  fhir:Consent.status [ fhir:value "active"]; # 
  fhir:Consent.category [
     fhir:index 0;
     fhir:CodeableConcept.coding [
       fhir:index 0;
       a loinc:59284-0;
       fhir:Coding.system [ fhir:value "http://loinc.org" ];
       fhir:Coding.code [ fhir:value "59284-0" ]
     ]
  ]; # 
  fhir:Consent.subject [
     fhir:Reference.reference [ fhir:value "Patient/xcda" ]
  ]; #    In this SMART on FHIR login, the user consents for data sharing for their elderly parent's record   
  fhir:Consent.date [ fhir:value "2016-06-23"^^xsd:date]; # 
  fhir:Consent.grantor [
     fhir:index 0;
     fhir:Reference.reference [ fhir:value "RelatedPerson/peter" ] #    this is the patient record that matches the person\n      making the decision. note: it's not always a related person   
  ]; # 
  fhir:Consent.controller [
     fhir:index 0;
     fhir:Reference.reference [ fhir:value "Organization/f001" ] #    The organization running the Authentication server   
  ]; # 
  fhir:Consent.regulatoryBasis [
     fhir:index 0;
     fhir:CodeableConcept.coding [
       fhir:index 0;
       fhir:Coding.system [ fhir:value "http://terminology.hl7.org/CodeSystem/v3-ActCode" ];
       fhir:Coding.code [ fhir:value "INFA" ]
     ]
  ]; #    there's no source record for a Smart on FHIR consent
    smart on fhir requires a base opt-in policy   
  fhir:Consent.provision [
     fhir:Consent.provision.type [ fhir:value "deny" ];
     fhir:Consent.provision.period [
       fhir:Period.start [ fhir:value "2016-06-23T17:02:33+10:00"^^xsd:dateTime ];
       fhir:Period.end [ fhir:value "2016-06-23T17:32:33+10:00"^^xsd:dateTime ]
     ];
     fhir:Consent.provision.provision [
       fhir:index 0;
       fhir:Consent.provision.type [ fhir:value "permit" ]; #    this rule corresponds to MedicationRequest\/read   
       fhir:Consent.provision.action [
         fhir:index 0;
         fhir:CodeableConcept.coding [
           fhir:index 0;
           fhir:Coding.system [ fhir:value "http://terminology.hl7.org/CodeSystem/consentaction" ];
           fhir:Coding.code [ fhir:value "access" ]
         ]
       ], [
         fhir:index 1;
         fhir:CodeableConcept.coding [
           fhir:index 0;
           fhir:Coding.system [ fhir:value "http://terminology.hl7.org/CodeSystem/consentaction" ];
           fhir:Coding.code [ fhir:value "correct" ]
         ]
       ]; #    no actors here, or anything, just read\/write and the resource type   
       fhir:Consent.provision.resourceType [
         fhir:index 0;
         fhir:Coding.system [ fhir:value "http://hl7.org/fhir/resource-types" ];
         fhir:Coding.code [ fhir:value "MedicationRequest" ]
       ]
     ]
  ]] . #    each scope that relates to FHIR resource access is represented as an exception   

# - ontology header ------------------------------------------------------------

[a owl:Ontology;
  owl:imports fhir:fhir.ttl] .

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


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.