DHIS2 Example FHIR Implementation Guide
1.0.0 - ci-build International flag

DHIS2 Example FHIR Implementation Guide, published by DHIS2. This is not an authorized publication; it is the continuous build for version 1.0.0). This version is based on the current content of https://github.com/JohanGHole/alldevs-demo-ig and changes regularly. See the Directory of published versions

Logical Model: PatientInfo - TTL Profile

Draft as of 2023-09-28

TTL representation of the PatientInfo logical model.

Raw ttl | Download


@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 -------------------------------------------------------------------

 a fhir:StructureDefinition ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "PatientInfo"] ; # 
  fhir:text [
fhir:status [ fhir:v "extensions" ] ;
fhir:div "<div xmlns=\"http://www.w3.org/1999/xhtml\">Placeholder</div>"
  ] ; # 
  fhir:url [ fhir:v "https://dhis2.org/StructureDefinition/PatientInfo"^^xsd:anyURI] ; # 
  fhir:version [ fhir:v "1.0.0"] ; # 
  fhir:name [ fhir:v "PatientInfo"] ; # 
  fhir:title [ fhir:v "Base Patient Data Model"] ; # 
  fhir:status [ fhir:v "draft"] ; # 
  fhir:date [ fhir:v "2023-09-28T13:33:49+00:00"^^xsd:dateTime] ; # 
  fhir:publisher [ fhir:v "DHIS2"] ; # 
  fhir:contact ( [
fhir:name [ fhir:v "DHIS2" ] ;
    ( fhir:telecom [
fhir:system [ fhir:v "url" ] ;
fhir:value [ fhir:v "https://dhis2.org" ]     ] [
fhir:system [ fhir:v "email" ] ;
fhir:value [ fhir:v "integration@dhis2.org" ]     ] )
  ] [
fhir:name [ fhir:v "Johan Hole" ] ;
    ( fhir:telecom [
fhir:system [ fhir:v "email" ] ;
fhir:value [ fhir:v "Johan@Devotta.no" ] ;
fhir:use [ fhir:v "work" ]     ] )
  ] ) ; # 
  fhir:description [ fhir:v "Representation of common DHIS2 tracked entity properties."] ; # 
  fhir:jurisdiction ( [
    ( fhir:coding [
fhir:system [ fhir:v "http://unstats.un.org/unsd/methods/m49/m49.htm"^^xsd:anyURI ] ;
fhir:code [ fhir:v "001" ] ;
fhir:display [ fhir:v "World" ]     ] )
  ] ) ; # 
  fhir:fhirVersion [ fhir:v "4.0.1"] ; # 
  fhir:mapping ( [
fhir:identity [ fhir:v "rim" ] ;
fhir:uri [ fhir:v "http://hl7.org/v3"^^xsd:anyURI ] ;
fhir:name [ fhir:v "RIM Mapping" ]
  ] ) ; # 
  fhir:kind [ fhir:v "logical"] ; # 
  fhir:abstract [ fhir:v "false"^^xsd:boolean] ; # 
  fhir:type [ fhir:v "https://dhis2.org/StructureDefinition/PatientInfo"^^xsd:anyURI] ; # 
  fhir:baseDefinition [
fhir:v "http://hl7.org/fhir/StructureDefinition/Base"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/StructureDefinition/Base>
  ] ; # 
  fhir:derivation [ fhir:v "specialization"] ; # 
  fhir:snapshot [
    ( fhir:element [
fhir:id [ fhir:v "PatientInfo" ] ;
fhir:path [ fhir:v "PatientInfo" ] ;
fhir:short [ fhir:v "Base Patient Data Model" ] ;
fhir:definition [ fhir:v "Representation of common DHIS2 tracked entity properties." ] ;
fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "*" ] ;
fhir:base [
fhir:path [ fhir:v "Base" ] ;
fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "*" ]       ] ;
fhir:isModifier [ fhir:v "false"^^xsd:boolean ]     ] [
fhir:id [ fhir:v "PatientInfo.registrationDateTime" ] ;
fhir:path [ fhir:v "PatientInfo.registrationDateTime" ] ;
fhir:short [ fhir:v "Date-Time information was entered" ] ;
fhir:definition [ fhir:v "Date and Time when the patient information was entered into DHIS2" ] ;
fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
fhir:base [
fhir:path [ fhir:v "PatientInfo.registrationDateTime" ] ;
fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ]       ] ;
      ( fhir:type [
fhir:code [ fhir:v "dateTime"^^xsd:anyURI ]       ] )     ] [
fhir:id [ fhir:v "PatientInfo.firstregisteredAt" ] ;
fhir:path [ fhir:v "PatientInfo.firstregisteredAt" ] ;
fhir:short [ fhir:v "The Org unit where the patient was first registered" ] ;
fhir:definition [ fhir:v "The Org unit where the patient was first registered" ] ;
fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
fhir:base [
fhir:path [ fhir:v "PatientInfo.firstregisteredAt" ] ;
fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ]       ] ;
      ( fhir:type [
fhir:code [ fhir:v "Reference"^^xsd:anyURI ] ;
        ( fhir:targetProfile [
fhir:v "http://hl7.org/fhir/StructureDefinition/Organization"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/StructureDefinition/Organization>         ] )       ] )     ] [
fhir:id [ fhir:v "PatientInfo.firstName" ] ;
fhir:path [ fhir:v "PatientInfo.firstName" ] ;
fhir:short [ fhir:v "Given name of the patient" ] ;
fhir:definition [ fhir:v "Given name of the patient" ] ;
fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
fhir:base [
fhir:path [ fhir:v "PatientInfo.firstName" ] ;
fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ]       ] ;
      ( fhir:type [
fhir:code [ fhir:v "string"^^xsd:anyURI ]       ] )     ] [
fhir:id [ fhir:v "PatientInfo.lastName" ] ;
fhir:path [ fhir:v "PatientInfo.lastName" ] ;
fhir:short [ fhir:v "Family name" ] ;
fhir:definition [ fhir:v "Family name" ] ;
fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
fhir:base [
fhir:path [ fhir:v "PatientInfo.lastName" ] ;
fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ]       ] ;
      ( fhir:type [
fhir:code [ fhir:v "string"^^xsd:anyURI ]       ] )     ] [
fhir:id [ fhir:v "PatientInfo.dateOfBirth" ] ;
fhir:path [ fhir:v "PatientInfo.dateOfBirth" ] ;
fhir:short [ fhir:v "..." ] ;
fhir:definition [ fhir:v "..." ] ;
fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
fhir:base [
fhir:path [ fhir:v "PatientInfo.dateOfBirth" ] ;
fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ]       ] ;
      ( fhir:type [
fhir:code [ fhir:v "string"^^xsd:anyURI ]       ] )     ] [
fhir:id [ fhir:v "PatientInfo.dateOfBirthIsEstimated" ] ;
fhir:path [ fhir:v "PatientInfo.dateOfBirthIsEstimated" ] ;
fhir:short [ fhir:v "..." ] ;
fhir:definition [ fhir:v "..." ] ;
fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
fhir:base [
fhir:path [ fhir:v "PatientInfo.dateOfBirthIsEstimated" ] ;
fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ]       ] ;
      ( fhir:type [
fhir:code [ fhir:v "boolean"^^xsd:anyURI ]       ] )     ] [
fhir:id [ fhir:v "PatientInfo.sexAtBirth" ] ;
fhir:path [ fhir:v "PatientInfo.sexAtBirth" ] ;
fhir:short [ fhir:v "..." ] ;
fhir:definition [ fhir:v "..." ] ;
fhir:comment [ fhir:v "(valueset depends on the program)" ] ;
fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
fhir:base [
fhir:path [ fhir:v "PatientInfo.sexAtBirth" ] ;
fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ]       ] ;
      ( fhir:type [
fhir:code [ fhir:v "code"^^xsd:anyURI ]       ] ) ;
fhir:binding [
fhir:strength [ fhir:v "example" ] ;
fhir:valueSet [
fhir:v "https://dhis2.org/ValueSet/patient-sex-at-birth-vs"^^xsd:anyURI ;
fhir:link <https://dhis2.org/ValueSet/patient-sex-at-birth-vs>         ]       ]     ] [
fhir:id [ fhir:v "PatientInfo.currentHomeAddress" ] ;
fhir:path [ fhir:v "PatientInfo.currentHomeAddress" ] ;
fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
fhir:base [
fhir:path [ fhir:v "PatientInfo.currentHomeAddress" ] ;
fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ]       ] ;
      ( fhir:type [
fhir:code [ fhir:v "string"^^xsd:anyURI ]       ] )     ] [
fhir:id [ fhir:v "PatientInfo.contactPhoneNumber" ] ;
fhir:path [ fhir:v "PatientInfo.contactPhoneNumber" ] ;
fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
fhir:base [
fhir:path [ fhir:v "PatientInfo.contactPhoneNumber" ] ;
fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ]       ] ;
      ( fhir:type [
fhir:code [ fhir:v "string"^^xsd:anyURI ]       ] )     ] [
fhir:id [ fhir:v "PatientInfo.countryOfBirth" ] ;
fhir:path [ fhir:v "PatientInfo.countryOfBirth" ] ;
fhir:short [ fhir:v "..." ] ;
fhir:definition [ fhir:v "..." ] ;
fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
fhir:base [
fhir:path [ fhir:v "PatientInfo.countryOfBirth" ] ;
fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ]       ] ;
      ( fhir:type [
fhir:code [ fhir:v "string"^^xsd:anyURI ]       ] ) ;
fhir:binding [
fhir:strength [ fhir:v "example" ] ;
fhir:valueSet [ fhir:v "urn:iso:std:iso:3166"^^xsd:anyURI ]       ]     ] [
fhir:id [ fhir:v "PatientInfo.nationaId" ] ;
fhir:path [ fhir:v "PatientInfo.nationaId" ] ;
fhir:short [ fhir:v "..." ] ;
fhir:definition [ fhir:v "..." ] ;
fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
fhir:base [
fhir:path [ fhir:v "PatientInfo.nationaId" ] ;
fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ]       ] ;
      ( fhir:type [
fhir:code [ fhir:v "string"^^xsd:anyURI ]       ] )     ] [
fhir:id [ fhir:v "PatientInfo.consent" ] ;
fhir:path [ fhir:v "PatientInfo.consent" ] ;
fhir:short [ fhir:v "..." ] ;
fhir:definition [ fhir:v "..." ] ;
fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
fhir:base [
fhir:path [ fhir:v "PatientInfo.consent" ] ;
fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ]       ] ;
      ( fhir:type [
fhir:code [ fhir:v "boolean"^^xsd:anyURI ]       ] )     ] )
  ] ; # 
  fhir:differential [
    ( fhir:element [
fhir:id [ fhir:v "PatientInfo" ] ;
fhir:path [ fhir:v "PatientInfo" ] ;
fhir:short [ fhir:v "Base Patient Data Model" ] ;
fhir:definition [ fhir:v "Representation of common DHIS2 tracked entity properties." ]     ] [
fhir:id [ fhir:v "PatientInfo.registrationDateTime" ] ;
fhir:path [ fhir:v "PatientInfo.registrationDateTime" ] ;
fhir:short [ fhir:v "Date-Time information was entered" ] ;
fhir:definition [ fhir:v "Date and Time when the patient information was entered into DHIS2" ] ;
fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
      ( fhir:type [
fhir:code [ fhir:v "dateTime"^^xsd:anyURI ]       ] )     ] [
fhir:id [ fhir:v "PatientInfo.firstregisteredAt" ] ;
fhir:path [ fhir:v "PatientInfo.firstregisteredAt" ] ;
fhir:short [ fhir:v "The Org unit where the patient was first registered" ] ;
fhir:definition [ fhir:v "The Org unit where the patient was first registered" ] ;
fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
      ( fhir:type [
fhir:code [ fhir:v "Reference"^^xsd:anyURI ] ;
        ( fhir:targetProfile [
fhir:v "http://hl7.org/fhir/StructureDefinition/Organization"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/StructureDefinition/Organization>         ] )       ] )     ] [
fhir:id [ fhir:v "PatientInfo.firstName" ] ;
fhir:path [ fhir:v "PatientInfo.firstName" ] ;
fhir:short [ fhir:v "Given name of the patient" ] ;
fhir:definition [ fhir:v "Given name of the patient" ] ;
fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
      ( fhir:type [
fhir:code [ fhir:v "string"^^xsd:anyURI ]       ] )     ] [
fhir:id [ fhir:v "PatientInfo.lastName" ] ;
fhir:path [ fhir:v "PatientInfo.lastName" ] ;
fhir:short [ fhir:v "Family name" ] ;
fhir:definition [ fhir:v "Family name" ] ;
fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
      ( fhir:type [
fhir:code [ fhir:v "string"^^xsd:anyURI ]       ] )     ] [
fhir:id [ fhir:v "PatientInfo.dateOfBirth" ] ;
fhir:path [ fhir:v "PatientInfo.dateOfBirth" ] ;
fhir:short [ fhir:v "..." ] ;
fhir:definition [ fhir:v "..." ] ;
fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
      ( fhir:type [
fhir:code [ fhir:v "string"^^xsd:anyURI ]       ] )     ] [
fhir:id [ fhir:v "PatientInfo.dateOfBirthIsEstimated" ] ;
fhir:path [ fhir:v "PatientInfo.dateOfBirthIsEstimated" ] ;
fhir:short [ fhir:v "..." ] ;
fhir:definition [ fhir:v "..." ] ;
fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
      ( fhir:type [
fhir:code [ fhir:v "boolean"^^xsd:anyURI ]       ] )     ] [
fhir:id [ fhir:v "PatientInfo.sexAtBirth" ] ;
fhir:path [ fhir:v "PatientInfo.sexAtBirth" ] ;
fhir:short [ fhir:v "..." ] ;
fhir:definition [ fhir:v "..." ] ;
fhir:comment [ fhir:v "(valueset depends on the program)" ] ;
fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
      ( fhir:type [
fhir:code [ fhir:v "code"^^xsd:anyURI ]       ] ) ;
fhir:binding [
fhir:strength [ fhir:v "example" ] ;
fhir:valueSet [
fhir:v "https://dhis2.org/ValueSet/patient-sex-at-birth-vs"^^xsd:anyURI ;
fhir:link <https://dhis2.org/ValueSet/patient-sex-at-birth-vs>         ]       ]     ] [
fhir:id [ fhir:v "PatientInfo.currentHomeAddress" ] ;
fhir:path [ fhir:v "PatientInfo.currentHomeAddress" ] ;
fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
      ( fhir:type [
fhir:code [ fhir:v "string"^^xsd:anyURI ]       ] )     ] [
fhir:id [ fhir:v "PatientInfo.contactPhoneNumber" ] ;
fhir:path [ fhir:v "PatientInfo.contactPhoneNumber" ] ;
fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
      ( fhir:type [
fhir:code [ fhir:v "string"^^xsd:anyURI ]       ] )     ] [
fhir:id [ fhir:v "PatientInfo.countryOfBirth" ] ;
fhir:path [ fhir:v "PatientInfo.countryOfBirth" ] ;
fhir:short [ fhir:v "..." ] ;
fhir:definition [ fhir:v "..." ] ;
fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
      ( fhir:type [
fhir:code [ fhir:v "string"^^xsd:anyURI ]       ] ) ;
fhir:binding [
fhir:strength [ fhir:v "example" ] ;
fhir:valueSet [ fhir:v "urn:iso:std:iso:3166"^^xsd:anyURI ]       ]     ] [
fhir:id [ fhir:v "PatientInfo.nationaId" ] ;
fhir:path [ fhir:v "PatientInfo.nationaId" ] ;
fhir:short [ fhir:v "..." ] ;
fhir:definition [ fhir:v "..." ] ;
fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
      ( fhir:type [
fhir:code [ fhir:v "string"^^xsd:anyURI ]       ] )     ] [
fhir:id [ fhir:v "PatientInfo.consent" ] ;
fhir:path [ fhir:v "PatientInfo.consent" ] ;
fhir:short [ fhir:v "..." ] ;
fhir:definition [ fhir:v "..." ] ;
fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
fhir:max [ fhir:v "1" ] ;
      ( fhir:type [
fhir:code [ fhir:v "boolean"^^xsd:anyURI ]       ] )     ] )
  ] . #