register-client-model
type: StructureDefinition
node role: treeRoot
id:
  v: register-client-model
text:
  status:
    v: extensions
  div: Generated Narrative: StructureDefinition register-client-model Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> register-client-model 0..* Base NG-Imm-C5 RegisterClient #xD; identifier 1..1 string Unique identifier for clients including the national identification number, medical records number, immunization information system ID, and others. #xD; name 1..1 BackboneElement The full name of the client. #xD; family 1..1 string Client's family name or last name. #xD; given 1..1 string Client's first name or given name. #xD; sex 1..1 CodeableConcept Sex Binding: NG Gender or Sex VS (preferred) #xD; dateOfBirth 1..1 date Client's date of birth (DOB) if known. If unknown, use assigned DOB for administrative purposes. #xD; ageInWeeks 0..1 integer The client's calculated age (number of weeks) based on the date of birth and the visit date. #xD; ageInMonths 0..1 integer The client's calculated age (number of months) based on the date of birth and the visit date. #xD; ageInYears 0..1 integer The client's calculated age (number of years) based on the date of birth and the visit date. #xD; weightAtBirth 0..1 Quantity Client's weight at birth in kg. #xD; address 0..1 BackboneElement Client's residential address. #xD; residentialAddress 0..1 string Child's residential address. #xD; houseNumber 0..1 string The number of the house where the client lives. #xD; village 0..1 string The village where the client lives. #xD; town 0..1 string The town or city where the client resides. #xD; ward 0..1 CodeableConcept The ward where the client lives. Binding: NG-Imm Wards VS (preferred) #xD; lga 0..1 CodeableConcept Local Government Authority where the client lives. Binding: NG-Imm LGAs VS (preferred) #xD; state 0..1 CodeableConcept The state where the client lives. Binding: NG-Imm States VS (preferred) #xD; contact 0..* BackboneElement The client's caregiver (person) which could be next of kin (e.g., partner, husband, mother, s…
url:
  v: https://nphcda.gov.ng/ig/StructureDefinition/register-client-model
version:
  v: 0.7.0
name:
  v: RegisterClientModel
title:
  v: NG-Imm-C5 RegisterClient
status:
  v: draft
date:
  v: 2025-10-27T09:09:49+00:00
publisher:
  v: https://nphcda.gov.ng
contact:
  name:
    v: https://nphcda.gov.ng
  telecom:
    system:
      v: url
    value:
      v: https://nphcda.gov.ng
  telecom:
    system:
      v: email
contact:
  name:
    v: Nigeria Primary Healthcare Development Agency.
  telecom:
    system:
      v: email
    use:
      v: work
description:
  v: IMMZ.C5 - A logical model representing a client being registered in the immunization system.
jurisdiction:
  coding:
    system:
      v: urn:iso:std:iso:3166
    code:
      v: NG
    display:
      v: Nigeria
fhir version:
  v: 4.0.1
kind:
  v: logical
abstract:
  v: false
type:
  v: https://nphcda.gov.ng/ig/StructureDefinition/register-client-model
base definition:
  v: http://hl7.org/fhir/StructureDefinition/Base
  link: http://hl7.org/fhir/StructureDefinition/Base
derivation:
  v: specialization
snapshot:
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version
    value: string
      v: 4.0.1
  element:
    id:
      v: register-client-model
    path:
      v: register-client-model
    short:
      v: NG-Imm-C5 RegisterClient
    definition:
      v: IMMZ.C5 - A logical model representing a client being registered in the immunization system.
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: Base
      min:
        v: 0
      max:
        v: *
    is modifier:
      v: false
  element:
    id:
      v: register-client-model.identifier
    path:
      v: register-client-model.identifier
    short:
      v: Unique identifier for clients including the national identification number, medical records number, immunization information system ID, and others.
    definition:
      v: Unique identifier for clients including the national identification number, medical records number, immunization information system ID, and others.
    min:
      v: 1
    max:
      v: 1
    base:
      path:
        v: register-client-model.identifier
      min:
        v: 1
      max:
        v: 1
    type:
      code:
        v: string
  element:
    id:
      v: register-client-model.name
    path:
      v: register-client-model.name
    short:
      v: The full name of the client.
    definition:
      v: The full name of the client.
    min:
      v: 1
    max:
      v: 1
    base:
      path:
        v: register-client-model.name
      min:
        v: 1
      max:
        v: 1
    type:
      code:
        v: BackboneElement
    constraint:
      key:
        v: ele-1
      severity:
        v: error
      human:
        v: All FHIR elements must have a @value or children
      expression:
        v: hasValue() or (children().count() > id.count())
      xpath:
        v: @value|f:*|h:div
      source:
        v: http://hl7.org/fhir/StructureDefinition/Element
        link: http://hl7.org/fhir/StructureDefinition/Element
  element:
    id:
      v: register-client-model.name.id
    path:
      v: register-client-model.name.id
    representation:
      v: xmlAttr
    short:
      v: Unique id for inter-element referencing
    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:
      extension:
        value: url
      code:
        v: http://hl7.org/fhirpath/System.String
    is modifier:
      v: false
    is summary:
      v: false
    mapping:
      identity:
        v: rim
      map:
        v: n/a
  element:
    id:
      v: register-client-model.name.extension
    path:
      v: register-client-model.name.extension
    slicing:
      description:
        v: Extensions are always sliced by (at least) url
      rules:
        v: open
    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. 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 can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

url
v: string

v: value

v: url

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.

v: extensions

v: user content

v: 0

v: *

path:
  v: Element.extension
min:
  v: 0
max:
  v: *

code:
  v: Extension

key:
  v: ele-1
severity:
  v: error
human:
  v: All FHIR elements must have a @value or children
expression:
  v: hasValue() or (children().count() > id.count())
xpath:
  v: @value|f:*|h:div
source:
  v: http://hl7.org/fhir/StructureDefinition/Element
  link: http://hl7.org/fhir/StructureDefinition/Element

key:
  v: ext-1
severity:
  v: error
human:
  v: Must have either extensions or value[x], not both
expression:
  v: extension.exists() != value.exists()
xpath:
  v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
source:
  v: http://hl7.org/fhir/StructureDefinition/Extension
  link: http://hl7.org/fhir/StructureDefinition/Extension

v: false

v: false

identity:
  v: rim
map:
  v: n/a

id:
  v: register-client-model.name.modifierExtension
path:
  v: register-client-model.name.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
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.
requirements:
  v: Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
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
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: register-client-model.name.family
path:
  v: register-client-model.name.family
short:
  v: Client's family name or last name.
definition:
  v: Client's family name or last name.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: register-client-model.name.family
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string

id:
  v: register-client-model.name.given
path:
  v: register-client-model.name.given
short:
  v: Client's first name or given name.
definition:
  v: Client's first name or given name.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: register-client-model.name.given
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string

id:
  v: register-client-model.sex
path:
  v: register-client-model.sex
short:
  v: Sex
definition:
  v: Documentation of a specific instance of sex information for the client.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: register-client-model.sex
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: CodeableConcept
binding:
  strength:
    v: preferred
  value set:
    v: https://nphcda.gov.ng/ig/ValueSet/ng-gender-vs
    link: https://nphcda.gov.ng/ig/ValueSet/ng-gender-vs

id:
  v: register-client-model.dateOfBirth
path:
  v: register-client-model.dateOfBirth
short:
  v: Client's date of birth (DOB) if known. If unknown, use assigned DOB for administrative purposes.
definition:
  v: Client's date of birth (DOB) if known. If unknown, use assigned DOB for administrative purposes.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: register-client-model.dateOfBirth
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: date

id:
  v: register-client-model.ageInWeeks
path:
  v: register-client-model.ageInWeeks
short:
  v: The client's calculated age (number of weeks) based on the date of birth and the visit date.
definition:
  v: The client's calculated age (number of weeks) based on the date of birth and the visit date.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: register-client-model.ageInWeeks
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: integer

id:
  v: register-client-model.ageInMonths
path:
  v: register-client-model.ageInMonths
short:
  v: The client's calculated age (number of months) based on the date of birth and the visit date.
definition:
  v: The client's calculated age (number of months) based on the date of birth and the visit date.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: register-client-model.ageInMonths
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: integer

id:
  v: register-client-model.ageInYears
path:
  v: register-client-model.ageInYears
short:
  v: The client's calculated age (number of years) based on the date of birth and the visit date.
definition:
  v: The client's calculated age (number of years) based on the date of birth and the visit date.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: register-client-model.ageInYears
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: integer

id:
  v: register-client-model.weightAtBirth
path:
  v: register-client-model.weightAtBirth
short:
  v: Client's weight at birth in kg.
definition:
  v: Client's weight at birth in kg.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: register-client-model.weightAtBirth
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Quantity

id:
  v: register-client-model.address
path:
  v: register-client-model.address
short:
  v: Client's residential address.
definition:
  v: Client's residential address.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: register-client-model.address
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element

id:
  v: register-client-model.address.id
path:
  v: register-client-model.address.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
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:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: string
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: register-client-model.address.extension
path:
  v: register-client-model.address.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
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. 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 can 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
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: register-client-model.address.modifierExtension
path:
  v: register-client-model.address.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
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.
requirements:
  v: Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
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
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: register-client-model.address.residentialAddress
path:
  v: register-client-model.address.residentialAddress
short:
  v: Child's residential address.
definition:
  v: Child's residential address.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: register-client-model.address.residentialAddress
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: register-client-model.address.houseNumber
path:
  v: register-client-model.address.houseNumber
short:
  v: The number of the house where the client lives.
definition:
  v: The number of the house where the client lives.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: register-client-model.address.houseNumber
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: register-client-model.address.village
path:
  v: register-client-model.address.village
short:
  v: The village where the client lives.
definition:
  v: The village where the client lives.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: register-client-model.address.village
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: register-client-model.address.town
path:
  v: register-client-model.address.town
short:
  v: The town or city where the client resides.
definition:
  v: The town or city where the client resides.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: register-client-model.address.town
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string

id:
  v: register-client-model.address.ward
path:
  v: register-client-model.address.ward
short:
  v: The ward where the client lives.
definition:
  v: The ward where the client lives.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: register-client-model.address.ward
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
binding:
  strength:
    v: preferred
  value set:
    v: https://nphcda.gov.ng/ig/ValueSet/nigeria-wards
    link: https://nphcda.gov.ng/ig/ValueSet/nigeria-wards

id:
  v: register-client-model.address.lga
path:
  v: register-client-model.address.lga
short:
  v: Local Government Authority where the client lives.
definition:
  v: Local Government Authority where the client lives.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: register-client-model.address.lga
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
binding:
  strength:
    v: preferred
  value set:
    v: https://nphcda.gov.ng/ig/ValueSet/nigeria-lgas
    link: https://nphcda.gov.ng/ig/ValueSet/nigeria-lgas

id:
  v: register-client-model.address.state
path:
  v: register-client-model.address.state
short:
  v: The state where the client lives.
definition:
  v: The state where the client lives.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: register-client-model.address.state
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
binding:
  strength:
    v: preferred
  value set:
    v: https://nphcda.gov.ng/ig/ValueSet/nigeria-states
    link: https://nphcda.gov.ng/ig/ValueSet/nigeria-states

id:
  v: register-client-model.contact
path:
  v: register-client-model.contact
short:
  v: The client's caregiver (person) which could be next of kin (e.g., partner, husband, mother, sibling, etc.).
definition:
  v: The client's caregiver (person) which could be next of kin (e.g., partner, husband, mother, sibling, etc.).
min:
  v: 0
max:
  v: *
base:
  path:
    v: register-client-model.contact
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element

id:
  v: register-client-model.contact.id
path:
  v: register-client-model.contact.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
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:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: string
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: register-client-model.contact.extension
path:
  v: register-client-model.contact.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
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. 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 can 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
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: register-client-model.contact.modifierExtension
path:
  v: register-client-model.contact.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
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.
requirements:
  v: Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
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
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: register-client-model.contact.name
path:
  v: register-client-model.contact.name
short:
  v: The full name of the caregiver.
definition:
  v: The full name of the caregiver.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: register-client-model.contact.name
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element

id:
  v: register-client-model.contact.name.id
path:
  v: register-client-model.contact.name.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
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:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: string
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: register-client-model.contact.name.extension
path:
  v: register-client-model.contact.name.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
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. 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 can 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
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: register-client-model.contact.name.modifierExtension
path:
  v: register-client-model.contact.name.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
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.
requirements:
  v: Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
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
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: register-client-model.contact.name.family
path:
  v: register-client-model.contact.name.family
short:
  v: Family name of the caregiver.
definition:
  v: Family name of the caregiver.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: register-client-model.contact.name.family
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string

id:
  v: register-client-model.contact.name.given
path:
  v: register-client-model.contact.name.given
short:
  v: Given name of the caregiver.
definition:
  v: Given name of the caregiver.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: register-client-model.contact.name.given
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string

id:
  v: register-client-model.contact.telecom
path:
  v: register-client-model.contact.telecom
short:
  v: Phone number of the caregiver.
definition:
  v: Phone number of the caregiver.
min:
  v: 0
max:
  v: *
base:
  path:
    v: register-client-model.contact.telecom
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: ContactPoint
constraint:
  key:
    v: cpt-2
  severity:
    v: error
  human:
    v: A system is required if a value is provided.
  expression:
    v: value.empty() or system.exists()
  xpath:
    v: not(exists(f:value)) or exists(f:system)
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element

id:
  v: register-client-model.contact.telecom.id
path:
  v: register-client-model.contact.telecom.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
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:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: string
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: register-client-model.contact.telecom.extension
path:
  v: register-client-model.contact.telecom.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
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. 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 can 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
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: register-client-model.contact.telecom.system
path:
  v: register-client-model.contact.telecom.system
short:
  v: Type of communication (e.g., phone, email).
definition:
  v: Type of communication (e.g., phone, email).
min:
  v: 1
max:
  v: 1
base:
  path:
    v: ContactPoint.system
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
condition:
  v: cpt-2
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
    value: string
      v: ContactPointSystem
  strength:
    v: required
  description:
    v: Telecommunications form for contact point.
  value set:
    v: http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
    link: 4.0
    link: .1
mapping:
  identity:
    v: v2
  map:
    v: XTN.3
mapping:
  identity:
    v: rim
  map:
    v: ./scheme
mapping:
  identity:
    v: servd
  map:
    v: ./ContactPointType

id:
  v: register-client-model.contact.telecom.value
path:
  v: register-client-model.contact.telecom.value
short:
  v: Caregiver's contact number or address.
definition:
  v: Caregiver's contact number or address.
comment:
  v: Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value.
requirements:
  v: Need to support legacy numbers that are not in a tightly controlled format.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: ContactPoint.value
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: XTN.1 (or XTN.12)
mapping:
  identity:
    v: rim
  map:
    v: ./url
mapping:
  identity:
    v: servd
  map:
    v: ./Value

id:
  v: register-client-model.contact.telecom.use
path:
  v: register-client-model.contact.telecom.use
short:
  v: home | work | temp | old | mobile - purpose of this contact point
definition:
  v: Identifies the purpose for the contact point.
comment:
  v: Applications can assume that a contact is current unless it explicitly says that it is temporary or old.
requirements:
  v: Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ContactPoint.use
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: true
is modifier reason:
  v: This is labeled as "Is Modifier" because applications should not mistake a temporary or old contact etc.for a current/permanent one
is summary:
  v: true
binding:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName
    value: string
      v: ContactPointUse
  strength:
    v: required
  description:
    v: Use of contact point.
  value set:
    v: http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
    link: 4.0
    link: .1
mapping:
  identity:
    v: v2
  map:
    v: XTN.2 - but often indicated by field
mapping:
  identity:
    v: rim
  map:
    v: unique(./use)
mapping:
  identity:
    v: servd
  map:
    v: ./ContactPointPurpose

id:
  v: register-client-model.contact.telecom.rank
path:
  v: register-client-model.contact.telecom.rank
short:
  v: Specify preferred order of use (1 = highest)
definition:
  v: Specifies a preferred order in which to use a set of contacts. ContactPoints with lower rank values are more preferred than those with higher rank values.
comment:
  v: Note that rank does not necessarily follow the order in which the contacts are represented in the instance.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ContactPoint.rank
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: positiveInt
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: n/a
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: register-client-model.contact.telecom.period
path:
  v: register-client-model.contact.telecom.period
short:
  v: Time period when the contact point was/is in use
definition:
  v: Time period when the contact point was/is in use.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: ContactPoint.period
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: Period
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: N/A
mapping:
  identity:
    v: rim
  map:
    v: ./usablePeriod[type="IVL<TS>"]
mapping:
  identity:
    v: servd
  map:
    v: ./StartDate and ./EndDate

id:
  v: register-client-model.contact.relationship
path:
  v: register-client-model.contact.relationship
short:
  v: The relationship of the caregiver to the client.
definition:
  v: The relationship of the caregiver to the client.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: register-client-model.contact.relationship
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element

id:
  v: register-client-model.contact.relationship.id
path:
  v: register-client-model.contact.relationship.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
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:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: string
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: register-client-model.contact.relationship.extension
path:
  v: register-client-model.contact.relationship.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
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. 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 can 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
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: register-client-model.contact.relationship.coding
path:
  v: register-client-model.contact.relationship.coding
short:
  v: Code defined by a terminology system
definition:
  v: A reference to a code defined by a terminology system.
comment:
  v: Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information. Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.
requirements:
  v: Allows for alternative encodings within a code system, and translations to other code systems.
min:
  v: 0
max:
  v: *
base:
  path:
    v: CodeableConcept.coding
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Coding
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: C*E.1-8, C*E.10-22
mapping:
  identity:
    v: rim
  map:
    v: union(., ./translation)
mapping:
  identity:
    v: orim
  map:
    v: fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding

id:
  v: register-client-model.contact.relationship.text
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable
  value: boolean
    v: true
path:
  v: register-client-model.contact.relationship.text
short:
  v: Caregiver relationship display text.
definition:
  v: Caregiver relationship display text.
comment:
  v: Very often the text is the same as a displayName of one of the codings.
requirements:
  v: The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CodeableConcept.text
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
is modifier:
  v: false
is summary:
  v: true
mapping:
  identity:
    v: v2
  map:
    v: C*E.9. But note many systems use C*E.2 for this
mapping:
  identity:
    v: rim
  map:
    v: ./originalText[mediaType/code="text/plain"]/data
mapping:
  identity:
    v: orim
  map:
    v: fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText

id:
  v: register-client-model.otherChildren
path:
  v: register-client-model.otherChildren
short:
  v: Any other children the mother has.
definition:
  v: Any other children the mother has.
min:
  v: 0
max:
  v: *
base:
  path:
    v: register-client-model.otherChildren
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: BackboneElement
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element

id:
  v: register-client-model.otherChildren.id
path:
  v: register-client-model.otherChildren.id
representation:
  v: xmlAttr
short:
  v: Unique id for inter-element referencing
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:
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type
    value: url
      v: string
  code:
    v: http://hl7.org/fhirpath/System.String
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: register-client-model.otherChildren.extension
path:
  v: register-client-model.otherChildren.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
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. 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 can 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
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: false
is summary:
  v: false
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: register-client-model.otherChildren.modifierExtension
path:
  v: register-client-model.otherChildren.modifierExtension
short:
  v: Extensions that cannot be ignored even if unrecognized
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 in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. 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 can 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. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
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.
requirements:
  v: Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
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
constraint:
  key:
    v: ele-1
  severity:
    v: error
  human:
    v: All FHIR elements must have a @value or children
  expression:
    v: hasValue() or (children().count() > id.count())
  xpath:
    v: @value|f:*|h:div
  source:
    v: http://hl7.org/fhir/StructureDefinition/Element
    link: http://hl7.org/fhir/StructureDefinition/Element
constraint:
  key:
    v: ext-1
  severity:
    v: error
  human:
    v: Must have either extensions or value[x], not both
  expression:
    v: extension.exists() != value.exists()
  xpath:
    v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
  source:
    v: http://hl7.org/fhir/StructureDefinition/Extension
    link: http://hl7.org/fhir/StructureDefinition/Extension
is modifier:
  v: true
is modifier reason:
  v: Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
is summary:
  v: true
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: register-client-model.otherChildren.name
path:
  v: register-client-model.otherChildren.name
short:
  v: The full name of the mother's other children.
definition:
  v: The full name of the mother's other children.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: register-client-model.otherChildren.name
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string

id:
  v: register-client-model.otherChildren.birthYear
path:
  v: register-client-model.otherChildren.birthYear
short:
  v: The year the mother's children were born.
definition:
  v: The year the mother's children were born.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: register-client-model.otherChildren.birthYear
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: integer

id:
  v: register-client-model.otherChildren.sex
path:
  v: register-client-model.otherChildren.sex
short:
  v: Biological characteristics that define humans as female or male.
definition:
  v: Biological characteristics that define humans as female or male.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: register-client-model.otherChildren.sex
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: CodeableConcept
binding:
  strength:
    v: preferred
  value set:
    v: https://nphcda.gov.ng/ig/ValueSet/ng-gender-vs
    link: https://nphcda.gov.ng/ig/ValueSet/ng-gender-vs

id:
  v: register-client-model.healthStatus
path:
  v: register-client-model.healthStatus
short:
  v: Overall physical, mental, and emotional well-being of the sibling.
definition:
  v: Overall physical, mental, and emotional well-being of the sibling.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: register-client-model.healthStatus
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
binding:
  strength:
    v: preferred
  value set:
    v: https://nphcda.gov.ng/ig/ValueSet/nigeria-sibling-health-status
    link: https://nphcda.gov.ng/ig/ValueSet/nigeria-sibling-health-status

id:
  v: register-client-model.hivStatus
path:
  v: register-client-model.hivStatus
short:
  v: HIV status of the client.
definition:
  v: HIV status of the client.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: register-client-model.hivStatus
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
binding:
  strength:
    v: preferred
  value set:
    v: https://nphcda.gov.ng/ig/ValueSet/nigeria-hiv-status
    link: https://nphcda.gov.ng/ig/ValueSet/nigeria-hiv-status

id:
  v: register-client-model.pregnancyStatus
path:
  v: register-client-model.pregnancyStatus
short:
  v: Confirms whether the client is pregnant or not.
definition:
  v: Confirms whether the client is pregnant or not.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: register-client-model.pregnancyStatus
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: CodeableConcept
binding:
  strength:
    v: preferred
  value set:
    v: https://nphcda.gov.ng/ig/ValueSet/nigeria-pregnancy-status
    link: https://nphcda.gov.ng/ig/ValueSet/nigeria-pregnancy-status

element:
  id:
    v: register-client-model
  path:
    v: register-client-model
  short:
    v: NG-Imm-C5 RegisterClient
  definition:
    v: IMMZ.C5 - A logical model representing a client being registered in the immunization system.
element:
  id:
    v: register-client-model.identifier
  path:
    v: register-client-model.identifier
  short:
    v: Unique identifier for clients including the national identification number, medical records number, immunization information system ID, and others.
  definition:
    v: Unique identifier for clients including the national identification number, medical records number, immunization information system ID, and others.
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: string
element:
  id:
    v: register-client-model.name
  path:
    v: register-client-model.name
  short:
    v: The full name of the client.
  definition:
    v: The full name of the client.
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: BackboneElement
element:
  id:
    v: register-client-model.name.family
  path:
    v: register-client-model.name.family
  short:
    v: Client's family name or last name.
  definition:
    v: Client's family name or last name.
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: string
element:
  id:
    v: register-client-model.name.given
  path:
    v: register-client-model.name.given
  short:
    v: Client's first name or given name.
  definition:
    v: Client's first name or given name.
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: string
element:
  id:
    v: register-client-model.sex
  path:
    v: register-client-model.sex
  short:
    v: Sex
  definition:
    v: Documentation of a specific instance of sex information for the client.
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: CodeableConcept
  binding:
    strength:
      v: preferred
    value set:
      v: https://nphcda.gov.ng/ig/ValueSet/ng-gender-vs
      link: https://nphcda.gov.ng/ig/ValueSet/ng-gender-vs
element:
  id:
    v: register-client-model.dateOfBirth
  path:
    v: register-client-model.dateOfBirth
  short:
    v: Client's date of birth (DOB) if known. If unknown, use assigned DOB for administrative purposes.
  definition:
    v: Client's date of birth (DOB) if known. If unknown, use assigned DOB for administrative purposes.
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: date
element:
  id:
    v: register-client-model.ageInWeeks
  path:
    v: register-client-model.ageInWeeks
  short:
    v: The client's calculated age (number of weeks) based on the date of birth and the visit date.
  definition:
    v: The client's calculated age (number of weeks) based on the date of birth and the visit date.
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: integer
element:
  id:
    v: register-client-model.ageInMonths
  path:
    v: register-client-model.ageInMonths
  short:
    v: The client's calculated age (number of months) based on the date of birth and the visit date.
  definition:
    v: The client's calculated age (number of months) based on the date of birth and the visit date.
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: integer
element:
  id:
    v: register-client-model.ageInYears
  path:
    v: register-client-model.ageInYears
  short:
    v: The client's calculated age (number of years) based on the date of birth and the visit date.
  definition:
    v: The client's calculated age (number of years) based on the date of birth and the visit date.
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: integer
element:
  id:
    v: register-client-model.weightAtBirth
  path:
    v: register-client-model.weightAtBirth
  short:
    v: Client's weight at birth in kg.
  definition:
    v: Client's weight at birth in kg.
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: Quantity
element:
  id:
    v: register-client-model.address
  path:
    v: register-client-model.address
  short:
    v: Client's residential address.
  definition:
    v: Client's residential address.
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: BackboneElement
element:
  id:
    v: register-client-model.address.residentialAddress
  path:
    v: register-client-model.address.residentialAddress
  short:
    v: Child's residential address.
  definition:
    v: Child's residential address.
  min:
    v: 0

v: 1

code:
  v: string

id:
  v: register-client-model.address.houseNumber
path:
  v: register-client-model.address.houseNumber
short:
  v: The number of the house where the client lives.
definition:
  v: The number of the house where the client lives.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: register-client-model.address.village
path:
  v: register-client-model.address.village
short:
  v: The village where the client lives.
definition:
  v: The village where the client lives.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: register-client-model.address.town
path:
  v: register-client-model.address.town
short:
  v: The town or city where the client resides.
definition:
  v: The town or city where the client resides.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: register-client-model.address.ward
path:
  v: register-client-model.address.ward
short:
  v: The ward where the client lives.
definition:
  v: The ward where the client lives.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: CodeableConcept
binding:
  strength:
    v: preferred
  value set:
    v: https://nphcda.gov.ng/ig/ValueSet/nigeria-wards
    link: https://nphcda.gov.ng/ig/ValueSet/nigeria-wards

id:
  v: register-client-model.address.lga
path:
  v: register-client-model.address.lga
short:
  v: Local Government Authority where the client lives.
definition:
  v: Local Government Authority where the client lives.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: CodeableConcept
binding:
  strength:
    v: preferred
  value set:
    v: https://nphcda.gov.ng/ig/ValueSet/nigeria-lgas
    link: https://nphcda.gov.ng/ig/ValueSet/nigeria-lgas

id:
  v: register-client-model.address.state
path:
  v: register-client-model.address.state
short:
  v: The state where the client lives.
definition:
  v: The state where the client lives.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: CodeableConcept
binding:
  strength:
    v: preferred
  value set:
    v: https://nphcda.gov.ng/ig/ValueSet/nigeria-states
    link: https://nphcda.gov.ng/ig/ValueSet/nigeria-states

id:
  v: register-client-model.contact
path:
  v: register-client-model.contact
short:
  v: The client's caregiver (person) which could be next of kin (e.g., partner, husband, mother, sibling, etc.).
definition:
  v: The client's caregiver (person) which could be next of kin (e.g., partner, husband, mother, sibling, etc.).
min:
  v: 0
max:
  v: *
type:
  code:
    v: BackboneElement

id:
  v: register-client-model.contact.name
path:
  v: register-client-model.contact.name
short:
  v: The full name of the caregiver.
definition:
  v: The full name of the caregiver.
min:
  v: 1
max:
  v: 1
type:
  code:
    v: BackboneElement

id:
  v: register-client-model.contact.name.family
path:
  v: register-client-model.contact.name.family
short:
  v: Family name of the caregiver.
definition:
  v: Family name of the caregiver.
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string

id:
  v: register-client-model.contact.name.given
path:
  v: register-client-model.contact.name.given
short:
  v: Given name of the caregiver.
definition:
  v: Given name of the caregiver.
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string

id:
  v: register-client-model.contact.telecom
path:
  v: register-client-model.contact.telecom
short:
  v: Phone number of the caregiver.
definition:
  v: Phone number of the caregiver.
min:
  v: 0
max:
  v: *
type:
  code:
    v: ContactPoint

id:
  v: register-client-model.contact.telecom.system
path:
  v: register-client-model.contact.telecom.system
short:
  v: Type of communication (e.g., phone, email).
definition:
  v: Type of communication (e.g., phone, email).
min:
  v: 1
max:
  v: 1
type:
  code:
    v: code

id:
  v: register-client-model.contact.telecom.value
path:
  v: register-client-model.contact.telecom.value
short:
  v: Caregiver's contact number or address.
definition:
  v: Caregiver's contact number or address.
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string

id:
  v: register-client-model.contact.relationship
path:
  v: register-client-model.contact.relationship
short:
  v: The relationship of the caregiver to the client.
definition:
  v: The relationship of the caregiver to the client.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: CodeableConcept

id:
  v: register-client-model.contact.relationship.text
path:
  v: register-client-model.contact.relationship.text
short:
  v: Caregiver relationship display text.
definition:
  v: Caregiver relationship display text.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: string

id:
  v: register-client-model.otherChildren
path:
  v: register-client-model.otherChildren
short:
  v: Any other children the mother has.
definition:
  v: Any other children the mother has.
min:
  v: 0
max:
  v: *
type:
  code:
    v: BackboneElement

id:
  v: register-client-model.otherChildren.name
path:
  v: register-client-model.otherChildren.name
short:
  v: The full name of the mother's other children.
definition:
  v: The full name of the mother's other children.
min:
  v: 1
max:
  v: 1
type:
  code:
    v: string

id:
  v: register-client-model.otherChildren.birthYear
path:
  v: register-client-model.otherChildren.birthYear
short:
  v: The year the mother's children were born.
definition:
  v: The year the mother's children were born.
min:
  v: 1
max:
  v: 1
type:
  code:
    v: integer

id:
  v: register-client-model.otherChildren.sex
path:
  v: register-client-model.otherChildren.sex
short:
  v: Biological characteristics that define humans as female or male.
definition:
  v: Biological characteristics that define humans as female or male.
min:
  v: 1
max:
  v: 1
type:
  code:
    v: CodeableConcept
binding:
  strength:
    v: preferred
  value set:
    v: https://nphcda.gov.ng/ig/ValueSet/ng-gender-vs
    link: https://nphcda.gov.ng/ig/ValueSet/ng-gender-vs

id:
  v: register-client-model.healthStatus
path:
  v: register-client-model.healthStatus
short:
  v: Overall physical, mental, and emotional well-being of the sibling.
definition:
  v: Overall physical, mental, and emotional well-being of the sibling.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: CodeableConcept
binding:
  strength:
    v: preferred
  value set:
    v: https://nphcda.gov.ng/ig/ValueSet/nigeria-sibling-health-status
    link: https://nphcda.gov.ng/ig/ValueSet/nigeria-sibling-health-status

id:
  v: register-client-model.hivStatus
path:
  v: register-client-model.hivStatus
short:
  v: HIV status of the client.
definition:
  v: HIV status of the client.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: CodeableConcept
binding:
  strength:
    v: preferred
  value set:
    v: https://nphcda.gov.ng/ig/ValueSet/nigeria-hiv-status
    link: https://nphcda.gov.ng/ig/ValueSet/nigeria-hiv-status

id:
  v: register-client-model.pregnancyStatus
path:
  v: register-client-model.pregnancyStatus
short:
  v: Confirms whether the client is pregnant or not.
definition:
  v: Confirms whether the client is pregnant or not.
min:
  v: 0
max:
  v: 1
type:
  code:
    v: CodeableConcept
binding:
  strength:
    v: preferred
  value set:
    v: https://nphcda.gov.ng/ig/ValueSet/nigeria-pregnancy-status
    link: https://nphcda.gov.ng/ig/ValueSet/nigeria-pregnancy-status