R4 Ballot #1 #2 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (v3.3.0: (v3.5.0: R4 Ballot 2). #2). The current version which supercedes this version is 5.0.0 . For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

Security Work Group Maturity Level : N/A Ballot Status : Informative Compartments : Device , Patient , Practitioner

R2 : R3 : R4 Conversion maps for AuditEvent.

Functional status for this map: 8 tests that all of which 8 fail to execute ok. All tests pass round-trip testing and all r3 resources are valid. . ( see documentation)

map "http://hl7.org/fhir/StructureMap/AuditEvent2to3" = "R2 to R3 Conversions for AuditEvent"

map "http://hl7.org/fhir/StructureMap/AuditEvent3to4" = "R3 to R4 Conversions for AuditEvent"



uses "http://hl7.org/fhir/DSTU2/StructureDefinition/AuditEvent" alias  AuditEventR2 as source
uses "http://hl7.org/fhir/StructureDefinition/AuditEvent" alias  AuditEvent as target

uses "http://hl7.org/fhir/3.0/StructureDefinition/AuditEvent" alias AuditEventR3 as source
uses "http://hl7.org/fhir/StructureDefinition/AuditEvent" alias AuditEvent as target


imports "http://hl7.org/fhir/StructureMap/*2to3"

imports "http://hl7.org/fhir/StructureMap/*3to4"


group for type+types  AuditEvent extends DomainResource
  input src : AuditEventR2 as source



group AuditEvent extends DomainResource
  input src : AuditEventR3 as source

  input tgt : AuditEvent as target

  "AuditEvent-event" : for src.event as ev then {
     "AuditEvent-type" : for ev.type make tgt.type
     "AuditEvent-subtype" : for ev.subtype make tgt.subtype
     "AuditEvent-action" : for ev.action make tgt.action
     "AuditEvent-recorded" : for ev.dateTime make tgt.recorded
     "AuditEvent-outcome" : for ev.outcome make tgt.outcome
     "AuditEvent-outcomeDesc" : for ev.outcomeDesc make tgt.outcomeDesc
     "AuditEvent-purposeOfEvent" : for ev.purposeOfEvent make tgt.purposeOfEvent
  }
  "AuditEvent-agent" : for src.participant as vs0 make tgt.agent as vt0 then agent(vs0, vt0) 
  "AuditEvent-source" : for src.source as vs0 make tgt.source as vt0 then source (vs0, vt0)
  "AuditEvent-entity" : for src.object as vs0 make tgt.entity as vt0 then entity (vs0, vt0)

  "AuditEvent.type": for src.type make tgt.type
  "AuditEvent.subtype": for src.subtype make tgt.subtype
  "AuditEvent.action": for src.action make tgt.action
  "AuditEvent.period": for src.period make tgt.period
  "AuditEvent.recorded": for src.recorded make tgt.recorded
  "AuditEvent.outcome": for src.outcome make tgt.outcome
  "AuditEvent.outcomeDesc": for src.outcomeDesc make tgt.outcomeDesc
  "AuditEvent.purposeOfEvent": for src.purposeOfEvent make tgt.purposeOfEvent
  "AuditEvent.agent": for src.agent as s make tgt.agent as t then AuditEventAgent(s,t)
  "AuditEvent.source": for src.source as s make tgt.source as t then AuditEventSource(s,t)
  "AuditEvent.entity": for src.entity as s make tgt.entity as t then AuditEventEntity(s,t)

endgroup

group agent extends BackboneElement
  input src as source
  input tgt as target


  "AuditEvent.agent-role" : for src.role make tgt.role
  "AuditEvent.agent-reference" : for src.reference make tgt.reference
  "AuditEvent.agent-userId" : for src.userId make tgt.userId
  "AuditEvent.agent-altId" : for src.altId make tgt.altId
  "AuditEvent.agent-name" : for src.name make tgt.name
  "AuditEvent.agent-requestor" : for src.requestor make tgt.requestor
  "AuditEvent.agent-location" : for src.location make tgt.location
  "AuditEvent.agent-policy" : for src.policy make tgt.policy
  "AuditEvent.agent-media" : for src.media make tgt.media
  "AuditEvent.agent-network" : for src.network as vs make tgt.network as vt then network(vs, vt)
  "AuditEvent-purposeOfUse" : for src.purposeOfUse make tgt.purposeOfUse

group AuditEventAgent extends BackboneElement
  input src : AuditEventR3 as source
  input tgt : AuditEvent as target

  "AuditEvent.agent.type": for src.type make tgt.type
  "AuditEvent.agent.role": for src.role make tgt.role
  "AuditEvent.agent.who": for src.who make tgt.who
  "AuditEvent.agent.altId": for src.altId make tgt.altId
  "AuditEvent.agent.name": for src.name make tgt.name
  "AuditEvent.agent.requestor": for src.requestor make tgt.requestor
  "AuditEvent.agent.location": for src.location make tgt.location
  "AuditEvent.agent.policy": for src.policy make tgt.policy
  "AuditEvent.agent.media": for src.media make tgt.media
  "AuditEvent.agent.network": for src.network as s make tgt.network as t then AuditEventAgentNetwork(s,t)
  "AuditEvent.agent.purposeOfUse": for src.purposeOfUse make tgt.purposeOfUse

endgroup

group network extends BackboneElement
  input src as source
  input tgt as target
  "AuditEvent.agent.network-address" : for src.address make tgt.address
  "AuditEvent.agent.network-type" : for src.type make tgt.type


group AuditEventAgentNetwork extends BackboneElement
  input src : AuditEventR3 as source
  input tgt : AuditEvent as target

  "AuditEvent.agent.network.address": for src.address make tgt.address
  "AuditEvent.agent.network.type": for src.type make tgt.type

endgroup

group source extends BackboneElement
  input src as source
  input tgt as target
  "AuditEvent.source-site" : for src.site make tgt.site
  "AuditEvent.source-identifier" : for src.identifier make tgt.identifier
  "AuditEvent.source-type" : for src.type make tgt.type


group AuditEventSource extends BackboneElement
  input src : AuditEventR3 as source
  input tgt : AuditEvent as target

  "AuditEvent.source.site": for src.site make tgt.site
  "AuditEvent.source.observer": for src.observer make tgt.observer
  "AuditEvent.source.type": for src.type make tgt.type

endgroup

group entity extends BackboneElement
  input src as source
  input tgt as target
  "AuditEvent.entity-identifier" : for src.identifier make tgt.identifier
  "AuditEvent.entity-reference" : for src.reference make tgt.reference
  "AuditEvent.entity-type" : for src.type make tgt.type
  "AuditEvent.entity-role" : for src.role make tgt.role
  "AuditEvent.entity-lifecycle" : for src.lifecycle make tgt.lifecycle
  "AuditEvent.entity-securityLabel" : for src.securityLabel make tgt.securityLabel
  "AuditEvent.entity-name" : for src.name make tgt.name
  "AuditEvent.entity-description" : for src.description make tgt.description
  "AuditEvent.entity-query" : for src.query make tgt.query
  "AuditEvent.entity-detail" : for src.detail as vs make tgt.detail as vt then detail(vs, vt)


group AuditEventEntity extends BackboneElement
  input src : AuditEventR3 as source
  input tgt : AuditEvent as target

  "AuditEvent.entity.what": for src.what make tgt.what
  "AuditEvent.entity.type": for src.type make tgt.type
  "AuditEvent.entity.role": for src.role make tgt.role
  "AuditEvent.entity.lifecycle": for src.lifecycle make tgt.lifecycle
  "AuditEvent.entity.securityLabel": for src.securityLabel make tgt.securityLabel
  "AuditEvent.entity.name": for src.name make tgt.name
  "AuditEvent.entity.description": for src.description make tgt.description
  "AuditEvent.entity.query": for src.query make tgt.query
  "AuditEvent.entity.detail": for src.detail as s make tgt.detail as t then AuditEventEntityDetail(s,t)

endgroup

group detail extends BackboneElement
  input src as source
  input tgt as target
  "AuditEvent.entity.detail-type" : for src.type make tgt.type
  "AuditEvent.entity.value-type" : for src.value make tgt.value


group AuditEventEntityDetail extends BackboneElement
  input src : AuditEventR3 as source
  input tgt : AuditEvent as target

  "AuditEvent.entity.detail.type": for src.type make tgt.type
  "AuditEvent.entity.detail.value": for src.value make tgt.value

endgroup



map "http://hl7.org/fhir/StructureMap/AuditEvent3to2" = "R3 to R2 Conversions for AuditEvent"

map "http://hl7.org/fhir/StructureMap/AuditEvent4to3" = "R4 to R3 Conversion for AuditEvent"


uses "http://hl7.org/fhir/StructureDefinition/AuditEvent" alias  AuditEvent as source
uses "http://hl7.org/fhir/DSTU2/StructureDefinition/AuditEvent" alias  AuditEventR2 as target


imports "http://hl7.org/fhir/StructureMap/*3to2"

uses "http://hl7.org/fhir/StructureDefinition/AuditEvent" alias AuditEvent as source
uses "http://hl7.org/fhir/3.0/StructureDefinition/AuditEvent" alias AuditEventR3 as target


group for type+types AuditEvent extends DomainResource
  input src : AuditEvent as source
  input tgt : AuditEventR2 as target

imports "http://hl7.org/fhir/StructureMap/*4to3"


  "AuditEvent-event" : for src make tgt.event as ev then {
     "AuditEvent-type" : for src.type make ev.type
     "AuditEvent-subtype" : for src.subtype make ev.subtype
     "AuditEvent-action" : for src.action make ev.action
     "AuditEvent-recorded" : for src.recorded make ev.dateTime
     "AuditEvent-outcome" : for src.outcome make ev.outcome
     "AuditEvent-outcomeDesc" : for src.outcomeDesc make ev.outcomeDesc
     "AuditEvent-purposeOfEvent" : for src.purposeOfEvent make ev.purposeOfEvent
  }
  "AuditEvent-agent" : for src.agent as vs0 make tgt.participant as vt0 then agent(vs0, vt0) 
  "AuditEvent-source" : for src.source as vs0 make tgt.source as vt0 then source (vs0, vt0)
  "AuditEvent-entity" : for src.entity as vs0 make tgt.object as vt0 then entity (vs0, vt0)



group AuditEvent extends DomainResource
  input src : AuditEventR3 as source
  input tgt : AuditEvent as target

  "AuditEvent.type": for src.type make tgt.type
  "AuditEvent.subtype": for src.subtype make tgt.subtype
  "AuditEvent.action": for src.action make tgt.action
  "AuditEvent.period": for src.period make tgt.period
  "AuditEvent.recorded": for src.recorded make tgt.recorded
  "AuditEvent.outcome": for src.outcome make tgt.outcome
  "AuditEvent.outcomeDesc": for src.outcomeDesc make tgt.outcomeDesc
  "AuditEvent.purposeOfEvent": for src.purposeOfEvent make tgt.purposeOfEvent
  "AuditEvent.agent": for src.agent as s make tgt.agent as t then AuditEventAgent(s,t)
  "AuditEvent.source": for src.source as s make tgt.source as t then AuditEventSource(s,t)
  "AuditEvent.entity": for src.entity as s make tgt.entity as t then AuditEventEntity(s,t)

endgroup

group agent extends BackboneElement
  input src as source
  input tgt as target

group AuditEventAgent extends BackboneElement
  input src : AuditEventR3 as source
  input tgt : AuditEvent as target


  "AuditEvent.agent-role" : for src.role make tgt.role
  "AuditEvent.agent-reference" : for src.reference make tgt.reference
  "AuditEvent.agent-userId" : for src.userId make tgt.userId
  "AuditEvent.agent-altId" : for src.altId make tgt.altId
  "AuditEvent.agent-name" : for src.name make tgt.name
  "AuditEvent.agent-requestor" : for src.requestor make tgt.requestor
  "AuditEvent.agent-location" : for src.location make tgt.location
  "AuditEvent.agent-policy" : for src.policy make tgt.policy
  "AuditEvent.agent-media" : for src.media make tgt.media
  "AuditEvent.agent-network" : for src.network as vs make tgt.network as vt then network(vs, vt)
  "AuditEvent-purposeOfUse" : for src.purposeOfUse make tgt.purposeOfUse

  "AuditEvent.agent.type": for src.type make tgt.type
  "AuditEvent.agent.role": for src.role make tgt.role
  "AuditEvent.agent.who": for src.who make tgt.who
  "AuditEvent.agent.altId": for src.altId make tgt.altId
  "AuditEvent.agent.name": for src.name make tgt.name
  "AuditEvent.agent.requestor": for src.requestor make tgt.requestor
  "AuditEvent.agent.location": for src.location make tgt.location
  "AuditEvent.agent.policy": for src.policy make tgt.policy
  "AuditEvent.agent.media": for src.media make tgt.media
  "AuditEvent.agent.network": for src.network as s make tgt.network as t then AuditEventAgentNetwork(s,t)
  "AuditEvent.agent.purposeOfUse": for src.purposeOfUse make tgt.purposeOfUse

endgroup

group network extends BackboneElement
  input src as source
  input tgt as target
  "AuditEvent.agent.network-address" : for src.address make tgt.address
  "AuditEvent.agent.network-type" : for src.type make tgt.type

group AuditEventAgentNetwork extends BackboneElement
  input src : AuditEventR3 as source
  input tgt : AuditEvent as target

  "AuditEvent.agent.network.address": for src.address make tgt.address
  "AuditEvent.agent.network.type": for src.type make tgt.type

endgroup

group source extends BackboneElement
  input src as source
  input tgt as target
  "AuditEvent.source-site" : for src.site make tgt.site
  "AuditEvent.source-identifier" : for src.identifier make tgt.identifier
  "AuditEvent.source-type" : for src.type make tgt.type

group AuditEventSource extends BackboneElement
  input src : AuditEventR3 as source
  input tgt : AuditEvent as target

  "AuditEvent.source.site": for src.site make tgt.site
  "AuditEvent.source.observer": for src.observer make tgt.observer
  "AuditEvent.source.type": for src.type make tgt.type

endgroup

group entity extends BackboneElement
  input src as source
  input tgt as target
  "AuditEvent.entity-identifier" : for src.identifier make tgt.identifier
  "AuditEvent.entity-reference" : for src.reference make tgt.reference
  "AuditEvent.entity-type" : for src.type make tgt.type
  "AuditEvent.entity-role" : for src.role make tgt.role
  "AuditEvent.entity-lifecycle" : for src.lifecycle make tgt.lifecycle
  "AuditEvent.entity-securityLabel" : for src.securityLabel make tgt.securityLabel
  "AuditEvent.entity-name" : for src.name make tgt.name
  "AuditEvent.entity-description" : for src.description make tgt.description
  "AuditEvent.entity-query" : for src.query make tgt.query
  "AuditEvent.entity-detail" : for src.detail as vs make tgt.detail as vt then detail(vs, vt)

group AuditEventEntity extends BackboneElement
  input src : AuditEventR3 as source
  input tgt : AuditEvent as target

  "AuditEvent.entity.what": for src.what make tgt.what
  "AuditEvent.entity.type": for src.type make tgt.type
  "AuditEvent.entity.role": for src.role make tgt.role
  "AuditEvent.entity.lifecycle": for src.lifecycle make tgt.lifecycle
  "AuditEvent.entity.securityLabel": for src.securityLabel make tgt.securityLabel
  "AuditEvent.entity.name": for src.name make tgt.name
  "AuditEvent.entity.description": for src.description make tgt.description
  "AuditEvent.entity.query": for src.query make tgt.query
  "AuditEvent.entity.detail": for src.detail as s make tgt.detail as t then AuditEventEntityDetail(s,t)

endgroup

group detail extends BackboneElement
  input src as source
  input tgt as target
  "AuditEvent.entity.detail-type" : for src.type make tgt.type
  "AuditEvent.entity.value-type" : for src.value make tgt.value

group AuditEventEntityDetail extends BackboneElement
  input src : AuditEventR3 as source
  input tgt : AuditEvent as target

  "AuditEvent.entity.detail.type": for src.type make tgt.type
  "AuditEvent.entity.detail.value": for src.value make tgt.value

endgroup