FHIR © HL7.org  |  Server Home  |  XIG Home  |  XIG Stats  |  Server Source  |  FHIR  

FHIR IG Statistics: StructureMap/Communication4to3

Packagehl7.fhir.uv.xver
Resource TypeStructureMap
IdCommunication4to3
FHIR VersionR5
Sourcehttp://hl7.org/fhir/extensions/https://build.fhir.org/ig/HL7/fhir-cross-version/StructureMap-Communication4to3.html
URLhttp://hl7.org/fhir/StructureMap/Communication4to3
Version0.1.0
Statusactive
Date2024-02-22T03:16:50+00:00
NameCommunication4to3
TitleR4 to R3 Conversion for Communication
Realmuv
Authorityhl7
DescriptionR4toR3ConversionforCommunication

Resources that use this resource

No resources found


Resources that this resource uses

No resources found


Narrative

Note: links and images are rebased to the (stated) source

/// url = 'http://hl7.org/fhir/StructureMap/Communication4to3'
/// name = 'Communication4to3'
/// title = 'R4 to R3 Conversion for Communication'
/// status = 'active'

uses "http://hl7.org/fhir/4.0/Communication" alias Communication as source
uses "http://hl7.org/fhir/3.0/Communication" alias CommunicationR3 as target

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

group Communication(source src : CommunicationR3, target tgt : Communication) extends DomainResource <<type+>> {
  src.identifier -> tgt.identifier;
  src.instantiatesCanonical -> tgt.definition;
  src.basedOn -> tgt.basedOn;
  src.partOf -> tgt.partOf;
  src.status where value != 'not-done' -> tgt.status;
  src.status as v where value = 'not-done' ->  tgt.status = 'completed',  tgt.notDone = v;
  src.statusReason where src.status = 'not-done' -> tgt.notDoneReason;
  src.category -> tgt.category;
  src.medium -> tgt.medium;
  src.subject -> tgt.subject;
  src.recipient -> tgt.recipient;
  src.extension as e where url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-Communication.topic' then {
    e.value -> tgt.topic;
  };
  src.encounter -> tgt.context;
  src.sent -> tgt.sent;
  src.received -> tgt.received;
  src.sender -> tgt.sender;
  src.reasonCode -> tgt.reasonCode;
  src.reasonReference -> tgt.reasonReference;
  src.payload as s -> tgt.payload as t then payload(s, t);
  src.note -> tgt.note;
}

group payload(source src, target tgt) extends BackboneElement {
  src.content : string as s -> tgt.content = create('string') as t then string(s, t);
  src.content : Attachment as s -> tgt.content = create('Attachment') as t then Attachment(s, t);
  src.content : Reference as s -> tgt.content = create('Reference') as t then Reference(s, t);
}


Source

{
  "resourceType": "StructureMap",
  "id": "Communication4to3",
  "text": {
    "status": "generated",
    "div": "<!-- snip (see above) -->"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode": "fhir"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger": 1,
      "_valueInteger": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
            "valueCanonical": "http://hl7.org/fhir/extensions/ImplementationGuide/hl7.fhir.uv.xver"
          }
        ]
      }
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
      "valueCode": "draft",
      "_valueCode": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
            "valueCanonical": "http://hl7.org/fhir/extensions/ImplementationGuide/hl7.fhir.uv.xver"
          }
        ]
      }
    }
  ],
  "url": "http://hl7.org/fhir/StructureMap/Communication4to3",
  "version": "0.1.0",
  "name": "Communication4to3",
  "title": "R4 to R3 Conversion for Communication",
  "status": "active",
  "date": "2024-02-22T03:16:50+00:00",
  "publisher": "HL7 International / FHIR Infrastructure",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://www.hl7.org/Special/committees/fiwg"
        }
      ]
    }
  ],
  "description": "R4toR3ConversionforCommunication",
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code": "001"
        }
      ]
    }
  ],
  "structure": [
    {
      "url": "http://hl7.org/fhir/4.0/Communication",
      "mode": "source",
      "alias": "Communication"
    },
    {
      "url": "http://hl7.org/fhir/3.0/Communication",
      "mode": "target",
      "alias": "CommunicationR3"
    }
  ],
  "import": [
    "http://hl7.org/fhir/StructureMap/*4to3"
  ],
  "group": [
    {
      "name": "Communication",
      "extends": "DomainResource",
      "typeMode": "type-and-types",
      "input": [
        {
          "name": "src",
          "type": "CommunicationR3",
          "mode": "source"
        },
        {
          "name": "tgt",
          "type": "Communication",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "identifier",
          "source": [
            {
              "context": "src",
              "element": "identifier",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "identifier",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "instantiatesCanonical",
          "source": [
            {
              "context": "src",
              "element": "instantiatesCanonical",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "definition",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "basedOn",
          "source": [
            {
              "context": "src",
              "element": "basedOn",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "basedOn",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "partOf",
          "source": [
            {
              "context": "src",
              "element": "partOf",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "partOf",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "status",
          "source": [
            {
              "context": "src",
              "element": "status",
              "variable": "vvv",
              "condition": "value != 'not-done'"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "status",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "status",
          "source": [
            {
              "context": "src",
              "element": "status",
              "variable": "v",
              "condition": "value = 'not-done'"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "status",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "completed"
                }
              ]
            },
            {
              "context": "tgt",
              "element": "notDone",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "v"
                }
              ]
            }
          ]
        },
        {
          "name": "statusReason",
          "source": [
            {
              "context": "src",
              "element": "statusReason",
              "variable": "vvv",
              "condition": "src.status = 'not-done'"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "notDoneReason",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "category",
          "source": [
            {
              "context": "src",
              "element": "category",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "category",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "medium",
          "source": [
            {
              "context": "src",
              "element": "medium",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "medium",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "subject",
          "source": [
            {
              "context": "src",
              "element": "subject",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "subject",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "recipient",
          "source": [
            {
              "context": "src",
              "element": "recipient",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "recipient",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "extension",
          "source": [
            {
              "context": "src",
              "element": "extension",
              "variable": "e",
              "condition": "url = 'http://hl7.org/fhir/3.0/StructureDefinition/extension-Communication.topic'"
            }
          ],
          "rule": [
            {
              "name": "value",
              "source": [
                {
                  "context": "e",
                  "element": "value",
                  "variable": "vvv"
                }
              ],
              "target": [
                {
                  "context": "tgt",
                  "element": "topic",
                  "variable": "vvv",
                  "transform": "create"
                }
              ],
              "dependent": [
                {
                  "name": "DefaultMappingGroupAnonymousAlias",
                  "parameter": [
                    {
                      "valueId": "vvv"
                    },
                    {
                      "valueId": "vvv"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "encounter",
          "source": [
            {
              "context": "src",
              "element": "encounter",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "context",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "sent",
          "source": [
            {
              "context": "src",
              "element": "sent",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "sent",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "received",
          "source": [
            {
              "context": "src",
              "element": "received",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "received",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "sender",
          "source": [
            {
              "context": "src",
              "element": "sender",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "sender",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "reasonCode",
          "source": [
            {
              "context": "src",
              "element": "reasonCode",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "reasonCode",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "reasonReference",
          "source": [
            {
              "context": "src",
              "element": "reasonReference",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "reasonReference",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "payload",
          "source": [
            {
              "context": "src",
              "element": "payload",
              "variable": "s"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "payload",
              "variable": "t"
            }
          ],
          "dependent": [
            {
              "name": "payload",
              "parameter": [
                {
                  "valueId": "s"
                },
                {
                  "valueId": "t"
                }
              ]
            }
          ]
        },
        {
          "name": "note",
          "source": [
            {
              "context": "src",
              "element": "note",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "note",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "payload",
      "extends": "BackboneElement",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "tgt",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "contentString",
          "source": [
            {
              "context": "src",
              "type": "string",
              "element": "content",
              "variable": "s"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "content",
              "variable": "t",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "string"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "string",
              "parameter": [
                {
                  "valueId": "s"
                },
                {
                  "valueId": "t"
                }
              ]
            }
          ]
        },
        {
          "name": "contentAttachment",
          "source": [
            {
              "context": "src",
              "type": "Attachment",
              "element": "content",
              "variable": "s"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "content",
              "variable": "t",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Attachment"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "Attachment",
              "parameter": [
                {
                  "valueId": "s"
                },
                {
                  "valueId": "t"
                }
              ]
            }
          ]
        },
        {
          "name": "contentReference",
          "source": [
            {
              "context": "src",
              "type": "Reference",
              "element": "content",
              "variable": "s"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "content",
              "variable": "t",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Reference"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "Reference",
              "parameter": [
                {
                  "valueId": "s"
                },
                {
                  "valueId": "t"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}