FHIR © HL7.org  |  FHIRsmith 4.0.1  |  Server Home  |  XIG Home  |  XIG Stats  | 

FHIR IG analytics

Packagesilfhirprofileig
Resource TypeStructureMap
IdStructureMap-ExtractMedicationRequest.json
FHIR VersionR5
Sourcehttps://build.fhir.org/ig/savannahghi/sil_fhir_profile_ig/StructureMap-ExtractMedicationRequest.html
URLhttps://fhir.slade360.co.ke/fhir/StructureMap/ExtractMedicationRequest
Version0.1.0
Statusdraft
Date2026-03-30T13:27:11+00:00
NameExtractMedicationRequest

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 ExtractMedicationRequest

/// url = 'https://fhir.slade360.co.ke/fhir/StructureMap/ExtractMedicationRequest'
/// name = 'ExtractMedicationRequest'
/// status = 'draft'

uses "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse" alias QR as source
uses "http://hl7.org/fhir/StructureDefinition/Bundle" alias Bundle as target
uses "http://hl7.org/fhir/StructureDefinition/MedicationRequest" alias MedicationRequest as target
uses "http://hl7.org/fhir/StructureDefinition/Medication" alias Medication as target

group ExtractMedicationRequest(source qr : QR, target bundle : Bundle) {
  qr -> bundle.type = 'transaction' "setBundleType";
  qr.item as prescriptionGroup where (linkId = 'prescription-form') then {
    prescriptionGroup ->  bundle.entry as entry,  entry.resource = create('MedicationRequest') as medReq then {
      qr ->  medReq,  entry then BuildMedicationRequest(qr, prescriptionGroup, medReq, entry) "buildMedReq";
    } "createMedReq";
  } "findPrescriptionGroup";
}

group BuildMedicationRequest(source qr : QR, source prescriptionGroup, target medReq : MedicationRequest, target entry) {
  qr -> medReq.status = 'draft' "setStatus"; // status will always be draft until medication has been signed off
  qr -> medReq.intent = 'order' "setIntent";
  qr.subject as s -> medReq.subject = s "setSubject"; // Subject from QuestionnaireResponse
  qr.encounter as enc -> medReq.encounter = enc "setEncounter"; // Encounter from QuestionnaireResponse
  qr.authored as authored -> medReq.authoredOn = authored "setAuthoredOn"; // AuthoredOn from QuestionnaireResponse.authored
  qr.source as src -> medReq.requester = src "setRequester"; // Requester from QuestionnaireResponse.source (the Organization)
  qr.identifier first as qrIdent -> medReq.identifier = qrIdent "copyIdentifier"; // Copy identifier from QuestionnaireResponse to MedicationRequest
  qr.extension first as ext then {
    ext.valueCodeableConcept as medCC -> medReq.medication as med then {
      medCC -> med.concept = medCC "setMedConcept";
    } "accessMedication";
  } "findMedicationExt"; // Medication as CodeableReference from QR extension (using concept)
  prescriptionGroup.item as priorityItem where (linkId = 'priority') then {
    priorityItem.answer first as priorityAns then {
      priorityAns.valueCoding as priorityCoding then {
        priorityCoding.code as pCode -> medReq.priority = pCode "setPriorityCode";
      } "extractPriorityCode";
    } "extractPriority";
  } "findPriority"; // Priority
  qr -> medReq.dosageInstruction = create('Dosage') as dosage then {
    prescriptionGroup -> dosage then BuildDosage(prescriptionGroup, dosage) "buildDosage";
  } "createDosage"; // Dosage Instruction
  prescriptionGroup.item as substItem where (linkId = 'substitutable') then {
    substItem.answer first as substAns then {
      substAns.valueBoolean as substBool -> medReq.substitution as subst then {
        substBool -> subst.allowedBoolean = substBool "setSubstValue";
      } "createSubst";
    } "extractSubst";
  } "findSubst"; // Substitution
  qr -> medReq.dispenseRequest as dispReq then {
    prescriptionGroup -> dispReq then BuildDispenseRequest(qr, prescriptionGroup, dispReq) "buildDispReq";
  } "createDispReq"; // Dispense Request
  qr -> medReq.id = uuid() then SetMedicationRequestFullUrl(medReq, entry) "setMedReqIdAndFullUrl"; // Set ID and FullUrl
  qr -> entry.request as request then {
    qr -> request.method = 'POST' "reqMethod";
    qr -> request.url = 'MedicationRequest' "reqUrl";
  } "entryRequest"; // Entry request for transaction bundle
}

group BuildDosage(source prescriptionGroup, target dosage : Dosage) {
  prescriptionGroup -> dosage.timing as timing then {
    prescriptionGroup -> timing.repeat as repeat then {
      prescriptionGroup.item as freqItem where (linkId = 'frequency') then {
        freqItem.answer first as freqAns then {
          freqAns.valueCoding as freqCoding where (code = 'OD') -> repeat.frequency = '1' "setFreqOD";
          freqAns.valueCoding as freqCoding where (code = 'BD') -> repeat.frequency = '2' "setFreqBD";
          freqAns.valueCoding as freqCoding where (code = 'TID') -> repeat.frequency = '3' "setFreqTID";
          freqAns.valueCoding as freqCoding where (code = 'QID') -> repeat.frequency = '4' "setFreqQID";
        } "extractFreq";
      } "findFreq"; // Frequency (OD, BD, TID, QID)
      prescriptionGroup -> repeat.period = '1' "setPeriod"; // Period (1 day)
      prescriptionGroup -> repeat.periodUnit = 'd' "setPeriodUnit";
      prescriptionGroup.item as durItem where (linkId = 'duration') then {
        durItem.answer first as durAns then {
          durAns.valueInteger as durValue -> repeat.duration = durValue "setDuration";
        } "extractDuration";
      } "findDuration"; // Duration
      prescriptionGroup.item as durUomItem where (linkId = 'duration-uom') then {
        durUomItem.answer first as durUomAns then {
          durUomAns.valueCoding as durUomCoding then {
            durUomCoding.code as durUomCode -> repeat.durationUnit = durUomCode "setDurationUnit";
          } "extractDurUomCode";
        } "extractDurUom";
      } "findDurUom"; // Duration UOM - directly use the code from unitsofmeasure.org (h, d, wk, mo, a)
      prescriptionGroup.item as whenItem where (linkId = 'when-to-take') then {
        whenItem.answer first as whenAns then {
          whenAns.valueCoding as whenCoding then {
            whenCoding.code as whenCode -> repeat.when = whenCode "setWhenCode";
          } "extractWhenCode";
        } "extractWhen";
      } "findWhen"; // When to take - directly use the code (AC, PC, ACM, ACD, ACV, PCM, PCD, PCV, etc.)
      prescriptionGroup.item as startItem where (linkId = 'start-date') then {
        startItem.answer first as startAns then {
          startAns.valueDate as startDate -> repeat.boundsPeriod as boundsPeriod then {
            startDate -> boundsPeriod.start = startDate "setBoundsStart";
            prescriptionGroup.item as endItem where (linkId = 'end-date') then {
              endItem.answer first as endAns then {
                endAns.valueDate as endDate -> boundsPeriod.end = endDate "setBoundsEnd";
              } "extractEndDate";
            } "findEndDate";
          } "createBoundsPeriod";
        } "extractStartDate";
      } "findStartDate"; // Bounds Period from start-date and end-date
    } "accessRepeat";
  } "accessTiming";
  prescriptionGroup.item as routeItem where (linkId = 'route') then {
    routeItem.answer first as routeAns then {
      routeAns.valueCoding as routeCoding -> dosage.route = create('CodeableConcept') as routeCC then {
        routeCoding -> routeCC.coding = routeCoding "setRouteCoding";
        routeCoding.display as disp -> routeCC.text = disp "setRouteText";
      } "setRouteCC";
    } "extractRoute";
  } "findRoute"; // Route
  prescriptionGroup.item as doseItem where (linkId = 'dose') then {
    doseItem.answer first as doseAns then {
      doseAns.valueInteger as doseValue ->  dosage.doseAndRate as doseRate,  doseRate.doseQuantity as doseQty then {
        doseValue -> doseQty.value = doseValue "setDoseValue";
        prescriptionGroup.item as doseUnitItem where (linkId = 'dosage-unit') then {
          doseUnitItem.answer first as doseUnitAns then {
            doseUnitAns.valueCoding as unitCoding then {
              unitCoding.display as unitDisp -> doseQty.unit = unitDisp "setDoseUnit";
              unitCoding.code as unitCode -> doseQty.code = unitCode "setDoseCode";
              unitCoding.system as unitSys -> doseQty.system = unitSys "setDoseSystem";
            } "extractUnitCoding";
          } "extractDoseUnitAns";
        } "findDoseUnit";
      } "createDoseAndRate";
    } "extractDoseAns";
  } "findDose"; // Dose and Rate
  prescriptionGroup.item as instrItem where (linkId = 'dosage-instructions') then {
    instrItem.answer first as instrAns then {
      instrAns.valueString as instrText -> dosage.patientInstruction = instrText "setPatientInstruction";
    } "extractInstr";
  } "findDosageInstr"; // Dosage Instructions (patient instruction)
  prescriptionGroup.item as addInstrItem where (linkId = 'additional-instructions') then {
    addInstrItem.answer first as addInstrAns then {
      addInstrAns.valueString as addInstrText -> dosage.text = addInstrText "setDosageText";
    } "extractAddInstr";
  } "findAddInstr"; // Additional Instructions (text)
}

group BuildDispenseRequest(source qr : QR, source prescriptionGroup, target dispReq) {
  prescriptionGroup.item as refillsItem where (linkId = 'refills') then {
    refillsItem.answer first as refillsAns then {
      refillsAns.valueInteger as refillsValue -> dispReq.numberOfRepeatsAllowed = refillsValue "setRefills";
    } "extractRefills";
  } "findRefills"; // Refills
  prescriptionGroup.item as startItem where (linkId = 'start-date') then {
    startItem.answer first as startAns then {
      startAns.valueDate as startDate -> dispReq.validityPeriod as validPeriod then {
        startDate -> validPeriod.start = startDate "setValidityStart";
        prescriptionGroup.item as endItem where (linkId = 'end-date') then {
          endItem.answer first as endAns then {
            endAns.valueDate as endDate -> validPeriod.end = endDate "setValidityEnd";
          } "extractValidityEnd";
        } "findValidityEnd";
      } "createValidityPeriod";
    } "extractValidityStart";
  } "findValidityStart"; // Validity Period from start-date and end-date
  prescriptionGroup.item as durItem where (linkId = 'duration') then {
    durItem.answer first as durAns then {
      durAns.valueInteger as durValue -> dispReq.expectedSupplyDuration as supplyDur then {
        durValue -> supplyDur.value = durValue "setSupplyDurValue";
        prescriptionGroup.item as durUomItem where (linkId = 'duration-uom') then {
          durUomItem.answer first as durUomAns then {
            durUomAns.valueCoding as durUomCoding then {
              durUomCoding.code as uomCode -> supplyDur.code = uomCode "setSupplyDurCode";
              durUomCoding.display as uomDisplay -> supplyDur.unit = uomDisplay "setSupplyDurUnit";
              durUomCoding.system as uomSystem -> supplyDur.system = uomSystem "setSupplyDurSystem";
            } "extractSupplyDurUom";
          } "extractSupplyDurUomAns";
        } "findSupplyDurUom";
      } "createSupplyDuration";
    } "extractSupplyDuration";
  } "findSupplyDuration"; // Expected Supply Duration
  qr.source as src -> dispReq.dispenser = src "setDispenser"; // Dispenser - from QuestionnaireResponse.source (Organization)
}

group SetMedicationRequestFullUrl(source medReq : MedicationRequest, target entry) {
  medReq.id as id -> entry.fullUrl = append('https://fhir.slade360.co.ke/fhir/MedicationRequest/', id) "assignFullUrl";
}


Source1

{
  "resourceType": "StructureMap",
  "id": "ExtractMedicationRequest",
  "text": {
    "status": "generated",
    "div": "<!-- snip (see above) -->"
  },
  "url": "https://fhir.slade360.co.ke/fhir/StructureMap/ExtractMedicationRequest",
  "version": "0.1.0",
  "name": "ExtractMedicationRequest",
  "status": "draft",
  "date": "2026-03-30T13:27:11+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"
        }
      ]
    }
  ],
  "structure": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse",
      "mode": "source",
      "alias": "QR"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/Bundle",
      "mode": "target",
      "alias": "Bundle"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/MedicationRequest",
      "mode": "target",
      "alias": "MedicationRequest"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/Medication",
      "mode": "target",
      "alias": "Medication"
    }
  ],
  "group": [
    {
      "name": "ExtractMedicationRequest",
      "input": [
        {
          "name": "qr",
          "type": "QR",
          "mode": "source"
        },
        {
          "name": "bundle",
          "type": "Bundle",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "setBundleType",
          "source": [
            {
              "context": "qr"
            }
          ],
          "target": [
            {
              "context": "bundle",
              "element": "type",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "transaction"
                }
              ]
            }
          ]
        },
        {
          "name": "findPrescriptionGroup",
          "source": [
            {
              "context": "qr",
              "element": "item",
              "variable": "prescriptionGroup",
              "condition": "(linkId = 'prescription-form')"
            }
          ],
          "rule": [
            {
              "name": "createMedReq",
              "source": [
                {
                  "context": "prescriptionGroup"
                }
              ],
              "target": [
                {
                  "context": "bundle",
                  "element": "entry",
                  "variable": "entry"
                },
                {
                  "context": "entry",
                  "element": "resource",
                  "variable": "medReq",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "MedicationRequest"
                    }
                  ]
                }
              ],
              "rule": [
                {
                  "name": "buildMedReq",
                  "source": [
                    {
                      "context": "qr"
                    }
                  ],
                  "target": [
                    {
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueId": "medReq"
                        }
                      ]
                    },
                    {
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueId": "entry"
                        }
                      ]
                    }
                  ],
                  "dependent": [
                    {
                      "name": "BuildMedicationRequest",
                      "parameter": [
                        {
                          "valueId": "qr"
                        },
                        {
                          "valueId": "prescriptionGroup"
                        },
                        {
                          "valueId": "medReq"
                        },
                        {
                          "valueId": "entry"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "BuildMedicationRequest",
      "input": [
        {
          "name": "qr",
          "type": "QR",
          "mode": "source"
        },
        {
          "name": "prescriptionGroup",
          "mode": "source"
        },
        {
          "name": "medReq",
          "type": "MedicationRequest",
          "mode": "target"
        },
        {
          "name": "entry",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "setStatus",
          "source": [
            {
              "context": "qr"
            }
          ],
          "target": [
            {
              "context": "medReq",
              "element": "status",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "draft"
                }
              ]
            }
          ],
          "documentation": "status will always be draft until medication has been signed off"
        },
        {
          "name": "setIntent",
          "source": [
            {
              "context": "qr"
            }
          ],
          "target": [
            {
              "context": "medReq",
              "element": "intent",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "order"
                }
              ]
            }
          ]
        },
        {
          "name": "setSubject",
          "source": [
            {
              "context": "qr",
              "element": "subject",
              "variable": "s"
            }
          ],
          "target": [
            {
              "context": "medReq",
              "element": "subject",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "s"
                }
              ]
            }
          ],
          "documentation": "Subject from QuestionnaireResponse"
        },
        {
          "name": "setEncounter",
          "source": [
            {
              "context": "qr",
              "element": "encounter",
              "variable": "enc"
            }
          ],
          "target": [
            {
              "context": "medReq",
              "element": "encounter",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "enc"
                }
              ]
            }
          ],
          "documentation": "Encounter from QuestionnaireResponse"
        },
        {
          "name": "setAuthoredOn",
          "source": [
            {
              "context": "qr",
              "element": "authored",
              "variable": "authored"
            }
          ],
          "target": [
            {
              "context": "medReq",
              "element": "authoredOn",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "authored"
                }
              ]
            }
          ],
          "documentation": "AuthoredOn from QuestionnaireResponse.authored"
        },
        {
          "name": "setRequester",
          "source": [
            {
              "context": "qr",
              "element": "source",
              "variable": "src"
            }
          ],
          "target": [
            {
              "context": "medReq",
              "element": "requester",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "src"
                }
              ]
            }
          ],
          "documentation": "Requester from QuestionnaireResponse.source (the Organization)"
        },
        {
          "name": "copyIdentifier",
          "source": [
            {
              "context": "qr",
              "element": "identifier",
              "listMode": "first",
              "variable": "qrIdent"
            }
          ],
          "target": [
            {
              "context": "medReq",
              "element": "identifier",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "qrIdent"
                }
              ]
            }
          ],
          "documentation": "Copy identifier from QuestionnaireResponse to MedicationRequest"
        },
        {
          "name": "findMedicationExt",
          "source": [
            {
              "context": "qr",
              "element": "extension",
              "listMode": "first",
              "variable": "ext"
            }
          ],
          "rule": [
            {
              "name": "accessMedication",
              "source": [
                {
                  "context": "ext",
                  "element": "valueCodeableConcept",
                  "variable": "medCC"
                }
              ],
              "target": [
                {
                  "context": "medReq",
                  "element": "medication",
                  "variable": "med"
                }
              ],
              "rule": [
                {
                  "name": "setMedConcept",
                  "source": [
                    {
                      "context": "medCC"
                    }
                  ],
                  "target": [
                    {
                      "context": "med",
                      "element": "concept",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueId": "medCC"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "documentation": "Medication as CodeableReference from QR extension (using concept)"
        },
        {
          "name": "findPriority",
          "source": [
            {
              "context": "prescriptionGroup",
              "element": "item",
              "variable": "priorityItem",
              "condition": "(linkId = 'priority')"
            }
          ],
          "rule": [
            {
              "name": "extractPriority",
              "source": [
                {
                  "context": "priorityItem",
                  "element": "answer",
                  "listMode": "first",
                  "variable": "priorityAns"
                }
              ],
              "rule": [
                {
                  "name": "extractPriorityCode",
                  "source": [
                    {
                      "context": "priorityAns",
                      "element": "valueCoding",
                      "variable": "priorityCoding"
                    }
                  ],
                  "rule": [
                    {
                      "name": "setPriorityCode",
                      "source": [
                        {
                          "context": "priorityCoding",
                          "element": "code",
                          "variable": "pCode"
                        }
                      ],
                      "target": [
                        {
                          "context": "medReq",
                          "element": "priority",
                          "transform": "copy",
                          "parameter": [
                            {
                              "valueId": "pCode"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "documentation": "Priority"
        },
        {
          "name": "createDosage",
          "source": [
            {
              "context": "qr"
            }
          ],
          "target": [
            {
              "context": "medReq",
              "element": "dosageInstruction",
              "variable": "dosage",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Dosage"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "buildDosage",
              "source": [
                {
                  "context": "prescriptionGroup"
                }
              ],
              "target": [
                {
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueId": "dosage"
                    }
                  ]
                }
              ],
              "dependent": [
                {
                  "name": "BuildDosage",
                  "parameter": [
                    {
                      "valueId": "prescriptionGroup"
                    },
                    {
                      "valueId": "dosage"
                    }
                  ]
                }
              ]
            }
          ],
          "documentation": "Dosage Instruction"
        },
        {
          "name": "findSubst",
          "source": [
            {
              "context": "prescriptionGroup",
              "element": "item",
              "variable": "substItem",
              "condition": "(linkId = 'substitutable')"
            }
          ],
          "rule": [
            {
              "name": "extractSubst",
              "source": [
                {
                  "context": "substItem",
                  "element": "answer",
                  "listMode": "first",
                  "variable": "substAns"
                }
              ],
              "rule": [
                {
                  "name": "createSubst",
                  "source": [
                    {
                      "context": "substAns",
                      "element": "valueBoolean",
                      "variable": "substBool"
                    }
                  ],
                  "target": [
                    {
                      "context": "medReq",
                      "element": "substitution",
                      "variable": "subst"
                    }
                  ],
                  "rule": [
                    {
                      "name": "setSubstValue",
                      "source": [
                        {
                          "context": "substBool"
                        }
                      ],
                      "target": [
                        {
                          "context": "subst",
                          "element": "allowedBoolean",
                          "transform": "copy",
                          "parameter": [
                            {
                              "valueId": "substBool"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "documentation": "Substitution"
        },
        {
          "name": "createDispReq",
          "source": [
            {
              "context": "qr"
            }
          ],
          "target": [
            {
              "context": "medReq",
              "element": "dispenseRequest",
              "variable": "dispReq"
            }
          ],
          "rule": [
            {
              "name": "buildDispReq",
              "source": [
                {
                  "context": "prescriptionGroup"
                }
              ],
              "target": [
                {
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueId": "dispReq"
                    }
                  ]
                }
              ],
              "dependent": [
                {
                  "name": "BuildDispenseRequest",
                  "parameter": [
                    {
                      "valueId": "qr"
                    },
                    {
                      "valueId": "prescriptionGroup"
                    },
                    {
                      "valueId": "dispReq"
                    }
                  ]
                }
              ]
            }
          ],
          "documentation": "Dispense Request"
        },
        {
          "name": "setMedReqIdAndFullUrl",
          "source": [
            {
              "context": "qr"
            }
          ],
          "target": [
            {
              "context": "medReq",
              "element": "id",
              "transform": "uuid"
            }
          ],
          "dependent": [
            {
              "name": "SetMedicationRequestFullUrl",
              "parameter": [
                {
                  "valueId": "medReq"
                },
                {
                  "valueId": "entry"
                }
              ]
            }
          ],
          "documentation": "Set ID and FullUrl"
        },
        {
          "name": "entryRequest",
          "source": [
            {
              "context": "qr"
            }
          ],
          "target": [
            {
              "context": "entry",
              "element": "request",
              "variable": "request"
            }
          ],
          "rule": [
            {
              "name": "reqMethod",
              "source": [
                {
                  "context": "qr"
                }
              ],
              "target": [
                {
                  "context": "request",
                  "element": "method",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "POST"
                    }
                  ]
                }
              ]
            },
            {
              "name": "reqUrl",
              "source": [
                {
                  "context": "qr"
                }
              ],
              "target": [
                {
                  "context": "request",
                  "element": "url",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "MedicationRequest"
                    }
                  ]
                }
              ]
            }
          ],
          "documentation": "Entry request for transaction bundle"
        }
      ]
    },
    {
      "name": "BuildDosage",
      "input": [
        {
          "name": "prescriptionGroup",
          "mode": "source"
        },
        {
          "name": "dosage",
          "type": "Dosage",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "accessTiming",
          "source": [
            {
              "context": "prescriptionGroup"
            }
          ],
          "target": [
            {
              "context": "dosage",
              "element": "timing",
              "variable": "timing"
            }
          ],
          "rule": [
            {
              "name": "accessRepeat",
              "source": [
                {
                  "context": "prescriptionGroup"
                }
              ],
              "target": [
                {
                  "context": "timing",
                  "element": "repeat",
                  "variable": "repeat"
                }
              ],
              "rule": [
                {
                  "name": "findFreq",
                  "source": [
                    {
                      "context": "prescriptionGroup",
                      "element": "item",
                      "variable": "freqItem",
                      "condition": "(linkId = 'frequency')"
                    }
                  ],
                  "rule": [
                    {
                      "name": "extractFreq",
                      "source": [
                        {
                          "context": "freqItem",
                          "element": "answer",
                          "listMode": "first",
                          "variable": "freqAns"
                        }
                      ],
                      "rule": [
                        {
                          "name": "setFreqOD",
                          "source": [
                            {
                              "context": "freqAns",
                              "element": "valueCoding",
                              "variable": "freqCoding",
                              "condition": "(code = 'OD')"
                            }
                          ],
                          "target": [
                            {
                              "context": "repeat",
                              "element": "frequency",
                              "transform": "copy",
                              "parameter": [
                                {
                                  "valueString": "1"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name": "setFreqBD",
                          "source": [
                            {
                              "context": "freqAns",
                              "element": "valueCoding",
                              "variable": "freqCoding",
                              "condition": "(code = 'BD')"
                            }
                          ],
                          "target": [
                            {
                              "context": "repeat",
                              "element": "frequency",
                              "transform": "copy",
                              "parameter": [
                                {
                                  "valueString": "2"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name": "setFreqTID",
                          "source": [
                            {
                              "context": "freqAns",
                              "element": "valueCoding",
                              "variable": "freqCoding",
                              "condition": "(code = 'TID')"
                            }
                          ],
                          "target": [
                            {
                              "context": "repeat",
                              "element": "frequency",
                              "transform": "copy",
                              "parameter": [
                                {
                                  "valueString": "3"
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "name": "setFreqQID",
                          "source": [
                            {
                              "context": "freqAns",
                              "element": "valueCoding",
                              "variable": "freqCoding",
                              "condition": "(code = 'QID')"
                            }
                          ],
                          "target": [
                            {
                              "context": "repeat",
                              "element": "frequency",
                              "transform": "copy",
                              "parameter": [
                                {
                                  "valueString": "4"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "documentation": "Frequency (OD, BD, TID, QID)"
                },
                {
                  "name": "setPeriod",
                  "source": [
                    {
                      "context": "prescriptionGroup"
                    }
                  ],
                  "target": [
                    {
                      "context": "repeat",
                      "element": "period",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueString": "1"
                        }
                      ]
                    }
                  ],
                  "documentation": "Period (1 day)"
                },
                {
                  "name": "setPeriodUnit",
                  "source": [
                    {
                      "context": "prescriptionGroup"
                    }
                  ],
                  "target": [
                    {
                      "context": "repeat",
                      "element": "periodUnit",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueString": "d"
                        }
                      ]
                    }
                  ]
                },
                {
                  "name": "findDuration",
                  "source": [
                    {
                      "context": "prescriptionGroup",
                      "element": "item",
                      "variable": "durItem",
                      "condition": "(linkId = 'duration')"
                    }
                  ],
                  "rule": [
                    {
                      "name": "extractDuration",
                      "source": [
                        {
                          "context": "durItem",
                          "element": "answer",
                          "listMode": "first",
                          "variable": "durAns"
                        }
                      ],
                      "rule": [
                        {
                          "name": "setDuration",
                          "source": [
                            {
                              "context": "durAns",
                              "element": "valueInteger",
                              "variable": "durValue"
                            }
                          ],
                          "target": [
                            {
                              "context": "repeat",
                              "element": "duration",
                              "transform": "copy",
                              "parameter": [
                                {
                                  "valueId": "durValue"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "documentation": "Duration"
                },
                {
                  "name": "findDurUom",
                  "source": [
                    {
                      "context": "prescriptionGroup",
                      "element": "item",
                      "variable": "durUomItem",
                      "condition": "(linkId = 'duration-uom')"
                    }
                  ],
                  "rule": [
                    {
                      "name": "extractDurUom",
                      "source": [
                        {
                          "context": "durUomItem",
                          "element": "answer",
                          "listMode": "first",
                          "variable": "durUomAns"
                        }
                      ],
                      "rule": [
                        {
                          "name": "extractDurUomCode",
                          "source": [
                            {
                              "context": "durUomAns",
                              "element": "valueCoding",
                              "variable": "durUomCoding"
                            }
                          ],
                          "rule": [
                            {
                              "name": "setDurationUnit",
                              "source": [
                                {
                                  "context": "durUomCoding",
                                  "element": "code",
                                  "variable": "durUomCode"
                                }
                              ],
                              "target": [
                                {
                                  "context": "repeat",
                                  "element": "durationUnit",
                                  "transform": "copy",
                                  "parameter": [
                                    {
                                      "valueId": "durUomCode"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "documentation": "Duration UOM - directly use the code from unitsofmeasure.org (h, d, wk, mo, a)"
                },
                {
                  "name": "findWhen",
                  "source": [
                    {
                      "context": "prescriptionGroup",
                      "element": "item",
                      "variable": "whenItem",
                      "condition": "(linkId = 'when-to-take')"
                    }
                  ],
                  "rule": [
                    {
                      "name": "extractWhen",
                      "source": [
                        {
                          "context": "whenItem",
                          "element": "answer",
                          "listMode": "first",
                          "variable": "whenAns"
                        }
                      ],
                      "rule": [
                        {
                          "name": "extractWhenCode",
                          "source": [
                            {
                              "context": "whenAns",
                              "element": "valueCoding",
                              "variable": "whenCoding"
                            }
                          ],
                          "rule": [
                            {
                              "name": "setWhenCode",
                              "source": [
                                {
                                  "context": "whenCoding",
                                  "element": "code",
                                  "variable": "whenCode"
                                }
                              ],
                              "target": [
                                {
                                  "context": "repeat",
                                  "element": "when",
                                  "transform": "copy",
                                  "parameter": [
                                    {
                                      "valueId": "whenCode"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "documentation": "When to take - directly use the code (AC, PC, ACM, ACD, ACV, PCM, PCD, PCV, etc.)"
                },
                {
                  "name": "findStartDate",
                  "source": [
                    {
                      "context": "prescriptionGroup",
                      "element": "item",
                      "variable": "startItem",
                      "condition": "(linkId = 'start-date')"
                    }
                  ],
                  "rule": [
                    {
                      "name": "extractStartDate",
                      "source": [
                        {
                          "context": "startItem",
                          "element": "answer",
                          "listMode": "first",
                          "variable": "startAns"
                        }
                      ],
                      "rule": [
                        {
                          "name": "createBoundsPeriod",
                          "source": [
                            {
                              "context": "startAns",
                              "element": "valueDate",
                              "variable": "startDate"
                            }
                          ],
                          "target": [
                            {
                              "context": "repeat",
                              "element": "boundsPeriod",
                              "variable": "boundsPeriod"
                            }
                          ],
                          "rule": [
                            {
                              "name": "setBoundsStart",
                              "source": [
                                {
                                  "context": "startDate"
                                }
                              ],
                              "target": [
                                {
                                  "context": "boundsPeriod",
                                  "element": "start",
                                  "transform": "copy",
                                  "parameter": [
                                    {
                                      "valueId": "startDate"
                                    }
                                  ]
                                }
                              ]
                            },
                            {
                              "name": "findEndDate",
                              "source": [
                                {
                                  "context": "prescriptionGroup",
                                  "element": "item",
                                  "variable": "endItem",
                                  "condition": "(linkId = 'end-date')"
                                }
                              ],
                              "rule": [
                                {
                                  "name": "extractEndDate",
                                  "source": [
                                    {
                                      "context": "endItem",
                                      "element": "answer",
                                      "listMode": "first",
                                      "variable": "endAns"
                                    }
                                  ],
                                  "rule": [
                                    {
                                      "name": "setBoundsEnd",
                                      "source": [
                                        {
                                          "context": "endAns",
                                          "element": "valueDate",
                                          "variable": "endDate"
                                        }
                                      ],
                                      "target": [
                                        {
                                          "context": "boundsPeriod",
                                          "element": "end",
                                          "transform": "copy",
                                          "parameter": [
                                            {
                                              "valueId": "endDate"
                                            }
                                          ]
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "documentation": "Bounds Period from start-date and end-date"
                }
              ]
            }
          ]
        },
        {
          "name": "findRoute",
          "source": [
            {
              "context": "prescriptionGroup",
              "element": "item",
              "variable": "routeItem",
              "condition": "(linkId = 'route')"
            }
          ],
          "rule": [
            {
              "name": "extractRoute",
              "source": [
                {
                  "context": "routeItem",
                  "element": "answer",
                  "listMode": "first",
                  "variable": "routeAns"
                }
              ],
              "rule": [
                {
                  "name": "setRouteCC",
                  "source": [
                    {
                      "context": "routeAns",
                      "element": "valueCoding",
                      "variable": "routeCoding"
                    }
                  ],
                  "target": [
                    {
                      "context": "dosage",
                      "element": "route",
                      "variable": "routeCC",
                      "transform": "create",
                      "parameter": [
                        {
                          "valueString": "CodeableConcept"
                        }
                      ]
                    }
                  ],
                  "rule": [
                    {
                      "name": "setRouteCoding",
                      "source": [
                        {
                          "context": "routeCoding"
                        }
                      ],
                      "target": [
                        {
                          "context": "routeCC",
                          "element": "coding",
                          "transform": "copy",
                          "parameter": [
                            {
                              "valueId": "routeCoding"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name": "setRouteText",
                      "source": [
                        {
                          "context": "routeCoding",
                          "element": "display",
                          "variable": "disp"
                        }
                      ],
                      "target": [
                        {
                          "context": "routeCC",
                          "element": "text",
                          "transform": "copy",
                          "parameter": [
                            {
                              "valueId": "disp"
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "documentation": "Route"
        },
        {
          "name": "findDose",
          "source": [
            {
              "context": "prescriptionGroup",
              "element": "item",
              "variable": "doseItem",
              "condition": "(linkId = 'dose')"
            }
          ],
          "rule": [
            {
              "name": "extractDoseAns",
              "source": [
                {
                  "context": "doseItem",
                  "element": "answer",
                  "listMode": "first",
                  "variable": "doseAns"
                }
              ],
              "rule": [
                {
                  "name": "createDoseAndRate",
                  "source": [
                    {
                      "context": "doseAns",
                      "element": "valueInteger",
                      "variable": "doseValue"
                    }
                  ],
                  "target": [
                    {
                      "context": "dosage",
                      "element": "doseAndRate",
                      "variable": "doseRate"
                    },
                    {
                      "context": "doseRate",
                      "element": "doseQuantity",
                      "variable": "doseQty"
                    }
                  ],
                  "rule": [
                    {
                      "name": "setDoseValue",
                      "source": [
                        {
                          "context": "doseValue"
                        }
                      ],
                      "target": [
                        {
                          "context": "doseQty",
                          "element": "value",
                          "transform": "copy",
                          "parameter": [
                            {
                              "valueId": "doseValue"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name": "findDoseUnit",
                      "source": [
                        {
                          "context": "prescriptionGroup",
                          "element": "item",
                          "variable": "doseUnitItem",
                          "condition": "(linkId = 'dosage-unit')"
                        }
                      ],
                      "rule": [
                        {
                          "name": "extractDoseUnitAns",
                          "source": [
                            {
                              "context": "doseUnitItem",
                              "element": "answer",
                              "listMode": "first",
                              "variable": "doseUnitAns"
                            }
                          ],
                          "rule": [
                            {
                              "name": "extractUnitCoding",
                              "source": [
                                {
                                  "context": "doseUnitAns",
                                  "element": "valueCoding",
                                  "variable": "unitCoding"
                                }
                              ],
                              "rule": [
                                {
                                  "name": "setDoseUnit",
                                  "source": [
                                    {
                                      "context": "unitCoding",
                                      "element": "display",
                                      "variable": "unitDisp"
                                    }
                                  ],
                                  "target": [
                                    {
                                      "context": "doseQty",
                                      "element": "unit",
                                      "transform": "copy",
                                      "parameter": [
                                        {
                                          "valueId": "unitDisp"
                                        }
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "name": "setDoseCode",
                                  "source": [
                                    {
                                      "context": "unitCoding",
                                      "element": "code",
                                      "variable": "unitCode"
                                    }
                                  ],
                                  "target": [
                                    {
                                      "context": "doseQty",
                                      "element": "code",
                                      "transform": "copy",
                                      "parameter": [
                                        {
                                          "valueId": "unitCode"
                                        }
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "name": "setDoseSystem",
                                  "source": [
                                    {
                                      "context": "unitCoding",
                                      "element": "system",
                                      "variable": "unitSys"
                                    }
                                  ],
                                  "target": [
                                    {
                                      "context": "doseQty",
                                      "element": "system",
                                      "transform": "copy",
                                      "parameter": [
                                        {
                                          "valueId": "unitSys"
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "documentation": "Dose and Rate"
        },
        {
          "name": "findDosageInstr",
          "source": [
            {
              "context": "prescriptionGroup",
              "element": "item",
              "variable": "instrItem",
              "condition": "(linkId = 'dosage-instructions')"
            }
          ],
          "rule": [
            {
              "name": "extractInstr",
              "source": [
                {
                  "context": "instrItem",
                  "element": "answer",
                  "listMode": "first",
                  "variable": "instrAns"
                }
              ],
              "rule": [
                {
                  "name": "setPatientInstruction",
                  "source": [
                    {
                      "context": "instrAns",
                      "element": "valueString",
                      "variable": "instrText"
                    }
                  ],
                  "target": [
                    {
                      "context": "dosage",
                      "element": "patientInstruction",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueId": "instrText"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "documentation": "Dosage Instructions (patient instruction)"
        },
        {
          "name": "findAddInstr",
          "source": [
            {
              "context": "prescriptionGroup",
              "element": "item",
              "variable": "addInstrItem",
              "condition": "(linkId = 'additional-instructions')"
            }
          ],
          "rule": [
            {
              "name": "extractAddInstr",
              "source": [
                {
                  "context": "addInstrItem",
                  "element": "answer",
                  "listMode": "first",
                  "variable": "addInstrAns"
                }
              ],
              "rule": [
                {
                  "name": "setDosageText",
                  "source": [
                    {
                      "context": "addInstrAns",
                      "element": "valueString",
                      "variable": "addInstrText"
                    }
                  ],
                  "target": [
                    {
                      "context": "dosage",
                      "element": "text",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueId": "addInstrText"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "documentation": "Additional Instructions (text)"
        }
      ]
    },
    {
      "name": "BuildDispenseRequest",
      "input": [
        {
          "name": "qr",
          "type": "QR",
          "mode": "source"
        },
        {
          "name": "prescriptionGroup",
          "mode": "source"
        },
        {
          "name": "dispReq",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "findRefills",
          "source": [
            {
              "context": "prescriptionGroup",
              "element": "item",
              "variable": "refillsItem",
              "condition": "(linkId = 'refills')"
            }
          ],
          "rule": [
            {
              "name": "extractRefills",
              "source": [
                {
                  "context": "refillsItem",
                  "element": "answer",
                  "listMode": "first",
                  "variable": "refillsAns"
                }
              ],
              "rule": [
                {
                  "name": "setRefills",
                  "source": [
                    {
                      "context": "refillsAns",
                      "element": "valueInteger",
                      "variable": "refillsValue"
                    }
                  ],
                  "target": [
                    {
                      "context": "dispReq",
                      "element": "numberOfRepeatsAllowed",
                      "transform": "copy",
                      "parameter": [
                        {
                          "valueId": "refillsValue"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "documentation": "Refills"
        },
        {
          "name": "findValidityStart",
          "source": [
            {
              "context": "prescriptionGroup",
              "element": "item",
              "variable": "startItem",
              "condition": "(linkId = 'start-date')"
            }
          ],
          "rule": [
            {
              "name": "extractValidityStart",
              "source": [
                {
                  "context": "startItem",
                  "element": "answer",
                  "listMode": "first",
                  "variable": "startAns"
                }
              ],
              "rule": [
                {
                  "name": "createValidityPeriod",
                  "source": [
                    {
                      "context": "startAns",
                      "element": "valueDate",
                      "variable": "startDate"
                    }
                  ],
                  "target": [
                    {
                      "context": "dispReq",
                      "element": "validityPeriod",
                      "variable": "validPeriod"
                    }
                  ],
                  "rule": [
                    {
                      "name": "setValidityStart",
                      "source": [
                        {
                          "context": "startDate"
                        }
                      ],
                      "target": [
                        {
                          "context": "validPeriod",
                          "element": "start",
                          "transform": "copy",
                          "parameter": [
                            {
                              "valueId": "startDate"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name": "findValidityEnd",
                      "source": [
                        {
                          "context": "prescriptionGroup",
                          "element": "item",
                          "variable": "endItem",
                          "condition": "(linkId = 'end-date')"
                        }
                      ],
                      "rule": [
                        {
                          "name": "extractValidityEnd",
                          "source": [
                            {
                              "context": "endItem",
                              "element": "answer",
                              "listMode": "first",
                              "variable": "endAns"
                            }
                          ],
                          "rule": [
                            {
                              "name": "setValidityEnd",
                              "source": [
                                {
                                  "context": "endAns",
                                  "element": "valueDate",
                                  "variable": "endDate"
                                }
                              ],
                              "target": [
                                {
                                  "context": "validPeriod",
                                  "element": "end",
                                  "transform": "copy",
                                  "parameter": [
                                    {
                                      "valueId": "endDate"
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "documentation": "Validity Period from start-date and end-date"
        },
        {
          "name": "findSupplyDuration",
          "source": [
            {
              "context": "prescriptionGroup",
              "element": "item",
              "variable": "durItem",
              "condition": "(linkId = 'duration')"
            }
          ],
          "rule": [
            {
              "name": "extractSupplyDuration",
              "source": [
                {
                  "context": "durItem",
                  "element": "answer",
                  "listMode": "first",
                  "variable": "durAns"
                }
              ],
              "rule": [
                {
                  "name": "createSupplyDuration",
                  "source": [
                    {
                      "context": "durAns",
                      "element": "valueInteger",
                      "variable": "durValue"
                    }
                  ],
                  "target": [
                    {
                      "context": "dispReq",
                      "element": "expectedSupplyDuration",
                      "variable": "supplyDur"
                    }
                  ],
                  "rule": [
                    {
                      "name": "setSupplyDurValue",
                      "source": [
                        {
                          "context": "durValue"
                        }
                      ],
                      "target": [
                        {
                          "context": "supplyDur",
                          "element": "value",
                          "transform": "copy",
                          "parameter": [
                            {
                              "valueId": "durValue"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "name": "findSupplyDurUom",
                      "source": [
                        {
                          "context": "prescriptionGroup",
                          "element": "item",
                          "variable": "durUomItem",
                          "condition": "(linkId = 'duration-uom')"
                        }
                      ],
                      "rule": [
                        {
                          "name": "extractSupplyDurUomAns",
                          "source": [
                            {
                              "context": "durUomItem",
                              "element": "answer",
                              "listMode": "first",
                              "variable": "durUomAns"
                            }
                          ],
                          "rule": [
                            {
                              "name": "extractSupplyDurUom",
                              "source": [
                                {
                                  "context": "durUomAns",
                                  "element": "valueCoding",
                                  "variable": "durUomCoding"
                                }
                              ],
                              "rule": [
                                {
                                  "name": "setSupplyDurCode",
                                  "source": [
                                    {
                                      "context": "durUomCoding",
                                      "element": "code",
                                      "variable": "uomCode"
                                    }
                                  ],
                                  "target": [
                                    {
                                      "context": "supplyDur",
                                      "element": "code",
                                      "transform": "copy",
                                      "parameter": [
                                        {
                                          "valueId": "uomCode"
                                        }
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "name": "setSupplyDurUnit",
                                  "source": [
                                    {
                                      "context": "durUomCoding",
                                      "element": "display",
                                      "variable": "uomDisplay"
                                    }
                                  ],
                                  "target": [
                                    {
                                      "context": "supplyDur",
                                      "element": "unit",
                                      "transform": "copy",
                                      "parameter": [
                                        {
                                          "valueId": "uomDisplay"
                                        }
                                      ]
                                    }
                                  ]
                                },
                                {
                                  "name": "setSupplyDurSystem",
                                  "source": [
                                    {
                                      "context": "durUomCoding",
                                      "element": "system",
                                      "variable": "uomSystem"
                                    }
                                  ],
                                  "target": [
                                    {
                                      "context": "supplyDur",
                                      "element": "system",
                                      "transform": "copy",
                                      "parameter": [
                                        {
                                          "valueId": "uomSystem"
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "documentation": "Expected Supply Duration"
        },
        {
          "name": "setDispenser",
          "source": [
            {
              "context": "qr",
              "element": "source",
              "variable": "src"
            }
          ],
          "target": [
            {
              "context": "dispReq",
              "element": "dispenser",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "src"
                }
              ]
            }
          ],
          "documentation": "Dispenser - from QuestionnaireResponse.source (Organization)"
        }
      ]
    },
    {
      "name": "SetMedicationRequestFullUrl",
      "input": [
        {
          "name": "medReq",
          "type": "MedicationRequest",
          "mode": "source"
        },
        {
          "name": "entry",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "assignFullUrl",
          "source": [
            {
              "context": "medReq",
              "element": "id",
              "variable": "id"
            }
          ],
          "target": [
            {
              "context": "entry",
              "element": "fullUrl",
              "transform": "append",
              "parameter": [
                {
                  "valueString": "https://fhir.slade360.co.ke/fhir/MedicationRequest/"
                },
                {
                  "valueId": "id"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}