profile-Patient
type: StructureDefinition
node role: treeRoot
id:
  v: profile-Patient
text:
  status:
    v: extensions
  div:
    v: Generated Narrative: StructureDefinition profile-Patient Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> Patient 0..* Patient Information about an individual or animal receiving health care services #xD; contact #xD; organization #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:organization 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/alternate-reference]] R5: organization additional types URL: http://hl7.org/fhir/StructureDefinition/alternate-reference #xD; generalPractitioner #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:generalPractitioner 0..* ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/alternate-reference]] R5: generalPractitioner URL: http://hl7.org/fhir/StructureDefinition/alternate-reference #xD; managingOrganization #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:managingOrganization 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/alternate-reference]] R5: managingOrganization additional types URL: http://hl7.org/fhir/StructureDefinition/alternate-reference #xD; link #xD; other #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:other 0..1 ?gen-e1? [CanonicalType[http://hl7.org/fhir/StructureDefinition/alternate-reference]] R5: other additional types URL: http://hl7.org/fhir/StructureDefinition/alternate-reference #xD; <img src="[binary]" alt="doco" style="background-color: inherit"/> Documentation for this format
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-wg
    l: structuredefinition-wg
  value: Code
    v: fhir
extension:
  extension:
    url:
      v: packageId
      l: packageId
    value: Id
      v: hl7.fhir.uv.xver-r5.r3
  extension:
    url:
      v: version
      l: version
    value: String
      v: 0.1.0
  url:
    v: http://hl7.org/fhir/StructureDefinition/package-source
    l: package-source
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm
    l: structuredefinition-fmm
  value: Integer
    v: 0
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom
        l: structuredefinition-conformance-derivedFrom
      value: Uri
        v: http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r5.r3
        l: hl7.fhir.uv.xver-r5.r3
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status
    l: structuredefinition-standards-status
  value: Code
    v: trial-use
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom
        l: structuredefinition-conformance-derivedFrom
      value: Uri
        v: http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r5.r3
        l: hl7.fhir.uv.xver-r5.r3
url:
  v: http://hl7.org/fhir/5.0/StructureDefinition/profile-Patient
  l: profile-Patient
version:
  v: 0.1.0
name:
  v: Profile_R5_Patient_R3
title:
  v: Cross-version Profile for R5.Patient for use in FHIR STU3
status:
  v: active
experimental:
  v: false
date:
  v: 2026-03-17T16:05:13.0925528-05:00
publisher:
  v: FHIR Infrastructure
contact:
  name:
    v: FHIR Infrastructure
  telecom:
    system:
      v: url
    value:
      v: http://www.hl7.org/Special/committees/fiwg
description:
  v: This cross-version profile allows R5 Patient content to be represented via FHIR STU3 Patient resources.
jurisdiction:
  coding:
    system:
      v: http://unstats.un.org/unsd/methods/m49/m49.htm
      l: m49.htm
    code:
      v: 001
    display:
      v: World
fhir version:
  v: 3.0.2
mapping:
  identity:
    v: rim
  uri:
    v: http://hl7.org/v3
    l: v3
  name:
    v: RIM Mapping
mapping:
  identity:
    v: cda
  uri:
    v: http://hl7.org/v3/cda
    l: cda
  name:
    v: CDA (R2)
mapping:
  identity:
    v: w5
  uri:
    v: http://hl7.org/fhir/w5
    l: w5
  name:
    v: W5 Mapping
mapping:
  identity:
    v: v2
  uri:
    v: http://hl7.org/v2
    l: v2
  name:
    v: HL7 v2 Mapping
mapping:
  identity:
    v: loinc
  uri:
    v: http://loinc.org
    l: loinc.org
  name:
    v: LOINC code for the element
kind:
  v: resource
abstract:
  v: false
type:
  v: Patient
base definition:
  v: http://hl7.org/fhir/StructureDefinition/Patient
  l: Patient
derivation:
  v: constraint
snapshot:
  element:
    id:
      v: Patient
    path:
      v: Patient
    short:
      v: Information about an individual or animal receiving health care services
    definition:
      v: Demographics and other administrative information about an individual or animal receiving care or other health-related services.
    alias:
      v: SubjectOfCare Client Resident
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: Patient
      min:
        v: 0
      max:
        v: *
    constraint:
      key:
        v: dom-2
      severity:
        v: error
      human:
        v: If the resource is contained in another resource, it SHALL NOT contain nested Resources
      expression:
        v: contained.contained.empty()
      xpath:
        v: not(parent::f:contained and f:contained)
      source:
        v: http://hl7.org/fhir/StructureDefinition/DomainResource
        l: DomainResource
    constraint:
      key:
        v: dom-1
      severity:
        v: error
      human:
        v: If the resource is contained in another resource, it SHALL NOT contain any narrative
      expression:
        v: contained.text.empty()
      xpath:
        v: not(parent::f:contained and f:text)
      source:
        v: http://hl7.org/fhir/StructureDefinition/DomainResource
        l: DomainResource
    constraint:
      key:
        v: dom-4
      severity:
        v: error
      human:
        v: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated

v: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()

v: not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))

key:
  v: dom-3
severity:
  v: error
human:
  v: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
expression:
  v: contained.where(('#'+id in %resource.descendants().reference).not()).empty()
xpath:
  v: not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))
source:
  v: http://hl7.org/fhir/StructureDefinition/DomainResource
  l: DomainResource

identity:
  v: rim
map:
  v: Entity. Role, or Act

identity:
  v: rim
map:
  v: Patient[classCode=PAT]

identity:
  v: cda
map:
  v: ClinicalDocument.recordTarget.patientRole

identity:
  v: w5
map:
  v: administrative.individual

id:
  v: Patient.id
path:
  v: Patient.id
short:
  v: Logical id of this artifact
definition:
  v: The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
comment:
  v: The only time that a resource does not have an id is when it is being submitted to the server using a create operation.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: id
    l: id
is summary:
  v: true

id:
  v: Patient.meta
path:
  v: Patient.meta
short:
  v: Metadata about the resource
definition:
  v: The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.meta
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Meta
    l: Meta
is summary:
  v: true

id:
  v: Patient.implicitRules
path:
  v: Patient.implicitRules
short:
  v: A set of rules under which this content was created
definition:
  v: A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content.
comment:
  v: Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. This element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.implicitRules
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
is modifier:
  v: true
is summary:
  v: true

id:
  v: Patient.language
path:
  v: Patient.language
short:
  v: Language of the resource content
definition:
  v: The base language in which the resource is written.
comment:
  v: Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Resource.language
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet
      l: elementdefinition-maxValueSet
    value: Reference
      l: 3.0
      l: .2
      reference:
        v: http://hl7.org/fhir/ValueSet/all-languages|3.0.2
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: Language
  strength:
    v: extensible
  description:
    v: A human language.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/languages|3.0.2

id:
  v: Patient.text
path:
  v: Patient.text
short:
  v: Text summary of the resource, for human interpretation
definition:
  v: A human-readable narrative that contains a summary of the resource, and may be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
comment:
  v: Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded in formation is added later.
alias:
  v: narrative
alias:
  v: html
alias:
  v: xhtml
alias:
  v: display
min:
  v: 0
max:
  v: 1
base:
  path:
    v: DomainResource.text
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Narrative
    l: Narrative
condition:
  v: dom-1
mapping:
  identity:
    v: rim
  map:
    v: Act.text?

id:
  v: Patient.contained
path:
  v: Patient.contained
short:
  v: Contained, inline Resources
definition:
  v: These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
comment:
  v: This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.
alias:
  v: inline resources
alias:
  v: anonymous resources
alias:
  v: contained resources
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.contained
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Resource
    l: Resource
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Patient.extension
path:
  v: Patient.extension
short:
  v: Additional Content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the resource. 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.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Patient.modifierExtension
path:
  v: Patient.modifierExtension
short:
  v: Extensions that cannot be ignored
definition:
  v: May be used to represent additional information that is not part of the basic definition of the resource, 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.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: DomainResource.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Patient.identifier
path:
  v: Patient.identifier
short:
  v: An identifier for this patient
definition:
  v: An identifier for this patient.
requirements:
  v: Patients are almost always assigned specific numerical identifiers.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Patient.identifier
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Identifier
    l: Identifier
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: PID-3
mapping:
  identity:
    v: rim
  map:
    v: id
mapping:
  identity:
    v: cda
  map:
    v: .id
mapping:
  identity:
    v: w5
  map:
    v: id

id:
  v: Patient.active
path:
  v: Patient.active
short:
  v: Whether this patient's record is in active use
definition:
  v: Whether this patient record is in active use.
comment:
  v: Default is true. If a record is inactive, and linked to an active record, then future patient/record updates should occur on the other patient This element is labeled as a modifier because when the patient record is marked as not active it is not expected to be used/referenced without being changed back to active.
requirements:
  v: Need to be able to mark a patient record as not to be used because it was created in error.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Patient.active
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: boolean
    l: boolean
default value: Boolean
  v: true
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: statusCode
mapping:
  identity:
    v: cda
  map:
    v: n/a
mapping:
  identity:
    v: w5
  map:
    v: status

id:
  v: Patient.name
path:
  v: Patient.name
short:
  v: A name associated with the patient
definition:
  v: A name associated with the individual.
comment:
  v: A patient may have multiple names with different uses or applicable periods. For animals, the name is a "HumanName" in the sense that is assigned and used by humans and has the same patterns.
requirements:
  v: Need to be able to track the patient by multiple names. Examples are your official name and a partner name.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Patient.name
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: HumanName
    l: HumanName
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: PID-5, PID-9
mapping:
  identity:
    v: rim
  map:
    v: name
mapping:
  identity:
    v: cda
  map:
    v: .patient.name

id:
  v: Patient.telecom
path:
  v: Patient.telecom
short:
  v: A contact detail for the individual
definition:
  v: A contact detail (e.g. a telephone number or an email address) by which the individual may be contacted.
comment:
  v: A Patient 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. The address may not go directly to the individual, but may reach another party that is able to proxy for the patient (i.e. home phone, or pet owner's phone).
requirements:
  v: People have (primary) ways to contact them in some way such as phone, email.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Patient.telecom
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: ContactPoint
    l: ContactPoint
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: PID-13, PID-14, PID-40
mapping:
  identity:
    v: rim
  map:
    v: telecom
mapping:
  identity:
    v: cda
  map:
    v: .telecom

id:
  v: Patient.gender
path:
  v: Patient.gender
short:
  v: male | female | other | unknown
definition:
  v: Administrative Gender - the gender that the patient is considered to have for administration and record keeping purposes.
comment:
  v: The gender may not match the biological sex as determined by genetics, or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than M and F, though the vast majority of systems and contexts only support M and F. Systems providing decision support or enforcing business rules should ideally do this on the basis of Observations dealing with the specific gender aspect of interest (anatomical, chromosonal, social, etc.) However, because these observations are infrequently recorded, defaulting to the administrative gender is common practice. Where such defaulting occurs, rule enforcement should allow for the variation between administrative and biological, chromosonal and other gender aspects. For example, an alert about a hysterectomy on a male should be handled as a warning or overrideable error, not a "hard" error.
requirements:
  v: Needed for identification of the individual, in combination with (at least) name and birth date. Gender of individual drives many clinical processes.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Patient.gender
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: AdministrativeGender
  strength:
    v: required
  description:
    v: The gender of a person used for administrative purposes.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/administrative-gender|3.0.2
mapping:
  identity:
    v: v2
  map:
    v: PID-8
mapping:
  identity:
    v: rim
  map:
    v: player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender
mapping:
  identity:
    v: cda
  map:
    v: .patient.administrativeGenderCode

id:
  v: Patient.birthDate
path:
  v: Patient.birthDate
short:
  v: The date of birth for the individual
definition:
  v: The date of birth for the individual.
comment:
  v: At least an estimated year should be provided as a guess if the real DOB is unknown There is a standard extension "patient-birthTime" available that should be used where Time is required (such as in maternaty/infant care systems).
requirements:
  v: Age of the individual drives many clinical processes.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Patient.birthDate
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: date
    l: date
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: PID-7
mapping:
  identity:
    v: rim
  map:
    v: player[classCode=PSN|ANM and determinerCode=INSTANCE]/birthTime
mapping:
  identity:
    v: cda
  map:
    v: .patient.birthTime
mapping:
  identity:
    v: loinc
  map:
    v: 21112-8

id:
  v: Patient.deceased[x]
path:
  v: Patient.deceased[x]
short:
  v: Indicates if the individual is deceased or not
definition:
  v: Indicates if the individual is deceased or not.
comment:
  v: If there's no value in the instance it means there is no statement on whether or not the individual is deceased. Most systems will interpret the absence of a value as a sign of the person being alive. This element is labeled as a modifier because once a patient is marked as deceased, the actions that are appropriate to perform on the patient may be significantly different.
requirements:
  v: The fact that a patient is deceased influences the clinical process. Also, in human communication and relation management it is necessary to know whether the person is alive.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Patient.deceased[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: boolean
    l: boolean
type:
  code:
    v: dateTime
    l: dateTime
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: PID-30 (bool) and PID-29 (datetime)
mapping:
  identity:
    v: rim
  map:
    v: player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedInd, player[classCode=PSN|ANM and determinerCode=INSTANCE]/deceasedTime
mapping:
  identity:
    v: cda
  map:
    v: n/a

id:
  v: Patient.address
path:
  v: Patient.address
short:
  v: Addresses for the individual
definition:
  v: Addresses for the individual.
comment:
  v: Patient may have multiple addresses with different uses or applicable periods.
requirements:
  v: May need to keep track of patient addresses for contacting, billing or reporting requirements and also to help with identification.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Patient.address
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Address
    l: Address
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: PID-11
mapping:
  identity:
    v: rim
  map:
    v: addr
mapping:
  identity:
    v: cda
  map:
    v: .addr

id:
  v: Patient.maritalStatus
path:
  v: Patient.maritalStatus
short:
  v: Marital (civil) status of a patient
definition:
  v: This field contains a patient's most recent marital (civil) status.
requirements:
  v: Most, if not all systems capture it.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Patient.maritalStatus
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: MaritalStatus
  strength:
    v: extensible
  description:
    v: The domestic partnership status of a person.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/marital-status|3.0.2
mapping:
  identity:
    v: v2
  map:
    v: PID-16
mapping:
  identity:
    v: rim
  map:
    v: player[classCode=PSN]/maritalStatusCode
mapping:
  identity:
    v: cda
  map:
    v: .patient.maritalStatusCode

id:
  v: Patient.multipleBirth[x]
path:
  v: Patient.multipleBirth[x]
short:
  v: Whether patient is part of a multiple birth
definition:
  v: Indicates whether the patient is part of a multiple (bool) or indicates the actual birth order (integer).
comment:
  v: Where the valueInteger is provided, the number is the birth number in the sequence. E.g. The middle birth in tripplets would be valueInteger=2 and the third born would have valueInteger=3 If a bool value was provided for this tripplets examle, then all 3 patient records would have valueBool=true (the ordering is not indicated).
requirements:
  v: For disambiguation of multiple-birth children, especially relevant where the care provider doesn't meet the patient, such as labs.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Patient.multipleBirth[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: boolean
    l: boolean
type:
  code:
    v: integer
    l: integer
mapping:
  identity:
    v: v2
  map:
    v: PID-24 (bool), PID-25 (integer)
mapping:
  identity:
    v: rim
  map:
    v: player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthInd, player[classCode=PSN|ANM and determinerCode=INSTANCE]/multipleBirthOrderNumber
mapping:
  identity:
    v: cda
  map:
    v: n/a

id:
  v: Patient.photo
path:
  v: Patient.photo
short:
  v: Image of the patient
definition:
  v: Image of the patient.
requirements:
  v: Many EHR systems have the capability to capture an image of the patient. Fits with newer social media usage too.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Patient.photo
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Attachment
    l: Attachment
mapping:
  identity:
    v: v2
  map:
    v: OBX-5 - needs a profile
mapping:
  identity:
    v: rim
  map:
    v: player[classCode=PSN|ANM and determinerCode=INSTANCE]/desc
mapping:
  identity:
    v: cda
  map:
    v: n/a

id:
  v: Patient.contact
path:
  v: Patient.contact
short:
  v: A contact party (e.g. guardian, partner, friend) for the patient
definition:
  v: A contact party (e.g. guardian, partner, friend) for the patient.
comment:
  v: Contact covers all kinds of contact parties: family members, business contacts, guardians, caregivers. Not applicable to register pedigree and family ties beyond use of having contact.
requirements:
  v: Need to track people you can contact about the patient.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Patient.contact
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
constraint:
  key:
    v: pat-1
  severity:
    v: error
  human:
    v: SHALL at least contain a contact's details or a reference to an organization
  expression:
    v: name.exists() or telecom.exists() or address.exists() or organization.exists()
  xpath:
    v: exists(f:name) or exists(f:telecom) or exists(f:address) or exists(f:organization)
  source:
    v: http://hl7.org/fhir/StructureDefinition/Patient
    l: Patient
mapping:
  identity:
    v: rim
  map:
    v: player[classCode=PSN|ANM and determinerCode=INSTANCE]/scopedRole[classCode=CON]
mapping:
  identity:
    v: cda
  map:
    v: n/a

id:
  v: Patient.contact.id
path:
  v: Patient.contact.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Patient.contact.extension
path:
  v: Patient.contact.extension
short:
  v: Additional Content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. 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.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Patient.contact.modifierExtension
path:
  v: Patient.contact.modifierExtension
short:
  v: Extensions that cannot be ignored
definition:
  v: 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.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Patient.contact.relationship
path:
  v: Patient.contact.relationship
short:
  v: The kind of relationship
definition:
  v: The nature of the relationship between the patient and the contact person.
requirements:
  v: Used to determine which contact person is the most relevant to approach, depending on circumstances.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Patient.contact.relationship
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: ContactRelationship
  strength:
    v: extensible
  description:
    v: The nature of the relationship between a patient and a contact person for that patient.
  value set: Reference
    l: 2.8
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/v2-0131|2.8.2
mapping:
  identity:
    v: v2
  map:
    v: NK1-7, NK1-3
mapping:
  identity:
    v: rim
  map:
    v: code
mapping:
  identity:
    v: cda
  map:
    v: n/a

id:
  v: Patient.contact.name
path:
  v: Patient.contact.name
short:
  v: A name associated with the contact person
definition:
  v: A name associated with the contact person.
requirements:
  v: Contact persons need to be identified by name, but it is uncommon to need details about multiple other names for that contact person.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Patient.contact.name
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: HumanName
    l: HumanName
mapping:
  identity:
    v: v2
  map:
    v: NK1-2
mapping:
  identity:
    v: rim
  map:
    v: name
mapping:
  identity:
    v: cda
  map:
    v: n/a

id:
  v: Patient.contact.telecom
path:
  v: Patient.contact.telecom
short:
  v: A contact detail for the person
definition:
  v: A contact detail for the person, e.g. a telephone number or an email address.
comment:
  v: Contact 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.
requirements:
  v: People have (primary) ways to contact them in some way such as phone, email.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Patient.contact.telecom
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: ContactPoint
    l: ContactPoint
mapping:
  identity:
    v: v2
  map:
    v: NK1-5, NK1-6, NK1-40
mapping:
  identity:
    v: rim
  map:
    v: telecom
mapping:
  identity:
    v: cda
  map:
    v: n/a

id:
  v: Patient.contact.address
path:
  v: Patient.contact.address
short:
  v: Address for the contact person
definition:
  v: Address for the contact person.
requirements:
  v: Need to keep track where the contact person can be contacted per postal mail or visited.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Patient.contact.address
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Address
    l: Address
mapping:
  identity:
    v: v2
  map:
    v: NK1-4
mapping:
  identity:
    v: rim
  map:
    v: addr
mapping:
  identity:
    v: cda
  map:
    v: n/a

id:
  v: Patient.contact.gender
path:
  v: Patient.contact.gender
short:
  v: male | female | other | unknown
definition:
  v: Administrative Gender - the gender that the contact person is considered to have for administration and record keeping purposes.
requirements:
  v: Needed to address the person correctly.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Patient.contact.gender
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: AdministrativeGender
  strength:
    v: required
  description:
    v: The gender of a person used for administrative purposes.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/administrative-gender|3.0.2
mapping:
  identity:
    v: v2
  map:
    v: NK1-15
mapping:
  identity:
    v: rim
  map:
    v: player[classCode=PSN|ANM and determinerCode=INSTANCE]/administrativeGender
mapping:
  identity:
    v: cda
  map:
    v: n/a

id:
  v: Patient.contact.organization
path:
  v: Patient.contact.organization
short:
  v: Organization that is associated with the contact
definition:
  v: Organization on behalf of which the contact is acting or for which the contact is working.
requirements:
  v: For guardians or business related contacts, the organization is relevant.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Patient.contact.organization
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Organization
    l: Organization
condition:
  v: pat-1
mapping:
  identity:
    v: v2
  map:
    v: NK1-13, NK1-30, NK1-31, NK1-32, NK1-41
mapping:
  identity:
    v: rim
  map:
    v: scoper
mapping:
  identity:
    v: cda
  map:
    v: n/a

id:
  v: Patient.contact.organization.id
path:
  v: Patient.contact.organization.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Patient.contact.organization.extension
path:
  v: Patient.contact.organization.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Patient.contact.organization.extension:organization
path:
  v: Patient.contact.organization.extension
slice name:
  v: organization
short:
  v: R5: organization additional types
definition:
  v: R5: `Patient.contact.organization` additional types from child elements (display, identifier, reference, type)
comment:
  v: Element `Patient.contact.organization` is mapped to FHIR STU3 element `Patient.contact.organization` as `SourceIsBroaderThanTarget`. The mappings for `Patient.contact.organization` do not cover the following types based on type expansion: display, identifier, reference, type. The standard extension `alternate-reference` has been mapped as the representation of FHIR R5 element `Patient.contact.organization` with unmapped reference targets: Organization.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/StructureDefinition/alternate-reference
    l: alternate-reference

id:
  v: Patient.contact.organization.reference
path:
  v: Patient.contact.organization.reference
short:
  v: Literal reference, Relative, internal or absolute URL
definition:
  v: 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.
comment:
  v: 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.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.reference
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
condition:
  v: ref-1
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Patient.contact.organization.identifier
path:
  v: Patient.contact.organization.identifier
short:
  v: Logical reference, when literal reference is not known
definition:
  v: An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.
comment:
  v: When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.identifier
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Identifier
    l: Identifier
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .identifier

id:
  v: Patient.contact.organization.display
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable
    l: elementdefinition-translatable
  value: Boolean
    v: true
path:
  v: Patient.contact.organization.display
short:
  v: Text alternative for the resource
definition:
  v: Plain text narrative that identifies the resource in addition to the resource reference.
comment:
  v: 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.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.display
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Patient.contact.period
path:
  v: Patient.contact.period
short:
  v: The period during which this contact person or organization is valid to be contacted relating to this patient
definition:
  v: The period during which this contact person or organization is valid to be contacted relating to this patient.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Patient.contact.period
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Period
    l: Period
mapping:
  identity:
    v: rim
  map:
    v: effectiveTime
mapping:
  identity:
    v: cda
  map:
    v: n/a

id:
  v: Patient.animal
path:
  v: Patient.animal
short:
  v: This patient is known to be an animal (non-human)
definition:
  v: This patient is known to be an animal.
comment:
  v: The animal element is labeled "Is Modifier" since patients may be non-human. Systems SHALL either handle patient details appropriately (e.g. inform users patient is not human) or reject declared animal records. The absense of the animal element does not imply that the patient is a human. If a system requires such a positive assertion that the patient is human, an extension will be required. (Do not use a species of homo-sapiens in animal species, as this would incorrectly infer that the patient is an animal).
requirements:
  v: Many clinical systems are extended to care for animal patients as well as human.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Patient.animal
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: player[classCode=ANM]
mapping:
  identity:
    v: cda
  map:
    v: n/a

id:
  v: Patient.animal.id
path:
  v: Patient.animal.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Patient.animal.extension
path:
  v: Patient.animal.extension
short:
  v: Additional Content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. 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.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Patient.animal.modifierExtension
path:
  v: Patient.animal.modifierExtension
short:
  v: Extensions that cannot be ignored
definition:
  v: 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.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Patient.animal.species
path:
  v: Patient.animal.species
short:
  v: E.g. Dog, Cow
definition:
  v: Identifies the high level taxonomic categorization of the kind of animal.
comment:
  v: If the patient is non-human, at least a species SHALL be specified. Species SHALL be a widely recognised taxonomic classification. It may or may not be Linnaean taxonomy and may or may not be at the level of species. If the level is finer than species--such as a breed code--the code system used SHALL allow inference of the species. (The common example is that the word "Hereford" does not allow inference of the species Bos taurus, because there is a Hereford pig breed, but the SNOMED CT code for "Hereford Cattle Breed" does.).
requirements:
  v: Need to know what kind of animal.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Patient.animal.species
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: AnimalSpecies
  strength:
    v: example
  description:
    v: The species of an animal.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/animal-species|3.0.2
mapping:
  identity:
    v: v2
  map:
    v: PID-35
mapping:
  identity:
    v: rim
  map:
    v: code
mapping:
  identity:
    v: cda
  map:
    v: n/a

id:
  v: Patient.animal.breed
path:
  v: Patient.animal.breed
short:
  v: E.g. Poodle, Angus
definition:
  v: Identifies the detailed categorization of the kind of animal.
comment:
  v: Breed MAY be used to provide further taxonomic or non-taxonomic classification. It may involve local or proprietary designation--such as commercial strain--and/or additional information such as production type.
requirements:
  v: May need to know the specific kind within the species.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Patient.animal.breed
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: AnimalBreed
  strength:
    v: example
  description:
    v: The breed of an animal.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/animal-breeds|3.0.2
mapping:
  identity:
    v: v2
  map:
    v: PID-37
mapping:
  identity:
    v: rim
  map:
    v: playedRole[classCode=GEN]/scoper[classCode=ANM, determinerCode=KIND]/code
mapping:
  identity:
    v: cda
  map:
    v: n/a

id:
  v: Patient.animal.genderStatus
path:
  v: Patient.animal.genderStatus
short:
  v: E.g. Neutered, Intact
definition:
  v: Indicates the current state of the animal's reproductive organs.
requirements:
  v: Gender status can affect housing and animal behavior.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Patient.animal.genderStatus
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: AnimalGenderStatus
  strength:
    v: example
  description:
    v: The state of the animal's reproductive organs.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/animal-genderstatus|3.0.2
mapping:
  identity:
    v: v2
  map:
    v: N/A
mapping:
  identity:
    v: rim
  map:
    v: genderStatusCode
mapping:
  identity:
    v: cda
  map:
    v: n/a

id:
  v: Patient.communication
path:
  v: Patient.communication
short:
  v: A list of Languages which may be used to communicate with the patient about his or her health
definition:
  v: Languages which may be used to communicate with the patient about his or her health.
comment:
  v: If no language is specified, this *implies* that the default local language is spoken. If you need to convey proficiency for multiple modes then you need multiple Patient.Communication associations. For animals, language is not a relevant field, and should be absent from the instance. If the Patient does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required.
requirements:
  v: If a patient does not speak the local language, interpreters may be required, so languages spoken and proficiency is an important things to keep track of both for patient and other persons of interest.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Patient.communication
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
mapping:
  identity:
    v: rim
  map:
    v: LanguageCommunication
mapping:
  identity:
    v: cda
  map:
    v: patient.languageCommunication

id:
  v: Patient.communication.id
path:
  v: Patient.communication.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Patient.communication.extension
path:
  v: Patient.communication.extension
short:
  v: Additional Content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. 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.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Patient.communication.modifierExtension
path:
  v: Patient.communication.modifierExtension
short:
  v: Extensions that cannot be ignored
definition:
  v: 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.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Patient.communication.language
path:
  v: Patient.communication.language
short:
  v: The language which can be used to communicate with the patient about his or her health
definition:
  v: The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England English.
comment:
  v: 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.
requirements:
  v: Most systems in multilingual countries will want to convey language. Not all systems actually need the regional dialect.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Patient.communication.language
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet
      l: elementdefinition-maxValueSet
    value: Reference
      l: 3.0
      l: .2
      reference:
        v: http://hl7.org/fhir/ValueSet/all-languages|3.0.2
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: Language
  strength:
    v: extensible
  description:
    v: A human language.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/languages|3.0.2
mapping:
  identity:
    v: v2
  map:
    v: PID-15, LAN-2
mapping:
  identity:
    v: rim
  map:
    v: player[classCode=PSN|ANM and determinerCode=INSTANCE]/languageCommunication/code
mapping:
  identity:
    v: cda
  map:
    v: .languageCode

id:
  v: Patient.communication.preferred
path:
  v: Patient.communication.preferred
short:
  v: Language preference indicator
definition:
  v: Indicates whether or not the patient prefers this language (over other languages he masters up a certain level).
comment:
  v: This language is specifically identified for communicating healthcare information.
requirements:
  v: People that master multiple languages up to certain level may prefer one or more, i.e. feel more confident in communicating in a particular language making other languages sort of a fall back method.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Patient.communication.preferred
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: boolean
    l: boolean
mapping:
  identity:
    v: v2
  map:
    v: PID-15
mapping:
  identity:
    v: rim
  map:
    v: preferenceInd
mapping:
  identity:
    v: cda
  map:
    v: .preferenceInd

id:
  v: Patient.generalPractitioner
path:
  v: Patient.generalPractitioner
short:
  v: Patient's nominated primary care provider
definition:
  v: Patient's nominated care provider.
comment:
  v: This may be the primary care provider (in a GP context), or it may be a patient nominated care manager in a community/disablity setting, or even organization that will provide people to perform the care provider roles. It is not to be used to record Care Teams, these should be in a CareTeam resource that may be linked to the CarePlan or EpisodeOfCare resources.
alias:
  v: careProvider
min:
  v: 0
max:
  v: *
base:
  path:
    v: Patient.generalPractitioner
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Organization
    l: Organization
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Practitioner
    l: Practitioner
mapping:
  identity:
    v: v2
  map:
    v: PD1-4
mapping:
  identity:
    v: rim
  map:
    v: subjectOf.CareEvent.performer.AssignedEntity
mapping:
  identity:
    v: cda
  map:
    v: n/a

id:
  v: Patient.generalPractitioner.id
path:
  v: Patient.generalPractitioner.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Patient.generalPractitioner.extension
path:
  v: Patient.generalPractitioner.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Patient.generalPractitioner.extension:generalPractitioner
path:
  v: Patient.generalPractitioner.extension
slice name:
  v: generalPractitioner
short:
  v: R5: generalPractitioner
definition:
  v: R5: `Patient.generalPractitioner`
comment:
  v: Element `Patient.generalPractitioner` is mapped to FHIR STU3 element `Patient.generalPractitioner` as `SourceIsBroaderThanTarget`. The standard extension `alternate-reference` has been mapped as the representation of FHIR R5 element `Patient.generalPractitioner` with unmapped reference targets: Organization, Practitioner, PractitionerRole. This may be the primary care provider (in a GP context), or it may be a patient nominated care manager in a community/disability setting, or even organization that will provide people to perform the care provider roles. It is not to be used to record Care Teams, these should be in a CareTeam resource that may be linked to the CarePlan or EpisodeOfCare resources. Multiple GPs may be recorded against the patient for various reasons, such as a student that has his home GP listed along with the GP at university during the school semesters, or a "fly-in/fly-out" worker that has the onsite GP also included with his home GP to remain aware of medical issues. Jurisdictions may decide that they can profile this down to 1 if desired, or 1 per type.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/StructureDefinition/alternate-reference
    l: alternate-reference

id:
  v: Patient.generalPractitioner.reference
path:
  v: Patient.generalPractitioner.reference
short:
  v: Literal reference, Relative, internal or absolute URL
definition:
  v: 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.
comment:
  v: 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.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.reference
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
condition:
  v: ref-1
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Patient.generalPractitioner.identifier
path:
  v: Patient.generalPractitioner.identifier
short:
  v: Logical reference, when literal reference is not known
definition:
  v: An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.
comment:
  v: When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.identifier
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Identifier
    l: Identifier
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .identifier

id:
  v: Patient.generalPractitioner.display
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable
    l: elementdefinition-translatable
  value: Boolean
    v: true
path:
  v: Patient.generalPractitioner.display
short:
  v: Text alternative for the resource
definition:
  v: Plain text narrative that identifies the resource in addition to the resource reference.
comment:
  v: 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.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.display
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Patient.managingOrganization
path:
  v: Patient.managingOrganization
short:
  v: Organization that is the custodian of the patient record
definition:
  v: Organization that is the custodian of the patient record.
comment:
  v: There is only one managing organization for a specific patient record. Other organizations will have their own Patient record, and may use the Link property to join the records together (or a Person resource which can include confidence ratings for the association).
requirements:
  v: Need to know who recognizes this patient record, manages and updates it.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Patient.managingOrganization
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Organization
    l: Organization
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: scoper
mapping:
  identity:
    v: cda
  map:
    v: .providerOrganization

id:
  v: Patient.managingOrganization.id
path:
  v: Patient.managingOrganization.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Patient.managingOrganization.extension
path:
  v: Patient.managingOrganization.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Patient.managingOrganization.extension:managingOrganization
path:
  v: Patient.managingOrganization.extension
slice name:
  v: managingOrganization
short:
  v: R5: managingOrganization additional types
definition:
  v: R5: `Patient.managingOrganization` additional types from child elements (display, identifier, reference, type)
comment:
  v: Element `Patient.managingOrganization` is mapped to FHIR STU3 element `Patient.managingOrganization` as `SourceIsBroaderThanTarget`. The mappings for `Patient.managingOrganization` do not cover the following types based on type expansion: display, identifier, reference, type. The standard extension `alternate-reference` has been mapped as the representation of FHIR R5 element `Patient.managingOrganization` with unmapped reference targets: Organization. There is only one managing organization for a specific patient record. Other organizations will have their own Patient record, and may use the Link property to join the records together (or a Person resource which can include confidence ratings for the association).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/StructureDefinition/alternate-reference
    l: alternate-reference

id:
  v: Patient.managingOrganization.reference
path:
  v: Patient.managingOrganization.reference
short:
  v: Literal reference, Relative, internal or absolute URL
definition:
  v: 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.
comment:
  v: 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.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.reference
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
condition:
  v: ref-1
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Patient.managingOrganization.identifier
path:
  v: Patient.managingOrganization.identifier
short:
  v: Logical reference, when literal reference is not known
definition:
  v: An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.
comment:
  v: When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.identifier
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Identifier
    l: Identifier
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .identifier

id:
  v: Patient.managingOrganization.display
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable
    l: elementdefinition-translatable
  value: Boolean
    v: true
path:
  v: Patient.managingOrganization.display
short:
  v: Text alternative for the resource
definition:
  v: Plain text narrative that identifies the resource in addition to the resource reference.
comment:
  v: 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.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.display
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Patient.link
path:
  v: Patient.link
short:
  v: Link to another patient resource that concerns the same actual person
definition:
  v: Link to another patient resource that concerns the same actual patient.
comment:
  v: There is no assumption that linked patient records have mutual links. This element is labelled as a modifier because it may not be the main Patient resource, and the referenced patient should be used instead of this Patient record. This is when the link.type value is 'replaced-by'.
requirements:
  v: There are multiple usecases: * Duplicate patient records due to the clerical errors associated with the difficulties of identifying humans consistently, and * Distribution of patient information across multiple servers.
min:
  v: 0
max:
  v: *
base:
  path:
    v: Patient.link
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: BackboneElement
    l: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() | (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    l: Element
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: outboundLink
mapping:
  identity:
    v: cda
  map:
    v: n/a

id:
  v: Patient.link.id
path:
  v: Patient.link.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Patient.link.extension
path:
  v: Patient.link.extension
short:
  v: Additional Content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. 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.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Patient.link.modifierExtension
path:
  v: Patient.link.modifierExtension
short:
  v: Extensions that cannot be ignored
definition:
  v: 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.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
alias:
  v: modifiers
min:
  v: 0
max:
  v: *
base:
  path:
    v: BackboneElement.modifierExtension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
is modifier:
  v: true
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Patient.link.other
path:
  v: Patient.link.other
short:
  v: The other patient or related person resource that the link refers to
definition:
  v: The other patient resource that the link refers to.
comment:
  v: Referencing a RelatedPerson here removes the need to use a Person record to associate a Patient and RelatedPerson as the same individual.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Patient.link.other
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/Patient
    l: Patient
type:
  code:
    v: Reference
    l: Reference
  target profile:
    v: http://hl7.org/fhir/StructureDefinition/RelatedPerson
    l: RelatedPerson
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: PID-3, MRG-1
mapping:
  identity:
    v: rim
  map:
    v: id
mapping:
  identity:
    v: cda
  map:
    v: n/a

id:
  v: Patient.link.other.id
path:
  v: Patient.link.other.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Patient.link.other.extension
path:
  v: Patient.link.other.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Patient.link.other.extension:other
path:
  v: Patient.link.other.extension
slice name:
  v: other
short:
  v: R5: other additional types
definition:
  v: R5: `Patient.link.other` additional types from child elements (display, identifier, reference, type)
comment:
  v: Element `Patient.link.other` is mapped to FHIR STU3 element `Patient.link.other` as `SourceIsBroaderThanTarget`. The mappings for `Patient.link.other` do not cover the following types based on type expansion: display, identifier, reference, type. The standard extension `alternate-reference` has been mapped as the representation of FHIR R5 element `Patient.link.other` with unmapped reference targets: Patient, RelatedPerson. Referencing a RelatedPerson here removes the need to use a Person record to associate a Patient and RelatedPerson as the same individual.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
  profile:
    v: http://hl7.org/fhir/StructureDefinition/alternate-reference
    l: alternate-reference

id:
  v: Patient.link.other.reference
path:
  v: Patient.link.other.reference
short:
  v: Literal reference, Relative, internal or absolute URL
definition:
  v: 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.
comment:
  v: 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.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.reference
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
condition:
  v: ref-1
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Patient.link.other.identifier
path:
  v: Patient.link.other.identifier
short:
  v: Logical reference, when literal reference is not known
definition:
  v: An identifier for the other resource. This is used when there is no way to reference the other resource directly, either because the entity is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference.
comment:
  v: When an identifier is provided in place of a reference, any system processing the reference will only be able to resolve the identifier to a reference if it understands the business context in which the identifier is used. Sometimes this is global (e.g. a national identifier) but often it is not. For this reason, none of the useful mechanisms described for working with references (e.g. chaining, includes) are possible, nor should servers be expected to be able resolve the reference. Servers may accept an identifier based reference untouched, resolve it, and/or reject it - see CapabilityStatement.rest.resource.referencePolicy. When both an identifier and a literal reference are provided, the literal reference is preferred. Applications processing the resource are allowed - but not required - to check that the identifier matches the literal reference Applications converting a logical reference to a literal reference may choose to leave the logical reference present, or remove it.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.identifier
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Identifier
    l: Identifier
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: .identifier

id:
  v: Patient.link.other.display
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable
    l: elementdefinition-translatable
  value: Boolean
    v: true
path:
  v: Patient.link.other.display
short:
  v: Text alternative for the resource
definition:
  v: Plain text narrative that identifies the resource in addition to the resource reference.
comment:
  v: 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.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Reference.display
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Patient.link.type
path:
  v: Patient.link.type
short:
  v: replaced-by | replaces | refer | seealso - type of link
definition:
  v: The type of link between this patient resource and another patient resource.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Patient.link.type
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: code
    l: code
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
      l: elementdefinition-bindingName
    value: String
      v: LinkType
  strength:
    v: required
  description:
    v: The type of link between this patient resource and another patient resource.
  value set: Reference
    l: 3.0
    l: .2
    reference:
      v: http://hl7.org/fhir/ValueSet/link-type|3.0.2
mapping:
  identity:
    v: rim
  map:
    v: typeCode
mapping:
  identity:
    v: cda
  map:
    v: n/a

element:
  id:
    v: Patient
  path:
    v: Patient
element:
  id:
    v: Patient.contact.organization.extension
  path:
    v: Patient.contact.organization.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: Patient.contact.organization.extension:organization
  path:
    v: Patient.contact.organization.extension
  slice name:
    v: organization
  short:
    v: R5: organization additional types
  definition:
    v: R5: `Patient.contact.organization` additional types from child elements (display, identifier, reference, type)
  comment:
    v: Element `Patient.contact.organization` is mapped to FHIR STU3 element `Patient.contact.organization` as `SourceIsBroaderThanTarget`. The mappings for `Patient.contact.organization` do not cover the following types based on type expansion: display, identifier, reference, type. The standard extension `alternate-reference` has been mapped as the representation of FHIR R5 element `Patient.contact.organization` with unmapped reference targets: Organization.
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/StructureDefinition/alternate-reference
      l: alternate-reference
element:
  id:
    v: Patient.generalPractitioner.extension
  path:
    v: Patient.generalPractitioner.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: Patient.generalPractitioner.extension:generalPractitioner
  path:
    v: Patient.generalPractitioner.extension
  slice name:
    v: generalPractitioner
  short:
    v: R5: generalPractitioner
  definition:
    v: R5: `Patient.generalPractitioner`
  comment:
    v: Element `Patient.generalPractitioner` is mapped to FHIR STU3 element `Patient.generalPractitioner` as `SourceIsBroaderThanTarget`. The standard extension `alternate-reference` has been mapped as the representation of FHIR R5 element `Patient.generalPractitioner` with unmapped reference targets: Organization, Practitioner, PractitionerRole. This may be the primary care provider (in a GP context), or it may be a patient nominated care manager in a community/disability setting, or even organization that will provide people to perform the care provider roles. It is not to be used to record Care Teams, these should be in a CareTeam resource that may be linked to the CarePlan or EpisodeOfCare resources. Multiple GPs may be recorded against the patient for various reasons, such as a student that has his home GP listed along with the GP at university during the school semesters, or a "fly-in/fly-out" worker that has the onsite GP also included with his home GP to remain aware of medical issues. Jurisdictions may decide that they can profile this down to 1 if desired, or 1 per type.
  min:
    v: 0
  max:
    v: *
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/StructureDefinition/alternate-reference
      l: alternate-reference
element:
  id:
    v: Patient.managingOrganization.extension
  path:
    v: Patient.managingOrganization.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: Patient.managingOrganization.extension:managingOrganization
  path:
    v: Patient.managingOrganization.extension
  slice name:
    v: managingOrganization
  short:
    v: R5: managingOrganization additional types
  definition:
    v: R5: `Patient.managingOrganization` additional types from child elements (display, identifier, reference, type)
  comment:
    v: Element `Patient.managingOrganization` is mapped to FHIR STU3 element `Patient.managingOrganization` as `SourceIsBroaderThanTarget`. The mappings for `Patient.managingOrganization` do not cover the following types based on type expansion: display, identifier, reference, type. The standard extension `alternate-reference` has been mapped as the representation of FHIR R5 element `Patient.managingOrganization` with unmapped reference targets: Organization. There is only one managing organization for a specific patient record. Other organizations will have their own Patient record, and may use the Link property to join the records together (or a Person resource which can include confidence ratings for the association).
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension
    profile:
      v: http://hl7.org/fhir/StructureDefinition/alternate-reference
      l: alternate-reference
element:
  id:
    v: Patient.link.other.extension
  path:
    v: Patient.link.other.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open
  min:
    v: 0
  max:
    v: *
element:
  id:
    v: Patient.link.other.extension:other
  path:
    v: Patient.link.other.extension
  slice name:
    v: other
  short:
    v: R5: other additional types
  definition:
    v: R5: `Patient.link.other` additional types from child elements (display, identifier, reference, type)
  comment:
    v: Element `Patient.link.other` is mapped to FHIR STU3 element `Patient.link.other` as `SourceIsBroaderThanTarget`. The mappings for `Patient.link.other` do not cover the following types based on type expansion: display, identifier, reference, type. The standard extension `alternate-reference` has been mapped as the representation of FHIR R5 element `Patient.link.other` with unmapped reference targets: Patient, RelatedPerson. Referencing a RelatedPerson here removes the need to use a Person record to associate a Patient and RelatedPerson as the same individual.
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: DomainResource.extension
    min:
      v: 0
    max:
      v: *
  type:
    code:
      v: Extension
      l: Extension