Clinical Document Architecture with Australian Schema, published by Australian Digital Health Agency. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/AuDigitalHealth/cda-au-schema/ and changes regularly. See the Directory of published versions

Logical Model: PN - XML Profile

Active as of 2024-12-18

XML representation of the PN logical model.

Raw xml | Download


<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="PN"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p>A name for a person. A sequence of name parts, such as given name or family name, prefix, suffix, etc. Examples for person name values are &quot;Jim Bob Walton, Jr.&quot;, &quot;Adam Everyman&quot;, etc. A person name may be as simple as a character string or may consist of several person name parts, such as, &quot;Jim&quot;, &quot;Bob&quot;, &quot;Walton&quot;, and &quot;Jr.&quot;. PN differs from EN because the qualifier type cannot include LS (Legal Status).</p>
    </div>
  </text>
  <extension
             url="http://hl7.org/fhir/tools/StructureDefinition/logical-target">
    <valueBoolean>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/data-absent-reason">
        <valueCode value="not-applicable"/>
      </extension>
    </valueBoolean>
  </extension>
  <extension
             url="http://hl7.org/fhir/tools/StructureDefinition/xml-namespace">
    <valueUri value="urn:hl7-org:v3"/>
  </extension>
  <extension url="http://hl7.org/fhir/tools/StructureDefinition/xml-name">
    <valueString value="name"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/tools/StructureDefinition/logical-container">
    <valueUri
              value="http://hl7.org/cda/stds/core/StructureDefinition/ClinicalDocument"/>
  </extension>
  <url value="http://hl7.org/cda/stds/core/StructureDefinition/PN"/>
  <version value="1.0.0"/>
  <name value="PN"/>
  <title value="PN: PersonName (V3 Data Type)"/>
  <status value="active"/>
  <experimental value="false"/>
  <date value="2024-12-18T05:40:48+00:00"/>
  <publisher value="HL7"/>
  <description
               value="A name for a person. A sequence of name parts, such as given name or family name, prefix, suffix, etc. Examples for person name values are &quot;Jim Bob Walton, Jr.&quot;, &quot;Adam Everyman&quot;, etc. A person name may be as simple as a character string or may consist of several person name parts, such as, &quot;Jim&quot;, &quot;Bob&quot;, &quot;Walton&quot;, and &quot;Jr.&quot;. PN differs from EN because the qualifier type cannot include LS (Legal Status)."/>
  <fhirVersion value="5.0.0"/>
  <mapping>
    <identity value="rim"/>
    <uri value="http://hl7.org/v3"/>
    <name value="RIM Mapping"/>
  </mapping>
  <kind value="logical"/>
  <abstract value="false"/>
  <type value="http://hl7.org/cda/stds/core/StructureDefinition/PN"/>
  <baseDefinition
                  value="http://hl7.org/cda/stds/core/StructureDefinition/EN"/>
  <derivation value="specialization"/>
  <snapshot>
    <element id="PN">
      <path value="PN"/>
      <short value="Base for all types and resources"/>
      <definition
                  value="A name for a person. A sequence of name parts, such as given name or family name, prefix, suffix, etc. Examples for person name values are &quot;Jim Bob Walton, Jr.&quot;, &quot;Adam Everyman&quot;, etc. A person name may be as simple as a character string or may consist of several person name parts, such as, &quot;Jim&quot;, &quot;Bob&quot;, &quot;Walton&quot;, and &quot;Jr.&quot;. PN differs from EN because the qualifier type cannot include LS (Legal Status)."/>
      <min value="1"/>
      <max value="*"/>
      <base>
        <path value="Base"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <constraint>
        <key value="pn-no-ls"/>
        <severity value="error"/>
        <human value="No PN name part may have a qualifier of LS."/>
        <expression
                    value="(item.delimiter | item.family | item.given | item.prefix | item.suffix).where(qualifier.where($this = 'LS').exists()).empty()"/>
      </constraint>
      <isModifier value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="PN.nullFlavor">
      <path value="PN.nullFlavor"/>
      <representation value="xmlAttr"/>
      <label value="Exceptional Value Detail"/>
      <definition
                  value="If a value is an exceptional value (NULL-value), this specifies in what way and why proper information is missing."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="ANY.nullFlavor"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
        <profile
                 value="http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"/>
      </type>
      <binding>
        <strength value="required"/>
        <valueSet
                  value="http://hl7.org/cda/stds/core/ValueSet/CDANullFlavor"/>
      </binding>
    </element>
    <element id="PN.use">
      <path value="PN.use"/>
      <representation value="xmlAttr"/>
      <label value="Use Code"/>
      <definition
                  value="A set of codes advising a system or user which name in a set of like names to select for a given purpose. A name without specific use code might be a default name useful for any purpose, but a name with a specific use code would be preferred for that respective purpose"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="EN.use"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="code"/>
        <profile
                 value="http://hl7.org/cda/stds/core/StructureDefinition/cs-simple"/>
      </type>
      <binding>
        <strength value="required"/>
        <valueSet
                  value="http://hl7.org/cda/stds/core/ValueSet/CDAEntityNameUse"/>
      </binding>
    </element>
    <element id="PN.item">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/xml-choice-group">
        <valueBoolean value="true"/>
      </extension>
      <path value="PN.item"/>
      <definition value="A series of items that constitute the name."/>
      <min value="1"/>
      <max value="*"/>
      <base>
        <path value="EN.item"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="http://hl7.org/fhir/StructureDefinition/Base"/>
      </type>
      <constraint>
        <key value="EN-1"/>
        <severity value="error"/>
        <human
               value="Can only have only one of the possible item elements in each choice"/>
        <expression
                    value="(delimiter | family | given | prefix | suffix | xmlText).count() = 1"/>
        <source value="http://hl7.org/cda/stds/core/StructureDefinition/EN"/>
      </constraint>
    </element>
    <element id="PN.item.delimiter">
      <path value="PN.item.delimiter"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="EN.item.delimiter"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/ENXP"/>
      </type>
    </element>
    <element id="PN.item.family">
      <path value="PN.item.family"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="EN.item.family"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/ENXP"/>
      </type>
    </element>
    <element id="PN.item.given">
      <path value="PN.item.given"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="EN.item.given"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/ENXP"/>
      </type>
    </element>
    <element id="PN.item.prefix">
      <path value="PN.item.prefix"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="EN.item.prefix"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/ENXP"/>
      </type>
    </element>
    <element id="PN.item.suffix">
      <path value="PN.item.suffix"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="EN.item.suffix"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="http://hl7.org/cda/stds/core/StructureDefinition/ENXP"/>
      </type>
    </element>
    <element id="PN.item.xmlText">
      <path value="PN.item.xmlText"/>
      <representation value="xmlText"/>
      <short value="Allows for mixed text content"/>
      <comment
               value="This element is represented in XML as textual content. The actual name &quot;xmlText&quot; will not appear in a CDA instance."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="EN.item.xmlText"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
        <profile
                 value="http://hl7.org/cda/stds/core/StructureDefinition/st-simple"/>
      </type>
    </element>
    <element id="PN.validTime">
      <path value="PN.validTime"/>
      <label value="Valid Time"/>
      <definition
                  value="An interval of time specifying the time during which the name is or was used for the entity. This accomodates the fact that people change names for people, places and things."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="EN.validTime"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code
              value="http://hl7.org/cda/stds/core/StructureDefinition/IVL-TS"/>
      </type>
    </element>
  </snapshot>
  <differential>
    <element id="PN">
      <path value="PN"/>
      <definition
                  value="A name for a person. A sequence of name parts, such as given name or family name, prefix, suffix, etc. Examples for person name values are &quot;Jim Bob Walton, Jr.&quot;, &quot;Adam Everyman&quot;, etc. A person name may be as simple as a character string or may consist of several person name parts, such as, &quot;Jim&quot;, &quot;Bob&quot;, &quot;Walton&quot;, and &quot;Jr.&quot;. PN differs from EN because the qualifier type cannot include LS (Legal Status)."/>
      <constraint>
        <key value="pn-no-ls"/>
        <severity value="error"/>
        <human value="No PN name part may have a qualifier of LS."/>
        <expression
                    value="(item.delimiter | item.family | item.given | item.prefix | item.suffix).where(qualifier.where($this = 'LS').exists()).empty()"/>
      </constraint>
    </element>
    <element id="PN.item">
      <path value="PN.item"/>
      <min value="1"/>
      <max value="*"/>
    </element>
  </differential>
</StructureDefinition>