{
  "resourceType": "StructureDefinition",
  "requirements": "Need to track doctors, staff, locums etc. for both healthcare practitioners, funders, etc.",
  "constrainedType": "Practitioner",
  "base": "http://hl7.org/fhir/StructureDefinition/Practitioner",
  "meta": {
    "lastUpdated": "2015-09-22T10:02:49.724+00:00"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger": 3
    }
  ],
  "url": "http://hl7.no/fhir/StructureDefinition/LabPractitionerNorway",
  "name": "LabPractitionerNorway",
  "status": "draft",
  "date": "2015-09-22T10:02:49+00:00",
  "description": "Base StructureDefinition for Practitioner Resource",
  "fhirVersion": "1.0.1",
  "mapping": [
    {
      "identity": "v2",
      "uri": "http://hl7.org/v2",
      "name": "HL7 v2"
    },
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM"
    },
    {
      "identity": "servd",
      "uri": "http://www.omg.org/spec/ServD/1.0/",
      "name": "ServD"
    },
    {
      "identity": "w5",
      "uri": "http://hl7.org/fhir/w5",
      "name": "W5 Mapping"
    }
  ],
  "kind": "resource",
  "abstract": false,
  "snapshot": {
    "element": [
      {
        "comments": "Note that a cab driver no longer fits the bill. You probably would be interested in the organization rather than the individual?",
        "path": "Practitioner",
        "short": "A person with a  formal responsibility in the provisioning of healthcare or related services",
        "definition": "A person who is directly or indirectly involved in the provisioning of healthcare.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Practitioner",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Practitioner"
          }
        ],
        "mapping": [
          {
            "identity": "v2",
            "map": "PRD (as one example)"
          },
          {
            "identity": "rim",
            "map": "Role"
          },
          {
            "identity": "servd",
            "map": "Provider"
          },
          {
            "identity": "w5",
            "map": "administrative.individual"
          }
        ]
      },
      {
        "path": "Practitioner.identifier",
        "slicing": {
          "rules": "openAtEnd"
        },
        "short": "A identifier for the person as this agent",
        "definition": "An identifier that applies to this person in this role.",
        "requirements": "Often, specific identities are assigned for the agent.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Practitioner.identifier",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Identifier"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "PRD-7 (or XCN.1)"
          },
          {
            "identity": "rim",
            "map": "./id"
          },
          {
            "identity": "servd",
            "map": "./Identifiers"
          },
          {
            "identity": "w5",
            "map": "id"
          }
        ]
      },
      {
        "comments": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.",
        "path": "Practitioner.identifier.use",
        "short": "usual | official | temp | secondary (If known)",
        "definition": "The purpose of this identifier.",
        "requirements": "Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Identifier.use",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isModifier": true,
        "isSummary": true,
        "binding": {
          "strength": "required",
          "description": "Identifies the purpose for this identifier, if known .",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/identifier-use"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "N/A"
          },
          {
            "identity": "rim",
            "map": "Role.code or implied by context"
          }
        ]
      },
      {
        "comments": "This element deals only with general categories of identifiers.  It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.   Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.",
        "path": "Practitioner.identifier.type",
        "short": "Description of identifier",
        "definition": "A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.",
        "requirements": "Allows users to make use of identifiers when the identifier system is not known.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Identifier.type",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true,
        "binding": {
          "strength": "extensible",
          "description": "A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/identifier-type"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.5"
          },
          {
            "identity": "rim",
            "map": "Role.code or implied by context"
          }
        ]
      },
      {
        "comments": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true.",
        "path": "Practitioner.identifier.type.coding",
        "short": "Code defined by a terminology system",
        "definition": "A reference to a code defined by a terminology system.",
        "requirements": "Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "CodeableConcept.coding",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Coding"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.1-8, C*E.10-22"
          },
          {
            "identity": "rim",
            "map": "union(., ./translation)"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
          }
        ]
      },
      {
        "comments": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
        "path": "Practitioner.identifier.type.coding.system",
        "short": "Identity of the terminology system",
        "definition": "The identification of the code system that defines the meaning of the symbol in the code.",
        "requirements": "Need to be unambiguous about the source of the definition of the symbol.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.system",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.3"
          },
          {
            "identity": "rim",
            "map": "./codeSystem"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
          }
        ]
      },
      {
        "comments": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
        "path": "Practitioner.identifier.type.coding.version",
        "short": "Version of the system - if relevant",
        "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.version",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.7"
          },
          {
            "identity": "rim",
            "map": "./codeSystemVersion"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
          }
        ]
      },
      {
        "path": "Practitioner.identifier.type.coding.code",
        "short": "Symbol in syntax defined by the system",
        "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
        "requirements": "Need to refer to a particular code in the system.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.code",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.1"
          },
          {
            "identity": "rim",
            "map": "./code"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
          }
        ]
      },
      {
        "path": "Practitioner.identifier.type.coding.display",
        "short": "Representation defined by the system",
        "definition": "A representation of the meaning of the code in the system, following the rules of the system.",
        "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.display",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.2 - but note this is not well followed"
          },
          {
            "identity": "rim",
            "map": "CV.displayName"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
          }
        ]
      },
      {
        "comments": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
        "path": "Practitioner.identifier.type.coding.userSelected",
        "short": "If this coding was chosen directly by the user",
        "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
        "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.userSelected",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "boolean"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "Sometimes implied by being first"
          },
          {
            "identity": "rim",
            "map": "CD.codingRationale"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [     fhir:source \"true\";     fhir:target dt:CDCoding.codingRationale\\#O   ]"
          }
        ]
      },
      {
        "comments": "Very often the text is the same as a displayName of one of the codings.",
        "path": "Practitioner.identifier.type.text",
        "short": "Plain text representation of the concept",
        "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
        "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "CodeableConcept.text",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.9. But note many systems use C*E.2 for this"
          },
          {
            "identity": "rim",
            "map": "./originalText[mediaType/code=\"text/plain\"]/data"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
          }
        ]
      },
      {
        "exampleUri": "http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri",
        "path": "Practitioner.identifier.system",
        "short": "The namespace for the identifier",
        "definition": "Establishes the namespace in which set of possible id values is unique.",
        "requirements": "There are many sequences of identifiers.  To perform matching, we need to know what sequence we're dealing with. The system identifies a particular sequence or set of unique identifiers.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Identifier.system",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.4 / EI-2-4"
          },
          {
            "identity": "rim",
            "map": "II.root or Role.id.root"
          },
          {
            "identity": "servd",
            "map": "./IdentifierType"
          }
        ]
      },
      {
        "comments": "If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986.",
        "exampleString": "123456",
        "path": "Practitioner.identifier.value",
        "short": "The value that is unique",
        "definition": "The portion of the identifier typically displayed to the user and which is unique within the context of the system.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Identifier.value",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.1 / EI.1"
          },
          {
            "identity": "rim",
            "map": "II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)"
          },
          {
            "identity": "servd",
            "map": "./Value"
          }
        ]
      },
      {
        "path": "Practitioner.identifier.period",
        "short": "Time period when id is/was valid for use",
        "definition": "Time period during which identifier is/was valid for use.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Identifier.period",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.7 + CX.8"
          },
          {
            "identity": "rim",
            "map": "Role.effectiveTime or implied by context"
          },
          {
            "identity": "servd",
            "map": "./StartDate and ./EndDate"
          }
        ]
      },
      {
        "comments": "If the low element is missing, the meaning is that the low boundary is not known.",
        "path": "Practitioner.identifier.period.start",
        "short": "Starting time with inclusive boundary",
        "definition": "The start of the period. The boundary is inclusive.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Period.start",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "condition": [
          "per-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "DR.1"
          },
          {
            "identity": "rim",
            "map": "./low"
          }
        ]
      },
      {
        "comments": "The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03.",
        "path": "Practitioner.identifier.period.end",
        "short": "End time with inclusive boundary, if not ongoing",
        "definition": "The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Period.end",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "meaningWhenMissing": "If the end of the period is missing, it means that the period is ongoing",
        "condition": [
          "per-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "DR.2"
          },
          {
            "identity": "rim",
            "map": "./high"
          }
        ]
      },
      {
        "comments": "The reference may be just a text description of the assigner.",
        "path": "Practitioner.identifier.assigner",
        "short": "Organization that issued id (may be just text)",
        "definition": "Organization that issued/manages the identifier.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Identifier.assigner",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "profile": "http://hl7.org/fhir/StructureDefinition/Organization"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.4 / (CX.4,CX.9,CX.10)"
          },
          {
            "identity": "rim",
            "map": "II.assigningAuthorityName but note that this is an improper use by the definition of the field.  Also Role.scoper"
          },
          {
            "identity": "servd",
            "map": "./IdentifierIssuingAuthority"
          }
        ]
      },
      {
        "comments": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.",
        "path": "Practitioner.identifier.assigner.reference",
        "short": "Relative, internal or absolute URL reference",
        "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Reference.reference",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "condition": [
          "ref-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "comments": "This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what's being referenced, not to fully describe it.",
        "path": "Practitioner.identifier.assigner.display",
        "short": "Text alternative for the resource",
        "definition": "Plain text narrative that identifies the resource in addition to the resource reference.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Reference.display",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "name": "National Care Provider ID",
        "path": "Practitioner.identifier",
        "short": "A identifier for the person as this agent",
        "definition": "An identifier that applies to this person in this role.",
        "requirements": "Often, specific identities are assigned for the agent.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Practitioner.identifier",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Identifier"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "PRD-7 (or XCN.1)"
          },
          {
            "identity": "rim",
            "map": "./id"
          },
          {
            "identity": "servd",
            "map": "./Identifiers"
          },
          {
            "identity": "w5",
            "map": "id"
          }
        ]
      },
      {
        "comments": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.",
        "path": "Practitioner.identifier.use",
        "short": "usual | official | temp | secondary (If known)",
        "definition": "The purpose of this identifier.",
        "requirements": "Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Identifier.use",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isModifier": true,
        "isSummary": true,
        "binding": {
          "strength": "required",
          "description": "Identifies the purpose for this identifier, if known .",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/identifier-use"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "N/A"
          },
          {
            "identity": "rim",
            "map": "Role.code or implied by context"
          }
        ]
      },
      {
        "comments": "This element deals only with general categories of identifiers.  It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.   Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.",
        "path": "Practitioner.identifier.type",
        "short": "Description of identifier",
        "definition": "A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.",
        "requirements": "Allows users to make use of identifiers when the identifier system is not known.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Identifier.type",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true,
        "binding": {
          "strength": "extensible",
          "description": "A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/identifier-type"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.5"
          },
          {
            "identity": "rim",
            "map": "Role.code or implied by context"
          }
        ]
      },
      {
        "comments": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true.",
        "path": "Practitioner.identifier.type.coding",
        "short": "Code defined by a terminology system",
        "definition": "A reference to a code defined by a terminology system.",
        "requirements": "Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "CodeableConcept.coding",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Coding"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.1-8, C*E.10-22"
          },
          {
            "identity": "rim",
            "map": "union(., ./translation)"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
          }
        ]
      },
      {
        "comments": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
        "path": "Practitioner.identifier.type.coding.system",
        "short": "Identity of the terminology system",
        "definition": "The identification of the code system that defines the meaning of the symbol in the code.",
        "requirements": "Need to be unambiguous about the source of the definition of the symbol.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.system",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.3"
          },
          {
            "identity": "rim",
            "map": "./codeSystem"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
          }
        ]
      },
      {
        "comments": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
        "path": "Practitioner.identifier.type.coding.version",
        "short": "Version of the system - if relevant",
        "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.version",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.7"
          },
          {
            "identity": "rim",
            "map": "./codeSystemVersion"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
          }
        ]
      },
      {
        "path": "Practitioner.identifier.type.coding.code",
        "short": "Symbol in syntax defined by the system",
        "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
        "requirements": "Need to refer to a particular code in the system.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.code",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.1"
          },
          {
            "identity": "rim",
            "map": "./code"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
          }
        ]
      },
      {
        "path": "Practitioner.identifier.type.coding.display",
        "short": "Representation defined by the system",
        "definition": "A representation of the meaning of the code in the system, following the rules of the system.",
        "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.display",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.2 - but note this is not well followed"
          },
          {
            "identity": "rim",
            "map": "CV.displayName"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
          }
        ]
      },
      {
        "comments": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
        "path": "Practitioner.identifier.type.coding.userSelected",
        "short": "If this coding was chosen directly by the user",
        "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
        "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.userSelected",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "boolean"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "Sometimes implied by being first"
          },
          {
            "identity": "rim",
            "map": "CD.codingRationale"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [     fhir:source \"true\";     fhir:target dt:CDCoding.codingRationale\\#O   ]"
          }
        ]
      },
      {
        "comments": "Very often the text is the same as a displayName of one of the codings.",
        "path": "Practitioner.identifier.type.text",
        "short": "Plain text representation of the concept",
        "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
        "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "CodeableConcept.text",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.9. But note many systems use C*E.2 for this"
          },
          {
            "identity": "rim",
            "map": "./originalText[mediaType/code=\"text/plain\"]/data"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
          }
        ]
      },
      {
        "exampleUri": "http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri",
        "path": "Practitioner.identifier.system",
        "short": "The namespace for the identifier",
        "definition": "Establishes the namespace in which set of possible id values is unique.",
        "requirements": "There are many sequences of identifiers.  To perform matching, we need to know what sequence we're dealing with. The system identifies a particular sequence or set of unique identifiers.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Identifier.system",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          }
        ],
        "fixedUri": "http://fhir.furore.com/fhir/NationalCareProvider",
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.4 / EI-2-4"
          },
          {
            "identity": "rim",
            "map": "II.root or Role.id.root"
          },
          {
            "identity": "servd",
            "map": "./IdentifierType"
          }
        ]
      },
      {
        "comments": "If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986.",
        "exampleString": "123456",
        "path": "Practitioner.identifier.value",
        "short": "The value that is unique",
        "definition": "The portion of the identifier typically displayed to the user and which is unique within the context of the system.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Identifier.value",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.1 / EI.1"
          },
          {
            "identity": "rim",
            "map": "II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)"
          },
          {
            "identity": "servd",
            "map": "./Value"
          }
        ]
      },
      {
        "path": "Practitioner.identifier.period",
        "short": "Time period when id is/was valid for use",
        "definition": "Time period during which identifier is/was valid for use.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Identifier.period",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.7 + CX.8"
          },
          {
            "identity": "rim",
            "map": "Role.effectiveTime or implied by context"
          },
          {
            "identity": "servd",
            "map": "./StartDate and ./EndDate"
          }
        ]
      },
      {
        "comments": "If the low element is missing, the meaning is that the low boundary is not known.",
        "path": "Practitioner.identifier.period.start",
        "short": "Starting time with inclusive boundary",
        "definition": "The start of the period. The boundary is inclusive.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Period.start",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "condition": [
          "per-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "DR.1"
          },
          {
            "identity": "rim",
            "map": "./low"
          }
        ]
      },
      {
        "comments": "The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03.",
        "path": "Practitioner.identifier.period.end",
        "short": "End time with inclusive boundary, if not ongoing",
        "definition": "The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Period.end",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "meaningWhenMissing": "If the end of the period is missing, it means that the period is ongoing",
        "condition": [
          "per-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "DR.2"
          },
          {
            "identity": "rim",
            "map": "./high"
          }
        ]
      },
      {
        "comments": "The reference may be just a text description of the assigner.",
        "path": "Practitioner.identifier.assigner",
        "short": "Organization that issued id (may be just text)",
        "definition": "Organization that issued/manages the identifier.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Identifier.assigner",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "profile": "http://hl7.org/fhir/StructureDefinition/Organization"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.4 / (CX.4,CX.9,CX.10)"
          },
          {
            "identity": "rim",
            "map": "II.assigningAuthorityName but note that this is an improper use by the definition of the field.  Also Role.scoper"
          },
          {
            "identity": "servd",
            "map": "./IdentifierIssuingAuthority"
          }
        ]
      },
      {
        "comments": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.",
        "path": "Practitioner.identifier.assigner.reference",
        "short": "Relative, internal or absolute URL reference",
        "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Reference.reference",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "condition": [
          "ref-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "comments": "This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what's being referenced, not to fully describe it.",
        "path": "Practitioner.identifier.assigner.display",
        "short": "Text alternative for the resource",
        "definition": "Plain text narrative that identifies the resource in addition to the resource reference.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Reference.display",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "comments": "Default is true.   If the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role.",
        "path": "Practitioner.active",
        "short": "Whether this practitioner's record is in active use",
        "definition": "Whether this practitioner's record is in active use.",
        "requirements": "Need to be able to mark a practitioner record as not to be used because it was created in error.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Practitioner.active",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "boolean"
          }
        ],
        "defaultValueBoolean": true,
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "./StatusCode"
          },
          {
            "identity": "w5",
            "map": "status"
          }
        ]
      },
      {
        "path": "Practitioner.name",
        "short": "A name associated with the person",
        "definition": "A name associated with the person.",
        "requirements": "Contact persons need to be identified by name, but it is uncommon to need details about multiple other names for that person.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Practitioner.name",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "HumanName"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XCN Components"
          },
          {
            "identity": "rim",
            "map": "./name"
          },
          {
            "identity": "servd",
            "map": "./PreferredName (GivenNames, FamilyName, TitleCode)"
          }
        ]
      },
      {
        "comments": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary or old name etc.for a current/permanent one. Applications can assume that a name is current unless it explicitly says that it is temporary or old.",
        "path": "Practitioner.name.use",
        "short": "usual | official | temp | nickname | anonymous | old | maiden",
        "definition": "Identifies the purpose for this name.",
        "requirements": "Allows the appropriate name for a particular context of use to be selected from among a set of names.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "HumanName.use",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isModifier": true,
        "isSummary": true,
        "binding": {
          "strength": "required",
          "description": "The use of a human name",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/name-use"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "XPN.7, but often indicated by which field contains the name"
          },
          {
            "identity": "rim",
            "map": "unique(./use)"
          },
          {
            "identity": "servd",
            "map": "./NamePurpose"
          }
        ]
      },
      {
        "comments": "Can provide both a text representation and structured parts.",
        "path": "Practitioner.name.text",
        "short": "Text representation of the full name",
        "definition": "A full text representation of the name.",
        "requirements": "A renderable, unencoded form.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "HumanName.text",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "implied by XPN.11"
          },
          {
            "identity": "rim",
            "map": "./formatted"
          }
        ]
      },
      {
        "comments": "For family name, hyphenated names such as \"Smith-Jones\" are a single name, but names with spaces such as \"Smith Jones\" are broken into multiple parts.",
        "path": "Practitioner.name.family",
        "short": "Family name (often called 'Surname')",
        "definition": "The part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father.",
        "alias": [
          "surname"
        ],
        "min": 1,
        "max": "1",
        "base": {
          "path": "HumanName.family",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XPN.1"
          },
          {
            "identity": "rim",
            "map": "./part[partType = FAM]"
          },
          {
            "identity": "servd",
            "map": "./FamilyName"
          }
        ]
      },
      {
        "comments": "If only initials are recorded, they may be used in place of the full name.  Not called \"first name\" since given names do not always come first.",
        "path": "Practitioner.name.given",
        "short": "Given names (not always 'first'). Includes middle names",
        "definition": "Given name.",
        "alias": [
          "first name",
          "middle name"
        ],
        "min": 1,
        "max": "1",
        "base": {
          "path": "HumanName.given",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XPN.2 + XPN.3"
          },
          {
            "identity": "rim",
            "map": "./part[partType = GIV]"
          },
          {
            "identity": "servd",
            "map": "./GivenNames"
          }
        ]
      },
      {
        "path": "Practitioner.name.prefix",
        "short": "Parts that come before the name",
        "definition": "Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "HumanName.prefix",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XPN.5"
          },
          {
            "identity": "rim",
            "map": "./part[partType = PFX]"
          },
          {
            "identity": "servd",
            "map": "./TitleCode"
          }
        ]
      },
      {
        "path": "Practitioner.name.suffix",
        "short": "Parts that come after the name",
        "definition": "Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "HumanName.suffix",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XPN/4"
          },
          {
            "identity": "rim",
            "map": "./part[partType = SFX]"
          }
        ]
      },
      {
        "path": "Practitioner.name.period",
        "short": "Time period when name was/is in use",
        "definition": "Indicates the period of time when this name was valid for the named person.",
        "requirements": "Allows names to be placed in historical context.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "HumanName.period",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XPN.13 + XPN.14"
          },
          {
            "identity": "rim",
            "map": "./usablePeriod[type=\"IVL<TS>\"]"
          },
          {
            "identity": "servd",
            "map": "./StartDate and ./EndDate"
          }
        ]
      },
      {
        "comments": "If the low element is missing, the meaning is that the low boundary is not known.",
        "path": "Practitioner.name.period.start",
        "short": "Starting time with inclusive boundary",
        "definition": "The start of the period. The boundary is inclusive.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Period.start",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "condition": [
          "per-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "DR.1"
          },
          {
            "identity": "rim",
            "map": "./low"
          }
        ]
      },
      {
        "comments": "The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03.",
        "path": "Practitioner.name.period.end",
        "short": "End time with inclusive boundary, if not ongoing",
        "definition": "The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Period.end",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "meaningWhenMissing": "If the end of the period is missing, it means that the period is ongoing",
        "condition": [
          "per-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "DR.2"
          },
          {
            "identity": "rim",
            "map": "./high"
          }
        ]
      },
      {
        "comments": "Person may have multiple ways to be contacted with different uses or applicable periods.  May need to have options for contacting the person urgently, and also to help with identification.",
        "path": "Practitioner.telecom",
        "short": "A contact detail for the practitioner",
        "definition": "A contact detail for the practitioner, e.g. a telephone number or an email address.",
        "requirements": "Need to know how to reach a practitioner.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Practitioner.telecom",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "ContactPoint"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "PRT-15, STF-10, ROL-12"
          },
          {
            "identity": "rim",
            "map": "./telecom"
          },
          {
            "identity": "servd",
            "map": "./ContactPoints"
          }
        ]
      },
      {
        "path": "Practitioner.telecom.system",
        "short": "phone | fax | email | pager | other",
        "definition": "Telecommunications form for contact point - what communications system is required to make use of the contact.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ContactPoint.system",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "condition": [
          "cpt-2"
        ],
        "isSummary": true,
        "binding": {
          "strength": "required",
          "description": "Telecommunications form for contact point",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/contact-point-system"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "XTN.3"
          },
          {
            "identity": "rim",
            "map": "./scheme"
          },
          {
            "identity": "servd",
            "map": "./ContactPointType"
          }
        ]
      },
      {
        "comments": "Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value.",
        "path": "Practitioner.telecom.value",
        "short": "The actual contact point details",
        "definition": "The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address).",
        "requirements": "Need to support legacy numbers that are not in a tightly controlled format.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ContactPoint.value",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XTN.1 (or XTN.12)"
          },
          {
            "identity": "rim",
            "map": "./url"
          },
          {
            "identity": "servd",
            "map": "./Value"
          }
        ]
      },
      {
        "comments": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary or old contact etc.for a current/permanent one. Applications can assume that a contact is current unless it explicitly says that it is temporary or old.",
        "path": "Practitioner.telecom.use",
        "short": "home | work | temp | old | mobile - purpose of this contact point",
        "definition": "Identifies the purpose for the contact point.",
        "requirements": "Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ContactPoint.use",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isModifier": true,
        "isSummary": true,
        "binding": {
          "strength": "required",
          "description": "Use of contact point",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/contact-point-use"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "XTN.2 - but often indicated by field"
          },
          {
            "identity": "rim",
            "map": "unique(./use)"
          },
          {
            "identity": "servd",
            "map": "./ContactPointPurpose"
          }
        ]
      },
      {
        "comments": "Note that rank does not necessarily follow the order in which the contacts are represented in the instance.",
        "path": "Practitioner.telecom.rank",
        "short": "Specify preferred order of use (1 = highest)",
        "definition": "Specifies a preferred order in which to use a set of contacts. Contacts are ranked with lower values coming before higher values.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ContactPoint.rank",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "positiveInt"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "path": "Practitioner.telecom.period",
        "short": "Time period when the contact point was/is in use",
        "definition": "Time period when the contact point was/is in use.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ContactPoint.period",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "N/A"
          },
          {
            "identity": "rim",
            "map": "./useablePeriod[type=\"IVL<TS>\"]"
          },
          {
            "identity": "servd",
            "map": "./StartDate and ./EndDate"
          }
        ]
      },
      {
        "comments": "If the low element is missing, the meaning is that the low boundary is not known.",
        "path": "Practitioner.telecom.period.start",
        "short": "Starting time with inclusive boundary",
        "definition": "The start of the period. The boundary is inclusive.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Period.start",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "condition": [
          "per-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "DR.1"
          },
          {
            "identity": "rim",
            "map": "./low"
          }
        ]
      },
      {
        "comments": "The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03.",
        "path": "Practitioner.telecom.period.end",
        "short": "End time with inclusive boundary, if not ongoing",
        "definition": "The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Period.end",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "meaningWhenMissing": "If the end of the period is missing, it means that the period is ongoing",
        "condition": [
          "per-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "DR.2"
          },
          {
            "identity": "rim",
            "map": "./high"
          }
        ]
      },
      {
        "path": "Practitioner.address",
        "short": "Where practitioner can be found/visited",
        "definition": "The postal address where the practitioner can be found or visited or to which mail can be delivered.",
        "requirements": "Need to keep track where the practitioner can found during work or for directing mail.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Practitioner.address",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Address"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "ORC-24, STF-11, ROL-11, PRT-14"
          },
          {
            "identity": "rim",
            "map": "./addr"
          },
          {
            "identity": "servd",
            "map": "./Addresses"
          }
        ]
      },
      {
        "comments": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary or old address etc.for a current/permanent one. Applications can assume that an address is current unless it explicitly says that it is temporary or old.",
        "exampleCode": "home",
        "path": "Practitioner.address.use",
        "short": "home | work | temp | old - purpose of this address",
        "definition": "The purpose of this address.",
        "requirements": "Allows an appropriate address to be chosen from a list of many.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Address.use",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isModifier": true,
        "isSummary": true,
        "binding": {
          "strength": "required",
          "description": "The use of an address",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/address-use"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "XAD.7"
          },
          {
            "identity": "rim",
            "map": "unique(./use)"
          },
          {
            "identity": "servd",
            "map": "./AddressPurpose"
          }
        ]
      },
      {
        "exampleCode": "both",
        "path": "Practitioner.address.type",
        "short": "postal | physical | both",
        "definition": "Distinguishes between physical addresses (those you can visit) and mailing addresses (e.g. PO Boxes and care-of addresses). Most addresses are both.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Address.type",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isSummary": true,
        "binding": {
          "strength": "required",
          "description": "The type of an address (physical / postal)",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/address-type"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "XAD.18"
          },
          {
            "identity": "rim",
            "map": "unique(./use)"
          },
          {
            "identity": "vcard",
            "map": "address type parameter"
          }
        ]
      },
      {
        "comments": "Can provide both a text representation and parts.",
        "exampleString": "137 Nowhere Street, Erewhon 9132",
        "path": "Practitioner.address.text",
        "short": "Text representation of the address",
        "definition": "A full text representation of the address.",
        "requirements": "A renderable, unencoded form.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Address.text",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XAD.1 + XAD.2 + XAD.3 + XAD.4 + XAD.5 + XAD.6"
          },
          {
            "identity": "rim",
            "map": "./formatted"
          },
          {
            "identity": "vcard",
            "map": "address label parameter"
          }
        ]
      },
      {
        "exampleString": "137 Nowhere Street",
        "path": "Practitioner.address.line",
        "short": "Street name, number, direction & P.O. Box etc.",
        "definition": "This component contains the house number, apartment number, street name, street direction,  P.O. Box number, delivery hints, and similar address information.",
        "requirements": "home | work | temp | old - purpose of this address.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Address.line",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XAD.1 + XAD.2 (note: XAD.1 and XAD.2 have different meanings for a company address than for a person address)"
          },
          {
            "identity": "rim",
            "map": "AD.part[parttype = AL]"
          },
          {
            "identity": "vcard",
            "map": "street"
          },
          {
            "identity": "servd",
            "map": "./StreetAddress (newline delimitted)"
          }
        ]
      },
      {
        "exampleString": "Erewhon",
        "path": "Practitioner.address.city",
        "short": "Name of city, town etc.",
        "definition": "The name of the city, town, village or other community or delivery center.",
        "alias": [
          "Municpality"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "Address.city",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XAD.3"
          },
          {
            "identity": "rim",
            "map": "AD.part[parttype = CTY]"
          },
          {
            "identity": "vcard",
            "map": "locality"
          },
          {
            "identity": "servd",
            "map": "./Jurisdiction"
          }
        ]
      },
      {
        "comments": "District is sometimes known as county, but in some regions 'county' in used in place of city (municipality), so county name should be conveyed in city instead.",
        "exampleString": "Madison",
        "path": "Practitioner.address.district",
        "short": "District name (aka county)",
        "definition": "The name of the administrative area (county).",
        "alias": [
          "County"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "Address.district",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XAD.9"
          },
          {
            "identity": "rim",
            "map": "AD.part[parttype = CNT | CPA]"
          }
        ]
      },
      {
        "path": "Practitioner.address.state",
        "short": "Sub-unit of country (abbreviations ok)",
        "definition": "Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes).",
        "alias": [
          "Province",
          "Territory"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "Address.state",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XAD.4"
          },
          {
            "identity": "rim",
            "map": "AD.part[parttype = STA]"
          },
          {
            "identity": "vcard",
            "map": "region"
          },
          {
            "identity": "servd",
            "map": "./Region"
          }
        ]
      },
      {
        "exampleString": "9132",
        "path": "Practitioner.address.postalCode",
        "short": "Postal code for area",
        "definition": "A postal code designating a region defined by the postal service.",
        "alias": [
          "Zip"
        ],
        "min": 0,
        "max": "1",
        "base": {
          "path": "Address.postalCode",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XAD.5"
          },
          {
            "identity": "rim",
            "map": "AD.part[parttype = ZIP]"
          },
          {
            "identity": "vcard",
            "map": "code"
          },
          {
            "identity": "servd",
            "map": "./PostalIdentificationCode"
          }
        ]
      },
      {
        "comments": "ISO 3166 3 letter codes can be used in place of a full country name.",
        "path": "Practitioner.address.country",
        "short": "Country (can be ISO 3166 3 letter code)",
        "definition": "Country - a nation as commonly understood or generally accepted.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Address.country",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XAD.6"
          },
          {
            "identity": "rim",
            "map": "AD.part[parttype = CNT]"
          },
          {
            "identity": "vcard",
            "map": "country"
          },
          {
            "identity": "servd",
            "map": "./Country"
          }
        ]
      },
      {
        "examplePeriod": {
          "start": "2010-03-23",
          "end": "2010-07-01"
        },
        "path": "Practitioner.address.period",
        "short": "Time period when address was/is in use",
        "definition": "Time period when address was/is in use.",
        "requirements": "Allows addresses to be placed in historical context.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Address.period",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XAD.12 / XAD.13 + XAD.14"
          },
          {
            "identity": "rim",
            "map": "./usablePeriod[type=\"IVL<TS>\"]"
          },
          {
            "identity": "servd",
            "map": "./StartDate and ./EndDate"
          }
        ]
      },
      {
        "comments": "If the low element is missing, the meaning is that the low boundary is not known.",
        "path": "Practitioner.address.period.start",
        "short": "Starting time with inclusive boundary",
        "definition": "The start of the period. The boundary is inclusive.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Period.start",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "condition": [
          "per-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "DR.1"
          },
          {
            "identity": "rim",
            "map": "./low"
          }
        ]
      },
      {
        "comments": "The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03.",
        "path": "Practitioner.address.period.end",
        "short": "End time with inclusive boundary, if not ongoing",
        "definition": "The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Period.end",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "meaningWhenMissing": "If the end of the period is missing, it means that the period is ongoing",
        "condition": [
          "per-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "DR.2"
          },
          {
            "identity": "rim",
            "map": "./high"
          }
        ]
      },
      {
        "path": "Practitioner.gender",
        "short": "male | female | other | unknown",
        "definition": "Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.",
        "requirements": "Needed to address the person correctly.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Practitioner.gender",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isSummary": true,
        "binding": {
          "strength": "required",
          "description": "The gender of a person used for administrative purposes.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/administrative-gender"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "STF-5"
          },
          {
            "identity": "rim",
            "map": "./administrativeGender"
          },
          {
            "identity": "servd",
            "map": "./GenderCode"
          }
        ]
      },
      {
        "path": "Practitioner.birthDate",
        "short": "The date  on which the practitioner was born",
        "definition": "The date of birth for the practitioner.",
        "requirements": "Needed for identification.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Practitioner.birthDate",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "date"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "STF-6"
          },
          {
            "identity": "rim",
            "map": "./birthTime"
          },
          {
            "identity": "servd",
            "map": "(not represented in ServD)"
          }
        ]
      },
      {
        "path": "Practitioner.photo",
        "short": "Image of the person",
        "definition": "Image of the person.",
        "requirements": "Many EHR systems have the capability to capture an image of patients and personnel. Fits with newer social media usage too.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Practitioner.photo",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Attachment"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "./subjectOf/ObservationEvent[code=\"photo\"]/value"
          },
          {
            "identity": "servd",
            "map": "./ImageURI (only supports the URI reference)"
          }
        ]
      },
      {
        "exampleCode": "text/plain; charset=UTF-8, image/png",
        "path": "Practitioner.photo.contentType",
        "short": "Mime type of the content, with charset etc.",
        "definition": "Identifies the type of the data in the attachment and allows a method to be chosen to interpret or render the data. Includes mime type parameters such as charset where appropriate.",
        "requirements": "Processors of the data need to be able to know how to interpret the data.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Attachment.contentType",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isSummary": true,
        "binding": {
          "strength": "required",
          "description": "The mime type of an attachment. Any valid mime type is allowed.",
          "valueSetUri": "http://www.rfc-editor.org/bcp/bcp13.txt"
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "ED.2+ED.3/RP.2+RP.3. Note conversion may be needed if old style values are being used"
          },
          {
            "identity": "rim",
            "map": "./mediaType, ./charset"
          }
        ]
      },
      {
        "exampleCode": "en-AU",
        "path": "Practitioner.photo.language",
        "short": "Human language of the content (BCP-47)",
        "definition": "The human language of the content. The value can be any valid value according to BCP 47.",
        "requirements": "Users need to be able to choose between the languages in a set of attachments.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Attachment.language",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isSummary": true,
        "binding": {
          "strength": "required",
          "description": "A human language.",
          "valueSetUri": "http://tools.ietf.org/html/bcp47"
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "./language"
          }
        ]
      },
      {
        "comments": "The base64-encoded data SHALL be expressed in the same character set as the base resource XML or JSON.",
        "path": "Practitioner.photo.data",
        "short": "Data inline, base64ed",
        "definition": "The actual data of the attachment - a sequence of bytes. In XML, represented using base64.",
        "requirements": "The data needs to able to be transmitted inline.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Attachment.data",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "base64Binary"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "ED.5"
          },
          {
            "identity": "rim",
            "map": "./data"
          }
        ]
      },
      {
        "comments": "If both data and url are provided, the url SHALL point to the same content as the data contains. Urls may be relative references or may reference transient locations such as a wrapping envelope using cid: though this has ramifications for using signatures. Relative URLs are interpreted relative to the service url, like a resource reference, rather than relative to the resource itself. If a URL is provided, it SHALL resolve to actual data.",
        "exampleUri": "http://www.acme.com/logo-small.png",
        "path": "Practitioner.photo.url",
        "short": "Uri where the data can be found",
        "definition": "An alternative location where the data can be accessed.",
        "requirements": "The data needs to be transmitted by reference.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Attachment.url",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "RP.1+RP.2 - if they refer to a URL (see v2.6)"
          },
          {
            "identity": "rim",
            "map": "./reference/literal"
          }
        ]
      },
      {
        "comments": "The number of bytes is redundant if the data is provided as a base64binary, but is useful if the data is provided as a url reference.",
        "path": "Practitioner.photo.size",
        "short": "Number of bytes of content (if url provided)",
        "definition": "The number of bytes of data that make up this attachment.",
        "requirements": "Representing the size allows applications to determine whether they should fetch the content automatically in advance, or refuse to fetch it at all.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Attachment.size",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "unsignedInt"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (needs data type R3 proposal)"
          }
        ]
      },
      {
        "path": "Practitioner.photo.hash",
        "short": "Hash of the data (sha-1, base64ed)",
        "definition": "The calculated hash of the data using SHA-1. Represented using base64.",
        "requirements": "Included so that applications can verify that the contents of a location have not changed and so that a signature of the content can implicitly sign the content of an image without having to include the data in the instance or reference the url in the signature.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Attachment.hash",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "base64Binary"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": ".integrityCheck[parent::ED/integrityCheckAlgorithm=\"SHA-1\"]"
          }
        ]
      },
      {
        "exampleString": "Official Corporate Logo",
        "path": "Practitioner.photo.title",
        "short": "Label to display in place of the data",
        "definition": "A label or set of text to display in place of the data.",
        "requirements": "Applications need a label to display to a human user in place of the actual data if the data cannot be rendered or perceived by the viewer.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Attachment.title",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "./title/data"
          }
        ]
      },
      {
        "path": "Practitioner.photo.creation",
        "short": "Date attachment was first created",
        "definition": "The date that the attachment was first created.",
        "requirements": "This is often tracked as an integrity issue for use of the attachment.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Attachment.creation",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A (needs data type R3 proposal)"
          }
        ]
      },
      {
        "path": "Practitioner.practitionerRole",
        "short": "Roles/organizations the practitioner is associated with",
        "definition": "The list of roles/organizations that the practitioner is associated with.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Practitioner.practitionerRole",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": ".(Role)"
          }
        ]
      },
      {
        "comments": "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.",
        "path": "Practitioner.practitionerRole.modifierExtension",
        "short": "Extensions that cannot be ignored",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
        "alias": [
          "extensions",
          "user content",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "BackboneElement.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "isModifier": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "path": "Practitioner.practitionerRole.managingOrganization",
        "short": "Organization where the roles are performed",
        "definition": "The organization where the Practitioner performs the roles associated.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Practitioner.practitionerRole.managingOrganization",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "profile": "http://hl7.org/fhir/StructureDefinition/Organization"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "scopingOrganization"
          }
        ]
      },
      {
        "comments": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.",
        "path": "Practitioner.practitionerRole.managingOrganization.reference",
        "short": "Relative, internal or absolute URL reference",
        "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Reference.reference",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "condition": [
          "ref-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "comments": "This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what's being referenced, not to fully describe it.",
        "path": "Practitioner.practitionerRole.managingOrganization.display",
        "short": "Text alternative for the resource",
        "definition": "Plain text narrative that identifies the resource in addition to the resource reference.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Reference.display",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "comments": "A person may have more than one role. At least one role is required.",
        "path": "Practitioner.practitionerRole.role",
        "short": "Roles which this practitioner may perform",
        "definition": "Roles which this practitioner is authorized to perform for the organization.",
        "requirements": "Need to know what authority the practitioner has - what can they do?",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Practitioner.practitionerRole.role",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true,
        "binding": {
          "strength": "example",
          "description": "The role a person plays representing an organization",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/practitioner-role"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "PRD-1 / STF-18  / PRA-3  / PRT-4  / ROL-3 / ORC-12 / OBR-16 / PV1-7 / PV1-8 / PV1-9 / PV1-17"
          },
          {
            "identity": "rim",
            "map": "./code"
          },
          {
            "identity": "servd",
            "map": "(ServD maps Practitioners and Organizations via another entity, so this concept is not available)"
          }
        ]
      },
      {
        "comments": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true.",
        "path": "Practitioner.practitionerRole.role.coding",
        "short": "Code defined by a terminology system",
        "definition": "A reference to a code defined by a terminology system.",
        "requirements": "Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "CodeableConcept.coding",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Coding"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.1-8, C*E.10-22"
          },
          {
            "identity": "rim",
            "map": "union(., ./translation)"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
          }
        ]
      },
      {
        "comments": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
        "path": "Practitioner.practitionerRole.role.coding.system",
        "short": "Identity of the terminology system",
        "definition": "The identification of the code system that defines the meaning of the symbol in the code.",
        "requirements": "Need to be unambiguous about the source of the definition of the symbol.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.system",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.3"
          },
          {
            "identity": "rim",
            "map": "./codeSystem"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
          }
        ]
      },
      {
        "comments": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
        "path": "Practitioner.practitionerRole.role.coding.version",
        "short": "Version of the system - if relevant",
        "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.version",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.7"
          },
          {
            "identity": "rim",
            "map": "./codeSystemVersion"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
          }
        ]
      },
      {
        "path": "Practitioner.practitionerRole.role.coding.code",
        "short": "Symbol in syntax defined by the system",
        "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
        "requirements": "Need to refer to a particular code in the system.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.code",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.1"
          },
          {
            "identity": "rim",
            "map": "./code"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
          }
        ]
      },
      {
        "path": "Practitioner.practitionerRole.role.coding.display",
        "short": "Representation defined by the system",
        "definition": "A representation of the meaning of the code in the system, following the rules of the system.",
        "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.display",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.2 - but note this is not well followed"
          },
          {
            "identity": "rim",
            "map": "CV.displayName"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
          }
        ]
      },
      {
        "comments": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
        "path": "Practitioner.practitionerRole.role.coding.userSelected",
        "short": "If this coding was chosen directly by the user",
        "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
        "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.userSelected",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "boolean"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "Sometimes implied by being first"
          },
          {
            "identity": "rim",
            "map": "CD.codingRationale"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [     fhir:source \"true\";     fhir:target dt:CDCoding.codingRationale\\#O   ]"
          }
        ]
      },
      {
        "comments": "Very often the text is the same as a displayName of one of the codings.",
        "path": "Practitioner.practitionerRole.role.text",
        "short": "Plain text representation of the concept",
        "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
        "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "CodeableConcept.text",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.9. But note many systems use C*E.2 for this"
          },
          {
            "identity": "rim",
            "map": "./originalText[mediaType/code=\"text/plain\"]/data"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
          }
        ]
      },
      {
        "path": "Practitioner.practitionerRole.specialty",
        "short": "Specific specialty of the practitioner",
        "definition": "Specific specialty of the practitioner.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Practitioner.practitionerRole.specialty",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true,
        "binding": {
          "strength": "example",
          "description": "Specific specialty associated with the agency",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/practitioner-specialty"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "PRA-5"
          },
          {
            "identity": "rim",
            "map": "indirectAuthority/QualifiedEntity[code < Speciality]/code"
          },
          {
            "identity": "servd",
            "map": "./Specialty"
          }
        ]
      },
      {
        "comments": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true.",
        "path": "Practitioner.practitionerRole.specialty.coding",
        "short": "Code defined by a terminology system",
        "definition": "A reference to a code defined by a terminology system.",
        "requirements": "Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "CodeableConcept.coding",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Coding"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.1-8, C*E.10-22"
          },
          {
            "identity": "rim",
            "map": "union(., ./translation)"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
          }
        ]
      },
      {
        "comments": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
        "path": "Practitioner.practitionerRole.specialty.coding.system",
        "short": "Identity of the terminology system",
        "definition": "The identification of the code system that defines the meaning of the symbol in the code.",
        "requirements": "Need to be unambiguous about the source of the definition of the symbol.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.system",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.3"
          },
          {
            "identity": "rim",
            "map": "./codeSystem"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
          }
        ]
      },
      {
        "comments": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
        "path": "Practitioner.practitionerRole.specialty.coding.version",
        "short": "Version of the system - if relevant",
        "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.version",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.7"
          },
          {
            "identity": "rim",
            "map": "./codeSystemVersion"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
          }
        ]
      },
      {
        "path": "Practitioner.practitionerRole.specialty.coding.code",
        "short": "Symbol in syntax defined by the system",
        "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
        "requirements": "Need to refer to a particular code in the system.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.code",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.1"
          },
          {
            "identity": "rim",
            "map": "./code"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
          }
        ]
      },
      {
        "path": "Practitioner.practitionerRole.specialty.coding.display",
        "short": "Representation defined by the system",
        "definition": "A representation of the meaning of the code in the system, following the rules of the system.",
        "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.display",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.2 - but note this is not well followed"
          },
          {
            "identity": "rim",
            "map": "CV.displayName"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
          }
        ]
      },
      {
        "comments": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
        "path": "Practitioner.practitionerRole.specialty.coding.userSelected",
        "short": "If this coding was chosen directly by the user",
        "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
        "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.userSelected",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "boolean"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "Sometimes implied by being first"
          },
          {
            "identity": "rim",
            "map": "CD.codingRationale"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [     fhir:source \"true\";     fhir:target dt:CDCoding.codingRationale\\#O   ]"
          }
        ]
      },
      {
        "comments": "Very often the text is the same as a displayName of one of the codings.",
        "path": "Practitioner.practitionerRole.specialty.text",
        "short": "Plain text representation of the concept",
        "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
        "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "CodeableConcept.text",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.9. But note many systems use C*E.2 for this"
          },
          {
            "identity": "rim",
            "map": "./originalText[mediaType/code=\"text/plain\"]/data"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
          }
        ]
      },
      {
        "path": "Practitioner.practitionerRole.period",
        "short": "The period during which the practitioner is authorized to perform in these role(s)",
        "definition": "The period during which the person is authorized to act as a practitioner in these role(s) for the organization.",
        "requirements": "Even after the agencies is revoked, the fact that it existed must still be recorded.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Practitioner.practitionerRole.period",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "PRD-8/9 / PRA-5.4"
          },
          {
            "identity": "rim",
            "map": "./effectiveTime"
          },
          {
            "identity": "servd",
            "map": "(ServD maps Practitioners and Organizations via another entity, so this concept is not available)"
          },
          {
            "identity": "w5",
            "map": "when.done"
          }
        ]
      },
      {
        "comments": "If the low element is missing, the meaning is that the low boundary is not known.",
        "path": "Practitioner.practitionerRole.period.start",
        "short": "Starting time with inclusive boundary",
        "definition": "The start of the period. The boundary is inclusive.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Period.start",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "condition": [
          "per-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "DR.1"
          },
          {
            "identity": "rim",
            "map": "./low"
          }
        ]
      },
      {
        "comments": "The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03.",
        "path": "Practitioner.practitionerRole.period.end",
        "short": "End time with inclusive boundary, if not ongoing",
        "definition": "The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Period.end",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "meaningWhenMissing": "If the end of the period is missing, it means that the period is ongoing",
        "condition": [
          "per-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "DR.2"
          },
          {
            "identity": "rim",
            "map": "./high"
          }
        ]
      },
      {
        "path": "Practitioner.practitionerRole.location",
        "short": "The location(s) at which this practitioner provides care",
        "definition": "The location(s) at which this practitioner provides care.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Practitioner.practitionerRole.location",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Reference",
            "profile": "http://hl7.org/fhir/StructureDefinition/Location"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "./target[classCode=\"indirectAuthority].source[classCode=SDLOC]"
          },
          {
            "identity": "servd",
            "map": "(ServD maps Practitioners and Organizations via another entity, so this concept is not available)<br/> However these are accessed via the Site.ServiceSite.ServiceSiteProvider record. (The Site has the location)"
          },
          {
            "identity": "w5",
            "map": "where"
          }
        ]
      },
      {
        "comments": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.",
        "path": "Practitioner.practitionerRole.location.reference",
        "short": "Relative, internal or absolute URL reference",
        "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Reference.reference",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "condition": [
          "ref-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "comments": "This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what's being referenced, not to fully describe it.",
        "path": "Practitioner.practitionerRole.location.display",
        "short": "Text alternative for the resource",
        "definition": "Plain text narrative that identifies the resource in addition to the resource reference.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Reference.display",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "path": "Practitioner.practitionerRole.healthcareService",
        "short": "The list of healthcare services that this worker provides for this role's Organization/Location(s)",
        "definition": "The list of healthcare services that this worker provides for this role's Organization/Location(s).",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Practitioner.practitionerRole.healthcareService",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Reference",
            "profile": "http://hl7.org/fhir/StructureDefinition/HealthcareService"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "./target[classCode=\"indirectAuthority].id?"
          }
        ]
      },
      {
        "comments": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.",
        "path": "Practitioner.practitionerRole.healthcareService.reference",
        "short": "Relative, internal or absolute URL reference",
        "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Reference.reference",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "condition": [
          "ref-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "comments": "This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what's being referenced, not to fully describe it.",
        "path": "Practitioner.practitionerRole.healthcareService.display",
        "short": "Text alternative for the resource",
        "definition": "Plain text narrative that identifies the resource in addition to the resource reference.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Reference.display",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "path": "Practitioner.qualification",
        "short": "Qualifications obtained by training and certification",
        "definition": "Qualifications obtained by training and certification.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Practitioner.qualification",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "mapping": [
          {
            "identity": "v2",
            "map": "CER?"
          },
          {
            "identity": "rim",
            "map": "./indirectAuthority/QualifiedEntity[code < qualifiedEntity]"
          },
          {
            "identity": "servd",
            "map": "./Qualifications"
          }
        ]
      },
      {
        "comments": "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.",
        "path": "Practitioner.qualification.modifierExtension",
        "short": "Extensions that cannot be ignored",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element, and that modifies the understanding of the element that contains it. Usually modifier elements provide negation or qualification. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.",
        "alias": [
          "extensions",
          "user content",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "BackboneElement.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "isModifier": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "path": "Practitioner.qualification.identifier",
        "short": "An identifier for this qualification for the practitioner",
        "definition": "An identifier that applies to this person's qualification in this role.",
        "requirements": "Often, specific identities are assigned for the qualification.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Practitioner.qualification.identifier",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Identifier"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "./id"
          }
        ]
      },
      {
        "comments": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.",
        "path": "Practitioner.qualification.identifier.use",
        "short": "usual | official | temp | secondary (If known)",
        "definition": "The purpose of this identifier.",
        "requirements": "Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Identifier.use",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isModifier": true,
        "isSummary": true,
        "binding": {
          "strength": "required",
          "description": "Identifies the purpose for this identifier, if known .",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/identifier-use"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "N/A"
          },
          {
            "identity": "rim",
            "map": "Role.code or implied by context"
          }
        ]
      },
      {
        "comments": "This element deals only with general categories of identifiers.  It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.   Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.",
        "path": "Practitioner.qualification.identifier.type",
        "short": "Description of identifier",
        "definition": "A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.",
        "requirements": "Allows users to make use of identifiers when the identifier system is not known.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Identifier.type",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true,
        "binding": {
          "strength": "extensible",
          "description": "A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/identifier-type"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.5"
          },
          {
            "identity": "rim",
            "map": "Role.code or implied by context"
          }
        ]
      },
      {
        "comments": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true.",
        "path": "Practitioner.qualification.identifier.type.coding",
        "short": "Code defined by a terminology system",
        "definition": "A reference to a code defined by a terminology system.",
        "requirements": "Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "CodeableConcept.coding",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Coding"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.1-8, C*E.10-22"
          },
          {
            "identity": "rim",
            "map": "union(., ./translation)"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
          }
        ]
      },
      {
        "comments": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
        "path": "Practitioner.qualification.identifier.type.coding.system",
        "short": "Identity of the terminology system",
        "definition": "The identification of the code system that defines the meaning of the symbol in the code.",
        "requirements": "Need to be unambiguous about the source of the definition of the symbol.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.system",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.3"
          },
          {
            "identity": "rim",
            "map": "./codeSystem"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
          }
        ]
      },
      {
        "comments": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
        "path": "Practitioner.qualification.identifier.type.coding.version",
        "short": "Version of the system - if relevant",
        "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.version",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.7"
          },
          {
            "identity": "rim",
            "map": "./codeSystemVersion"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
          }
        ]
      },
      {
        "path": "Practitioner.qualification.identifier.type.coding.code",
        "short": "Symbol in syntax defined by the system",
        "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
        "requirements": "Need to refer to a particular code in the system.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.code",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.1"
          },
          {
            "identity": "rim",
            "map": "./code"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
          }
        ]
      },
      {
        "path": "Practitioner.qualification.identifier.type.coding.display",
        "short": "Representation defined by the system",
        "definition": "A representation of the meaning of the code in the system, following the rules of the system.",
        "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.display",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.2 - but note this is not well followed"
          },
          {
            "identity": "rim",
            "map": "CV.displayName"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
          }
        ]
      },
      {
        "comments": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
        "path": "Practitioner.qualification.identifier.type.coding.userSelected",
        "short": "If this coding was chosen directly by the user",
        "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
        "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.userSelected",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "boolean"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "Sometimes implied by being first"
          },
          {
            "identity": "rim",
            "map": "CD.codingRationale"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [     fhir:source \"true\";     fhir:target dt:CDCoding.codingRationale\\#O   ]"
          }
        ]
      },
      {
        "comments": "Very often the text is the same as a displayName of one of the codings.",
        "path": "Practitioner.qualification.identifier.type.text",
        "short": "Plain text representation of the concept",
        "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
        "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "CodeableConcept.text",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.9. But note many systems use C*E.2 for this"
          },
          {
            "identity": "rim",
            "map": "./originalText[mediaType/code=\"text/plain\"]/data"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
          }
        ]
      },
      {
        "exampleUri": "http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri",
        "path": "Practitioner.qualification.identifier.system",
        "short": "The namespace for the identifier",
        "definition": "Establishes the namespace in which set of possible id values is unique.",
        "requirements": "There are many sequences of identifiers.  To perform matching, we need to know what sequence we're dealing with. The system identifies a particular sequence or set of unique identifiers.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Identifier.system",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.4 / EI-2-4"
          },
          {
            "identity": "rim",
            "map": "II.root or Role.id.root"
          },
          {
            "identity": "servd",
            "map": "./IdentifierType"
          }
        ]
      },
      {
        "comments": "If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986.",
        "exampleString": "123456",
        "path": "Practitioner.qualification.identifier.value",
        "short": "The value that is unique",
        "definition": "The portion of the identifier typically displayed to the user and which is unique within the context of the system.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Identifier.value",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.1 / EI.1"
          },
          {
            "identity": "rim",
            "map": "II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)"
          },
          {
            "identity": "servd",
            "map": "./Value"
          }
        ]
      },
      {
        "path": "Practitioner.qualification.identifier.period",
        "short": "Time period when id is/was valid for use",
        "definition": "Time period during which identifier is/was valid for use.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Identifier.period",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.7 + CX.8"
          },
          {
            "identity": "rim",
            "map": "Role.effectiveTime or implied by context"
          },
          {
            "identity": "servd",
            "map": "./StartDate and ./EndDate"
          }
        ]
      },
      {
        "comments": "If the low element is missing, the meaning is that the low boundary is not known.",
        "path": "Practitioner.qualification.identifier.period.start",
        "short": "Starting time with inclusive boundary",
        "definition": "The start of the period. The boundary is inclusive.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Period.start",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "condition": [
          "per-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "DR.1"
          },
          {
            "identity": "rim",
            "map": "./low"
          }
        ]
      },
      {
        "comments": "The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03.",
        "path": "Practitioner.qualification.identifier.period.end",
        "short": "End time with inclusive boundary, if not ongoing",
        "definition": "The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Period.end",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "meaningWhenMissing": "If the end of the period is missing, it means that the period is ongoing",
        "condition": [
          "per-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "DR.2"
          },
          {
            "identity": "rim",
            "map": "./high"
          }
        ]
      },
      {
        "comments": "The reference may be just a text description of the assigner.",
        "path": "Practitioner.qualification.identifier.assigner",
        "short": "Organization that issued id (may be just text)",
        "definition": "Organization that issued/manages the identifier.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Identifier.assigner",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "profile": "http://hl7.org/fhir/StructureDefinition/Organization"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.4 / (CX.4,CX.9,CX.10)"
          },
          {
            "identity": "rim",
            "map": "II.assigningAuthorityName but note that this is an improper use by the definition of the field.  Also Role.scoper"
          },
          {
            "identity": "servd",
            "map": "./IdentifierIssuingAuthority"
          }
        ]
      },
      {
        "comments": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.",
        "path": "Practitioner.qualification.identifier.assigner.reference",
        "short": "Relative, internal or absolute URL reference",
        "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Reference.reference",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "condition": [
          "ref-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "comments": "This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what's being referenced, not to fully describe it.",
        "path": "Practitioner.qualification.identifier.assigner.display",
        "short": "Text alternative for the resource",
        "definition": "Plain text narrative that identifies the resource in addition to the resource reference.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Reference.display",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "path": "Practitioner.qualification.code",
        "short": "Coded representation of the qualification",
        "definition": "Coded representation of the qualification.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Practitioner.qualification.code",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "binding": {
          "strength": "example",
          "description": "Specific qualification the practitioner has to provide a service",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/anzsco-occupations"
          }
        },
        "mapping": [
          {
            "identity": "rim",
            "map": "./code"
          },
          {
            "identity": "servd",
            "map": "./Qualifications.Value"
          }
        ]
      },
      {
        "comments": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true.",
        "path": "Practitioner.qualification.code.coding",
        "short": "Code defined by a terminology system",
        "definition": "A reference to a code defined by a terminology system.",
        "requirements": "Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "CodeableConcept.coding",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Coding"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.1-8, C*E.10-22"
          },
          {
            "identity": "rim",
            "map": "union(., ./translation)"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
          }
        ]
      },
      {
        "comments": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
        "path": "Practitioner.qualification.code.coding.system",
        "short": "Identity of the terminology system",
        "definition": "The identification of the code system that defines the meaning of the symbol in the code.",
        "requirements": "Need to be unambiguous about the source of the definition of the symbol.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.system",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.3"
          },
          {
            "identity": "rim",
            "map": "./codeSystem"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
          }
        ]
      },
      {
        "comments": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
        "path": "Practitioner.qualification.code.coding.version",
        "short": "Version of the system - if relevant",
        "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.version",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.7"
          },
          {
            "identity": "rim",
            "map": "./codeSystemVersion"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
          }
        ]
      },
      {
        "path": "Practitioner.qualification.code.coding.code",
        "short": "Symbol in syntax defined by the system",
        "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
        "requirements": "Need to refer to a particular code in the system.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.code",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.1"
          },
          {
            "identity": "rim",
            "map": "./code"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
          }
        ]
      },
      {
        "path": "Practitioner.qualification.code.coding.display",
        "short": "Representation defined by the system",
        "definition": "A representation of the meaning of the code in the system, following the rules of the system.",
        "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.display",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.2 - but note this is not well followed"
          },
          {
            "identity": "rim",
            "map": "CV.displayName"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
          }
        ]
      },
      {
        "comments": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
        "path": "Practitioner.qualification.code.coding.userSelected",
        "short": "If this coding was chosen directly by the user",
        "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
        "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.userSelected",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "boolean"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "Sometimes implied by being first"
          },
          {
            "identity": "rim",
            "map": "CD.codingRationale"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [     fhir:source \"true\";     fhir:target dt:CDCoding.codingRationale\\#O   ]"
          }
        ]
      },
      {
        "comments": "Very often the text is the same as a displayName of one of the codings.",
        "path": "Practitioner.qualification.code.text",
        "short": "Plain text representation of the concept",
        "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
        "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "CodeableConcept.text",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.9. But note many systems use C*E.2 for this"
          },
          {
            "identity": "rim",
            "map": "./originalText[mediaType/code=\"text/plain\"]/data"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
          }
        ]
      },
      {
        "path": "Practitioner.qualification.period",
        "short": "Period during which the qualification is valid",
        "definition": "Period during which the qualification is valid.",
        "requirements": "Qualifications are often for a limited period of time, and can be revoked.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Practitioner.qualification.period",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "./effectiveTime"
          },
          {
            "identity": "servd",
            "map": "./Qualifications.StartDate and ./Qualifications.EndDate"
          }
        ]
      },
      {
        "comments": "If the low element is missing, the meaning is that the low boundary is not known.",
        "path": "Practitioner.qualification.period.start",
        "short": "Starting time with inclusive boundary",
        "definition": "The start of the period. The boundary is inclusive.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Period.start",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "condition": [
          "per-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "DR.1"
          },
          {
            "identity": "rim",
            "map": "./low"
          }
        ]
      },
      {
        "comments": "The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has a end value of 2012-02-03.",
        "path": "Practitioner.qualification.period.end",
        "short": "End time with inclusive boundary, if not ongoing",
        "definition": "The end of the period. If the end of the period is missing, it means that the period is ongoing. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Period.end",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "meaningWhenMissing": "If the end of the period is missing, it means that the period is ongoing",
        "condition": [
          "per-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "DR.2"
          },
          {
            "identity": "rim",
            "map": "./high"
          }
        ]
      },
      {
        "path": "Practitioner.qualification.issuer",
        "short": "Organization that regulates and issues the qualification",
        "definition": "Organization that regulates and issues the qualification.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Practitioner.qualification.issuer",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "profile": "http://hl7.org/fhir/StructureDefinition/Organization"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "./scoper"
          }
        ]
      },
      {
        "comments": "Using absolute URLs provides a stable scalable approach suitable for a cloud/web context, while using relative/logical references provides a flexible approach suitable for use when trading across closed eco-system boundaries.   Absolute URLs do not need to point to a FHIR RESTful server, though this is the preferred approach. If the URL conforms to the structure \"/[type]/[id]\" then it should be assumed that the reference is to a FHIR RESTful server.",
        "path": "Practitioner.qualification.issuer.reference",
        "short": "Relative, internal or absolute URL reference",
        "definition": "A reference to a location at which the other resource is found. The reference may be a relative reference, in which case it is relative to the service base URL, or an absolute URL that resolves to the location where the resource is found. The reference may be version specific or not. If the reference is not to a FHIR RESTful server, then it should be assumed to be version specific. Internal fragment references (start with '#') refer to contained resources.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Reference.reference",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "condition": [
          "ref-1"
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "comments": "This is generally not the same as the Resource.text of the referenced resource.  The purpose is to identify what's being referenced, not to fully describe it.",
        "path": "Practitioner.qualification.issuer.display",
        "short": "Text alternative for the resource",
        "definition": "Plain text narrative that identifies the resource in addition to the resource reference.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Reference.display",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "comments": "The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type.",
        "path": "Practitioner.communication",
        "short": "A language the practitioner is able to use in patient communication",
        "definition": "A language the practitioner is able to use in patient communication.",
        "requirements": "Knowing which language a practitioner speaks can help in facilitating communication with patients.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Practitioner.communication",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "binding": {
          "strength": "required",
          "description": "A human language.",
          "valueSetUri": "http://tools.ietf.org/html/bcp47"
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "PID-15, NK1-20, LAN-2"
          },
          {
            "identity": "rim",
            "map": "./languageCode"
          },
          {
            "identity": "servd",
            "map": "./Languages.LanguageSpokenCode"
          }
        ]
      },
      {
        "comments": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labelled as UserSelected = true.",
        "path": "Practitioner.communication.coding",
        "short": "Code defined by a terminology system",
        "definition": "A reference to a code defined by a terminology system.",
        "requirements": "Allows for translations and alternate encodings within a code system.  Also supports communication of the same instance to systems requiring different encodings.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "CodeableConcept.coding",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Coding"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.1-8, C*E.10-22"
          },
          {
            "identity": "rim",
            "map": "union(., ./translation)"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
          }
        ]
      },
      {
        "comments": "The URI may be an OID (urn:oid:...) or a UUID (urn:uuid:...).  OIDs and UUIDs SHALL be references to the HL7 OID registry. Otherwise, the URI should come from HL7's list of FHIR defined special URIs or it should de-reference to some definition that establish the system clearly and unambiguously.",
        "path": "Practitioner.communication.coding.system",
        "short": "Identity of the terminology system",
        "definition": "The identification of the code system that defines the meaning of the symbol in the code.",
        "requirements": "Need to be unambiguous about the source of the definition of the symbol.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.system",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.3"
          },
          {
            "identity": "rim",
            "map": "./codeSystem"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.system rdfs:subPropertyOf dt:CDCoding.codeSystem"
          }
        ]
      },
      {
        "comments": "Where the terminology does not clearly define what string should be used to identify code system versions, the recommendation is to use the date (expressed in FHIR date format) on which that version was officially published as the version date.",
        "path": "Practitioner.communication.coding.version",
        "short": "Version of the system - if relevant",
        "definition": "The version of the code system which was used when choosing this code. Note that a well-maintained code system does not need the version reported, because the meaning of codes is consistent across versions. However this cannot consistently be assured. and when the meaning is not guaranteed to be consistent, the version SHOULD be exchanged.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.version",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.7"
          },
          {
            "identity": "rim",
            "map": "./codeSystemVersion"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.version rdfs:subPropertyOf dt:CDCoding.codeSystemVersion"
          }
        ]
      },
      {
        "path": "Practitioner.communication.coding.code",
        "short": "Symbol in syntax defined by the system",
        "definition": "A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).",
        "requirements": "Need to refer to a particular code in the system.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.code",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.1"
          },
          {
            "identity": "rim",
            "map": "./code"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.code rdfs:subPropertyOf dt:CDCoding.code"
          }
        ]
      },
      {
        "path": "Practitioner.communication.coding.display",
        "short": "Representation defined by the system",
        "definition": "A representation of the meaning of the code in the system, following the rules of the system.",
        "requirements": "Need to be able to carry a human-readable meaning of the code for readers that do not know  the system.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.display",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.2 - but note this is not well followed"
          },
          {
            "identity": "rim",
            "map": "CV.displayName"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.display rdfs:subPropertyOf dt:CDCoding.displayName"
          }
        ]
      },
      {
        "comments": "Amongst a set of alternatives, a directly chosen code is the most appropriate starting point for new translations. There is some ambiguity about what exactly 'directly chosen' implies, and trading partner agreement may be needed to clarify the use of this element and its consequences more completely.",
        "path": "Practitioner.communication.coding.userSelected",
        "short": "If this coding was chosen directly by the user",
        "definition": "Indicates that this coding was chosen by a user directly - i.e. off a pick list of available items (codes or displays).",
        "requirements": "This has been identified as a clinical safety criterium - that this exact system/code pair was chosen explicitly, rather than inferred by the system based on some rules or language processing.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Coding.userSelected",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "boolean"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "Sometimes implied by being first"
          },
          {
            "identity": "rim",
            "map": "CD.codingRationale"
          },
          {
            "identity": "orim",
            "map": "fhir:Coding.userSelected fhir:mapsTo dt:CDCoding.codingRationale. fhir:Coding.userSelected fhir:hasMap fhir:Coding.userSelected.map. fhir:Coding.userSelected.map a fhir:Map;   fhir:target dt:CDCoding.codingRationale. fhir:Coding.userSelected\\#true a [     fhir:source \"true\";     fhir:target dt:CDCoding.codingRationale\\#O   ]"
          }
        ]
      },
      {
        "comments": "Very often the text is the same as a displayName of one of the codings.",
        "path": "Practitioner.communication.text",
        "short": "Plain text representation of the concept",
        "definition": "A human language representation of the concept as seen/selected/uttered by the user who entered the data and/or which represents the intended meaning of the user.",
        "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "CodeableConcept.text",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.9. But note many systems use C*E.2 for this"
          },
          {
            "identity": "rim",
            "map": "./originalText[mediaType/code=\"text/plain\"]/data"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
          }
        ]
      }
    ]
  },
  "differential": {
    "element": [
      {
        "comments": "Note that a cab driver no longer fits the bill. You probably would be interested in the organization rather than the individual?",
        "path": "Practitioner",
        "short": "A person with a  formal responsibility in the provisioning of healthcare or related services",
        "definition": "A person who is directly or indirectly involved in the provisioning of healthcare.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Practitioner",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Practitioner"
          }
        ],
        "mapping": [
          {
            "identity": "v2",
            "map": "PRD (as one example)"
          },
          {
            "identity": "rim",
            "map": "Role"
          },
          {
            "identity": "servd",
            "map": "Provider"
          },
          {
            "identity": "w5",
            "map": "administrative.individual"
          }
        ]
      },
      {
        "path": "Practitioner.identifier",
        "slicing": {
          "rules": "openAtEnd"
        },
        "short": "A identifier for the person as this agent",
        "definition": "An identifier that applies to this person in this role.",
        "requirements": "Often, specific identities are assigned for the agent.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Practitioner.identifier",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Identifier"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "PRD-7 (or XCN.1)"
          },
          {
            "identity": "rim",
            "map": "./id"
          },
          {
            "identity": "servd",
            "map": "./Identifiers"
          },
          {
            "identity": "w5",
            "map": "id"
          }
        ]
      },
      {
        "name": "National Care Provider ID",
        "path": "Practitioner.identifier",
        "short": "A identifier for the person as this agent",
        "definition": "An identifier that applies to this person in this role.",
        "requirements": "Often, specific identities are assigned for the agent.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Practitioner.identifier",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Identifier"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "PRD-7 (or XCN.1)"
          },
          {
            "identity": "rim",
            "map": "./id"
          },
          {
            "identity": "servd",
            "map": "./Identifiers"
          },
          {
            "identity": "w5",
            "map": "id"
          }
        ]
      },
      {
        "comments": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary id for a permanent one. Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.",
        "path": "Practitioner.identifier.use",
        "short": "usual | official | temp | secondary (If known)",
        "definition": "The purpose of this identifier.",
        "requirements": "Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Identifier.use",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isModifier": true,
        "isSummary": true,
        "binding": {
          "strength": "required",
          "description": "Identifies the purpose for this identifier, if known .",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/identifier-use"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "N/A"
          },
          {
            "identity": "rim",
            "map": "Role.code or implied by context"
          }
        ]
      },
      {
        "comments": "This element deals only with general categories of identifiers.  It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage.   Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.",
        "path": "Practitioner.identifier.type",
        "short": "Description of identifier",
        "definition": "A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.",
        "requirements": "Allows users to make use of identifiers when the identifier system is not known.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Identifier.type",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "isSummary": true,
        "binding": {
          "strength": "extensible",
          "description": "A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/identifier-type"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.5"
          },
          {
            "identity": "rim",
            "map": "Role.code or implied by context"
          }
        ]
      },
      {
        "exampleUri": "http://www.acme.com/identifiers/patient or urn:ietf:rfc:3986 if the Identifier.value itself is a full uri",
        "path": "Practitioner.identifier.system",
        "short": "The namespace for the identifier",
        "definition": "Establishes the namespace in which set of possible id values is unique.",
        "requirements": "There are many sequences of identifiers.  To perform matching, we need to know what sequence we're dealing with. The system identifies a particular sequence or set of unique identifiers.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Identifier.system",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "uri"
          }
        ],
        "fixedUri": "http://fhir.furore.com/fhir/NationalCareProvider",
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.4 / EI-2-4"
          },
          {
            "identity": "rim",
            "map": "II.root or Role.id.root"
          },
          {
            "identity": "servd",
            "map": "./IdentifierType"
          }
        ]
      },
      {
        "comments": "If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986.",
        "exampleString": "123456",
        "path": "Practitioner.identifier.value",
        "short": "The value that is unique",
        "definition": "The portion of the identifier typically displayed to the user and which is unique within the context of the system.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Identifier.value",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.1 / EI.1"
          },
          {
            "identity": "rim",
            "map": "II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)"
          },
          {
            "identity": "servd",
            "map": "./Value"
          }
        ]
      },
      {
        "path": "Practitioner.identifier.period",
        "short": "Time period when id is/was valid for use",
        "definition": "Time period during which identifier is/was valid for use.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Identifier.period",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.7 + CX.8"
          },
          {
            "identity": "rim",
            "map": "Role.effectiveTime or implied by context"
          },
          {
            "identity": "servd",
            "map": "./StartDate and ./EndDate"
          }
        ]
      },
      {
        "comments": "The reference may be just a text description of the assigner.",
        "path": "Practitioner.identifier.assigner",
        "short": "Organization that issued id (may be just text)",
        "definition": "Organization that issued/manages the identifier.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Identifier.assigner",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Reference",
            "profile": "http://hl7.org/fhir/StructureDefinition/Organization"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "CX.4 / (CX.4,CX.9,CX.10)"
          },
          {
            "identity": "rim",
            "map": "II.assigningAuthorityName but note that this is an improper use by the definition of the field.  Also Role.scoper"
          },
          {
            "identity": "servd",
            "map": "./IdentifierIssuingAuthority"
          }
        ]
      },
      {
        "comments": "Default is true.   If the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role.",
        "path": "Practitioner.active",
        "short": "Whether this practitioner's record is in active use",
        "definition": "Whether this practitioner's record is in active use.",
        "requirements": "Need to be able to mark a practitioner record as not to be used because it was created in error.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Practitioner.active",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "boolean"
          }
        ],
        "defaultValueBoolean": true,
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "./StatusCode"
          },
          {
            "identity": "w5",
            "map": "status"
          }
        ]
      },
      {
        "path": "Practitioner.name",
        "short": "A name associated with the person",
        "definition": "A name associated with the person.",
        "requirements": "Contact persons need to be identified by name, but it is uncommon to need details about multiple other names for that person.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "Practitioner.name",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "HumanName"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XCN Components"
          },
          {
            "identity": "rim",
            "map": "./name"
          },
          {
            "identity": "servd",
            "map": "./PreferredName (GivenNames, FamilyName, TitleCode)"
          }
        ]
      },
      {
        "comments": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary or old name etc.for a current/permanent one. Applications can assume that a name is current unless it explicitly says that it is temporary or old.",
        "path": "Practitioner.name.use",
        "short": "usual | official | temp | nickname | anonymous | old | maiden",
        "definition": "Identifies the purpose for this name.",
        "requirements": "Allows the appropriate name for a particular context of use to be selected from among a set of names.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "HumanName.use",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isModifier": true,
        "isSummary": true,
        "binding": {
          "strength": "required",
          "description": "The use of a human name",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/name-use"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "XPN.7, but often indicated by which field contains the name"
          },
          {
            "identity": "rim",
            "map": "unique(./use)"
          },
          {
            "identity": "servd",
            "map": "./NamePurpose"
          }
        ]
      },
      {
        "comments": "Can provide both a text representation and structured parts.",
        "path": "Practitioner.name.text",
        "short": "Text representation of the full name",
        "definition": "A full text representation of the name.",
        "requirements": "A renderable, unencoded form.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "HumanName.text",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "implied by XPN.11"
          },
          {
            "identity": "rim",
            "map": "./formatted"
          }
        ]
      },
      {
        "comments": "For family name, hyphenated names such as \"Smith-Jones\" are a single name, but names with spaces such as \"Smith Jones\" are broken into multiple parts.",
        "path": "Practitioner.name.family",
        "short": "Family name (often called 'Surname')",
        "definition": "The part of a name that links to the genealogy. In some cultures (e.g. Eritrea) the family name of a son is the first name of his father.",
        "alias": [
          "surname"
        ],
        "min": 1,
        "max": "1",
        "base": {
          "path": "HumanName.family",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XPN.1"
          },
          {
            "identity": "rim",
            "map": "./part[partType = FAM]"
          },
          {
            "identity": "servd",
            "map": "./FamilyName"
          }
        ]
      },
      {
        "comments": "If only initials are recorded, they may be used in place of the full name.  Not called \"first name\" since given names do not always come first.",
        "path": "Practitioner.name.given",
        "short": "Given names (not always 'first'). Includes middle names",
        "definition": "Given name.",
        "alias": [
          "first name",
          "middle name"
        ],
        "min": 1,
        "max": "1",
        "base": {
          "path": "HumanName.given",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XPN.2 + XPN.3"
          },
          {
            "identity": "rim",
            "map": "./part[partType = GIV]"
          },
          {
            "identity": "servd",
            "map": "./GivenNames"
          }
        ]
      },
      {
        "path": "Practitioner.name.prefix",
        "short": "Parts that come before the name",
        "definition": "Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the start of the name.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "HumanName.prefix",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XPN.5"
          },
          {
            "identity": "rim",
            "map": "./part[partType = PFX]"
          },
          {
            "identity": "servd",
            "map": "./TitleCode"
          }
        ]
      },
      {
        "path": "Practitioner.name.suffix",
        "short": "Parts that come after the name",
        "definition": "Part of the name that is acquired as a title due to academic, legal, employment or nobility status, etc. and that appears at the end of the name.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "HumanName.suffix",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XPN/4"
          },
          {
            "identity": "rim",
            "map": "./part[partType = SFX]"
          }
        ]
      },
      {
        "path": "Practitioner.name.period",
        "short": "Time period when name was/is in use",
        "definition": "Indicates the period of time when this name was valid for the named person.",
        "requirements": "Allows names to be placed in historical context.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "HumanName.period",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XPN.13 + XPN.14"
          },
          {
            "identity": "rim",
            "map": "./usablePeriod[type=\"IVL<TS>\"]"
          },
          {
            "identity": "servd",
            "map": "./StartDate and ./EndDate"
          }
        ]
      },
      {
        "comments": "Person may have multiple ways to be contacted with different uses or applicable periods.  May need to have options for contacting the person urgently, and also to help with identification.",
        "path": "Practitioner.telecom",
        "short": "A contact detail for the practitioner",
        "definition": "A contact detail for the practitioner, e.g. a telephone number or an email address.",
        "requirements": "Need to know how to reach a practitioner.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Practitioner.telecom",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "ContactPoint"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "PRT-15, STF-10, ROL-12"
          },
          {
            "identity": "rim",
            "map": "./telecom"
          },
          {
            "identity": "servd",
            "map": "./ContactPoints"
          }
        ]
      },
      {
        "path": "Practitioner.address",
        "short": "Where practitioner can be found/visited",
        "definition": "The postal address where the practitioner can be found or visited or to which mail can be delivered.",
        "requirements": "Need to keep track where the practitioner can found during work or for directing mail.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Practitioner.address",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Address"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "ORC-24, STF-11, ROL-11, PRT-14"
          },
          {
            "identity": "rim",
            "map": "./addr"
          },
          {
            "identity": "servd",
            "map": "./Addresses"
          }
        ]
      },
      {
        "path": "Practitioner.gender",
        "short": "male | female | other | unknown",
        "definition": "Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.",
        "requirements": "Needed to address the person correctly.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Practitioner.gender",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "isSummary": true,
        "binding": {
          "strength": "required",
          "description": "The gender of a person used for administrative purposes.",
          "valueSetReference": {
            "reference": "http://hl7.org/fhir/ValueSet/administrative-gender"
          }
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "STF-5"
          },
          {
            "identity": "rim",
            "map": "./administrativeGender"
          },
          {
            "identity": "servd",
            "map": "./GenderCode"
          }
        ]
      },
      {
        "path": "Practitioner.birthDate",
        "short": "The date  on which the practitioner was born",
        "definition": "The date of birth for the practitioner.",
        "requirements": "Needed for identification.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Practitioner.birthDate",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "date"
          }
        ],
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "STF-6"
          },
          {
            "identity": "rim",
            "map": "./birthTime"
          },
          {
            "identity": "servd",
            "map": "(not represented in ServD)"
          }
        ]
      },
      {
        "path": "Practitioner.photo",
        "short": "Image of the person",
        "definition": "Image of the person.",
        "requirements": "Many EHR systems have the capability to capture an image of patients and personnel. Fits with newer social media usage too.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Practitioner.photo",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Attachment"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": "./subjectOf/ObservationEvent[code=\"photo\"]/value"
          },
          {
            "identity": "servd",
            "map": "./ImageURI (only supports the URI reference)"
          }
        ]
      },
      {
        "path": "Practitioner.practitionerRole",
        "short": "Roles/organizations the practitioner is associated with",
        "definition": "The list of roles/organizations that the practitioner is associated with.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Practitioner.practitionerRole",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "mapping": [
          {
            "identity": "rim",
            "map": ".(Role)"
          }
        ]
      },
      {
        "path": "Practitioner.qualification",
        "short": "Qualifications obtained by training and certification",
        "definition": "Qualifications obtained by training and certification.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Practitioner.qualification",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "mapping": [
          {
            "identity": "v2",
            "map": "CER?"
          },
          {
            "identity": "rim",
            "map": "./indirectAuthority/QualifiedEntity[code < qualifiedEntity]"
          },
          {
            "identity": "servd",
            "map": "./Qualifications"
          }
        ]
      },
      {
        "comments": "The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type.",
        "path": "Practitioner.communication",
        "short": "A language the practitioner is able to use in patient communication",
        "definition": "A language the practitioner is able to use in patient communication.",
        "requirements": "Knowing which language a practitioner speaks can help in facilitating communication with patients.",
        "min": 0,
        "max": "0",
        "base": {
          "path": "Practitioner.communication",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "binding": {
          "strength": "required",
          "description": "A human language.",
          "valueSetUri": "http://tools.ietf.org/html/bcp47"
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "PID-15, NK1-20, LAN-2"
          },
          {
            "identity": "rim",
            "map": "./languageCode"
          },
          {
            "identity": "servd",
            "map": "./Languages.LanguageSpokenCode"
          }
        ]
      }
    ]
  }
}