Release 5 R6 Ballot (3rd Draft)
This page is part of the FHIR Specification (v5.0.0: R5 - STU ). This is the current published version in it's permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

Publish-box (todo)

Example Basic/classModel (Turtle)

FHIR Infrastructure Work Group Maturity Level : N/A Standards Status : Informative Compartments : Patient , Practitioner , RelatedPerson

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

How 'Basic' can be used for essoteric resources - in this case, a UML class model

@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 xsd: <http://www.w3.org/2001/XMLSchema#> .

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

[a fhir:Basic ;

#   This is a silly exmple showing how Basic could be used to convey a UML diagram.  It is extremely
#unlikely anyone would ever use FHIR to do this.  (XMI isn't *that* unpleasant :>).  However, it shows
#how somewhat esoteric requirements that won't ever be supported by the core FHIR specification can still
#be managed in a conformant manner. 

<http://hl7.org/fhir/Basic/classModel> a fhir:Basic ;

  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "classModel"] ; # 
  fhir:text [
     fhir:status [ fhir:v "generated" ] ;
     fhir:div "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n      <p><b>Class1</b></p>\n      <ul>\n        <li>Attribute1: 1..*</li>\n        <li>Attribute2: 0..1</li>\n      </ul>\n    </div>"

     fhir:div "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n      <p><b>Class1</b></p>\n      <ul>\n        <li>Attribute1: 1..*</li>\n        <li>Attribute2: 0..1</li>\n      </ul>\n    </div>"^^rdf:XMLLiteral

  ] ; # 
  fhir:extension ( [
     fhir:url [ fhir:v "http://example.org/do-not-use/fhir-extensions/UMLclass"^^xsd:anyURI ] ;
     fhir:extension ( [
       fhir:url [ fhir:v "name"^^xsd:anyURI ] ;
       fhir:value [ fhir:v "Class1" ]

       fhir:value [
         a fhir:string ;
         fhir:v "Class1"
       ]

     ] [
       fhir:url [ fhir:v "attribute"^^xsd:anyURI ] ;
       fhir:extension ( [
         fhir:url [ fhir:v "name"^^xsd:anyURI ] ;
         fhir:value [ fhir:v "attribute1" ]

         fhir:value [
           a fhir:string ;
           fhir:v "attribute1"
         ]

       ] [
         fhir:url [ fhir:v "minOccurs"^^xsd:anyURI ] ;
         fhir:value [ fhir:v "1"^^xsd:integer ]

         fhir:value [
           a fhir:integer ;
           fhir:v 1
         ]

       ] [
         fhir:url [ fhir:v "maxOccurs"^^xsd:anyURI ] ;
         fhir:value [ fhir:v "*" ]

         fhir:value [
           a fhir:code ;
           fhir:v "*"
         ]

       ] )
     ] [
       fhir:url [ fhir:v "attribute"^^xsd:anyURI ] ;
       fhir:extension ( [
         fhir:url [ fhir:v "name"^^xsd:anyURI ] ;
         fhir:value [ fhir:v "attribute2" ]

         fhir:value [
           a fhir:string ;
           fhir:v "attribute2"
         ]

       ] [
         fhir:url [ fhir:v "minOccurs"^^xsd:anyURI ] ;
         fhir:value [ fhir:v "0"^^xsd:integer ]

         fhir:value [
           a fhir:integer ;
           fhir:v 0
         ]

       ] [
         fhir:url [ fhir:v "maxOccurs"^^xsd:anyURI ] ;
         fhir:value [ fhir:v "1"^^xsd:integer ]

         fhir:value [
           a fhir:integer ;
           fhir:v 1
         ]

       ] )
     ] )
  ] ) ; # 
  fhir:code [
     fhir:coding ( [
       fhir:system [ fhir:v "http://example.org/do-not-use/fhir-codes#resourceTypes"^^xsd:anyURI ] ;
       fhir:code [ fhir:v "UMLCLASSMODEL" ]
     ] )
  ]] . # 

  ] . # 


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


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.