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

FHIR IG Statistics: StructureMap/ConsenttoSGHI5

Packagesilfhirprofileig
Resource TypeStructureMap
IdConsenttoSGHI5
FHIR VersionR5
Sourcehttps://fhir.slade360.co.ke/fhir/https://build.fhir.org/ig/savannahghi/sil_fhir_profile_ig/StructureMap-ConsenttoSGHI5.html
URLhttps://fhir.slade360.co.ke/fhir/StructureMap/ConsenttoSGHI5
Version0.1.0
Statusactive
Date2025-07-10T13:42:01+00:00
NameConsenttoSGHI5
TitleConsent Transforms: R4 → SGHI R5
DescriptionConsentTransformsR4SGHIR5

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

Generated Narrative: StructureMap ConsenttoSGHI5

/// url = 'https://fhir.slade360.co.ke/fhir/StructureMap/ConsenttoSGHI5'
/// name = 'ConsenttoSGHI5'
/// title = 'Consent Transforms: R4 → SGHI R5'
/// status = 'active'

uses "http://hl7.org/fhir/4.0/StructureDefinition/Consent" alias ConsentR4 as source
uses "https://fhir.slade360.co.ke/fhir/StructureDefinition/sghi-consent" alias SGHIConsent as target

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

group SGHIConsent(source src : ConsentR4, target tgt : SGHIConsent) extends DomainResource <<type+>> {
  src.id -> tgt.id;
  src.active -> tgt.active = 'true';
  src.language -> tgt.language;
  src where text.exists().not() -> tgt.text = create('Narrative') as tgt_n then {
    src -> tgt_n.status = 'generated' "settextstatus";
    src -> tgt_n.div = '<div xmlns=\"http://www.w3.org/1999/xhtml\"><h1>Generated text</h1></div>' "settextdiv";
  } "createhardcodedtext";
  src.text as st -> tgt.text as tt then {
    st.status -> tt.status;
    st.div -> tt.div;
  };
  src as sc where identifier.exists().not() -> tgt.identifier = create('Identifier') as tt_id then {
    src.id as uuid -> tt_id.value = uuid "creating id";
    src -> tt_id.use = 'official' "creating use";
    src -> tt_id.type as ty then {
      src -> ty.coding = create('CodeableConcept') as ty_c then {
        src -> ty_c.system = 'https://fhir.slade360.co.ke/fhir/CodeSystem/sghi-identifier-codesystem' "creating coding";
        src -> ty_c.code = 'fhir-id' "creating code";
        src -> ty_c.display = 'FHIR Id' "creating display";
      } "creating identifier type";
      src -> tt_id.system = 'https://fhir.slade360.co.ke/fhir/CodeSystem/sghi-identifier-codesystem' "creating system";
      src.meta as sm then {
        sm.tag first as sm -> tt_id.assigner = create('Reference') as t_assigner then TransformAssigner(sm, t_assigner);
      } "setting owner"; // creating identifier assigner
    } "setting identifier type";
  } "setting identifier"; // Create identifier
  src.meta as s_meta -> tgt.meta as t_meta then {
    s_meta.lastUpdated -> t_meta.lastUpdated;
    s_meta.language -> t_meta.language;
    s_meta.tags -> t_meta.tags;
    src.meta where profile.exists().not() -> t_meta.profile = 'https://fhir.slade360.co.ke/fhir/StructureDefinition/sghi-consent' "setprofileinmeta";
  } "set profile in meta";
  src.status -> tgt.status;
  src.category as sc -> tgt.category as tc then TransformCoding(sc, tc);
  src.patient as sp -> tgt.subject as tp then TransformReference(sp, tp); // Patient has been translated to subject in R5
  src.dateTime -> tgt.date;
  src.provision as spr -> tgt.provision as tpr then {
    spr.data as sd -> tpr.data as td then {
      sd.meaning -> td.meaning;
      sd.reference as sf -> td.reference as tf then TransformReference(sf, tf);
    };
  };
  src.performer as sp where performer.exists() -> tgt.grantee as tp then TransformReference(sp, tp); // Performer has been translated to grantee in R5
  src where performer.exists().not() then {
    src.patient as sp -> tgt.grantee as tp then TransformReference(sp, tp);
    src.patient as sp -> tgt.grantor as tp then TransformReference(sp, tp);
  } "populating grantee with patient details"; // Handles cases where performer does not exists in legacy R4 data
  src.organization as so where organization.exists() -> tgt.manager as tm then TransformReference(so, tm); // handles cases where organization exists in legacy R4 data
  src.organization as so where organization.exists() -> tgt.controller as tm then TransformReference(so, tm);
  src where organization.exists().not() then {
    src.meta as sm then {
      sm.tag first as st -> tgt.manager as tp then TransformAssigner(st, tp);
      sm.tag first as st -> tgt.controller as tp then TransformAssigner(st, tp);
    };
  } "setting manager and controller"; // handles cases where organization does not exists in legacy R4 data
  src.policyRule as sr where text.exists() -> tgt.regulatoryBasis = create('CodeableConcept') as tr then {
    sr.text -> tr.text;
    src ->  tr.coding = create('Coding') as tcc,  tcc.system = 'https://hl7.org/fhir/R4/codesystem-consent-policy.html',  tcc.code = 'cric',  tcc.display = 'Common Rule Informed Consent' "setting coding";
  } "setting rule policy"; // Policyrule has been translated to regulatoryBasis in R4
  src where verification.exists().not() -> tgt.verification = create('BackboneElement') as tb then {
    src -> tb.verified = 'true' "setting verified status";
    src -> tb.verificationDate = '2025-06-16' "setting verification date";
    src.meta as sm then {
      sm.tag last as st -> tb.verifiedBy = create('Reference') as tf then {
        st.code as org -> tf.reference = append('Organization/', org);
        st.display -> tf.display;
        st.display where display.exists().not() -> tf.display = 'Unknown display';
        st.code -> tf.id;
      } "setting verified by";
    } "setting verify by";
    src.patient as sp -> tb.verifiedWith = create('Reference') as trf then TransformReference(sp, trf) "setting reference";
  } "setting verification";
  src.category as sc -> tgt.category as tc then {
    sc.text -> tc.text;
    sc.coding as scc -> tc.coding as tcc then TransformCoding(scc, tcc);
  };
  src.provision as sp then {
    sp.type -> tgt.decision;
  };
  src.dateTime as sdt where dateTime.exists() -> tgt.date = sdt;
  src -> tgt.date = '2025-06-16' "setting consent date";
}

group TransformAssigner(source src, target tgt) <<types>> {
  src.code as code -> tgt.reference = append('Organization/', code);
  src where display.exists().not() -> tgt.display = 'Unknown display' "setting default display";
  src.display -> tgt.display;
  src.code -> tgt.id;
}

group TransformReference(source src, target tgt) <<types>> {
  src.id -> tgt.id;
  src.reference -> tgt.reference;
  src.display -> tgt.display;
  src where display.exists().not() -> tgt.display = 'Unknown display' "setting display";
}

group TransformCoding(source src, target tgt) <<types>> {
  src.system -> tgt.system;
  src.code -> tgt.code;
  src.display -> tgt.display;
}


Source

{
  "resourceType": "StructureMap",
  "id": "ConsenttoSGHI5",
  "text": {
    "status": "generated",
    "div": "<!-- snip (see above) -->"
  },
  "url": "https://fhir.slade360.co.ke/fhir/StructureMap/ConsenttoSGHI5",
  "version": "0.1.0",
  "name": "ConsenttoSGHI5",
  "title": "Consent Transforms: R4 → SGHI R5",
  "status": "active",
  "date": "2025-07-10T13:42:01+00:00",
  "publisher": "Kathurima Kimathi",
  "contact": [
    {
      "name": "Kathurima Kimathi",
      "telecom": [
        {
          "system": "url",
          "value": "https://www.linkedin.com/in/kathurima-kimathi/"
        },
        {
          "system": "email",
          "value": "kathurimakimathi415@gmail.com"
        }
      ]
    },
    {
      "name": "Oscar John",
      "telecom": [
        {
          "system": "email",
          "value": "oscarjohnotieno@gmail.com",
          "use": "work"
        }
      ]
    },
    {
      "name": "Kennedy Omondi",
      "telecom": [
        {
          "system": "email",
          "value": "kennankole@gmail.com",
          "use": "work"
        }
      ]
    }
  ],
  "description": "ConsentTransformsR4SGHIR5",
  "structure": [
    {
      "url": "http://hl7.org/fhir/4.0/StructureDefinition/Consent",
      "mode": "source",
      "alias": "ConsentR4"
    },
    {
      "url": "https://fhir.slade360.co.ke/fhir/StructureDefinition/sghi-consent",
      "mode": "target",
      "alias": "SGHIConsent"
    }
  ],
  "import": [
    "http://hl7.org/fhir/StructureMap/*4to5"
  ],
  "group": [
    {
      "name": "SGHIConsent",
      "extends": "DomainResource",
      "typeMode": "type-and-types",
      "input": [
        {
          "name": "src",
          "type": "ConsentR4",
          "mode": "source"
        },
        {
          "name": "tgt",
          "type": "SGHIConsent",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "id",
          "source": [
            {
              "context": "src",
              "element": "id",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "id",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "active",
          "source": [
            {
              "context": "src",
              "element": "active"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "active",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "true"
                }
              ]
            }
          ]
        },
        {
          "name": "language",
          "source": [
            {
              "context": "src",
              "element": "language",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "language",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "createhardcodedtext",
          "source": [
            {
              "context": "src",
              "condition": "text.exists().not()"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "text",
              "variable": "tgt_n",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Narrative"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "settextstatus",
              "source": [
                {
                  "context": "src"
                }
              ],
              "target": [
                {
                  "context": "tgt_n",
                  "element": "status",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "generated"
                    }
                  ]
                }
              ]
            },
            {
              "name": "settextdiv",
              "source": [
                {
                  "context": "src"
                }
              ],
              "target": [
                {
                  "context": "tgt_n",
                  "element": "div",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><h1>Generated text</h1></div>"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "text",
          "source": [
            {
              "context": "src",
              "element": "text",
              "variable": "st"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "text",
              "variable": "tt"
            }
          ],
          "rule": [
            {
              "name": "status",
              "source": [
                {
                  "context": "st",
                  "element": "status",
                  "variable": "vvv"
                }
              ],
              "target": [
                {
                  "context": "tt",
                  "element": "status",
                  "variable": "vvv",
                  "transform": "create"
                }
              ],
              "dependent": [
                {
                  "name": "DefaultMappingGroupAnonymousAlias",
                  "parameter": [
                    {
                      "valueId": "vvv"
                    },
                    {
                      "valueId": "vvv"
                    }
                  ]
                }
              ]
            },
            {
              "name": "div",
              "source": [
                {
                  "context": "st",
                  "element": "div",
                  "variable": "vvv"
                }
              ],
              "target": [
                {
                  "context": "tt",
                  "element": "div",
                  "variable": "vvv",
                  "transform": "create"
                }
              ],
              "dependent": [
                {
                  "name": "DefaultMappingGroupAnonymousAlias",
                  "parameter": [
                    {
                      "valueId": "vvv"
                    },
                    {
                      "valueId": "vvv"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "setting identifier",
          "source": [
            {
              "context": "src",
              "variable": "sc",
              "condition": "identifier.exists().not()"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "identifier",
              "variable": "tt_id",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Identifier"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "creating id",
              "source": [
                {
                  "context": "src",
                  "element": "id",
                  "variable": "uuid"
                }
              ],
              "target": [
                {
                  "context": "tt_id",
                  "element": "value",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueId": "uuid"
                    }
                  ]
                }
              ]
            },
            {
              "name": "creating use",
              "source": [
                {
                  "context": "src"
                }
              ],
              "target": [
                {
                  "context": "tt_id",
                  "element": "use",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "official"
                    }
                  ]
                }
              ]
            },
            {
              "name": "setting identifier type",
              "source": [
                {
                  "context": "src"
                }
              ],
              "target": [
                {
                  "context": "tt_id",
                  "element": "type",
                  "variable": "ty"
                }
              ],
              "rule": [
                {
                  "name": "creating identifier type",
                  "source": [
                    {
                      "context": "src"
                    }
                  ],
                  "target": [
                    {
                      "context": "ty",
                      "element": "coding",
                      "variable": "ty_c",
                      "transform": "create",
                      "parameter": [
                        {
                          "valueString": "CodeableConcept"
                        }
                      ]
                    }
                  ],
                  "rule": [
                    {
                      "name": "creating coding",
                      "source": [
                        {
                          "context": "src"
                        }
                      ],
                      "target": [
                        {
                          "context": "ty_c",
                          "element": "system",
                          "transform": "copy",
                          "parameter": [
                            {
                              "valueString": "https://fhir.slade360.co.ke/fhir/CodeSystem/sghi-identifier-codesystem"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name": "creating code",
                      "source": [
                        {
                          "context": "src"
                        }
                      ],
                      "target": [
                        {
                          "context": "ty_c",
                          "element": "code",
                          "transform": "copy",
                          "parameter": [
                            {
                              "valueString": "fhir-id"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name": "creating display",
                      "source": [
                        {
                          "context": "src"
                        }
                      ],
                      "target": [
                        {
                          "context": "ty_c",
                          "element": "display",
                          "transform": "copy",
                          "parameter": [
                            {
                              "valueString": "FHIR Id"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "name": "creating system",
                  "source": [
                    {
                      "context": "src"
                    }
                  ],
                  "target": [
                    {
                      "context": "tt_id",
                      "element": "system",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueString": "https://fhir.slade360.co.ke/fhir/CodeSystem/sghi-identifier-codesystem"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name": "setting owner",
                  "source": [
                    {
                      "context": "src",
                      "element": "meta",
                      "variable": "sm"
                    }
                  ],
                  "rule": [
                    {
                      "name": "tag",
                      "source": [
                        {
                          "context": "sm",
                          "element": "tag",
                          "listMode": "first",
                          "variable": "sm"
                        }
                      ],
                      "target": [
                        {
                          "context": "tt_id",
                          "element": "assigner",
                          "variable": "t_assigner",
                          "transform": "create",
                          "parameter": [
                            {
                              "valueString": "Reference"
                            }
                          ]
                        }
                      ],
                      "dependent": [
                        {
                          "name": "TransformAssigner",
                          "parameter": [
                            {
                              "valueId": "sm"
                            },
                            {
                              "valueId": "t_assigner"
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "documentation": "creating identifier assigner"
                }
              ]
            }
          ],
          "documentation": "Create identifier"
        },
        {
          "name": "set profile in meta",
          "source": [
            {
              "context": "src",
              "element": "meta",
              "variable": "s_meta"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "meta",
              "variable": "t_meta"
            }
          ],
          "rule": [
            {
              "name": "lastUpdated",
              "source": [
                {
                  "context": "s_meta",
                  "element": "lastUpdated",
                  "variable": "vvv"
                }
              ],
              "target": [
                {
                  "context": "t_meta",
                  "element": "lastUpdated",
                  "variable": "vvv",
                  "transform": "create"
                }
              ],
              "dependent": [
                {
                  "name": "DefaultMappingGroupAnonymousAlias",
                  "parameter": [
                    {
                      "valueId": "vvv"
                    },
                    {
                      "valueId": "vvv"
                    }
                  ]
                }
              ]
            },
            {
              "name": "language",
              "source": [
                {
                  "context": "s_meta",
                  "element": "language",
                  "variable": "vvv"
                }
              ],
              "target": [
                {
                  "context": "t_meta",
                  "element": "language",
                  "variable": "vvv",
                  "transform": "create"
                }
              ],
              "dependent": [
                {
                  "name": "DefaultMappingGroupAnonymousAlias",
                  "parameter": [
                    {
                      "valueId": "vvv"
                    },
                    {
                      "valueId": "vvv"
                    }
                  ]
                }
              ]
            },
            {
              "name": "tags",
              "source": [
                {
                  "context": "s_meta",
                  "element": "tags",
                  "variable": "vvv"
                }
              ],
              "target": [
                {
                  "context": "t_meta",
                  "element": "tags",
                  "variable": "vvv",
                  "transform": "create"
                }
              ],
              "dependent": [
                {
                  "name": "DefaultMappingGroupAnonymousAlias",
                  "parameter": [
                    {
                      "valueId": "vvv"
                    },
                    {
                      "valueId": "vvv"
                    }
                  ]
                }
              ]
            },
            {
              "name": "setprofileinmeta",
              "source": [
                {
                  "context": "src",
                  "element": "meta",
                  "condition": "profile.exists().not()"
                }
              ],
              "target": [
                {
                  "context": "t_meta",
                  "element": "profile",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "https://fhir.slade360.co.ke/fhir/StructureDefinition/sghi-consent"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "status",
          "source": [
            {
              "context": "src",
              "element": "status",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "status",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "category",
          "source": [
            {
              "context": "src",
              "element": "category",
              "variable": "sc"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "category",
              "variable": "tc"
            }
          ],
          "dependent": [
            {
              "name": "TransformCoding",
              "parameter": [
                {
                  "valueId": "sc"
                },
                {
                  "valueId": "tc"
                }
              ]
            }
          ]
        },
        {
          "name": "patient",
          "source": [
            {
              "context": "src",
              "element": "patient",
              "variable": "sp"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "subject",
              "variable": "tp"
            }
          ],
          "dependent": [
            {
              "name": "TransformReference",
              "parameter": [
                {
                  "valueId": "sp"
                },
                {
                  "valueId": "tp"
                }
              ]
            }
          ],
          "documentation": "Patient has been translated to subject in R5"
        },
        {
          "name": "dateTime",
          "source": [
            {
              "context": "src",
              "element": "dateTime",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "date",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "provision",
          "source": [
            {
              "context": "src",
              "element": "provision",
              "variable": "spr"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "provision",
              "variable": "tpr"
            }
          ],
          "rule": [
            {
              "name": "data",
              "source": [
                {
                  "context": "spr",
                  "element": "data",
                  "variable": "sd"
                }
              ],
              "target": [
                {
                  "context": "tpr",
                  "element": "data",
                  "variable": "td"
                }
              ],
              "rule": [
                {
                  "name": "meaning",
                  "source": [
                    {
                      "context": "sd",
                      "element": "meaning",
                      "variable": "vvv"
                    }
                  ],
                  "target": [
                    {
                      "context": "td",
                      "element": "meaning",
                      "variable": "vvv",
                      "transform": "create"
                    }
                  ],
                  "dependent": [
                    {
                      "name": "DefaultMappingGroupAnonymousAlias",
                      "parameter": [
                        {
                          "valueId": "vvv"
                        },
                        {
                          "valueId": "vvv"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name": "reference",
                  "source": [
                    {
                      "context": "sd",
                      "element": "reference",
                      "variable": "sf"
                    }
                  ],
                  "target": [
                    {
                      "context": "td",
                      "element": "reference",
                      "variable": "tf"
                    }
                  ],
                  "dependent": [
                    {
                      "name": "TransformReference",
                      "parameter": [
                        {
                          "valueId": "sf"
                        },
                        {
                          "valueId": "tf"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "performer",
          "source": [
            {
              "context": "src",
              "element": "performer",
              "variable": "sp",
              "condition": "performer.exists()"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "grantee",
              "variable": "tp"
            }
          ],
          "dependent": [
            {
              "name": "TransformReference",
              "parameter": [
                {
                  "valueId": "sp"
                },
                {
                  "valueId": "tp"
                }
              ]
            }
          ],
          "documentation": "Performer has been translated to grantee in R5"
        },
        {
          "name": "populating grantee with patient details",
          "source": [
            {
              "context": "src",
              "condition": "performer.exists().not()"
            }
          ],
          "rule": [
            {
              "name": "patient",
              "source": [
                {
                  "context": "src",
                  "element": "patient",
                  "variable": "sp"
                }
              ],
              "target": [
                {
                  "context": "tgt",
                  "element": "grantee",
                  "variable": "tp"
                }
              ],
              "dependent": [
                {
                  "name": "TransformReference",
                  "parameter": [
                    {
                      "valueId": "sp"
                    },
                    {
                      "valueId": "tp"
                    }
                  ]
                }
              ]
            },
            {
              "name": "patient",
              "source": [
                {
                  "context": "src",
                  "element": "patient",
                  "variable": "sp"
                }
              ],
              "target": [
                {
                  "context": "tgt",
                  "element": "grantor",
                  "variable": "tp"
                }
              ],
              "dependent": [
                {
                  "name": "TransformReference",
                  "parameter": [
                    {
                      "valueId": "sp"
                    },
                    {
                      "valueId": "tp"
                    }
                  ]
                }
              ]
            }
          ],
          "documentation": "Handles cases where performer does not exists in legacy R4 data"
        },
        {
          "name": "organization",
          "source": [
            {
              "context": "src",
              "element": "organization",
              "variable": "so",
              "condition": "organization.exists()"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "manager",
              "variable": "tm"
            }
          ],
          "dependent": [
            {
              "name": "TransformReference",
              "parameter": [
                {
                  "valueId": "so"
                },
                {
                  "valueId": "tm"
                }
              ]
            }
          ],
          "documentation": "handles cases where organization exists in legacy R4 data"
        },
        {
          "name": "organization",
          "source": [
            {
              "context": "src",
              "element": "organization",
              "variable": "so",
              "condition": "organization.exists()"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "controller",
              "variable": "tm"
            }
          ],
          "dependent": [
            {
              "name": "TransformReference",
              "parameter": [
                {
                  "valueId": "so"
                },
                {
                  "valueId": "tm"
                }
              ]
            }
          ]
        },
        {
          "name": "setting manager and controller",
          "source": [
            {
              "context": "src",
              "condition": "organization.exists().not()"
            }
          ],
          "rule": [
            {
              "name": "meta",
              "source": [
                {
                  "context": "src",
                  "element": "meta",
                  "variable": "sm"
                }
              ],
              "rule": [
                {
                  "name": "tag",
                  "source": [
                    {
                      "context": "sm",
                      "element": "tag",
                      "listMode": "first",
                      "variable": "st"
                    }
                  ],
                  "target": [
                    {
                      "context": "tgt",
                      "element": "manager",
                      "variable": "tp"
                    }
                  ],
                  "dependent": [
                    {
                      "name": "TransformAssigner",
                      "parameter": [
                        {
                          "valueId": "st"
                        },
                        {
                          "valueId": "tp"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name": "tag",
                  "source": [
                    {
                      "context": "sm",
                      "element": "tag",
                      "listMode": "first",
                      "variable": "st"
                    }
                  ],
                  "target": [
                    {
                      "context": "tgt",
                      "element": "controller",
                      "variable": "tp"
                    }
                  ],
                  "dependent": [
                    {
                      "name": "TransformAssigner",
                      "parameter": [
                        {
                          "valueId": "st"
                        },
                        {
                          "valueId": "tp"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "documentation": "handles cases where organization does not exists in legacy R4 data"
        },
        {
          "name": "setting rule policy",
          "source": [
            {
              "context": "src",
              "element": "policyRule",
              "variable": "sr",
              "condition": "text.exists()"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "regulatoryBasis",
              "variable": "tr",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "CodeableConcept"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "text",
              "source": [
                {
                  "context": "sr",
                  "element": "text",
                  "variable": "vvv"
                }
              ],
              "target": [
                {
                  "context": "tr",
                  "element": "text",
                  "variable": "vvv",
                  "transform": "create"
                }
              ],
              "dependent": [
                {
                  "name": "DefaultMappingGroupAnonymousAlias",
                  "parameter": [
                    {
                      "valueId": "vvv"
                    },
                    {
                      "valueId": "vvv"
                    }
                  ]
                }
              ]
            },
            {
              "name": "setting coding",
              "source": [
                {
                  "context": "src"
                }
              ],
              "target": [
                {
                  "context": "tr",
                  "element": "coding",
                  "variable": "tcc",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "Coding"
                    }
                  ]
                },
                {
                  "context": "tcc",
                  "element": "system",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "https://hl7.org/fhir/R4/codesystem-consent-policy.html"
                    }
                  ]
                },
                {
                  "context": "tcc",
                  "element": "code",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "cric"
                    }
                  ]
                },
                {
                  "context": "tcc",
                  "element": "display",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "Common Rule Informed Consent"
                    }
                  ]
                }
              ]
            }
          ],
          "documentation": "Policyrule has been translated to regulatoryBasis in R4"
        },
        {
          "name": "setting verification",
          "source": [
            {
              "context": "src",
              "condition": "verification.exists().not()"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "verification",
              "variable": "tb",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "BackboneElement"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "setting verified status",
              "source": [
                {
                  "context": "src"
                }
              ],
              "target": [
                {
                  "context": "tb",
                  "element": "verified",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "true"
                    }
                  ]
                }
              ]
            },
            {
              "name": "setting verification date",
              "source": [
                {
                  "context": "src"
                }
              ],
              "target": [
                {
                  "context": "tb",
                  "element": "verificationDate",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "2025-06-16"
                    }
                  ]
                }
              ]
            },
            {
              "name": "setting verify by",
              "source": [
                {
                  "context": "src",
                  "element": "meta",
                  "variable": "sm"
                }
              ],
              "rule": [
                {
                  "name": "setting verified by",
                  "source": [
                    {
                      "context": "sm",
                      "element": "tag",
                      "listMode": "last",
                      "variable": "st"
                    }
                  ],
                  "target": [
                    {
                      "context": "tb",
                      "element": "verifiedBy",
                      "variable": "tf",
                      "transform": "create",
                      "parameter": [
                        {
                          "valueString": "Reference"
                        }
                      ]
                    }
                  ],
                  "rule": [
                    {
                      "name": "code",
                      "source": [
                        {
                          "context": "st",
                          "element": "code",
                          "variable": "org"
                        }
                      ],
                      "target": [
                        {
                          "context": "tf",
                          "element": "reference",
                          "transform": "append",
                          "parameter": [
                            {
                              "valueString": "Organization/"
                            },
                            {
                              "valueId": "org"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name": "display",
                      "source": [
                        {
                          "context": "st",
                          "element": "display",
                          "variable": "vvv"
                        }
                      ],
                      "target": [
                        {
                          "context": "tf",
                          "element": "display",
                          "variable": "vvv",
                          "transform": "create"
                        }
                      ],
                      "dependent": [
                        {
                          "name": "DefaultMappingGroupAnonymousAlias",
                          "parameter": [
                            {
                              "valueId": "vvv"
                            },
                            {
                              "valueId": "vvv"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name": "display",
                      "source": [
                        {
                          "context": "st",
                          "element": "display",
                          "condition": "display.exists().not()"
                        }
                      ],
                      "target": [
                        {
                          "context": "tf",
                          "element": "display",
                          "transform": "copy",
                          "parameter": [
                            {
                              "valueString": "Unknown display"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name": "code",
                      "source": [
                        {
                          "context": "st",
                          "element": "code",
                          "variable": "vvv"
                        }
                      ],
                      "target": [
                        {
                          "context": "tf",
                          "element": "id",
                          "variable": "vvv",
                          "transform": "create"
                        }
                      ],
                      "dependent": [
                        {
                          "name": "DefaultMappingGroupAnonymousAlias",
                          "parameter": [
                            {
                              "valueId": "vvv"
                            },
                            {
                              "valueId": "vvv"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "name": "setting reference",
              "source": [
                {
                  "context": "src",
                  "element": "patient",
                  "variable": "sp"
                }
              ],
              "target": [
                {
                  "context": "tb",
                  "element": "verifiedWith",
                  "variable": "trf",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "Reference"
                    }
                  ]
                }
              ],
              "dependent": [
                {
                  "name": "TransformReference",
                  "parameter": [
                    {
                      "valueId": "sp"
                    },
                    {
                      "valueId": "trf"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "category",
          "source": [
            {
              "context": "src",
              "element": "category",
              "variable": "sc"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "category",
              "variable": "tc"
            }
          ],
          "rule": [
            {
              "name": "text",
              "source": [
                {
                  "context": "sc",
                  "element": "text",
                  "variable": "vvv"
                }
              ],
              "target": [
                {
                  "context": "tc",
                  "element": "text",
                  "variable": "vvv",
                  "transform": "create"
                }
              ],
              "dependent": [
                {
                  "name": "DefaultMappingGroupAnonymousAlias",
                  "parameter": [
                    {
                      "valueId": "vvv"
                    },
                    {
                      "valueId": "vvv"
                    }
                  ]
                }
              ]
            },
            {
              "name": "coding",
              "source": [
                {
                  "context": "sc",
                  "element": "coding",
                  "variable": "scc"
                }
              ],
              "target": [
                {
                  "context": "tc",
                  "element": "coding",
                  "variable": "tcc"
                }
              ],
              "dependent": [
                {
                  "name": "TransformCoding",
                  "parameter": [
                    {
                      "valueId": "scc"
                    },
                    {
                      "valueId": "tcc"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "provision",
          "source": [
            {
              "context": "src",
              "element": "provision",
              "variable": "sp"
            }
          ],
          "rule": [
            {
              "name": "type",
              "source": [
                {
                  "context": "sp",
                  "element": "type",
                  "variable": "vvv"
                }
              ],
              "target": [
                {
                  "context": "tgt",
                  "element": "decision",
                  "variable": "vvv",
                  "transform": "create"
                }
              ],
              "dependent": [
                {
                  "name": "DefaultMappingGroupAnonymousAlias",
                  "parameter": [
                    {
                      "valueId": "vvv"
                    },
                    {
                      "valueId": "vvv"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "dateTime",
          "source": [
            {
              "context": "src",
              "element": "dateTime",
              "variable": "sdt",
              "condition": "dateTime.exists()"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "date",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "sdt"
                }
              ]
            }
          ]
        },
        {
          "name": "setting consent date",
          "source": [
            {
              "context": "src"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "date",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "2025-06-16"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "TransformAssigner",
      "typeMode": "types",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "tgt",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "code",
          "source": [
            {
              "context": "src",
              "element": "code",
              "variable": "code"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "reference",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "Organization/"
                },
                {
                  "valueId": "code"
                }
              ]
            }
          ]
        },
        {
          "name": "setting default display",
          "source": [
            {
              "context": "src",
              "condition": "display.exists().not()"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "display",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "Unknown display"
                }
              ]
            }
          ]
        },
        {
          "name": "display",
          "source": [
            {
              "context": "src",
              "element": "display",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "display",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "code",
          "source": [
            {
              "context": "src",
              "element": "code",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "id",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "TransformReference",
      "typeMode": "types",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "tgt",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "id",
          "source": [
            {
              "context": "src",
              "element": "id",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "id",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "reference",
          "source": [
            {
              "context": "src",
              "element": "reference",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "reference",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "display",
          "source": [
            {
              "context": "src",
              "element": "display",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "display",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "setting display",
          "source": [
            {
              "context": "src",
              "condition": "display.exists().not()"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "display",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "Unknown display"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "TransformCoding",
      "typeMode": "types",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "tgt",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "system",
          "source": [
            {
              "context": "src",
              "element": "system",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "system",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "code",
          "source": [
            {
              "context": "src",
              "element": "code",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "code",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "display",
          "source": [
            {
              "context": "src",
              "element": "display",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "display",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}