@prefix fhir: <http://hl7.org/fhir/> .
@prefix loinc: <https://loinc.org/rdf/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

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

# This is an example of a Glasgow Coma Score using components to group  the measurements  source http://www.choa.org/~/media/CHOA/Documents/Services/Concussion/Concussion-glasgow-coma-scale.pdf

<http://hl7.org/fhir/Observation/glasgow> a fhir:Observation ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "glasgow"] ; # 
  fhir:status [ fhir:v "final"] ; # the mandatory quality flags:
  fhir:code [
     a loinc:9269-2 ;
     fhir:coding ( [
       fhir:system [
         fhir:v "http://loinc.org"^^xsd:anyURI ;
         fhir:l <http://loinc.org>
       ] ;
       fhir:code [ fhir:v "9269-2" ] ;
       fhir:display [ fhir:v "Glasgow coma score total" ]
     ] ) ; # LOINC - always recommended to have a LOINC code
     fhir:text [ fhir:v "Glasgow Coma Scale , (GCS)" ]
  ] ; # Observations are often coded in multiple code systems.
#      - LOINC
#		- or SNOMED
#      -and/or the source system may provides its own "local" code, which may be less or more granular than LOINC.
#	In this example there is only LOINC.
#	The LOINC definitions already have "built" into their definitions, and the codes can be combined with ordinalValue extensions to achieve a score.
  fhir:subject [
     fhir:l <http://hl7.org/fhir/Patient/example> ;
     fhir:reference [ fhir:v "Patient/example" ] ;
     fhir:display [ fhir:v "Peter James Chalmers" ]
  ] ; # 
  fhir:effective [
     a fhir:DateTime ;
     fhir:v "2014-12-11T04:44:16Z"^^xsd:dateTime
  ] ; # 
  fhir:value [
     a fhir:Quantity ;
     fhir:value [ fhir:v "13"^^xsd:decimal ] ;
     fhir:system [
       fhir:v "http://unitsofmeasure.org"^^xsd:anyURI ;
       fhir:l <http://unitsofmeasure.org>
     ] ;
     fhir:code [ fhir:v "{score}" ]
  ] ; # In FHIR, units may be represented twice. Once in the
#    agreed human representation, and once in a coded form.
#    In this example the UCUM unit is provided but no human representation since this is often not displayed
  fhir:referenceRange ( [
     fhir:high [
       fhir:value [ fhir:v "8"^^xsd:decimal ] ;
       fhir:system [
         fhir:v "http://unitsofmeasure.org"^^xsd:anyURI ;
         fhir:l <http://unitsofmeasure.org>
       ] ;
       fhir:code [ fhir:v "{score}" ]
     ] ;
     fhir:type [
       fhir:text [ fhir:v "Severe TBI" ]
     ] # meaning as text
  ] [
     fhir:low [
       fhir:value [ fhir:v "9"^^xsd:decimal ] ;
       fhir:system [
         fhir:v "http://unitsofmeasure.org"^^xsd:anyURI ;
         fhir:l <http://unitsofmeasure.org>
       ] ;
       fhir:code [ fhir:v "{score}" ]
     ] ;
     fhir:high [
       fhir:value [ fhir:v "12"^^xsd:decimal ] ;
       fhir:system [
         fhir:v "http://unitsofmeasure.org"^^xsd:anyURI ;
         fhir:l <http://unitsofmeasure.org>
       ] ;
       fhir:code [ fhir:v "{score}" ]
     ] ;
     fhir:type [
       fhir:text [ fhir:v "Moderate TBI" ]
     ] # meaning as text
  ] [
     fhir:low [
       fhir:value [ fhir:v "13"^^xsd:decimal ] ;
       fhir:system [
         fhir:v "http://unitsofmeasure.org"^^xsd:anyURI ;
         fhir:l <http://unitsofmeasure.org>
       ] ;
       fhir:code [ fhir:v "{score}" ]
     ] ;
     fhir:type [
       fhir:text [ fhir:v "Mild TBI" ]
     ] # meaning as text
  ] ) ; # 
  fhir:component ( [
     fhir:code [
       a loinc:9268-4 ;
       fhir:coding ( [
         fhir:system [
           fhir:v "http://loinc.org"^^xsd:anyURI ;
           fhir:l <http://loinc.org>
         ] ;
         fhir:code [ fhir:v "9268-4" ] ;
         fhir:display [ fhir:v "Glasgow coma score motor" ]
       ] ) ;
       fhir:text [ fhir:v "GCS Motor" ]
     ] ;
     fhir:value [
       a fhir:CodeableConcept, loinc:LA6566-9 ;
       fhir:coding ( [
         fhir:system [
           fhir:v "http://example.org/codes"^^xsd:anyURI ;
           fhir:l <http://example.org/codes>
         ] ;
         fhir:code [ fhir:v "5" ] ;
         fhir:display [ fhir:v "Localizes painful stimuli" ]
       ] [
         fhir:extension ( [
           fhir:url [
             fhir:v "http://hl7.org/fhir/StructureDefinition/itemWeight"^^xsd:anyURI ;
             fhir:l <http://hl7.org/fhir/StructureDefinition/itemWeight>
           ] ;
           fhir:value [
             a fhir:Decimal ;
             fhir:v "5"^^xsd:decimal
           ] # from Element: extension
         ] ) ; # This example has the extension which maps a numeric score to the code this may already be known and unecessary in the Observation resource, 0..1 Value of extension
         fhir:system [
           fhir:v "http://loinc.org"^^xsd:anyURI ;
           fhir:l <http://loinc.org>
         ] ;
         fhir:code [ fhir:v "LA6566-9" ] ;
         fhir:display [ fhir:v "Localizing pain" ]
       ] ) ;
       fhir:text [ fhir:v "5 (Localizes painful stimuli)" ]
     ]
  ] [
     fhir:code [
       a loinc:9270-0 ;
       fhir:coding ( [
         fhir:system [
           fhir:v "http://loinc.org"^^xsd:anyURI ;
           fhir:l <http://loinc.org>
         ] ;
         fhir:code [ fhir:v "9270-0" ] ;
         fhir:display [ fhir:v "Glasgow coma score verbal" ]
       ] ) ;
       fhir:text [ fhir:v "GSC Verbal" ]
     ] ;
     fhir:value [
       a fhir:CodeableConcept, loinc:LA6560-2 ;
       fhir:coding ( [
         fhir:system [
           fhir:v "http://example.org/codes"^^xsd:anyURI ;
           fhir:l <http://example.org/codes>
         ] ;
         fhir:code [ fhir:v "4" ] ;
         fhir:display [ fhir:v "Confused, disoriented" ]
       ] [
         fhir:extension ( [
           fhir:url [
             fhir:v "http://hl7.org/fhir/StructureDefinition/itemWeight"^^xsd:anyURI ;
             fhir:l <http://hl7.org/fhir/StructureDefinition/itemWeight>
           ] ;
           fhir:value [
             a fhir:Decimal ;
             fhir:v "4"^^xsd:decimal
           ] # from Element: extension
         ] ) ; # This example has the extension which maps a numeric score to the code this may already be known and unecessary in the Observation resource, 0..1 Value of extension
         fhir:system [
           fhir:v "http://loinc.org"^^xsd:anyURI ;
           fhir:l <http://loinc.org>
         ] ;
         fhir:code [ fhir:v "LA6560-2" ] ; # technicallly the code is '5' and the LA is the identifier to do hav e both  would require an extention
         fhir:display [ fhir:v "Confused" ]
       ] ) ;
       fhir:text [ fhir:v "4 (Confused, disoriented)" ]
     ]
  ] [
     fhir:code [
       a loinc:9267-6 ;
       fhir:coding ( [
         fhir:system [
           fhir:v "http://loinc.org"^^xsd:anyURI ;
           fhir:l <http://loinc.org>
         ] ;
         fhir:code [ fhir:v "9267-6" ] ;
         fhir:display [ fhir:v "Glasgow coma score eye opening" ]
       ] ) ;
       fhir:text [ fhir:v "Eyes" ]
     ] ;
     fhir:value [
       a fhir:CodeableConcept, loinc:LA6556-0 ;
       fhir:coding ( [
         fhir:system [
           fhir:v "http://example.org/codes"^^xsd:anyURI ;
           fhir:l <http://example.org/codes>
         ] ;
         fhir:code [ fhir:v "4" ] ;
         fhir:display [ fhir:v "Opens eyes spontaneously" ]
       ] [
         fhir:extension ( [
           fhir:url [
             fhir:v "http://hl7.org/fhir/StructureDefinition/itemWeight"^^xsd:anyURI ;
             fhir:l <http://hl7.org/fhir/StructureDefinition/itemWeight>
           ] ;
           fhir:value [
             a fhir:Decimal ;
             fhir:v "4"^^xsd:decimal
           ] # from Element: extension
         ] ) ; # This example has the extension which maps a numeric score to the code this may already be known and unecessary in the Observation resource, 0..1 Value of extension
         fhir:system [
           fhir:v "http://loinc.org"^^xsd:anyURI ;
           fhir:l <http://loinc.org>
         ] ;
         fhir:code [ fhir:v "LA6556-0" ] ; # technicallly the code is '4' and the LA is the identifier to do hav e both  would require an extention
         fhir:display [ fhir:v "Eyes open spontaneously" ]
       ] ) ;
       fhir:text [ fhir:v "4 (Opens eyes spontaneously)" ]
     ]
  ] ) . # Using components since these measurements are typically reported and interpreted together, GCS motor Component

<http://hl7.org/fhir/Patient/example> a fhir:Patient .

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

