SGHI FHIR Profile Implementation Guide
0.1.0 - ci-build

SGHI FHIR Profile Implementation Guide, published by Kathurima Kimathi. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/savannahghi/sil_fhir_profile_ig/ and changes regularly. See the Directory of published versions

## Data Type Profile: SGHIContactPoint - TTL Profile

Draft as of 2026-04-27

TTL representation of the contact-point data type profile.

Raw ttl | Download

    @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:StructureDefinition ;
      fhir:nodeRole fhir:treeRoot ;
      fhir:id [ fhir:v "contact-point"] ; #
      fhir:text [
    fhir:status [ fhir:v "extensions" ] ;
    fhir:div [ fhir:v "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: StructureDefinition contact-point</b></p><a name=\"contact-point\"> </a><a name=\"hccontact-point\"> </a><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border: 0px #F0F0F0 solid; font-size: 11px; font-family: verdana; vertical-align: top;\"><tr style=\"border: 1px #F0F0F0 solid; font-size: 11px; font-family: verdana; vertical-align: top\"><th style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px\" class=\"hierarchy\"><a href=\"https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views\" title=\"The logical name of the element\">Name</a></th><th style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px\" class=\"hierarchy\"><a href=\"https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views\" title=\"Information about the use of the element\">Flags</a></th><th style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px\" class=\"hierarchy\"><a href=\"https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views\" title=\"Minimum and Maximum # of times the element can appear in the instance\">Card.</a></th><th style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px; width: 100px\" class=\"hierarchy\"><a href=\"https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views\" title=\"Reference to the type of the element\">Type</a></th><th style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px\" class=\"hierarchy\"><a href=\"https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views\" title=\"Additional information about the element\">Description &amp; Constraints</a><span style=\"float: right\"><a href=\"https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views\" title=\"Legend for this format\"><img src=\"data:image/png;base64, \" alt=\"doco\" style=\"background-color: inherit\"/></a></span></th></tr><tr style=\"border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white\"><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck1.png)\" class=\"hierarchy\"><img src=\"tbl_spacer.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"icon_element.gif\" alt=\".\" style=\"background-color: white; background-color: inherit\" title=\"Element\" class=\"hierarchy\"/> <a href=\"StructureDefinition-contact-point-definitions.html#ContactPoint\">ContactPoint</a><a name=\"ContactPoint\"> </a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"/><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><span style=\"opacity: 0.5\">0</span><span style=\"opacity: 0.5\">..</span><span style=\"opacity: 0.5\">*</span></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><a href=\"http://hl7.org/fhir/R5/datatypes.html#ContactPoint\">ContactPoint</a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><span style=\"opacity: 0.5\">Details of a Technology mediated contact point (phone, fax, email, etc.)</span></td></tr>#xD;\n<tr style=\"border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7\"><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck10.png)\" class=\"hierarchy\"><img src=\"tbl_spacer.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_vjoin.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"icon_element.gif\" alt=\".\" style=\"background-color: #F7F7F7; background-color: inherit\" title=\"Element\" class=\"hierarchy\"/> <a href=\"StructureDefinition-contact-point-definitions.html#ContactPoint.system\">system</a><a name=\"ContactPoint.system\"> </a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"/><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">1..<span style=\"opacity: 0.5\">1</span></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><a style=\"opacity: 0.5; opacity: 0.5\" href=\"http://hl7.org/fhir/R5/datatypes.html#code\">code</a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><span style=\"opacity: 0.5\">phone | fax | email | pager | url | sms | other</span></td></tr>#xD;\n<tr style=\"border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white\"><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck00.png)\" class=\"hierarchy\"><img src=\"tbl_spacer.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"tbl_vjoin_end.png\" alt=\".\" style=\"background-color: inherit\" class=\"hierarchy\"/><img src=\"icon_element.gif\" alt=\".\" style=\"background-color: white; background-color: inherit\" title=\"Element\" class=\"hierarchy\"/> <a href=\"StructureDefinition-contact-point-definitions.html#ContactPoint.value\">value</a><a name=\"ContactPoint.value\"> </a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"/><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\">1..<span style=\"opacity: 0.5\">1</span></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><a style=\"opacity: 0.5; opacity: 0.5\" href=\"http://hl7.org/fhir/R5/datatypes.html#string\">string</a></td><td style=\"vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px\" class=\"hierarchy\"><span style=\"opacity: 0.5\">The actual contact point details</span></td></tr>#xD;\n<tr><td colspan=\"5\" class=\"hierarchy\"><br/><a href=\"https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views\" title=\"Legend for this format\"><img src=\"data:image/png;base64, \" alt=\"doco\" style=\"background-color: inherit\"/> Documentation for this format</a></td></tr></table></div>"^^rdf:XMLLiteral ]
      ] ; #
      fhir:url [
    fhir:v "https://fhir.slade360.co.ke/fhir/StructureDefinition/contact-point"^^xsd:anyURI ;
    fhir:l <https://fhir.slade360.co.ke/fhir/StructureDefinition/contact-point>
      ] ; #
      fhir:version [ fhir:v "0.1.0"] ; #
      fhir:name [ fhir:v "SGHIContactPoint"] ; #
      fhir:title [ fhir:v "SGHI ContactPoint"] ; #
      fhir:status [ fhir:v "draft"] ; #
      fhir:date [ fhir:v "2026-04-27T09:21:43+00:00"^^xsd:dateTime] ; #
      fhir:publisher [ fhir:v "Kathurima Kimathi"] ; #
      fhir:contact ( [
    fhir:name [ fhir:v "Kathurima Kimathi" ] ;
        ( fhir:telecom [
    fhir:system [ fhir:v "url" ] ;
    fhir:value [ fhir:v "https://www.linkedin.com/in/kathurima-kimathi/" ]     ] [
    fhir:system [ fhir:v "email" ] ;
    fhir:value [ fhir:v "kathurimakimathi415@gmail.com" ]     ] )
      ] [
    fhir:name [ fhir:v "Oscar John" ] ;
        ( fhir:telecom [
    fhir:system [ fhir:v "email" ] ;
    fhir:value [ fhir:v "oscarjohnotieno@gmail.com" ] ;
    fhir:use [ fhir:v "work" ]     ] )
      ] [
    fhir:name [ fhir:v "Kennedy Omondi" ] ;
        ( fhir:telecom [
    fhir:system [ fhir:v "email" ] ;
    fhir:value [ fhir:v "kennankole@gmail.com" ] ;
    fhir:use [ fhir:v "work" ]     ] )
      ] ) ; #
      fhir:description [ fhir:v "A custom contact point with stricter cardinality"] ; #
      fhir:fhirVersion [ fhir:v "5.0.0"] ; #
      fhir:mapping ( [
    fhir:identity [ fhir:v "v2" ] ;
    fhir:uri [
    fhir:v "http://hl7.org/v2"^^xsd:anyURI ;
    fhir:l <http://hl7.org/v2>     ] ;
    fhir:name [ fhir:v "HL7 V2 Mapping" ]
      ] [
    fhir:identity [ fhir:v "rim" ] ;
    fhir:uri [
    fhir:v "http://hl7.org/v3"^^xsd:anyURI ;
    fhir:l <http://hl7.org/v3>     ] ;
    fhir:name [ fhir:v "RIM Mapping" ]
      ] [
    fhir:identity [ fhir:v "servd" ] ;
    fhir:uri [
    fhir:v "http://www.omg.org/spec/ServD/1.0/"^^xsd:anyURI ;
    fhir:l <http://www.omg.org/spec/ServD/1.0/>     ] ;
    fhir:name [ fhir:v "ServD" ]
      ] ) ; #
      fhir:kind [ fhir:v "complex-type"] ; #
      fhir:abstract [ fhir:v false] ; #
      fhir:type [
    fhir:v "ContactPoint"^^xsd:anyURI ;
    fhir:l fhir:ContactPoint
      ] ; #
      fhir:baseDefinition [
    fhir:v "http://hl7.org/fhir/StructureDefinition/ContactPoint"^^xsd:anyURI ;
    fhir:l <http://hl7.org/fhir/StructureDefinition/ContactPoint>
      ] ; #
      fhir:derivation [ fhir:v "constraint"] ; #
      fhir:snapshot [
        ( fhir:extension [
    fhir:url [
    fhir:v "http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version"^^xsd:anyURI ;
    fhir:l <http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version>       ] ;
    fhir:value [
    a fhir:String ;
    fhir:v "5.0.0"       ]     ] ) ;
        ( fhir:element [
    fhir:id [ fhir:v "ContactPoint" ] ;
    fhir:path [ fhir:v "ContactPoint" ] ;
    fhir:short [ fhir:v "Details of a Technology mediated contact point (phone, fax, email, etc.)" ] ;
    fhir:definition [ fhir:v "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc." ] ;
    fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
    fhir:max [ fhir:v "*" ] ;
    fhir:base [
    fhir:path [ fhir:v "ContactPoint" ] ;
    fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
    fhir:max [ fhir:v "*" ]       ] ;
          ( fhir:constraint [
    fhir:key [ fhir:v "cpt-2" ] ;
    fhir:severity [ fhir:v "error" ] ;
    fhir:human [ fhir:v "A system is required if a value is provided." ] ;
    fhir:expression [ fhir:v "value.empty() or system.exists()" ] ;
    fhir:source [
    fhir:v "http://hl7.org/fhir/StructureDefinition/ContactPoint"^^xsd:anyURI ;
    fhir:l <http://hl7.org/fhir/StructureDefinition/ContactPoint>         ]       ] [
    fhir:key [ fhir:v "ele-1" ] ;
    fhir:severity [ fhir:v "error" ] ;
    fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
    fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
    fhir:source [
    fhir:v "http://hl7.org/fhir/StructureDefinition/Element"^^xsd:anyURI ;
    fhir:l <http://hl7.org/fhir/StructureDefinition/Element>         ]       ] ) ;
    fhir:isModifier [ fhir:v false ] ;
          ( fhir:mapping [
    fhir:identity [ fhir:v "rim" ] ;
    fhir:map [ fhir:v "n/a,TEL" ]       ] [
    fhir:identity [ fhir:v "v2" ] ;
    fhir:map [ fhir:v "XTN" ]       ] [
    fhir:identity [ fhir:v "servd" ] ;
    fhir:map [ fhir:v "ContactPoint" ]       ] )     ] [
    fhir:id [ fhir:v "ContactPoint.id" ] ;
    fhir:path [ fhir:v "ContactPoint.id" ] ;
          ( fhir:representation [ fhir:v "xmlAttr" ] ) ;
    fhir:short [ fhir:v "Unique id for inter-element referencing" ] ;
    fhir:definition [ fhir:v "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." ] ;
    fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
    fhir:max [ fhir:v "1" ] ;
    fhir:base [
    fhir:path [ fhir:v "Element.id" ] ;
    fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
    fhir:max [ fhir:v "1" ]       ] ;
          ( fhir:type [
            ( fhir:extension [
    fhir:url [
    fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type"^^xsd:anyURI ;
    fhir:l <http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type>           ] ;
    fhir:value [
    a fhir:Url ;
    fhir:v "id"^^xsd:anyURI ;
    fhir:l fhir:id           ]         ] ) ;
    fhir:code [
    fhir:v "http://hl7.org/fhirpath/System.String"^^xsd:anyURI ;
    fhir:l <http://hl7.org/fhirpath/System.String>         ]       ] ) ;
          ( fhir:condition [ fhir:v "ele-1" ] ) ;
    fhir:isModifier [ fhir:v false ] ;
    fhir:isSummary [ fhir:v false ] ;
          ( fhir:mapping [
    fhir:identity [ fhir:v "rim" ] ;
    fhir:map [ fhir:v "n/a" ]       ] )     ] [
    fhir:id [ fhir:v "ContactPoint.extension" ] ;
    fhir:path [ fhir:v "ContactPoint.extension" ] ;
    fhir:slicing [
            ( fhir:discriminator [
    fhir:type [ fhir:v "value" ] ;
    fhir:path [ fhir:v "url" ]         ] ) ;
    fhir:description [ fhir:v "Extensions are always sliced by (at least) url" ] ;
    fhir:rules [ fhir:v "open" ]       ] ;
    fhir:short [ fhir:v "Additional content defined by implementations" ] ;
    fhir:definition [ fhir:v "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." ] ;
    fhir:comment [ fhir:v "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." ] ;
          ( fhir:alias [ fhir:v "extensions" ] [ fhir:v "user content" ] ) ;
    fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
    fhir:max [ fhir:v "*" ] ;
    fhir:base [
    fhir:path [ fhir:v "Element.extension" ] ;
    fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
    fhir:max [ fhir:v "*" ]       ] ;
          ( fhir:type [
    fhir:code [
    fhir:v "Extension"^^xsd:anyURI ;
    fhir:l fhir:Extension         ]       ] ) ;
          ( fhir:constraint [
    fhir:key [ fhir:v "ele-1" ] ;
    fhir:severity [ fhir:v "error" ] ;
    fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
    fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
    fhir:source [
    fhir:v "http://hl7.org/fhir/StructureDefinition/Element"^^xsd:anyURI ;
    fhir:l <http://hl7.org/fhir/StructureDefinition/Element>         ]       ] [
    fhir:key [ fhir:v "ext-1" ] ;
    fhir:severity [ fhir:v "error" ] ;
    fhir:human [ fhir:v "Must have either extensions or value[x], not both" ] ;
    fhir:expression [ fhir:v "extension.exists() != value.exists()" ] ;
    fhir:source [
    fhir:v "http://hl7.org/fhir/StructureDefinition/Extension"^^xsd:anyURI ;
    fhir:l <http://hl7.org/fhir/StructureDefinition/Extension>         ]       ] ) ;
    fhir:isModifier [ fhir:v false ] ;
    fhir:isSummary [ fhir:v false ] ;
          ( fhir:mapping [
    fhir:identity [ fhir:v "rim" ] ;
    fhir:map [ fhir:v "n/a" ]       ] )     ] [
    fhir:id [ fhir:v "ContactPoint.system" ] ;
    fhir:path [ fhir:v "ContactPoint.system" ] ;
    fhir:short [ fhir:v "phone | fax | email | pager | url | sms | other" ] ;
    fhir:definition [ fhir:v "Telecommunications form for contact point - what communications system is required to make use of the contact." ] ;
    fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
    fhir:max [ fhir:v "1" ] ;
    fhir:base [
    fhir:path [ fhir:v "ContactPoint.system" ] ;
    fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
    fhir:max [ fhir:v "1" ]       ] ;
          ( fhir:type [
    fhir:code [
    fhir:v "code"^^xsd:anyURI ;
    fhir:l fhir:code         ]       ] ) ;
          ( fhir:condition [ fhir:v "cpt-2" ] ) ;
          ( fhir:constraint [
    fhir:key [ fhir:v "ele-1" ] ;
    fhir:severity [ fhir:v "error" ] ;
    fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
    fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
    fhir:source [
    fhir:v "http://hl7.org/fhir/StructureDefinition/Element"^^xsd:anyURI ;
    fhir:l <http://hl7.org/fhir/StructureDefinition/Element>         ]       ] ) ;
    fhir:isModifier [ fhir:v false ] ;
    fhir:isSummary [ fhir:v true ] ;
    fhir:binding [
            ( fhir:extension [
    fhir:url [
    fhir:v "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"^^xsd:anyURI ;
    fhir:l <http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName>           ] ;
    fhir:value [
    a fhir:String ;
    fhir:v "ContactPointSystem"           ]         ] ) ;
    fhir:strength [ fhir:v "required" ] ;
    fhir:description [ fhir:v "Telecommunications form for contact point." ] ;
    fhir:valueSet [
    fhir:v "http://hl7.org/fhir/ValueSet/contact-point-system|5.0.0"^^xsd:anyURI ;
    fhir:l <http://hl7.org/fhir/ValueSet/contact-point-system?version=5.0.0>         ]       ] ;
          ( fhir:mapping [
    fhir:identity [ fhir:v "v2" ] ;
    fhir:map [ fhir:v "XTN.3" ]       ] [
    fhir:identity [ fhir:v "rim" ] ;
    fhir:map [ fhir:v "./scheme" ]       ] [
    fhir:identity [ fhir:v "servd" ] ;
    fhir:map [ fhir:v "./ContactPointType" ]       ] )     ] [
    fhir:id [ fhir:v "ContactPoint.value" ] ;
    fhir:path [ fhir:v "ContactPoint.value" ] ;
    fhir:short [ fhir:v "The actual contact point details" ] ;
    fhir:definition [ fhir:v "The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address)." ] ;
    fhir:comment [ fhir:v "Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value." ] ;
    fhir:requirements [ fhir:v "Need to support legacy numbers that are not in a tightly controlled format." ] ;
    fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
    fhir:max [ fhir:v "1" ] ;
    fhir:base [
    fhir:path [ fhir:v "ContactPoint.value" ] ;
    fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
    fhir:max [ fhir:v "1" ]       ] ;
          ( fhir:type [
    fhir:code [
    fhir:v "string"^^xsd:anyURI ;
    fhir:l fhir:string         ]       ] ) ;
          ( fhir:condition [ fhir:v "cpt-2" ] ) ;
          ( fhir:constraint [
    fhir:key [ fhir:v "ele-1" ] ;
    fhir:severity [ fhir:v "error" ] ;
    fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
    fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
    fhir:source [
    fhir:v "http://hl7.org/fhir/StructureDefinition/Element"^^xsd:anyURI ;
    fhir:l <http://hl7.org/fhir/StructureDefinition/Element>         ]       ] ) ;
    fhir:isModifier [ fhir:v false ] ;
    fhir:isSummary [ fhir:v true ] ;
          ( fhir:mapping [
    fhir:identity [ fhir:v "v2" ] ;
    fhir:map [ fhir:v "XTN.1 (or XTN.12)" ]       ] [
    fhir:identity [ fhir:v "rim" ] ;
    fhir:map [ fhir:v "./url" ]       ] [
    fhir:identity [ fhir:v "servd" ] ;
    fhir:map [ fhir:v "./Value" ]       ] )     ] [
    fhir:id [ fhir:v "ContactPoint.use" ] ;
    fhir:path [ fhir:v "ContactPoint.use" ] ;
    fhir:short [ fhir:v "home | work | temp | old | mobile - purpose of this contact point" ] ;
    fhir:definition [ fhir:v "Identifies the purpose for the contact point." ] ;
    fhir:comment [ fhir:v "Applications can assume that a contact is current unless it explicitly says that it is temporary or old." ] ;
    fhir:requirements [ fhir:v "Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose." ] ;
    fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
    fhir:max [ fhir:v "1" ] ;
    fhir:base [
    fhir:path [ fhir:v "ContactPoint.use" ] ;
    fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
    fhir:max [ fhir:v "1" ]       ] ;
          ( fhir:type [
    fhir:code [
    fhir:v "code"^^xsd:anyURI ;
    fhir:l fhir:code         ]       ] ) ;
          ( fhir:constraint [
    fhir:key [ fhir:v "ele-1" ] ;
    fhir:severity [ fhir:v "error" ] ;
    fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
    fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
    fhir:source [
    fhir:v "http://hl7.org/fhir/StructureDefinition/Element"^^xsd:anyURI ;
    fhir:l <http://hl7.org/fhir/StructureDefinition/Element>         ]       ] ) ;
    fhir:isModifier [ fhir:v true ] ;
    fhir:isModifierReason [ fhir:v "This is labeled as \"Is Modifier\" because applications should not mistake a temporary or old contact etc.for a current/permanent one" ] ;
    fhir:isSummary [ fhir:v true ] ;
    fhir:binding [
            ( fhir:extension [
    fhir:url [
    fhir:v "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"^^xsd:anyURI ;
    fhir:l <http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName>           ] ;
    fhir:value [
    a fhir:String ;
    fhir:v "ContactPointUse"           ]         ] ) ;
    fhir:strength [ fhir:v "required" ] ;
    fhir:description [ fhir:v "Use of contact point." ] ;
    fhir:valueSet [
    fhir:v "http://hl7.org/fhir/ValueSet/contact-point-use|5.0.0"^^xsd:anyURI ;
    fhir:l <http://hl7.org/fhir/ValueSet/contact-point-use?version=5.0.0>         ]       ] ;
          ( fhir:mapping [
    fhir:identity [ fhir:v "v2" ] ;
    fhir:map [ fhir:v "XTN.2 - but often indicated by field" ]       ] [
    fhir:identity [ fhir:v "rim" ] ;
    fhir:map [ fhir:v "unique(./use)" ]       ] [
    fhir:identity [ fhir:v "servd" ] ;
    fhir:map [ fhir:v "./ContactPointPurpose" ]       ] )     ] [
    fhir:id [ fhir:v "ContactPoint.rank" ] ;
    fhir:path [ fhir:v "ContactPoint.rank" ] ;
    fhir:short [ fhir:v "Specify preferred order of use (1 = highest)" ] ;
    fhir:definition [ fhir:v "Specifies a preferred order in which to use a set of contacts. ContactPoints with lower rank values are more preferred than those with higher rank values." ] ;
    fhir:comment [ fhir:v "Note that rank does not necessarily follow the order in which the contacts are represented in the instance.\n\nRanks need not be unique.  E.g. it's possible to have multiple contacts with rank=1.  If the ranks have different systems or uses, this would be interpreted to mean \"X is my most preferred phone number, Y is my most preferred email address\" or \"X is my preferred home email and Y is my preferred work email\".  If the system and use for equally-ranked contacts are the same, then the level of preference is equivalent for both repetitions. \n\nRanks need not be sequential and not all repetitions must have a rank.  For example, it's possible to have 4 contacts with ranks of 2, 5 and two with no rank specified.  That would be interpreted to mean the first is preferred over the second and no preference stated for the remaining contacts." ] ;
    fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
    fhir:max [ fhir:v "1" ] ;
    fhir:base [
    fhir:path [ fhir:v "ContactPoint.rank" ] ;
    fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
    fhir:max [ fhir:v "1" ]       ] ;
          ( fhir:type [
    fhir:code [
    fhir:v "positiveInt"^^xsd:anyURI ;
    fhir:l fhir:positiveInt         ]       ] ) ;
          ( fhir:constraint [
    fhir:key [ fhir:v "ele-1" ] ;
    fhir:severity [ fhir:v "error" ] ;
    fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
    fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
    fhir:source [
    fhir:v "http://hl7.org/fhir/StructureDefinition/Element"^^xsd:anyURI ;
    fhir:l <http://hl7.org/fhir/StructureDefinition/Element>         ]       ] ) ;
    fhir:isModifier [ fhir:v false ] ;
    fhir:isSummary [ fhir:v true ] ;
          ( fhir:mapping [
    fhir:identity [ fhir:v "v2" ] ;
    fhir:map [ fhir:v "n/a" ]       ] [
    fhir:identity [ fhir:v "rim" ] ;
    fhir:map [ fhir:v "n/a" ]       ] )     ] [
    fhir:id [ fhir:v "ContactPoint.period" ] ;
    fhir:path [ fhir:v "ContactPoint.period" ] ;
    fhir:short [ fhir:v "Time period when the contact point was/is in use" ] ;
    fhir:definition [ fhir:v "Time period when the contact point was/is in use." ] ;
    fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
    fhir:max [ fhir:v "1" ] ;
    fhir:base [
    fhir:path [ fhir:v "ContactPoint.period" ] ;
    fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
    fhir:max [ fhir:v "1" ]       ] ;
          ( fhir:type [
    fhir:code [
    fhir:v "Period"^^xsd:anyURI ;
    fhir:l fhir:Period         ]       ] ) ;
          ( fhir:constraint [
    fhir:key [ fhir:v "ele-1" ] ;
    fhir:severity [ fhir:v "error" ] ;
    fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
    fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
    fhir:source [
    fhir:v "http://hl7.org/fhir/StructureDefinition/Element"^^xsd:anyURI ;
    fhir:l <http://hl7.org/fhir/StructureDefinition/Element>         ]       ] ) ;
    fhir:isModifier [ fhir:v false ] ;
    fhir:isSummary [ fhir:v true ] ;
          ( fhir:mapping [
    fhir:identity [ fhir:v "v2" ] ;
    fhir:map [ fhir:v "N/A" ]       ] [
    fhir:identity [ fhir:v "rim" ] ;
    fhir:map [ fhir:v "./usablePeriod[type=\"IVL<TS>\"]" ]       ] [
    fhir:identity [ fhir:v "servd" ] ;
    fhir:map [ fhir:v "./StartDate and ./EndDate" ]       ] )     ] )
      ] ; #
      fhir:differential [
        ( fhir:element [
    fhir:id [ fhir:v "ContactPoint" ] ;
    fhir:path [ fhir:v "ContactPoint" ]     ] [
    fhir:id [ fhir:v "ContactPoint.system" ] ;
    fhir:path [ fhir:v "ContactPoint.system" ] ;
    fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ]     ] [
    fhir:id [ fhir:v "ContactPoint.value" ] ;
    fhir:path [ fhir:v "ContactPoint.value" ] ;
    fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ]     ] )
      ] . #