@prefix fhir: <http://hl7.org/fhir/> .
@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 sct: <http://snomed.info/id/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# - resource -------------------------------------------------------------------

<http://hl7.org/fhir/Specimen/isolate> a fhir:Specimen ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "isolate"] ; # 
  fhir:contained ( [
     a fhir:Specimen ;
     fhir:id [ fhir:v "stool" ] ;
     fhir:identifier ( [
       fhir:type [
         fhir:coding ( [
           fhir:system [
             fhir:v "http://terminology.hl7.org/CodeSystem/v2-0203"^^xsd:anyURI ;
             fhir:l <http://terminology.hl7.org/CodeSystem/v2-0203>
           ] ;
           fhir:code [ fhir:v "ACSN" ] ;
           fhir:display [ fhir:v "Accession ID" ]
         ] )
       ] ;
       fhir:system [
         fhir:v "http://lab.acme.org/specimens/2015"^^xsd:anyURI ;
         fhir:l <http://lab.acme.org/specimens/2015>
       ] ;
       fhir:value [ fhir:v "X352356" ]
     ] [
       fhir:type [
         fhir:coding ( [
           fhir:system [
             fhir:v "http://terminology.hl7.org/CodeSystem/v2-0203"^^xsd:anyURI ;
             fhir:l <http://terminology.hl7.org/CodeSystem/v2-0203>
           ] ;
           fhir:code [ fhir:v "ACSN" ] ;
           fhir:display [ fhir:v "Accession ID" ]
         ] )
       ] ;
       fhir:system [
         fhir:v "http://lab.acme.org/specimens/2015"^^xsd:anyURI ;
         fhir:l <http://lab.acme.org/specimens/2015>
       ] ;
       fhir:value [ fhir:v "X352356" ]
     ] ) ;
     fhir:status [ fhir:v "unavailable" ] ;
     fhir:type [
       fhir:coding ( [
         a sct:119339001 ;
         fhir:system [
           fhir:v "http://snomed.info/sct"^^xsd:anyURI ;
           fhir:l <http://snomed.info/sct>
         ] ;
         fhir:code [ fhir:v "119339001" ] ;
         fhir:display [ fhir:v "Stool specimen" ]
       ] ) #  \n   Type is a loosely defined field because there is such a lot of variation in how it is used.\n   The principal variation is how much information that could be represented elsewhere is also\n   represented here. For instance, here's some possible types:\n     lithium heparin plasma   (+ .container.additive) (e.g. SNOMED CT 446272009)\n     transfusion bag of blood (+ container.type)\n     Peritoneal lavage        (+ collection.bodySite)\n   If the type includes other fields, it would be normal not to populate the other fields\n\n   Note that this practice is so widespread that it's pointless to try and stop it \n 
     ] ;
     fhir:subject [
       fhir:l <http://hl7.org/fhir/Patient/example> ;
       fhir:reference [ fhir:v "Patient/example" ]
     ] ;
     fhir:receivedTime [ fhir:v "2015-08-16T07:03:00Z"^^xsd:dateTime ] ;
     fhir:collection [
       fhir:collector [
         fhir:display [ fhir:v "Patient" ] #     in practice, collecter is almost always recorded    
       ] ;
       fhir:collected [
         a fhir:DateTime ;
         fhir:v "2011-08-16T06:15:00Z"^^xsd:dateTime
       ] ; #     the time of collection is usually required. Usually a point in time, but can be a period \n      (collectedPeriod) if it's a timed collection (e.g. a 24 hour urine)    
       fhir:method [
         fhir:coding ( [
           fhir:system [
             fhir:v "http://terminology.hl7.org/CodeSystem/v2-0488"^^xsd:anyURI ;
             fhir:l <http://terminology.hl7.org/CodeSystem/v2-0488>
           ] ;
           fhir:code [ fhir:v "LNV" ]
         ] )
       ] #     method is usually implied by type    
     ]
  ] ) ; # 
  fhir:identifier ( [
     fhir:type [
       fhir:coding ( [
         fhir:system [
           fhir:v "http://terminology.hl7.org/CodeSystem/v2-0203"^^xsd:anyURI ;
           fhir:l <http://terminology.hl7.org/CodeSystem/v2-0203>
         ] ;
         fhir:code [ fhir:v "ACSN" ] ;
         fhir:display [ fhir:v "Accession ID" ]
       ] )
     ] ;
     fhir:system [
       fhir:v "http://lab.acme.org/specimens/2011"^^xsd:anyURI ;
       fhir:l <http://lab.acme.org/specimens/2011>
     ] ;
     fhir:value [ fhir:v "X352356-ISO1" ]
  ] [
     fhir:type [
       fhir:coding ( [
         fhir:system [
           fhir:v "http://terminology.hl7.org/CodeSystem/v2-0203"^^xsd:anyURI ;
           fhir:l <http://terminology.hl7.org/CodeSystem/v2-0203>
         ] ;
         fhir:code [ fhir:v "ACSN" ] ;
         fhir:display [ fhir:v "Accession ID" ]
       ] )
     ] ;
     fhir:system [
       fhir:v "http://lab.acme.org/specimens/2011"^^xsd:anyURI ;
       fhir:l <http://lab.acme.org/specimens/2011>
     ] ;
     fhir:value [ fhir:v "X352356-ISO1" ]
  ] ) ; # 
  fhir:status [ fhir:v "available"] ; # 
  fhir:type [
     fhir:coding ( [
       a sct:119303007 ;
       fhir:system [
         fhir:v "http://snomed.info/sct"^^xsd:anyURI ;
         fhir:l <http://snomed.info/sct>
       ] ;
       fhir:code [ fhir:v "119303007" ] ;
       fhir:display [ fhir:v "Microbial isolate specimen" ]
     ] ) ;
     fhir:text [ fhir:v "Bacterial isolate specimen" ]
  ] ; # 
  fhir:subject [
     fhir:l <http://hl7.org/fhir/Patient/example> ;
     fhir:reference [ fhir:v "Patient/example" ]
  ] ; # 
  fhir:receivedTime [ fhir:v "2015-08-18T07:03:00Z"^^xsd:dateTime] ; # 
  fhir:parent ( [
     fhir:l <#stool> ;
     fhir:reference [ fhir:v "#stool" ]
  ] ) ; # 
  fhir:role ( [
     fhir:coding ( [
       fhir:code [ fhir:v "p" ] ;
       fhir:display [ fhir:v "Patient" ]
     ] )
  ] ) ; # 
  fhir:collection [
     fhir:collector [
       fhir:l <http://hl7.org/fhir/Practitioner/f202> ;
       fhir:reference [ fhir:v "Practitioner/f202" ] #     in practice, collecter is almost always recorded    
     ] ;
     fhir:collected [
       a fhir:DateTime ;
       fhir:v "2015-08-16T07:03:00Z"^^xsd:dateTime
     ] ; #     the time of collection is usually required. Usually a point in time, but can be a period \n      (collectedPeriod) if it's a timed collection (e.g. a 24 hour urine)    
     fhir:method [
       fhir:coding ( [
         fhir:system [
           fhir:v "http://terminology.hl7.org/CodeSystem/v2-0488"^^xsd:anyURI ;
           fhir:l <http://terminology.hl7.org/CodeSystem/v2-0488>
         ] ;
         fhir:code [ fhir:v "BAP" ]
       ] )
     ] #     method is usually implied by type    
  ] ; # 
  fhir:note ( [
     fhir:text [ fhir:v "Patient dropped off specimen" ]
  ] ) . # 

<http://hl7.org/fhir/Patient/example> a fhir:Patient .

<http://hl7.org/fhir/Practitioner/f202> a fhir:Practitioner .

# -------------------------------------------------------------------------------------

