EUDCCtoDDCC
type: StructureMap
node role: treeRoot
id:
  v: EUDCCtoDDCC
text:
  status:
    v: generated
  div: Generated Narrative: StructureMap EUDCCtoDDCC #xD; map "http://smart.who.int/ddcc/StructureMap/CertDCCtoDDCC" = "EUDCCtoDDCC"#xD; #xD; uses "http://smart.who.int/ddcc/StructureDefinition/CertDCC" alias CWT as source#xD; uses "http://hl7.eu/fhir/ig/dcc/StructureDefinition/HC1" alias HC1 as source#xD; uses "http://hl7.eu/fhir/ig/dcc/StructureDefinition/PersonName" alias PersonName as source#xD; uses "http://hl7.eu/fhir/ig/dcc/StructureDefinition/v" alias VacEvent as source#xD; uses "http://hl7.eu/fhir/ig/dcc/StructureDefinition/t" alias TestEvent as source#xD; uses "http://hl7.eu/fhir/ig/dcc/StructureDefinition/r" alias RecEvent as source#xD; uses "http://hl7.org/fhir/StructureDefinition/Bundle" alias Bundle as target#xD; #xD; group EUDCCtoDDCC(source src : CWT, target bundle : Bundle) {#xD; src -> bundle.type = 'transaction' "set bundle type";#xD; src -> bundle, bundle.entry as entry, entry.resource = create('Composition') as comp then {#xD; src.data as data then {#xD; data.cert as cert -> bundle then ExtractCert(cert, bundle, comp) "Certificate";#xD; } "Processing cert data";#xD; src -> bundle then ExtractComposition(src, comp) "Composition";#xD; } "Patient and Composition Create";#xD; }#xD; #xD; group ExtractCert(source src : HC1, target bundle : Bundle, target comp : Composition) {#xD; src -> comp, bundle.entry as entry, entry.resource = create('Patient') as patient, uuid() as pid then {#xD; src -> patient then ExtractPatient(src, pid, patient) "extract patient";#xD; src -> comp.subject as subj, subj.reference = append('Patient/', pid) "Set patient";#xD; src where (src.v.count() > 0) -> comp.section as section then {#xD; src -> section.code as code, code.coding as coding, coding.system = 'http://loinc.org', coding.code = '11369-6', coding.display = 'History of Immunization Narrative' "add section";#xD; src.v as vac -> comp, bundle.entry as entryImm, entryImm.resource = create('Immunization') as immunization, uuid() as iid, bundle.entry as entryOrg, entryOrg.resour…
url:
  v: http://smart.who.int/ddcc/StructureMap/CertDCCtoDDCC
version:
  v: 1.0.0
name:
  v: EUDCCtoDDCC
status:
  v: draft
date:
  v: 2025-09-23T10:33:16+00:00
publisher:
  v: WHO
contact:
  name:
    v: WHO
  telecom:
    system:
      v: url
    value:
      v: http://who.int
jurisdiction:
  coding:
    system:
      v: http://unstats.un.org/unsd/methods/m49/m49.htm
    code:
      v: 001
structure:
  url:
    v: http://smart.who.int/ddcc/StructureDefinition/CertDCC
    link: http://smart.who.int/ddcc/StructureDefinition/CertDCC
  mode:
    v: source
  alias:
    v: CWT
structure:
  url:
    v: http://hl7.eu/fhir/ig/dcc/StructureDefinition/HC1
    link: http://hl7.eu/fhir/ig/dcc/StructureDefinition/HC1
  mode:
    v: source
  alias:
    v: HC1
structure:
  url:
    v: http://hl7.eu/fhir/ig/dcc/StructureDefinition/PersonName
    link: http://hl7.eu/fhir/ig/dcc/StructureDefinition/PersonName
  mode:
    v: source
  alias:
    v: PersonName
structure:
  url:
    v: http://hl7.eu/fhir/ig/dcc/StructureDefinition/v
    link: http://hl7.eu/fhir/ig/dcc/StructureDefinition/v
  mode:
    v: source
  alias:
    v: VacEvent
structure:
  url:
    v: http://hl7.eu/fhir/ig/dcc/StructureDefinition/t
    link: http://hl7.eu/fhir/ig/dcc/StructureDefinition/t
  mode:
    v: source
  alias:
    v: TestEvent
structure:
  url:
    v: http://hl7.eu/fhir/ig/dcc/StructureDefinition/r
    link: http://hl7.eu/fhir/ig/dcc/StructureDefinition/r
  mode:
    v: source
  alias:
    v: RecEvent
structure:
  url:
    v: http://hl7.org/fhir/StructureDefinition/Bundle
    link: http://hl7.org/fhir/StructureDefinition/Bundle
  mode:
    v: target
  alias:
    v: Bundle
group:
  name:
    v: EUDCCtoDDCC
  type mode:
    v: none
  input:
    name:
      v: src
    type:
      v: CWT
    mode:
      v: source
  input:
    name:
      v: bundle
    type:
      v: Bundle
    mode:
      v: target
  rule:
    name:
      v: set bundle type
    source:
      context:
        v: src
    target:
      context:
        v: bundle
      context type:
        v: variable
      element:
        v: type
      transform:
        v: copy
      parameter:
        value: string
  rule:
    name:
      v: Patient and Composition Create
    source:
      context:
        v: src
    target:
      context:
        v: bundle
      context type:
        v: variable
    target:
      context:
        v: bundle
      context type:
        v: variable
      element:
        v: entry
      variable:
        v: entry
    target:
      context:
        v: entry
      context type:
        v: variable
      element:
        v: resource
      variable:
        v: comp
      transform:
        v: create
      parameter:
        value: string
    rule:
      name:
        v: Processing cert data
    rule:
      name:
        v: Composition
group:
  name:
    v: ExtractCert
  type mode:
    v: none
  input:
    name:
      v: src
    type:
      v: HC1
    mode:
      v: source
  input:
    name:
      v: bundle
    type:
      v: Bundle
    mode:
      v: target
  input:
    name:
      v: comp
    type:
      v: Composition
    mode:
      v: target
  rule:
    name:
      v: Patient Create
    source:
      context:
        v: src
    target:
      context:
        v: comp
      context type:
        v: variable

string
v: transaction

string
v: Composition

v: src

v: data

v: data

v: Certificate

context:
  v: data
element:
  v: cert
variable:
  v: cert

context:
  v: bundle
context type:
  v: variable

name:
  v: ExtractCert
variable:
  v: cert
variable:
  v: bundle
variable:
  v: comp

v: src

v: bundle

v: variable

v: ExtractComposition

v: src

v: comp

context:
  v: bundle
context type:
  v: variable
element:
  v: entry
variable:
  v: entry

context:
  v: entry
context type:
  v: variable
element:
  v: resource
variable:
  v: patient
transform:
  v: create
parameter:
  value: string
    v: Patient

context type:
  v: variable
variable:
  v: pid
transform:
  v: uuid

name:
  v: extract patient
source:
  context:
    v: src
target:
  context:
    v: patient
  context type:
    v: variable
dependent:
  name:
    v: ExtractPatient
  variable:
    v: src
  variable:
    v: pid
  variable:
    v: patient

name:
  v: Composition.Set patient
source:
  context:
    v: src
target:
  context:
    v: comp
  context type:
    v: variable
  element:
    v: subject
  variable:
    v: subj
target:
  context:
    v: subj
  context type:
    v: variable
  element:
    v: reference
  transform:
    v: append
  parameter:
    value: string
      v: Patient/
  parameter:
    value: id
      v: pid

name:
  v: Vaccination List
source:
  context:
    v: src
  condition:
    v: (src.v.count() > 0)
target:
  context:
    v: comp
  context type:
    v: variable
  element:
    v: section
  variable:
    v: section
rule:
  name:
    v: add section
  source:
    context:
      v: src
  target:
    context:
      v: section
    context type:
      v: variable
    element:
      v: code
    variable:
      v: code
  target:
    context:
      v: code
    context type:
      v: variable
    element:
      v: coding
    variable:
      v: coding
  target:
    context:
      v: coding
    context type:
      v: variable
    element:
      v: system
    transform:
      v: copy
    parameter:
      value: string
        v: http://loinc.org
  target:
    context:
      v: coding
    context type:
      v: variable
    element:
      v: code
    transform:
      v: copy
    parameter:
      value: string
        v: 11369-6
  target:
    context:
      v: coding
    context type:
      v: variable
    element:
      v: display
    transform:
      v: copy
    parameter:
      value: string
        v: History of Immunization Narrative
rule:
  name:
    v: Immunization Create
  source:
    context:
      v: src
    element:
      v: v
    variable:
      v: vac
  target:
    context:
      v: comp
    context type:
      v: variable
  target:
    context:
      v: bundle
    context type:
      v: variable
    element:
      v: entry
    variable:
      v: entryImm
  target:
    context:
      v: entryImm
    context type:
      v: variable
    element:
      v: resource
    variable:
      v: immunization
    transform:
      v: create
    parameter:
      value: string
        v: Immunization
  target:
    context type:
      v: variable
    variable:
      v: iid
    transform:
      v: uuid
  target:
    context:
      v: bundle
    context type:
      v: variable
    element:
      v: entry
    variable:
      v: entryOrg
  target:
    context:
      v: entryOrg
    context type:
      v: variable
    element:
      v: resource
    variable:
      v: org
    transform:
      v: create
    parameter:
      value: string
        v: Organization
  target:
    context type:
      v: variable
    variable:
      v: oid
    transform:
      v: uuid
  rule:
    name:
      v: Immunization ID
    source:
      context:
        v: src
    target:
      context:
        v: immunization
      context type:
        v: variable
      element:
        v: id
      transform:
        v: copy
      parameter:
        value: id
  rule:
    name:
      v: Organization ID
    source:
      context:
        v: src
    target:
      context:
        v: org
      context type:
        v: variable
      element:
        v: id
      transform:
        v: copy
      parameter:
        value: id
  rule:
    name:
      v: add entry/author to section
    source:
      context:
        v: src
    target:
      context:
        v: section
      context type:
        v: variable
      element:
        v: entry
      variable:
        v: entry
    target:
      context:
        v: entry

id
v: iid

id
v: oid

v: variable

v: reference

v: append

value: string
  v: Immunization/

value: id
  v: iid

context:
  v: section
context type:
  v: variable
element:
  v: author
variable:
  v: author

context:
  v: author
context type:
  v: variable
element:
  v: reference
transform:
  v: append
parameter:
  value: string
    v: Organization/
parameter:
  value: id
    v: oid

name:
  v: Composition.Set org
source:
  context:
    v: src
target:
  context:
    v: comp
  context type:
    v: variable
  element:
    v: author
  variable:
    v: author
target:
  context:
    v: author
  context type:
    v: variable
  element:
    v: reference
  transform:
    v: append
  parameter:
    value: string
      v: Organization/
  parameter:
    value: id
      v: oid

name:
  v: Immunization.Set patient
source:
  context:
    v: src
target:
  context:
    v: immunization
  context type:
    v: variable
  element:
    v: patient
  variable:
    v: subj
target:
  context:
    v: subj
  context type:
    v: variable
  element:
    v: reference
  transform:
    v: append
  parameter:
    value: string
      v: Patient/
  parameter:
    value: id
      v: pid

name:
  v: Set Organization name
source:
  context:
    v: vac
  element:
    v: is
  variable:
    v: is
target:
  context:
    v: org
  context type:
    v: variable
  element:
    v: name
  transform:
    v: copy
  parameter:
    value: id
      v: is

name:
  v: extract vaccine info
source:
  context:
    v: src
target:
  context:
    v: bundle
  context type:
    v: variable
dependent:
  name:
    v: ExtractVaccine
  variable:
    v: vac
  variable:
    v: oid
  variable:
    v: immunization

name:
  v: ExtractVaccine
type mode:
  v: none
input:
  name:
    v: vac
  type:
    v: VacEvent
  mode:
    v: source
input:
  name:
    v: oid
  mode:
    v: source
input:
  name:
    v: immunization
  type:
    v: Immunization
  mode:
    v: target
rule:
  name:
    v: set occurrence date
  source:
    context:
      v: vac
    element:
      v: dt
    variable:
      v: dt
  target:
    context:
      v: immunization
    context type:
      v: variable
    element:
      v: occurrence
    transform:
      v: copy
    parameter:
      value: id
        v: dt
rule:
  name:
    v: set vaccine coding
  source:
    context:
      v: vac
    element:
      v: vp
    variable:
      v: vp
  target:
    context:
      v: immunization
    context type:
      v: variable
    element:
      v: vaccineCode
    variable:
      v: type
  target:
    context:
      v: type
    context type:
      v: variable
    element:
      v: coding
    variable:
      v: coding
  target:
    context:
      v: coding
    context type:
      v: variable
    element:
      v: system
    transform:
      v: copy
    parameter:
      value: string
        v: http://snomed.info/sct
  target:
    context:
      v: coding
    context type:
      v: variable
    element:
      v: code
    transform:
      v: copy
    parameter:
      value: id
        v: vp
rule:
  name:
    v: set identifier ci
  source:
    context:
      v: vac
    element:
      v: ci
    variable:
      v: ci
  target:
    context:
      v: immunization
    context type:
      v: variable
    element:
      v: identifier
    variable:
      v: identif
  target:
    context:
      v: identif
    context type:
      v: variable
    element:
      v: value
    transform:
      v: copy
    parameter:
      value: id
        v: ci
rule:
  name:
    v: set brand
  source:
    context:
      v: vac
    element:
      v: mp
    variable:
      v: mp
  target:
    context:
      v: immunization
    context type:
      v: variable
    element:
      v: extension
    variable:
      v: ext
  target:
    context:
      v: ext
    context type:
      v: variable
    element:
      v: value
    variable:
      v: coding
    transform:
      v: create
    parameter:
      value: string
        v: Coding
  target:
    context:
      v: ext
    context type:
      v: variable
    element:
      v: url
    transform:
      v: copy
    parameter:
      value: string
        v: https://smart.who.int/ddcc/StructureDefinition/DDCCVaccineBrand
  target:
    context:
      v: coding
    context type:
      v: variable
    element:
      v: code
    transform:
      v: copy
    parameter:
      value: id
        v: mp
  target:
    context:
      v: coding
    context type:
      v: variable
    element:
      v: system
    transform:
      v: copy
    parameter:
      value: string
        v: https://www.ema.europa.eu/en/medicines/human/EPAR/comirnaty
rule:
  name:
    v: set manufacturer extension
  source:
    context:
      v: vac

v: ma

v: ma

context:
  v: immunization
context type:
  v: variable
element:
  v: extension
variable:
  v: ext

context:
  v: ext
context type:
  v: variable
element:
  v: value
variable:
  v: coding
transform:
  v: create
parameter:
  value: string
    v: Coding

context:
  v: ext
context type:
  v: variable
element:
  v: url
transform:
  v: copy
parameter:
  value: string
    v: https://smart.who.int/ddcc/StructureDefinition/DDCCVaccineMarketAuthorization

context:
  v: coding
context type:
  v: variable
element:
  v: code
transform:
  v: copy
parameter:
  value: id
    v: ma

context:
  v: coding
context type:
  v: variable
element:
  v: system
transform:
  v: copy
parameter:
  value: string
    v: https://www.ema.europa.eu/en/medicines/human/EPAR/comirnaty

name:
  v: set country
source:
  context:
    v: vac
  element:
    v: co
  variable:
    v: co
target:
  context:
    v: immunization
  context type:
    v: variable
  element:
    v: extension
  variable:
    v: ext
target:
  context:
    v: ext
  context type:
    v: variable
  element:
    v: value
  variable:
    v: coding
  transform:
    v: create
  parameter:
    value: string
      v: Coding
target:
  context:
    v: ext
  context type:
    v: variable
  element:
    v: url
  transform:
    v: copy
  parameter:
    value: string
      v: https://smart.who.int/ddcc/StructureDefinition/DDCCCountryOfVaccination
target:
  context:
    v: coding
  context type:
    v: variable
  element:
    v: code
  transform:
    v: copy
  parameter:
    value: id
      v: co
target:
  context:
    v: coding
  context type:
    v: variable
  element:
    v: system
  transform:
    v: copy
  parameter:
    value: string
      v: urn:iso:std:iso:3166

name:
  v: set protocol applied
source:
  context:
    v: vac
target:
  context:
    v: immunization
  context type:
    v: variable
  element:
    v: protocolApplied
  variable:
    v: protocolApplied
dependent:
  name:
    v: ExtractProtocolApplied
  variable:
    v: vac
  variable:
    v: oid
  variable:
    v: protocolApplied

name:
  v: ExtractProtocolApplied
type mode:
  v: none
input:
  name:
    v: vac
  type:
    v: VacEvent
  mode:
    v: source
input:
  name:
    v: oid
  mode:
    v: source
input:
  name:
    v: protocol
  type:
    v: ProtocolApplied
  mode:
    v: target
rule:
  name:
    v: set dose number
  source:
    context:
      v: vac
    element:
      v: dn
    variable:
      v: dn
  target:
    context:
      v: protocol
    context type:
      v: variable
    element:
      v: doseNumber
    transform:
      v: copy
    parameter:
      value: id
        v: dn
rule:
  name:
    v: set series doses
  source:
    context:
      v: vac
    element:
      v: sd
    variable:
      v: sd
  target:
    context:
      v: protocol
    context type:
      v: variable
    element:
      v: seriesDoses
    transform:
      v: copy
    parameter:
      value: id
        v: sd
rule:
  name:
    v: set target disease type
  source:
    context:
      v: vac
    element:
      v: tg
    variable:
      v: tg
  target:
    context:
      v: protocol
    context type:
      v: variable
    element:
      v: targetDisease
    variable:
      v: codeable
  target:
    context:
      v: codeable
    context type:
      v: variable
    element:
      v: coding
    variable:
      v: coding
  target:
    context:
      v: coding
    context type:
      v: variable
    element:
      v: system
    transform:
      v: copy
    parameter:
      value: string
        v: http://snomed.info/sct
  target:
    context:
      v: coding
    context type:
      v: variable
    element:
      v: code
    transform:
      v: copy
    parameter:
      value: id
        v: tg
rule:
  name:
    v: set authority
  source:
    context:
      v: oid
  target:
    context:
      v: protocol
    context type:
      v: variable
    element:
      v: authority
    variable:
      v: authority
  target:
    context:
      v: authority
    context type:
      v: variable
    element:
      v: reference
    transform:
      v: append
    parameter:
      value: string
        v: Organization/
    parameter:
      value: id
        v: oid

name:
  v: ExtractPatient
type mode:
  v: none
input:
  name:
    v: src
  type:
    v: HC1
  mode:
    v: source
input:
  name:
    v: pid
  mode:
    v: source
input:
  name:
    v: patient
  type:
    v: Patient
  mode:
    v: target
rule:
  name:
    v: Patient ID
  source:
    context:
      v: pid
  target:
    context:
      v: patient
    context type:
      v: variable
    element:
      v: id
    transform:
      v: copy
    parameter:
      value: id
        v: pid
rule:
  name:
    v: Patient
  source:
    context:
      v: src
    element:
      v: nam
    variable:
      v: name
  target:
    context:
      v: patient
    context type:
      v: variable
  dependent:
    name:
      v: ExtractPersonName
    variable:
      v: name
    variable:
      v: patient
rule:
  name:
    v: set birthDate
  source:
    context:
      v: src
    element:
      v: dob
    variable:
      v: birthDate
  target:
    context:
      v: patient
    context type:
      v: variable
    element:
      v: birthDate
    transform:
      v: copy
    parameter:
      value: id
        v: birthDate

name:
  v: ExtractPersonName
type mode:
  v: none
input:
  name:
    v: src
  type:
    v: PersonName
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: DDCCPatient
  mode:
    v: target
rule:
  name:
    v: Human Name
  source:
    context:
      v: src
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: name
    variable:
      v: humanName
    transform:
      v: create
    parameter:
      value: string
        v: HumanName
  dependent:
    name:
      v: ExtractHumanName
    variable:
      v: src
    variable:
      v: humanName
rule:
  name:
    v: Human Name Std
  source:
    context:
      v: src
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: name
    variable:
      v: humanNameStd
    transform:
      v: create
    parameter:
      value: string
        v: HumanName
  dependent:
    name:
      v: ExtractStandardizedName
    variable:
      v: src
    variable:
      v: humanNameStd

name:
  v: ExtractHumanName
type mode:
  v: none
input:
  name:
    v: src
  type:
    v: PersonName
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: HumanName
  mode:
    v: target
rule:
  name:
    v: Given Name
  source:
    context:
      v: src
    element:
      v: gn
    variable:
      v: givenName
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: given
    transform:
      v: copy
    parameter:
      value: id
        v: givenName
rule:
  name:
    v: Family Name
  source:
    context:
      v: src
    element:
      v: fn
    variable:
      v: familyName
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: family
    transform:
      v: copy
    parameter:
      value: id
        v: familyName
rule:
  name:
    v: Use
  source:
    context:
      v: src
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: use
    transform:
      v: copy
    parameter:
      value: string
        v: official

name:
  v: ExtractStandardizedName
type mode:
  v: none
input:
  name:
    v: src
  type:
    v: PersonName
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: HumanName
  mode:
    v: target
rule:
  name:
    v: Given Name Std
  source:
    context:
      v: src
    element:
      v: gnt
    variable:
      v: givenName
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: given
    transform:
      v: copy
    parameter:
      value: id
        v: givenName
rule:
  name:
    v: Family Name Std
  source:
    context:
      v: src
    element:
      v: fnt
    variable:
      v: familyName
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: family
    transform:
      v: copy
    parameter:
      value: id
        v: familyName
rule:
  name:
    v: Use Std
  source:
    context:
      v: src
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: use
    transform:
      v: copy
    parameter:
      value: string
        v: official

name:
  v: ExtractComposition
type mode:
  v: none
input:
  name:
    v: src
  type:
    v: CWT
  mode:
    v: source
input:
  name:
    v: composition
  type:
    v: Composition
  mode:
    v: target
rule:
  name:
    v: Title
  source:
    context:
      v: src
  target:
    context:
      v: composition
    context type:
      v: variable
    element:
      v: title
    transform:
      v: copy
    parameter:
      value: string
        v: International Certificate of Vaccination or Prophylaxis
rule:
  name:
    v: set category
  source:
    context:
      v: src
  target:
    context:
      v: composition
    context type:
      v: variable
    element:
      v: category
    variable:
      v: category
  target:
    context:
      v: category
    context type:
      v: variable
    element:
      v: coding
    variable:
      v: coding
  rule:
    name:
      v: Category
    source:
      context:
        v: src
    target:
      context:
        v: coding
      context type:
        v: variable
      element:
        v: code
      transform:
        v: copy
      parameter:
        value: string
rule:
  name:
    v: set type
  source:
    context:
      v: src
  target:
    context:
      v: composition
    context type:
      v: variable
    element:
      v: type
    variable:
      v: type
  target:
    context:
      v: type
    context type:
      v: variable
    element:
      v: coding
    variable:
      v: coding
  rule:
    name:
      v: set type coding
    source:
      context:
        v: src
    target:
      context:
        v: coding
      context type:
        v: variable
      element:
        v: system
      transform:
        v: copy
      parameter:
        value: string
    target:
      context:
        v: coding
      context type:
        v: variable
      element:
        v: code
      transform:
        v: copy
      parameter:
        value: string
    target:
      context:
        v: coding
      context type:
        v: variable
      element:
        v: display
      transform:
        v: copy
      parameter:
        value: string
rule:
  name:
    v: Extract Period
  source:
    context:
      v: src
  target:
    context:
      v: composition
    context type:
      v: variable
    element:
      v: event
    variable:
      v: event
  target:
    context:
      v: event
    context type:
      v: variable
    element:
      v: period
    variable:
      v: period
    transform:
      v: create
    parameter:
      value: string
        v: Period
  dependent:
    name:
      v: ExtractPeriod
    variable:
      v: src
    variable:
      v: period

string
v: ddcc-vs

string
v: 82593-5

string
v: Immunization summary report

name:
  v: ExtractPeriod
type mode:
  v: none
input:
  name:
    v: src
  type:
    v: CWT
  mode:
    v: source
input:
  name:
    v: tgt
  type:
    v: Period
  mode:
    v: target
rule:
  name:
    v: Start notBefore
  source:
    context:
      v: src
    element:
      v: nbf
    variable:
      v: nbf
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: start
    transform:
      v: copy
    parameter:
      value: id
        v: nbf
rule:
  name:
    v: Start issuedAt
  source:
    context:
      v: src
    element:
      v: iat
    variable:
      v: iat
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: start
    transform:
      v: copy
    parameter:
      value: id
        v: iat
rule:
  name:
    v: End expiration
  source:
    context:
      v: src
    element:
      v: exp
    variable:
      v: exp
  target:
    context:
      v: tgt
    context type:
      v: variable
    element:
      v: end
    transform:
      v: copy
    parameter:
      value: id
        v: exp