StructureMap-Ingredient5to4B

Sourcehl7.fhir.uv.extensions.r4#1.0.0:FHIR Extensions Pack (v4.0.1)
resourceTypeStructureMap
idIngredient5to4B
canonicalhttp://hl7.org/fhir/StructureMap/Ingredient5to4B
version1.0.0
statusactive
publisherHL7 International / FHIR Infrastructure
nameIngredient5to4B
titleFML Conversion for Ingredient: R5 to R4B
date2023-03-26T08:47:34+11:00
descriptionFMLConversionforIngredientR5toR4B
jurisdictionsuv
Usages(none)

    
/// url = 
    
    'http://hl7.org/fhir/StructureMap/Ingredient5to4B'

    
/// name = 
    
    'Ingredient5to4B'

    
/// title = 
    
    'FML Conversion for Ingredient: R5 to R4B'

    
/// status = 
    
    'active'


    conceptmap
     "
IngredientManufacturerRole    " {

      prefix 
s     = "
    http://hl7.org/fhir/ingredient-manufacturer-role
    "

      prefix 
t     = "
http://hl7.org/fhir/4.3/ingredient-manufacturer-role    "


  s    :
allowed     -
 t    :
allowed
  s    :
possible     -
 t    :
possible
  s    :
actual     -
 t    :
actual
    }


    conceptmap
     "
PublicationStatus    " {

      prefix 
s     = "
    http://hl7.org/fhir/publication-status
    "

      prefix 
t     = "
http://hl7.org/fhir/4.3/publication-status    "


  s    :
draft     -
 t    :
draft
  s    :
active     -
 t    :
active
  s    :
retired     -
 t    :
retired
  s    :
unknown     -
 t    :
unknown
    }


    uses
     "
    http://hl7.org/fhir/StructureDefinition/Ingredient
    " 
    alias 
IngredientR5     as 
    source

    uses
     "
http://hl7.org/fhir/4.3/StructureDefinition/Ingredient    " 
    alias 
IngredientR4B     as 
    target


    imports
     "
http://hl7.org/fhir/StructureMap/*5to4B    "


    group 
Ingredient    (
    source
     src
     : 
IngredientR5,     target
     tgt
     : 
IngredientR4B    )
     extends 
DomainResource     <<type+>>
     {

  src.identifier    
 ->     
tgt.identifier    ;

  src.status     as 
    v
    
 ->     
tgt.status =     translate
    (
    v
    , 
    '#PublicationStatus'
    , 
    'code'
    )
    ;

  src.for    
 ->     
tgt.for    ;

  src.role    
 ->     
tgt.role    ;

  src.function    
 ->     
tgt.function    ;

  src.allergenicIndicator    
 ->     
tgt.allergenicIndicator    ;
     // 
    src.group -> tgt.group;

  src.manufacturer     as 
    s
    
 ->     
tgt.manufacturer     as 
    t
     then 
IngredientManufacturer    (
    s
    , 
    t
    )
    ;
     // 
    src.comment -> tgt.comment;

  src.substance     as 
    s
    
 ->     
tgt.substance     as 
    t
     then 
IngredientSubstance    (
    s
    , 
    t
    )
    ;

    }


    group 
IngredientManufacturer    (
    source
     src
,     target
     tgt
    )
     extends 
BackboneElement     {

  src.role     as 
    v
    
 ->     
tgt.role =     translate
    (
    v
    , 
    '#IngredientManufacturerRole'
    , 
    'code'
    )
    ;

  src.manufacturer    
 ->     
tgt.manufacturer    ;

    }


    group 
IngredientSubstance    (
    source
     src
,     target
     tgt
    )
     extends 
BackboneElement     {

  src.code    
 ->     
tgt.code    ;

  src.strength     as 
    s
    
 ->     
tgt.strength     as 
    t
     then 
IngredientSubstanceStrength    (
    s
    , 
    t
    )
    ;

    }


    group 
IngredientSubstanceStrength    (
    source
     src
,     target
     tgt
    )
     extends 
BackboneElement     {

  src.presentation     : 
Ratio    
 ->     
tgt.presentation    ;

  src.presentation     : 
RatioRange    
 ->     
tgt.presentation    ;

  src.textPresentation    
 ->     
tgt.textPresentation    ;
     // 
    src.presentation : CodeableConcept -> tgt.presentation;

  src.concentration     : 
Ratio    
 ->     
tgt.concentration    ;

  src.concentration     : 
RatioRange    
 ->     
tgt.concentration    ;

  src.textConcentration    
 ->     
tgt.textConcentration    ;
     // 
    src.concentration : CodeableConcept -> tgt.concentration;

  src.measurementPoint    
 ->     
tgt.measurementPoint    ;
     // 
    src.basis -> tgt.basis;

  src.country    
 ->     
tgt.country    ;

  src.referenceStrength     as 
    s
    
 ->     
tgt.referenceStrength     as 
    t
     then 
IngredientSubstanceStrengthReferenceStrength    (
    s
    , 
    t
    )
    ;

    }


    group 
IngredientSubstanceStrengthReferenceStrength    (
    source
     src
,     target
     tgt
    )
     extends 
BackboneElement     {

  src.substance    
 ->     
tgt.substance    ;

  src.strength     : 
Ratio    
 ->     
tgt.strength    ;

  src.strength     : 
RatioRange    
 ->     
tgt.strength    ;

  src.measurementPoint    
 ->     
tgt.measurementPoint    ;
     // 
    src.strength : Quantity -> tgt.strength;

  src.country    
 ->     
tgt.country    ;

    }


  

Produced 06 Apr 2023