CdaToFHIRTypes
type: StructureMap
node role: treeRoot
id:
  v: CdaToFHIRTypes
text:
  status:
    v: generated
  div:
    v: Narratif généré : StructureMap CdaToFHIRTypes #xD; map "https://interop.esante.gouv.fr/ig/fhir/mappingcdafhir/StructureMap/CdaToFHIRTypes" = "CdaToFHIRTypes"#xD; #xD; // Mapping de CDA vers les FHIR Types (A partir des sources de Oliver Egger)#xD; #xD; uses "http://hl7.org/cda/stds/core/StructureDefinition/ED" alias ED as source#xD; uses "http://hl7.org/cda/stds/core/StructureDefinition/PN" alias PN as source#xD; uses "http://hl7.org/cda/stds/core/StructureDefinition/II" alias II as source#xD; uses "http://hl7.org/fhir/StructureDefinition/Identifier" alias Identifier as target#xD; uses "http://hl7.org/cda/stds/core/StructureDefinition/TS" alias TS as source#xD; uses "http://hl7.org/fhir/StructureDefinition/instant" alias instant as target#xD; uses "http://hl7.org/cda/stds/core/StructureDefinition/CS" alias CS as source#xD; uses "http://hl7.org/fhir/StructureDefinition/code" alias code as target#xD; uses "http://hl7.org/cda/stds/core/StructureDefinition/CE" alias CE as source#xD; uses "http://hl7.org/fhir/StructureDefinition/CodeableConcept" alias CodeableConcept as target#xD; uses "http://hl7.org/cda/stds/core/StructureDefinition/ST" alias ST as source#xD; uses "http://hl7.org/fhir/StructureDefinition/string" alias string as target#xD; uses "http://hl7.org/cda/stds/core/StructureDefinition/EN" alias EN as source#xD; uses "http://hl7.org/fhir/StructureDefinition/HumanName" alias HumanName as target#xD; uses "http://hl7.org/cda/stds/core/StructureDefinition/AD" alias AD as source#xD; uses "http://hl7.org/fhir/StructureDefinition/Address" alias Address as target#xD; uses "http://hl7.org/cda/stds/core/StructureDefinition/TEL" alias TEL as source#xD; uses "http://hl7.org/fhir/StructureDefinition/ContactPoint" alias ContactPoint as target#xD; uses "http://hl7.org/cda/stds/core/StructureDefinition/BL" alias BL as source#xD; uses "http://hl7.org/fhir/StructureDefinition/boolean" alias boolean as target#xD; uses "http://hl7.org/cda/stds/core/StructureDefinition/IVL-TS" alias…
url:
  v: https://interop.esante.gouv.fr/ig/fhir/mappingcdafhir/StructureMap/CdaToFHIRTypes
  l: CdaToFHIRTypes
version:
  v: 0.1.0
name:
  v: CdaToFHIRTypes
title:
  v: Mapping de CDA vers les FHIR Types (A partir des sources de Oliver Egger)
status:
  v: draft
date:
  v: 2026-02-09T11:09:38+00:00
publisher:
  v: Agence du Numérique en Santé (ANS) - 2-10 Rue d'Oradour-sur-Glane, 75015 Paris
contact:
  name:
    v: Agence du Numérique en Santé (ANS) - 2-10 Rue d'Oradour-sur-Glane, 75015 Paris
  telecom:
    system:
      v: url
    value:
      v: https://esante.gouv.fr
description:
  v: Mapping de CDA vers les FHIR Types (A partir des sources de Oliver Egger)
jurisdiction:
  coding:
    system:
      v: urn:iso:std:iso:3166
      l: 3166
    code:
      v: FR
    display:
      v: FRANCE
structure:
  url:
    v: http://hl7.org/cda/stds/core/StructureDefinition/ED
    l: ED
  mode:
    v: source
  alias:
    v: ED
structure:
  url:
    v: http://hl7.org/cda/stds/core/StructureDefinition/PN
    l: PN
  mode:
    v: source
  alias:
    v: PN
structure:
  url:
    v: http://hl7.org/cda/stds/core/StructureDefinition/II
    l: II
  mode:
    v: source
  alias:
    v: II
structure:
  url:
    v: http://hl7.org/fhir/StructureDefinition/Identifier
    l: Identifier
  mode:
    v: target
  alias:
    v: Identifier
structure:
  url:
    v: http://hl7.org/cda/stds/core/StructureDefinition/TS
    l: TS
  mode:
    v: source
  alias:
    v: TS
structure:
  url:
    v: http://hl7.org/fhir/StructureDefinition/instant
    l: instant
  mode:
    v: target
  alias:
    v: instant
structure:
  url:
    v: http://hl7.org/cda/stds/core/StructureDefinition/CS
    l: CS
  mode:
    v: source
  alias:
    v: CS
structure:
  url:
    v: http://hl7.org/fhir/StructureDefinition/code
    l: code
  mode:
    v: target
  alias:
    v: code
structure:
  url:
    v: http://hl7.org/cda/stds/core/StructureDefinition/CE
    l: CE
  mode:
    v: source
  alias:
    v: CE
structure:
  url:
    v: http://hl7.org/fhir/StructureDefinition/CodeableConcept
    l: CodeableConcept
  mode:
    v: target
  alias:
    v: CodeableConcept
structure:
  url:
    v: http://hl7.org/cda/stds/core/StructureDefinition/ST
    l: ST
  mode:
    v: source
  alias:
    v: ST
structure:
  url:
    v: http://hl7.org/fhir/StructureDefinition/string
    l: string
  mode:
    v: target
  alias:
    v: string
structure:
  url:
    v: http://hl7.org/cda/stds/core/StructureDefinition/EN
    l: EN
  mode:
    v: source
  alias:
    v: EN
structure:
  url:
    v: http://hl7.org/fhir/StructureDefinition/HumanName
    l: HumanName
  mode:
    v: target
  alias:
    v: HumanName
structure:
  url:
    v: http://hl7.org/cda/stds/core/StructureDefinition/AD
    l: AD
  mode:
    v: source
  alias:
    v: AD
structure:
  url:
    v: http://hl7.org/fhir/StructureDefinition/Address
    l: Address
  mode:
    v: target
  alias:
    v: Address
structure:
  url:
    v: http://hl7.org/cda/stds/core/StructureDefinition/TEL
    l: TEL
  mode:
    v: source
  alias:
    v: TEL
structure:
  url:
    v: http://hl7.org/fhir/StructureDefinition/ContactPoint
    l: ContactPoint
  mode:
    v: target
  alias:
    v: ContactPoint
structure:
  url:
    v: http://hl7.org/cda/stds/core/StructureDefinition/BL
    l: BL
  mode:
    v: source
  alias:
    v: BL
structure:
  url:
    v: http://hl7.org/fhir/StructureDefinition/boolean
    l: boolean
  mode:
    v: target

v: boolean

url:
  v: http://hl7.org/cda/stds/core/StructureDefinition/IVL-TS
  l: IVL-TS
mode:
  v: source
alias:
  v: IVL_TS

url:
  v: http://hl7.org/fhir/StructureDefinition/Period
  l: Period
mode:
  v: target
alias:
  v: Period

name:
  v: Any
type mode:
  v: none
input:
  name:
    v: src
  mode:
    v: source
input:
  name:
    v: tgt
  mode:
    v: target
rule:
  name:
    v: base
  source:
    context:
      v: src
  target:
    context:
      v: tgt
    context type:
      v: variable

name:
  v: II
extends:
  v: Any
type mode:
  v: types
input:
  name:
    v: src
  type:
    v: II
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: Identifier
  mode:
    v: target
rule:
  name:
    v: root1
  source:
    context:
      v: src
    element:
      v: root
    variable:
      v: r
    condition:
      v: src.extension.exists()
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: system
    transform:
      v: append
    parameter:
      value: String
        v: urn:oid:
    parameter:
      value: Id
        v: r
rule:
  name:
    v: rootuuid
  source:
    context:
      v: src
    element:
      v: root
    variable:
      v: r
    condition:
      v: src.extension.empty() and src.root.matches('[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}')
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: system
    transform:
      v: copy
    parameter:
      value: String
        v: urn:ietf:rfc:3986
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: value
    transform:
      v: evaluate
    parameter:
      value: String
        v: 'urn:uuid:' + r.lower()
rule:
  name:
    v: rootoid
  source:
    context:
      v: src
    element:
      v: root
    variable:
      v: r
    condition:
      v: src.extension.empty() and src.root.contains('.')
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: system
    transform:
      v: copy
    parameter:
      value: String
        v: urn:ietf:rfc:3986
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: value
    transform:
      v: append
    parameter:
      value: String
        v: urn:oid:
    parameter:
      value: Id
        v: r
rule:
  name:
    v: extension
  source:
    context:
      v: src
    element:
      v: extension
    variable:
      v: e
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: value
    transform:
      v: copy
    parameter:
      value: Id
        v: e
rule:
  name:
    v: assigningAuthorityName
  source:
    context:
      v: src
    element:
      v: assigningAuthorityName
    variable:
      v: s
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: assigner
    variable:
      v: a
  target:
    context:
      v: a
    context type:
      v: variable
    element:
      v: display
    transform:
      v: copy
    parameter:
      value: Id
        v: s
  documentation:
    v: there's no equivalent for displayable in FHIR - and it probably will never matter, but if it does, it might map to Identifier.use.
rule:
  name:
    v: extension
  source:
    context:
      v: src
    element:
      v: displayable
    variable:
      v: displayable
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: extension
    variable:
      v: ext
  rule:
    name:
      v: url
    source:
      context:
        v: displayable

context:
  v: ext
context type:
  v: variable
element:
  v: url
transform:
  v: copy
parameter:
  value: String
    v: http://hl7.org/fhir/cdaStructureDefinition/extension-displayable

name:
  v: value
source:
  context:
    v: displayable
  element:
    v: value
  variable:
    v: v
target:
  context:
    v: ext
  context type:
    v: variable
  element:
    v: value
  transform:
    v: cast
  parameter:
    value: Id
      v: v
  parameter:
    value: String
      v: string

name:
  v: INT
extends:
  v: Any
type mode:
  v: types
input:
  name:
    v: src
  type:
    v: INT
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: integer
  mode:
    v: target
rule:
  name:
    v: integer
  source:
    context:
      v: src
    element:
      v: value
    variable:
      v: v
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: value
    transform:
      v: copy
    parameter:
      value: Id
        v: v

name:
  v: TemplateID
type mode:
  v: none
input:
  name:
    v: template
  type:
    v: II
  mode:
    v: source
input:
  name:
    v: tgt
  mode:
    v: target
rule:
  name:
    v: templateId
  source:
    context:
      v: template
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: extension
    variable:
      v: ext
  rule:
    name:
      v: url
    source:
      context:
        v: template
    target:
      context:
        v: ext
      context type:
        v: variable
      element:
        v: url
      transform:
        v: copy
      parameter:
        value: String
  rule:
    name:
      v: value
    source:
      context:
        v: template
    target:
      context:
        v: ext
      context type:
        v: variable
      element:
        v: value
      variable:
        v: value
      transform:
        v: create
      parameter:
        value: String
    dependent:
      name:
        v: II
      variable:
        v: template
      variable:
        v: value

String
v: Identifier

name:
  v: Negation
type mode:
  v: none
input:
  name:
    v: negation
  type:
    v: BL
  mode:
    v: source
input:
  name:
    v: tgt
  mode:
    v: target
rule:
  name:
    v: negation
  source:
    context:
      v: negation
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: modifierExtension
    variable:
      v: ext
  rule:
    name:
      v: url
    source:
      context:
        v: negation
    target:
      context:
        v: ext
      context type:
        v: variable
      element:
        v: url
      transform:
        v: copy
      parameter:
        value: String
  rule:
    name:
      v: value
    source:
      context:
        v: negation
      variable:
        v: neg
    target:
      context:
        v: ext
      context type:
        v: variable
      element:
        v: value
      transform:
        v: create
      parameter:
        value: String
    target:
      context:
        v: ext
      context type:
        v: variable
      element:
        v: value
      transform:
        v: copy
      parameter:
        value: Id

String
v: boolean

Id
v: neg

name:
  v: TSInstant
extends:
  v: Any
type mode:
  v: types
input:
  name:
    v: src
  type:
    v: TS
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: instant
  mode:
    v: target
rule:
  name:
    v: value
  source:
    context:
      v: src
    element:
      v: value
    variable:
      v: v
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: value
    transform:
      v: cast
    parameter:
      value: Id
        v: v
    parameter:
      value: String
        v: string

name:
  v: TSDateTime
extends:
  v: TSInstant
type mode:
  v: types
input:
  name:
    v: src
  type:
    v: TS
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: dateTime
  mode:
    v: target
rule:
  name:
    v: inherit
  source:
    context:
      v: src
  target:
    context:
      v: tgt
    context type:
      v: variable

name:
  v: TSDate
extends:
  v: TSInstant
type mode:
  v: types
input:
  name:
    v: src
  type:
    v: TS
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: date
  mode:
    v: target
rule:
  name:
    v: inherit
  source:
    context:
      v: src
  target:
    context:
      v: tgt
    context type:
      v: variable

name:
  v: IVLTSPeriod
extends:
  v: Any
type mode:
  v: types
input:
  name:
    v: src
  type:
    v: IVL_TS
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: Period
  mode:
    v: target
rule:
  name:
    v: low
  source:
    context:
      v: src
    element:
      v: low
    variable:
      v: low
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: start
    variable:
      v: start
    transform:
      v: create
    parameter:
      value: String
        v: dateTime
  dependent:
    name:
      v: TSDateTime
    variable:
      v: low
    variable:
      v: start
rule:
  name:
    v: high
  source:
    context:
      v: src
    element:
      v: high
    variable:
      v: high
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: end
    variable:
      v: end
    transform:
      v: create
    parameter:
      value: String
        v: dateTime
  dependent:
    name:
      v: TSDateTime
    variable:
      v: high
    variable:
      v: end

name:
  v: IVLTSDateTime
extends:
  v: Any
type mode:
  v: types
input:
  name:
    v: src
  type:
    v: IVL_TS
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: dateTime
  mode:
    v: target
rule:
  name:
    v: low
  source:
    context:
      v: src
    element:
      v: low
    variable:
      v: s
  dependent:
    name:
      v: TSDateTime
    variable:
      v: s
    variable:
      v: tgt

name:
  v: STstring
type mode:
  v: none
input:
  name:
    v: src
  type:
    v: ST
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: string
  mode:
    v: target
rule:
  name:
    v: value
  source:
    context:
      v: src
    variable:
      v: v
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: value
    transform:
      v: cast
    parameter:
      value: Id
        v: v
    parameter:
      value: String
        v: string

name:
  v: EDstring
extends:
  v: STstring
type mode:
  v: types
input:
  name:
    v: src
  type:
    v: ED
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: string
  mode:
    v: target
rule:
  name:
    v: inherit
  source:
    context:
      v: src
  target:
    context:
      v: tgt
    context type:
      v: variable

name:
  v: ONstring
extends:
  v: STstring
type mode:
  v: types
input:
  name:
    v: src
  type:
    v: ON
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: string
  mode:
    v: target
rule:
  name:
    v: inherit
  source:
    context:
      v: src
  target:
    context:
      v: tgt
    context type:
      v: variable

name:
  v: CSCode
type mode:
  v: none
input:
  name:
    v: src
  type:
    v: CS
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: code
  mode:
    v: target
rule:
  name:
    v: code
  source:
    context:
      v: src
    element:
      v: code
    variable:
      v: c
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: value
    transform:
      v: cast
    parameter:
      value: Id
        v: c
    parameter:
      value: String
        v: string

name:
  v: CECode
extends:
  v: CSCode
type mode:
  v: types
input:
  name:
    v: src
  type:
    v: CE
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: code
  mode:
    v: target
rule:
  name:
    v: inherit
  source:
    context:
      v: src
  target:
    context:
      v: tgt
    context type:
      v: variable

name:
  v: CDCode
extends:
  v: CSCode
type mode:
  v: types
input:
  name:
    v: src
  type:
    v: CD
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: code
  mode:
    v: target
rule:
  name:
    v: inherit
  source:
    context:
      v: src
  target:
    context:
      v: tgt
    context type:
      v: variable

name:
  v: CECodeableConcept
type mode:
  v: none
input:
  name:
    v: src
  type:
    v: CE
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: CodeableConcept
  mode:
    v: target
rule:
  name:
    v: setOriginalText
  source:
    context:
      v: src
    element:
      v: originalText
    variable:
      v: originalText
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: text
    transform:
      v: copy
    parameter:
      value: Id
        v: originalText
rule:
  name:
    v: code
  source:
    context:
      v: src
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: coding
    variable:
      v: coding
  rule:
    name:
      v: code
    source:
      context:
        v: src
      element:
        v: code
      variable:
        v: code
    target:
      context:
        v: coding
      context type:
        v: variable
      element:
        v: code
      transform:
        v: cast
      parameter:
        value: Id
      parameter:
        value: String
  rule:
    name:
      v: codeSystem
    source:
      context:
        v: src
      element:
        v: codeSystem
      variable:
        v: system
    target:
      context:
        v: coding
      context type:
        v: variable
      element:
        v: system
      transform:
        v: append
      parameter:
        value: String
      parameter:
        value: Id
  rule:
    name:
      v: displayName
    source:
      context:
        v: src
      element:
        v: displayName
      variable:
        v: display
    target:
      context:
        v: coding
      context type:
        v: variable
      element:
        v: display
      transform:
        v: cast
      parameter:
        value: Id
      parameter:
        value: String
rule:
  name:
    v: translation
  source:
    context:
      v: src
    element:
      v: translation
    variable:
      v: translation
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: coding
    variable:
      v: coding
  rule:
    name:
      v: code
    source:
      context:
        v: translation
      element:
        v: code
      variable:
        v: code
    target:
      context:
        v: coding
      context type:
        v: variable
      element:
        v: code
      transform:
        v: cast
      parameter:
        value: Id
      parameter:
        value: String
  rule:
    name:
      v: codeSystem
    source:
      context:
        v: translation
      element:
        v: codeSystem
      variable:
        v: system
    target:
      context:
        v: coding
      context type:
        v: variable
      element:
        v: system
      transform:
        v: append
      parameter:
        value: String
      parameter:
        value: Id
  rule:
    name:
      v: displayName
    source:
      context:
        v: translation
      element:
        v: displayName
      variable:
        v: display
    target:
      context:
        v: coding
      context type:
        v: variable

Id
v: code

String
v: string

String
v: urn:oid:

Id
v: system

Id
v: display

String
v: string

Id
v: code

String
v: string

String
v: urn:oid:

Id
v: system

v: display

v: cast

value: Id
  v: display

value: String
  v: string

name:
  v: CSCodeableConcept
extends:
  v: CECodeableConcept
type mode:
  v: types
input:
  name:
    v: src
  type:
    v: CS
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: CodeableConcept
  mode:
    v: target
rule:
  name:
    v: inherit
  source:
    context:
      v: src
  target:
    context:
      v: tgt
    context type:
      v: variable

name:
  v: CDCodeableConcept
extends:
  v: CECodeableConcept
type mode:
  v: types
input:
  name:
    v: src
  type:
    v: CD
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: CodeableConcept
  mode:
    v: target
rule:
  name:
    v: inherit
  source:
    context:
      v: src
  target:
    context:
      v: tgt
    context type:
      v: variable

name:
  v: ENHumanName
type mode:
  v: none
input:
  name:
    v: src
  type:
    v: EN
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: HumanName
  mode:
    v: target
rule:
  name:
    v: item
  source:
    context:
      v: src
    element:
      v: item
    variable:
      v: item
  rule:
    name:
      v: family
    source:
      context:
        v: item
      element:
        v: family
      variable:
        v: v
    target:
      context:
        v: tgt
      context type:
        v: variable
      element:
        v: family
      transform:
        v: evaluate
      parameter:
        value: String
  rule:
    name:
      v: given
    source:
      context:
        v: item
      element:
        v: given
      variable:
        v: v
    target:
      context:
        v: tgt
      context type:
        v: variable
      element:
        v: given
      transform:
        v: evaluate
      parameter:
        value: String
  rule:
    name:
      v: prefix
    source:
      context:
        v: item
      element:
        v: prefix
      variable:
        v: v
    target:
      context:
        v: tgt
      context type:
        v: variable
      element:
        v: prefix
      transform:
        v: evaluate
      parameter:
        value: String
  rule:
    name:
      v: suffix
    source:
      context:
        v: item
      element:
        v: suffix
      variable:
        v: v
    target:
      context:
        v: tgt
      context type:
        v: variable
      element:
        v: suffix
      transform:
        v: evaluate
      parameter:
        value: String
rule:
  name:
    v: validTime
  source:
    context:
      v: src
    element:
      v: validTime
    variable:
      v: validTime
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: period
    transform:
      v: copy
    parameter:
      value: Id
        v: validTime

String
v: v.xmlText

String
v: v.xmlText

String
v: v.xmlText

String
v: v.xmlText

name:
  v: PNHumanName
extends:
  v: ENHumanName
type mode:
  v: types
input:
  name:
    v: src
  type:
    v: PN
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: HumanName
  mode:
    v: target
rule:
  name:
    v: inherit
  source:
    context:
      v: src
  target:
    context:
      v: tgt
    context type:
      v: variable

name:
  v: ADAddress
type mode:
  v: none
input:
  name:
    v: src
  type:
    v: AD
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: Address
  mode:
    v: target
rule:
  name:
    v: item
  source:
    context:
      v: src
    element:
      v: item
    variable:
      v: item
  rule:
    name:
      v: country
    source:
      context:
        v: item
      element:
        v: country
      variable:
        v: v
    target:
      context:
        v: tgt
      context type:
        v: variable
      element:
        v: country
      transform:
        v: evaluate
      parameter:
        value: String
  rule:
    name:
      v: state
    source:
      context:
        v: item
      element:
        v: state
      variable:
        v: v
    target:
      context:
        v: tgt
      context type:
        v: variable
      element:
        v: state
      transform:
        v: evaluate
      parameter:
        value: String
  rule:
    name:
      v: county
    source:
      context:
        v: item
      element:
        v: county
      variable:
        v: v
    target:
      context:
        v: tgt
      context type:
        v: variable
      element:
        v: district
      transform:
        v: evaluate
      parameter:
        value: String
  rule:
    name:
      v: city
    source:
      context:
        v: item
      element:
        v: city
      variable:
        v: v
    target:
      context:
        v: tgt
      context type:
        v: variable
      element:
        v: city
      transform:
        v: evaluate
      parameter:
        value: String
  rule:
    name:
      v: postalCode
    source:
      context:
        v: item
      element:
        v: postalCode
      variable:
        v: v
    target:
      context:
        v: tgt
      context type:
        v: variable
      element:
        v: postalCode
      transform:
        v: evaluate
      parameter:
        value: String
  rule:
    name:
      v: streetAddressLine
    source:
      context:
        v: item
      element:
        v: streetAddressLine
      variable:
        v: v
    target:
      context:
        v: tgt
      context type:
        v: variable
      element:
        v: line
      transform:
        v: evaluate
      parameter:
        value: String
  rule:
    name:
      v: CensusTract
    source:
      context:
        v: item
    target:
      context:
        v: tgt
      context type:
        v: variable
      element:
        v: line
      variable:
        v: line
    rule:
      name:
        v: sfgfdsg
  rule:
    name:
      v: streetName
    source:
      context:
        v: item
      element:
        v: streetName
      variable:
        v: v
    target:
      context:
        v: tgt
      context type:
        v: variable
      element:
        v: line
      transform:
        v: evaluate
      parameter:
        value: String
  rule:
    name:
      v: houseNumber
    source:
      context:
        v: item
      element:
        v: houseNumber
      variable:
        v: v

String
v: v.xmlText

String
v: v.xmlText

String
v: v.xmlText

String
v: v.xmlText

String
v: v.xmlText

String
v: v.xmlText

v: item

v: src.censusTract.exists()

v: line

context:
  v: item
element:
  v: censusTract
variable:
  v: v

context:
  v: line
context type:
  v: variable
element:
  v: extension
variable:
  v: ext1

name:
  v: CensusTract
variable:
  v: v
variable:
  v: ext1

String
v: v.xmlText

context:
  v: tgt
context type:
  v: variable
element:
  v: line
transform:
  v: evaluate
parameter:
  value: String
    v: v.xmlText

name:
  v: useablePeriod
source:
  context:
    v: src
  element:
    v: useablePeriod
  variable:
    v: useablePeriod
target:
  context:
    v: tgt
  context type:
    v: variable
  element:
    v: period
  transform:
    v: copy
  parameter:
    value: Id
      v: useablePeriod

name:
  v: TELContactPoint
type mode:
  v: none
input:
  name:
    v: src
  type:
    v: TEL
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: ContactPoint
  mode:
    v: target
rule:
  name:
    v: valuetel
  source:
    context:
      v: src
    element:
      v: value
    variable:
      v: v
    condition:
      v: (src.value.startsWith('tel:'))
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: value
    transform:
      v: evaluate
    parameter:
      value: String
        v: v.substring(4)
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: system
    transform:
      v: copy
    parameter:
      value: String
        v: phone
rule:
  name:
    v: valuefax
  source:
    context:
      v: src
    element:
      v: value
    variable:
      v: v
    condition:
      v: (src.value.startsWith('fax:'))
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: value
    transform:
      v: evaluate
    parameter:
      value: String
        v: v.substring(4)
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: system
    transform:
      v: copy
    parameter:
      value: String
        v: fax
rule:
  name:
    v: valuemail
  source:
    context:
      v: src
    element:
      v: value
    variable:
      v: v
    condition:
      v: (src.value.startsWith('mailto:'))
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: value
    transform:
      v: evaluate
    parameter:
      value: String
        v: v.substring(7)
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: system
    transform:
      v: copy
    parameter:
      value: String
        v: email
rule:
  name:
    v: valuehttp
  source:
    context:
      v: src
    element:
      v: value
    variable:
      v: v
    condition:
      v: (src.value.startsWith('http:'))
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: value
    transform:
      v: evaluate
    parameter:
      value: String
        v: v.substring(5)
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: system
    transform:
      v: copy
    parameter:
      value: String
        v: url
rule:
  name:
    v: usehome
  source:
    context:
      v: src
    element:
      v: use
    condition:
      v: (src.use.startsWith('H'))
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: use
    transform:
      v: copy
    parameter:
      value: String
        v: home
rule:
  name:
    v: usework
  source:
    context:
      v: src
    element:
      v: use
    condition:
      v: ((src.use = 'WP') or (src.use = 'DIR') or (src.use = 'PUB'))
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: use
    transform:
      v: copy

value: String
  v: work

name:
  v: usebad
source:
  context:
    v: src
  element:
    v: use
  condition:
    v: (src.use = 'BAD')
target:
  context:
    v: tgt
  context type:
    v: variable
  element:
    v: use
  transform:
    v: copy
  parameter:
    value: String
      v: old

name:
  v: usetmp
source:
  context:
    v: src
  element:
    v: use
  condition:
    v: (src.use = 'TMP')
target:
  context:
    v: tgt
  context type:
    v: variable
  element:
    v: use
  transform:
    v: copy
  parameter:
    value: String
      v: temp

name:
  v: usemobile
source:
  context:
    v: src
  element:
    v: use
  condition:
    v: (src.use = 'MC')
target:
  context:
    v: tgt
  context type:
    v: variable
  element:
    v: use
  transform:
    v: copy
  parameter:
    value: String
      v: mobile

name:
  v: useablePeriod
source:
  context:
    v: src
  element:
    v: useablePeriod
  variable:
    v: useablePeriod
target:
  context:
    v: tgt
  context type:
    v: variable
  element:
    v: period
  transform:
    v: copy
  parameter:
    value: Id
      v: useablePeriod
documentation:
  v: use: for src.use as c make tgt.use = translate(c, 'http://hl7.org/fhir/ConceptMap/cm-telecom-use-v3', 'code')

name:
  v: PQQuantity
type mode:
  v: none
input:
  name:
    v: src
  type:
    v: PQ
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: Quantity
  mode:
    v: target
rule:
  name:
    v: unit
  source:
    context:
      v: src
    element:
      v: unit
    variable:
      v: unit
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: unit
    transform:
      v: copy
    parameter:
      value: Id
        v: unit
rule:
  name:
    v: unit
  source:
    context:
      v: src
    element:
      v: unit
    variable:
      v: unit
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: code
    transform:
      v: copy
    parameter:
      value: Id
        v: unit
rule:
  name:
    v: unit
  source:
    context:
      v: src
    element:
      v: unit
    variable:
      v: unit
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: system
    transform:
      v: copy
    parameter:
      value: String
        v: http://unitsofmeasure.org
rule:
  name:
    v: value
  source:
    context:
      v: src
    element:
      v: value
    variable:
      v: value
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: value
    transform:
      v: copy
    parameter:
      value: Id
        v: value

name:
  v: RTOPQPQRatio
type mode:
  v: none
input:
  name:
    v: src
  type:
    v: RTO_PQ_PQ
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: Ratio
  mode:
    v: target
rule:
  name:
    v: numerator
  source:
    context:
      v: src
    element:
      v: numerator
    variable:
      v: numerator
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: numerator
    variable:
      v: targetNumerator
  dependent:
    name:
      v: PQQuantity
    variable:
      v: numerator
    variable:
      v: targetNumerator
rule:
  name:
    v: denominator
  source:
    context:
      v: src
    element:
      v: denominator
    variable:
      v: denominator
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: denominator
    variable:
      v: targetDenominator
  dependent:
    name:
      v: PQQuantity
    variable:
      v: denominator
    variable:
      v: targetDenominator