R6 Ballot (2nd Draft)

Publish-box (todo)

Example Basic/classModel (Turtle)

FHIR Infrastructure Work GroupMaturity Level: N/AStandards Status: InformativeCompartments: 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 rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

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

#   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. 

[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: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:url [ fhir:v "attribute"^^xsd:anyURI ] ;
       fhir:extension ( [
         fhir:url [ fhir:v "name"^^xsd:anyURI ] ;
         fhir:value [ fhir:v "attribute1" ]
       ] [
         fhir:url [ fhir:v "minOccurs"^^xsd:anyURI ] ;
         fhir:value [ fhir:v "1"^^xsd:integer ]
       ] [
         fhir:url [ fhir:v "maxOccurs"^^xsd:anyURI ] ;
         fhir:value [ fhir:v "*" ]
       ] )
     ] [
       fhir:url [ fhir:v "attribute"^^xsd:anyURI ] ;
       fhir:extension ( [
         fhir:url [ fhir:v "name"^^xsd:anyURI ] ;
         fhir:value [ fhir:v "attribute2" ]
       ] [
         fhir:url [ fhir:v "minOccurs"^^xsd:anyURI ] ;
         fhir:value [ fhir:v "0"^^xsd:integer ]
       ] [
         fhir:url [ fhir:v "maxOccurs"^^xsd:anyURI ] ;
         fhir:value [ fhir:v "1"^^xsd:integer ]
       ] )
     ] )
  ] ) ; # 
  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.