FHIR Release 3 (STU) R4 Ballot #1 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (v3.0.2: STU 3). (v3.3.0: R4 Ballot 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

Patient Care Work Group Maturity Level : N/A Ballot Status : Informative Compartments : Encounter , Patient , Practitioner , RelatedPerson

R2 : R3 Converson Conversion maps for Condition.

Functional status for this map: 14 tests that all execute ok. 11 fail round-trip testing and 14 r3 resources are invalid (14 errors). ( see documentation)

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

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


conceptmap "ConditionClinicalStatus" {
  prefix s = "http://hl7.org/fhir/devicestatus"
  prefix t = "http://hl7.org/fhir/devicestatus"

conceptmap "ConditionClinicalStatus" {
  prefix s = "http://hl7.org/fhir/ValueSet/condition-clinical"
  prefix t = "http://hl7.org/fhir/ValueSet/condition-clinical"


  s:available	 = t:active 
  s:inactive = t:"not-available"
  s:"entered-in-error" = t:"entered-in-error"

  unmapped for s = provided
  
  s:relapse	= t:recurrence

}


uses "http://hl7.org/fhir/DSTU2/StructureDefinition/Condition" alias ConditionR2 as source
uses "http://hl7.org/fhir/StructureDefinition/Condition" alias Condition as target

uses "http://hl7.org/fhir/DSTU2/StructureDefinition/Condition" alias ConditionR2 as source
uses "http://hl7.org/fhir/StructureDefinition/Condition" alias Condition as target


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

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


group for type+types  Condition extends DomainResource
  input src : ConditionR2 as source
  input tgt : Condition as target

  "Condition-identifier" : for src.identifier make tgt.identifier
  "Condition-patient" : for src.patient make tgt.subject
  "Condition-encounter" : for src.encounter make tgt.context
  "Condition-asserter" : for src.asserter make tgt.asserter
  "Condition-dateRecorded" : for src.dateRecorded make tgt.assertedDate
  "Condition-code" : for src.code make tgt.code
  "Condition-category" : for src.category make tgt.category
  "Condition-clinicalStatus" : for src.clinicalStatus as v make tgt.clinicalStatus = translate(v, "#ConditionClinicalStatus", "code")
  "Condition-verificationStatus" : for src.verificationStatus make tgt.verificationStatus
  "Condition-severity" : for src.severity make tgt.severity
  "Condition-onset" : for src.onset make tgt.onset
  "Condition-abatement" : for src.abatement make tgt.abatement
  "Condition-stage" : for src.stage as vs0 make tgt.stage as vt0 then cndStage(vs0, vt0)
  "Condition-evidence" : for src.evidence as vs0 make tgt.evidence as vt0 then cndEvidence(vs0, vt0)
  "Condition-bodySite" : for src.bodySite make tgt.bodySite
  "Condition-notes" : for src.notes as v make tgt.note as n, n.text = v

  "Condition-identifier" : for src.identifier make tgt.identifier
  "Condition-patient" : for src.patient make tgt.subject
  "Condition-encounter" : for src.encounter make tgt.context
  "Condition-asserter" : for src.asserter make tgt.asserter
  "Condition-dateRecorded" : for src.dateRecorded make tgt.assertedDate
  "Condition-code" : for src.code make tgt.code
  "Condition-category" : for src.category make tgt.category
  "Condition-clinicalStatus" : for src.clinicalStatus as v make tgt.clinicalStatus = translate(v, "#ConditionClinicalStatus", "code")
  "Condition-verificationStatus" : for src.verificationStatus make tgt.verificationStatus
  "Condition-severity" : for src.severity make tgt.severity
  "Condition-onset" : for src.onset make tgt.onset
  "Condition-abatement" : for src.abatement make tgt.abatement
  "Condition-stage" : for src.stage as vs0 make tgt.stage as vt0 then cndStage(vs0, vt0)
  "Condition-evidence" : for src.evidence as vs0 make tgt.evidence as vt0 then cndEvidence(vs0, vt0)
  "Condition-bodySite" : for src.bodySite make tgt.bodySite
  "Condition-notes" : for src.notes as v make tgt.note as n, n.text = v

endgroup

group cndStage extends BackboneElement
  input src : ConditionR2 as source
  input tgt : Condition as target

  "Condition.stage-summary" : for src.summary make tgt.summary
  "Condition.stage-assessment" : for src.assessment make tgt.assessment

  "Condition.stage-summary" : for src.summary make tgt.summary
  "Condition.stage-assessment" : for src.assessment make tgt.assessment

endgroup

group cndEvidence extends BackboneElement
  input src : ConditionR2 as source
  input tgt : Condition as target

  "Condition.evidence-code" : for src.code make tgt.code
  "Condition.evidence-detail" : for src.detail make tgt.detail

  "Condition.evidence-code" : for src.code make tgt.code
  "Condition.evidence-detail" : for src.detail make tgt.detail

endgroup

map "http://hl7.org/fhir/StructureMap/Condition3to2" = "R3 to R2 Conversion for Condition"

map "http://hl7.org/fhir/StructureMap/Condition3to2" = "R3 to R2 Conversion for Condition"


conceptmap "ConditionClinicalStatus" {
  prefix s = "http://hl7.org/fhir/devicestatus"
  prefix t = "http://hl7.org/fhir/devicestatus"

conceptmap "ConditionClinicalStatus" {
  prefix s = "http://hl7.org/fhir/ValueSet/condition-clinical"
  prefix t = "http://hl7.org/fhir/ValueSet/condition-clinical"


  s:available	 = t:active 
  s:"not-available" = t:inactive
  s:"entered-in-error" = t:"entered-in-error"

  unmapped for s = provided
  
  s:recurrence = t:relapse

}


uses "http://hl7.org/fhir/StructureDefinition/Condition" alias Condition as source
uses "http://hl7.org/fhir/DSTU2/StructureDefinition/Condition" alias ConditionR2 as target

uses "http://hl7.org/fhir/StructureDefinition/Condition" alias Condition as source
uses "http://hl7.org/fhir/DSTU2/StructureDefinition/Condition" alias ConditionR2 as target


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

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


group for type+types  Condition extends DomainResource
  input src : Condition as source
  input tgt : ConditionR2 as target

  "Condition-identifier" : for src.identifier make tgt.identifier
  "Condition-patient" : for src.subject make tgt.patient
  "Condition-encounter" : for src.context make tgt.encounter
  "Condition-asserter" : for src.asserter make tgt.asserter
  "Condition-dateRecorded" : for src.assertedDate make tgt.dateRecorded
  "Condition-code" : for src.code make tgt.code
  "Condition-category" : for src.category make tgt.category
  "Condition-clinicalStatus" : for src.clinicalStatus as v check $this != 'inactive' make tgt.clinicalStatus = translate(v, "#ConditionClinicalStatus", "code")
  "Condition-verificationStatus" : for src.verificationStatus make tgt.verificationStatus
  "Condition-severity" : for src.severity make tgt.severity
  "Condition-onset" : for src.onset make tgt.onset
  "Condition-abatement" : for src.abatement make tgt.abatement
  "Condition-stage" : for src.stage as vs0 make tgt.stage as vt0 then cndStage(vs0, vt0)
  "Condition-evidence" : for src.evidence as vs0 make tgt.evidence as vt0 then cndEvidence(vs0, vt0)
  "Condition-bodySite" : for src.bodySite make tgt.bodySite
  "Condition-note" : for src.note as n then {
    "Condition.notes-text" : for n.text make tgt.notes

  "Condition-identifier" : for src.identifier make tgt.identifier
  "Condition-patient" : for src.subject make tgt.patient
  "Condition-encounter" : for src.context make tgt.encounter
  "Condition-asserter" : for src.asserter make tgt.asserter
  "Condition-dateRecorded" : for src.assertedDate make tgt.dateRecorded
  "Condition-code" : for src.code make tgt.code
  "Condition-category" : for src.category make tgt.category
  "Condition-clinicalStatus" : for src.clinicalStatus as v check $this != 'inactive' make tgt.clinicalStatus = translate(v, "#ConditionClinicalStatus", "code")
  "Condition-verificationStatus" : for src.verificationStatus make tgt.verificationStatus
  "Condition-severity" : for src.severity make tgt.severity
  "Condition-onset" : for src.onset make tgt.onset
  "Condition-abatement" : for src.abatement make tgt.abatement
  "Condition-stage" : for src.stage as vs0 make tgt.stage as vt0 then cndStage(vs0, vt0)
  "Condition-evidence" : for src.evidence as vs0 make tgt.evidence as vt0 then cndEvidence(vs0, vt0)
  "Condition-bodySite" : for src.bodySite make tgt.bodySite
  "Condition-note" : for src.note as n then {
    "Condition.notes-text" : for n.text make tgt.notes

  }
  
endgroup

group cndStage extends BackboneElement
  input src : ConditionR2 as source
  input tgt : Condition as target

  "Condition.stage-summary" : for src.summary make tgt.summary
  "Condition.stage-assessment" : for src.assessment make tgt.assessment

  "Condition.stage-summary" : for src.summary make tgt.summary
  "Condition.stage-assessment" : for src.assessment make tgt.assessment

endgroup

group cndEvidence extends BackboneElement
  input src : ConditionR2 as source
  input tgt : Condition as target

  "Condition.evidence-code" : for src.code make tgt.code
  "Condition.evidence-detail" : for src.detail make tgt.detail

  "Condition.evidence-code" : for src.code make tgt.code
  "Condition.evidence-detail" : for src.detail make tgt.detail

endgroup

cond-uslab-example1
  • ERROR @ Condition: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error [verificationStatus='entered-in-error' or clinicalStatus.exists()] (src = InstanceValidator)
cond-uslab-example2
  • ERROR @ Condition: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error [verificationStatus='entered-in-error' or clinicalStatus.exists()] (src = InstanceValidator)
condition-example
  • ERROR @ Condition: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error [verificationStatus='entered-in-error' or clinicalStatus.exists()] (src = InstanceValidator)
example
  • ERROR @ Condition: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error [verificationStatus='entered-in-error' or clinicalStatus.exists()] (src = InstanceValidator)
f001
  • ERROR @ Condition: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error [verificationStatus='entered-in-error' or clinicalStatus.exists()] (src = InstanceValidator)
f002
  • ERROR @ Condition: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error [verificationStatus='entered-in-error' or clinicalStatus.exists()] (src = InstanceValidator)
f003
  • ERROR @ Condition: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error [verificationStatus='entered-in-error' or clinicalStatus.exists()] (src = InstanceValidator)
f201
  • ERROR @ Condition: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error [verificationStatus='entered-in-error' or clinicalStatus.exists()] (src = InstanceValidator)
f202
  • ERROR @ Condition: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error [verificationStatus='entered-in-error' or clinicalStatus.exists()] (src = InstanceValidator)
f203
  • ERROR @ Condition: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error [verificationStatus='entered-in-error' or clinicalStatus.exists()] (src = InstanceValidator)
f204
  • ERROR @ Condition: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error [verificationStatus='entered-in-error' or clinicalStatus.exists()] (src = InstanceValidator)
f205
  • ERROR @ Condition: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error [verificationStatus='entered-in-error' or clinicalStatus.exists()] (src = InstanceValidator)
stroke
  • ERROR @ Condition: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error [verificationStatus='entered-in-error' or clinicalStatus.exists()] (src = InstanceValidator)
example2
  • ERROR @ Condition: Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error [verificationStatus='entered-in-error' or clinicalStatus.exists()] (src = InstanceValidator)