Inera Core Implementation Guide
0.2.0 - ci-build Sweden

Inera Core Implementation Guide - Local Development build (v0.2.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

: ConceptMap GetMedicationHistory TKB to FHIR MedicationStatement - TTL Representation

Draft as of 2026-01-09

Raw ttl | Download

@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# - resource -------------------------------------------------------------------

 a fhir:ConceptMap ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "ConceptMapGetMedicationHistoryTKBToMedicationStatement"] ; # 
  fhir:text [
fhir:status [ fhir:v "generated" ] ;
fhir:div [ fhir:v "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: ConceptMap ConceptMapGetMedicationHistoryTKBToMedicationStatement</b></p><a name=\"ConceptMapGetMedicationHistoryTKBToMedicationStatement\"> </a><a name=\"hcConceptMapGetMedicationHistoryTKBToMedicationStatement\"> </a><p>Mapping from https://rivta.se/domains/clinicalprocess/activityprescription/actoutcome/GetMedicationHistoryResponder/2 to <a href=\"http://hl7.org/fhir/R4/medicationstatement.html\">MedicationStatement</a></p><br/><p><b>Group 1 </b>Mapping from <code>https://rivta.se/domains/clinicalprocess/activityprescription/actoutcome/GetMedicationHistoryResponder/2</code> to <a href=\"http://hl7.org/fhir/R4/bundle.html\">Bundle</a></p><table class=\"grid\"><tr><td><b>Source Code</b></td><td><b>Relationship</b></td><td><b>Target Code</b></td><td><b>Comment</b></td></tr><tr><td>patientId (Patient ID (personnummer/samordningsnummer))</td><td colspan=\"2\" style=\"background-color: #efefef\">(not mapped)</td><td style=\"background-color: #efefef\">Query parameter: GET /MedicationStatement?subject=Patient/191212121212</td></tr><tr><td>careUnitHSAId</td><td colspan=\"2\" style=\"background-color: #efefef\">(not mapped)</td><td style=\"background-color: #efefef\">Query parameter: GET /MedicationStatement?context.custodian=Organization/{hsaid}</td></tr><tr><td>datePeriod (Date period for medication)</td><td colspan=\"2\" style=\"background-color: #efefef\">(not mapped)</td><td style=\"background-color: #efefef\">Query parameter: GET /MedicationStatement?effective=ge2024-01-01&amp;effective=le2024-12-31</td></tr><tr><td>prescriptionChainId</td><td colspan=\"2\" style=\"background-color: #efefef\">(not mapped)</td><td style=\"background-color: #efefef\">Custom query parameter or filter by identifier</td></tr><tr><td>prescriptionStatus (Prescription status (Active/Inactive))</td><td colspan=\"2\" style=\"background-color: #efefef\">(not mapped)</td><td style=\"background-color: #efefef\">Query parameter: GET /MedicationStatement?status=active</td></tr></table><hr/><p><b>Group 2 </b>Mapping from <code>https://rivta.se/domains/clinicalprocess/activityprescription/actoutcome/GetMedicationHistoryResponder/2</code> to <a href=\"http://hl7.org/fhir/R4/medicationstatement.html\">MedicationStatement</a></p><table class=\"grid\"><tr><td><b>Source Code</b></td><td><b>Relationship</b></td><td><b>Target Code</b></td><td><b>Comment</b></td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordHeader.documentId (Document ID (ordinations-id))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>identifier</td><td>Unique identifier for medication record. Maps to MedicationStatement.identifier</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordHeader.patientId (Patient ID)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>subject</td><td>Reference to Patient resource with Swedish national identifier</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordHeader.careContactId (Care contact ID)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>context</td><td>Reference to Encounter that prompted the medication record</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.prescriptionId (Prescription ID)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>identifier</td><td>Unique identifier for prescription. Often same as documentId</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.typeOfPrescription (Type of prescription (I=Insättning, U=Utsättning))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#relatedto\" title=\"relatedto\">is related to</a></td><td>extension</td><td>Use extension for prescription type. I=start, U=stop. Map to status and statusReason</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.prescriptionStatus (Prescription status (Active/Inactive))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>status</td><td>MedicationStatement status: active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.prescriptionNote (Prescription note)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>note.text</td><td>Free text describing the prescription, why started or changed</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.principalPrescriptionReason.reason (Principal prescription reason (NKOO code))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>reasonCode</td><td>Primary reason for prescription. Use Socialstyrelsens NKOO CodeSystem</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.treatmentPurpose (Treatment purpose)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#wider\" title=\"wider\">maps to wider concept</a></td><td>note.text</td><td>Free text describing treatment purpose (e.g., 'For high blood pressure'). Add to note</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.prescriptionChainId (Prescription chain ID)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#relatedto\" title=\"relatedto\">is related to</a></td><td>partOf</td><td>Links prescriptions in same chain. Use partOf to reference previous MedicationStatement or custom extension</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.startOfTreatment (Start of treatment)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>effectivePeriod.start</td><td>Date when patient should start taking medication</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.endOfTreatment (End of treatment)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>effectivePeriod.end</td><td>Date when patient should stop taking medication</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.endOfTreatmentReason (End of treatment reason)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>statusReason</td><td>Reason for stopping medication. Use when status=stopped</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.selfMedication (Self medication (patient-prescribed))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#relatedto\" title=\"relatedto\">is related to</a></td><td>informationSource</td><td>If true, informationSource references the Patient. If false, references Practitioner/prescriber</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.drug.drug.nplId (NPL product ID)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>medicationCodeableConcept.coding.code</td><td>Medication coded with NPL (Nationellt Produktregister för Läkemedel). CodeSystem: 1.2.752.129.2.1.5.1</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.drug.drug.atcCode (ATC code)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>medicationCodeableConcept.coding.code</td><td>ATC classification code. CodeSystem: http://www.whocc.no/atc</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.drug.drug.pharmaceuticalForm (Pharmaceutical form (tablett, kapsel, etc.))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>medicationReference.form</td><td>Form of medication. Reference Medication resource with form element using SIL codes</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.drug.drug.strength (Medication strength)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>medicationReference.ingredient.strength</td><td>Strength of medication (e.g., 20.0 mg). Reference Medication resource with ingredient details</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.drug.drug.routeOfAdministration (Route of administration)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>dosage.route</td><td>How medication is administered (oral, intravenous, etc.). Use SNOMED CT</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.drug.dosage.dosageInstruction (Dosage instruction (patient-facing text))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>dosage.text</td><td>Free text instructions for patient</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.drug.dosage.unitDose (Unit dose (tablett, ml, etc.))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>dosage.doseAndRate.doseQuantity.unit</td><td>Unit for dosage (e.g., tablett, ml). Use UCUM codes</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.drug.dosage.shortNotation (Short dosage notation (e.g., 1x2))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#wider\" title=\"wider\">maps to wider concept</a></td><td>dosage.patientInstruction</td><td>Abbreviated dosage description. Add to dosage.text or patientInstruction</td></tr></table><hr/><p><b>Group 3 </b>Mapping from <code>https://rivta.se/domains/clinicalprocess/activityprescription/actoutcome/GetMedicationHistoryResponder/2</code> to <a href=\"http://hl7.org/fhir/R4/provenance.html\">Provenance</a></p><table class=\"grid\"><tr><td><b>Source Code</b></td><td><b>Relationship</b></td><td><b>Target Code</b></td><td><b>Comment</b></td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordHeader.sourceSystemHSAId (Source system HSA-ID)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>entity.what</td><td>Provenance.entity.what references Device with HSA-ID. Provenance.entity.role = source</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordHeader.accountableHealthcareProfessional.authorTime (Author time (documentation time))</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>recorded</td><td>When information was documented/updated in source system</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordHeader.accountableHealthcareProfessional.healthcareProfessionalHSAId (Documenting practitioner HSA-ID)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>agent.who</td><td>Provenance.agent (type=author) references Practitioner who documented</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordHeader.accountableHealthcareProfessional.healthcareProfessionalcareUnitHSAId (Care unit HSA-ID)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>agent.onBehalfOf</td><td>Provenance.agent.onBehalfOf references Organization (care unit)</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordHeader.accountableHealthcareProfessional.healthcareProfessionalcareGiverHSAId (Care giver HSA-ID)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#relatedto\" title=\"relatedto\">is related to</a></td><td>entity.what</td><td>Care giver organization. Create nested Provenance.entity for organizational hierarchy</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordHeader.legalAuthenticator.signatureTime (Signature time)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>signature.when</td><td>Provenance.signature.when for legal signature</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordHeader.legalAuthenticator.legalAuthenticatorHSAId (Signer HSA-ID)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>signature.who</td><td>Provenance.signature.who references Practitioner who signed</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.prescriber.authorTime (Prescriber decision time)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>occurredDateTime</td><td>When prescription decision was made. Use separate Provenance for prescriber role</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.prescriber.healthcareProfessionalHSAId (Prescriber HSA-ID)</td><td><a href=\"http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent\" title=\"equivalent\">is equivalent to</a></td><td>agent.who</td><td>Provenance.agent (type=prescriber or role=doctor) references Practitioner. Note: Different from documenter</td></tr></table><hr/><p><b>Group 4 </b>Mapping from <code>https://rivta.se/domains/clinicalprocess/activityprescription/actoutcome/GetMedicationHistoryResponder/2</code> to <a href=\"http://hl7.org/fhir/R4/bundle.html\">Bundle</a></p><table class=\"grid\"><tr><td><b>Source Code</b></td><td><b>Relationship</b></td><td><b>Target Code</b></td><td><b>Comment</b></td></tr><tr><td>result.resultCode (Result code (OK/INFO/ERROR))</td><td colspan=\"2\" style=\"background-color: #efefef\">(not mapped)</td><td style=\"background-color: #efefef\">Query result metadata. Use Bundle.entry.response for errors or OperationOutcome</td></tr><tr><td>result.errorCode (Error code)</td><td colspan=\"2\" style=\"background-color: #efefef\">(not mapped)</td><td style=\"background-color: #efefef\">Error details in OperationOutcome if resultCode=ERROR</td></tr><tr><td>result.logId (Log ID (UUID for troubleshooting))</td><td colspan=\"2\" style=\"background-color: #efefef\">(not mapped)</td><td style=\"background-color: #efefef\">Tracing ID. Can be included in OperationOutcome.issue.diagnostics</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordHeader.nullified (Nullified flag)</td><td colspan=\"2\" style=\"background-color: #efefef\">(not mapped)</td><td style=\"background-color: #efefef\">If true, MedicationStatement should be marked entered-in-error or not included in results</td></tr><tr><td>medicationMedicalRecord.medicationMedicalRecordHeader.approvedForPatient (Approved for patient access)</td><td colspan=\"2\" style=\"background-color: #efefef\">(not mapped)</td><td style=\"background-color: #efefef\">PDL/GDPR consent flag. Handle in access control layer, not in resource data</td></tr></table></div>"^^rdf:XMLLiteral ]
  ] ; # 
  fhir:url [
fhir:v "https://inera.se/fhir/core/ConceptMap/getmedicationhistory-tkb-to-medicationstatement"^^xsd:anyURI ;
fhir:l <https://inera.se/fhir/core/ConceptMap/getmedicationhistory-tkb-to-medicationstatement>
  ] ; # 
  fhir:version [ fhir:v "0.2.0"] ; # 
  fhir:name [ fhir:v "ConceptMapGetMedicationHistoryTKBToMedicationStatement"] ; # 
  fhir:title [ fhir:v "ConceptMap GetMedicationHistory TKB to FHIR MedicationStatement"] ; # 
  fhir:status [ fhir:v "draft"] ; # 
  fhir:experimental [ fhir:v true] ; # 
  fhir:date [ fhir:v "2026-01-09"^^xsd:date] ; # 
  fhir:publisher [ fhir:v "Inera AB"] ; # 
  fhir:contact ( [
fhir:name [ fhir:v "Inera AB" ] ;
    ( fhir:telecom [
fhir:system [ fhir:v "url" ] ;
fhir:value [ fhir:v "https://www.inera.se" ]     ] [
fhir:system [ fhir:v "email" ] ;
fhir:value [ fhir:v "info@inera.se" ]     ] )
  ] [
fhir:name [ fhir:v "Inera AB" ] ;
    ( fhir:telecom [
fhir:system [ fhir:v "url" ] ;
fhir:value [ fhir:v "https://www.inera.se" ]     ] [
fhir:system [ fhir:v "email" ] ;
fhir:value [ fhir:v "info@inera.se" ]     ] )
  ] ) ; # 
  fhir:description [ fhir:v "Mapping from GetMedicationHistory v2.0 TKB service to FHIR MedicationStatement and Provenance resources.\n\n**TKB Service**: GetMedicationHistory v2.0  \n**TKB Domain**: clinicalprocess:activityprescription:actoutcome v2.0\n**Logical Model**: GetMedicationHistoryResponseLM\n**FHIR Resources**: MedicationStatement (primary), Medication, Provenance (metadata)\n\n**Mapping Coverage**:\n- ✅ Header metadata: 20+ elements (document ID, patient, author, signer, care contact)\n- ✅ Prescription data: 15+ elements (prescription ID, type, status, reason, treatment period)\n- ✅ Drug information: NPL-ID, ATC codes, strength, pharmaceutical form\n- ⚠️ Dosage: High-level mapping (detailed dosage structures in Dosage datatype are complex)\n\n**Note**: Dosage mappings cover core structures (setDosage, conditionalDosage, rampedDosage) but \ndetailed sub-elements require careful transformation according to FHIR Dosage datatype specification."] ; # 
  fhir:jurisdiction ( [
    ( fhir:coding [
fhir:system [
fhir:v "urn:iso:std:iso:3166"^^xsd:anyURI ;
fhir:l <urn:iso:std:iso:3166>       ] ;
fhir:code [ fhir:v "SE" ] ;
fhir:display [ fhir:v "Sweden" ]     ] )
  ] ) ; # 
  fhir:source [
a fhir:Uri ;
fhir:v "https://rivta.se/domains/clinicalprocess/activityprescription/actoutcome/GetMedicationHistoryResponder/2"^^xsd:anyURI ;
fhir:l <https://rivta.se/domains/clinicalprocess/activityprescription/actoutcome/GetMedicationHistoryResponder/2>
  ] ; # 
  fhir:target [
a fhir:Canonical ;
fhir:v "http://hl7.org/fhir/StructureDefinition/MedicationStatement"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/MedicationStatement>
  ] ; # 
  fhir:group ( [
fhir:source [
fhir:v "https://rivta.se/domains/clinicalprocess/activityprescription/actoutcome/GetMedicationHistoryResponder/2"^^xsd:anyURI ;
fhir:l <https://rivta.se/domains/clinicalprocess/activityprescription/actoutcome/GetMedicationHistoryResponder/2>     ] ;
fhir:target [
fhir:v "http://hl7.org/fhir/StructureDefinition/Bundle"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Bundle>     ] ;
    ( fhir:element [
fhir:code [ fhir:v "patientId" ] ;
fhir:display [ fhir:v "Patient ID (personnummer/samordningsnummer)" ] ;
      ( fhir:target [
fhir:equivalence [ fhir:v "unmatched" ] ;
fhir:comment [ fhir:v "Query parameter: GET /MedicationStatement?subject=Patient/191212121212" ]       ] )     ] [
fhir:code [ fhir:v "careUnitHSAId" ] ;
fhir:display [ fhir:v "Care unit HSA-ID" ] ;
      ( fhir:target [
fhir:equivalence [ fhir:v "unmatched" ] ;
fhir:comment [ fhir:v "Query parameter: GET /MedicationStatement?context.custodian=Organization/{hsaid}" ]       ] )     ] [
fhir:code [ fhir:v "datePeriod" ] ;
fhir:display [ fhir:v "Date period for medication" ] ;
      ( fhir:target [
fhir:equivalence [ fhir:v "unmatched" ] ;
fhir:comment [ fhir:v "Query parameter: GET /MedicationStatement?effective=ge2024-01-01&effective=le2024-12-31" ]       ] )     ] [
fhir:code [ fhir:v "prescriptionChainId" ] ;
fhir:display [ fhir:v "Prescription chain ID" ] ;
      ( fhir:target [
fhir:equivalence [ fhir:v "unmatched" ] ;
fhir:comment [ fhir:v "Custom query parameter or filter by identifier" ]       ] )     ] [
fhir:code [ fhir:v "prescriptionStatus" ] ;
fhir:display [ fhir:v "Prescription status (Active/Inactive)" ] ;
      ( fhir:target [
fhir:equivalence [ fhir:v "unmatched" ] ;
fhir:comment [ fhir:v "Query parameter: GET /MedicationStatement?status=active" ]       ] )     ] )
  ] [
fhir:source [
fhir:v "https://rivta.se/domains/clinicalprocess/activityprescription/actoutcome/GetMedicationHistoryResponder/2"^^xsd:anyURI ;
fhir:l <https://rivta.se/domains/clinicalprocess/activityprescription/actoutcome/GetMedicationHistoryResponder/2>     ] ;
fhir:target [
fhir:v "http://hl7.org/fhir/StructureDefinition/MedicationStatement"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/MedicationStatement>     ] ;
    ( fhir:element [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordHeader.documentId" ] ;
fhir:display [ fhir:v "Document ID (ordinations-id)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "identifier" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Unique identifier for medication record. Maps to MedicationStatement.identifier" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordHeader.patientId" ] ;
fhir:display [ fhir:v "Patient ID" ] ;
      ( fhir:target [
fhir:code [ fhir:v "subject" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Reference to Patient resource with Swedish national identifier" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordHeader.careContactId" ] ;
fhir:display [ fhir:v "Care contact ID" ] ;
      ( fhir:target [
fhir:code [ fhir:v "context" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Reference to Encounter that prompted the medication record" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.prescriptionId" ] ;
fhir:display [ fhir:v "Prescription ID" ] ;
      ( fhir:target [
fhir:code [ fhir:v "identifier" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Unique identifier for prescription. Often same as documentId" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.typeOfPrescription" ] ;
fhir:display [ fhir:v "Type of prescription (I=Insättning, U=Utsättning)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "extension" ] ;
fhir:equivalence [ fhir:v "relatedto" ] ;
fhir:comment [ fhir:v "Use extension for prescription type. I=start, U=stop. Map to status and statusReason" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.prescriptionStatus" ] ;
fhir:display [ fhir:v "Prescription status (Active/Inactive)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "status" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "MedicationStatement status: active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.prescriptionNote" ] ;
fhir:display [ fhir:v "Prescription note" ] ;
      ( fhir:target [
fhir:code [ fhir:v "note.text" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Free text describing the prescription, why started or changed" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.principalPrescriptionReason.reason" ] ;
fhir:display [ fhir:v "Principal prescription reason (NKOO code)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "reasonCode" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Primary reason for prescription. Use Socialstyrelsens NKOO CodeSystem" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.treatmentPurpose" ] ;
fhir:display [ fhir:v "Treatment purpose" ] ;
      ( fhir:target [
fhir:code [ fhir:v "note.text" ] ;
fhir:equivalence [ fhir:v "wider" ] ;
fhir:comment [ fhir:v "Free text describing treatment purpose (e.g., 'For high blood pressure'). Add to note" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.prescriptionChainId" ] ;
fhir:display [ fhir:v "Prescription chain ID" ] ;
      ( fhir:target [
fhir:code [ fhir:v "partOf" ] ;
fhir:equivalence [ fhir:v "relatedto" ] ;
fhir:comment [ fhir:v "Links prescriptions in same chain. Use partOf to reference previous MedicationStatement or custom extension" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.startOfTreatment" ] ;
fhir:display [ fhir:v "Start of treatment" ] ;
      ( fhir:target [
fhir:code [ fhir:v "effectivePeriod.start" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Date when patient should start taking medication" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.endOfTreatment" ] ;
fhir:display [ fhir:v "End of treatment" ] ;
      ( fhir:target [
fhir:code [ fhir:v "effectivePeriod.end" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Date when patient should stop taking medication" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.endOfTreatmentReason" ] ;
fhir:display [ fhir:v "End of treatment reason" ] ;
      ( fhir:target [
fhir:code [ fhir:v "statusReason" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Reason for stopping medication. Use when status=stopped" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.selfMedication" ] ;
fhir:display [ fhir:v "Self medication (patient-prescribed)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "informationSource" ] ;
fhir:equivalence [ fhir:v "relatedto" ] ;
fhir:comment [ fhir:v "If true, informationSource references the Patient. If false, references Practitioner/prescriber" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.drug.drug.nplId" ] ;
fhir:display [ fhir:v "NPL product ID" ] ;
      ( fhir:target [
fhir:code [ fhir:v "medicationCodeableConcept.coding.code" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Medication coded with NPL (Nationellt Produktregister för Läkemedel). CodeSystem: 1.2.752.129.2.1.5.1" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.drug.drug.atcCode" ] ;
fhir:display [ fhir:v "ATC code" ] ;
      ( fhir:target [
fhir:code [ fhir:v "medicationCodeableConcept.coding.code" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "ATC classification code. CodeSystem: http://www.whocc.no/atc" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.drug.drug.pharmaceuticalForm" ] ;
fhir:display [ fhir:v "Pharmaceutical form (tablett, kapsel, etc.)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "medicationReference.form" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Form of medication. Reference Medication resource with form element using SIL codes" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.drug.drug.strength" ] ;
fhir:display [ fhir:v "Medication strength" ] ;
      ( fhir:target [
fhir:code [ fhir:v "medicationReference.ingredient.strength" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Strength of medication (e.g., 20.0 mg). Reference Medication resource with ingredient details" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.drug.drug.routeOfAdministration" ] ;
fhir:display [ fhir:v "Route of administration" ] ;
      ( fhir:target [
fhir:code [ fhir:v "dosage.route" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "How medication is administered (oral, intravenous, etc.). Use SNOMED CT" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.drug.dosage.dosageInstruction" ] ;
fhir:display [ fhir:v "Dosage instruction (patient-facing text)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "dosage.text" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Free text instructions for patient" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.drug.dosage.unitDose" ] ;
fhir:display [ fhir:v "Unit dose (tablett, ml, etc.)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "dosage.doseAndRate.doseQuantity.unit" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Unit for dosage (e.g., tablett, ml). Use UCUM codes" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.drug.dosage.shortNotation" ] ;
fhir:display [ fhir:v "Short dosage notation (e.g., 1x2)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "dosage.patientInstruction" ] ;
fhir:equivalence [ fhir:v "wider" ] ;
fhir:comment [ fhir:v "Abbreviated dosage description. Add to dosage.text or patientInstruction" ]       ] )     ] )
  ] [
fhir:source [
fhir:v "https://rivta.se/domains/clinicalprocess/activityprescription/actoutcome/GetMedicationHistoryResponder/2"^^xsd:anyURI ;
fhir:l <https://rivta.se/domains/clinicalprocess/activityprescription/actoutcome/GetMedicationHistoryResponder/2>     ] ;
fhir:target [
fhir:v "http://hl7.org/fhir/StructureDefinition/Provenance"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Provenance>     ] ;
    ( fhir:element [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordHeader.sourceSystemHSAId" ] ;
fhir:display [ fhir:v "Source system HSA-ID" ] ;
      ( fhir:target [
fhir:code [ fhir:v "entity.what" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Provenance.entity.what references Device with HSA-ID. Provenance.entity.role = source" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordHeader.accountableHealthcareProfessional.authorTime" ] ;
fhir:display [ fhir:v "Author time (documentation time)" ] ;
      ( fhir:target [
fhir:code [ fhir:v "recorded" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "When information was documented/updated in source system" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordHeader.accountableHealthcareProfessional.healthcareProfessionalHSAId" ] ;
fhir:display [ fhir:v "Documenting practitioner HSA-ID" ] ;
      ( fhir:target [
fhir:code [ fhir:v "agent.who" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Provenance.agent (type=author) references Practitioner who documented" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordHeader.accountableHealthcareProfessional.healthcareProfessionalcareUnitHSAId" ] ;
fhir:display [ fhir:v "Care unit HSA-ID" ] ;
      ( fhir:target [
fhir:code [ fhir:v "agent.onBehalfOf" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Provenance.agent.onBehalfOf references Organization (care unit)" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordHeader.accountableHealthcareProfessional.healthcareProfessionalcareGiverHSAId" ] ;
fhir:display [ fhir:v "Care giver HSA-ID" ] ;
      ( fhir:target [
fhir:code [ fhir:v "entity.what" ] ;
fhir:equivalence [ fhir:v "relatedto" ] ;
fhir:comment [ fhir:v "Care giver organization. Create nested Provenance.entity for organizational hierarchy" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordHeader.legalAuthenticator.signatureTime" ] ;
fhir:display [ fhir:v "Signature time" ] ;
      ( fhir:target [
fhir:code [ fhir:v "signature.when" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Provenance.signature.when for legal signature" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordHeader.legalAuthenticator.legalAuthenticatorHSAId" ] ;
fhir:display [ fhir:v "Signer HSA-ID" ] ;
      ( fhir:target [
fhir:code [ fhir:v "signature.who" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Provenance.signature.who references Practitioner who signed" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.prescriber.authorTime" ] ;
fhir:display [ fhir:v "Prescriber decision time" ] ;
      ( fhir:target [
fhir:code [ fhir:v "occurredDateTime" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "When prescription decision was made. Use separate Provenance for prescriber role" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordBody.medicationPrescription.prescriber.healthcareProfessionalHSAId" ] ;
fhir:display [ fhir:v "Prescriber HSA-ID" ] ;
      ( fhir:target [
fhir:code [ fhir:v "agent.who" ] ;
fhir:equivalence [ fhir:v "equivalent" ] ;
fhir:comment [ fhir:v "Provenance.agent (type=prescriber or role=doctor) references Practitioner. Note: Different from documenter" ]       ] )     ] )
  ] [
fhir:source [
fhir:v "https://rivta.se/domains/clinicalprocess/activityprescription/actoutcome/GetMedicationHistoryResponder/2"^^xsd:anyURI ;
fhir:l <https://rivta.se/domains/clinicalprocess/activityprescription/actoutcome/GetMedicationHistoryResponder/2>     ] ;
fhir:target [
fhir:v "http://hl7.org/fhir/StructureDefinition/Bundle"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Bundle>     ] ;
    ( fhir:element [
fhir:code [ fhir:v "result.resultCode" ] ;
fhir:display [ fhir:v "Result code (OK/INFO/ERROR)" ] ;
      ( fhir:target [
fhir:equivalence [ fhir:v "unmatched" ] ;
fhir:comment [ fhir:v "Query result metadata. Use Bundle.entry.response for errors or OperationOutcome" ]       ] )     ] [
fhir:code [ fhir:v "result.errorCode" ] ;
fhir:display [ fhir:v "Error code" ] ;
      ( fhir:target [
fhir:equivalence [ fhir:v "unmatched" ] ;
fhir:comment [ fhir:v "Error details in OperationOutcome if resultCode=ERROR" ]       ] )     ] [
fhir:code [ fhir:v "result.logId" ] ;
fhir:display [ fhir:v "Log ID (UUID for troubleshooting)" ] ;
      ( fhir:target [
fhir:equivalence [ fhir:v "unmatched" ] ;
fhir:comment [ fhir:v "Tracing ID. Can be included in OperationOutcome.issue.diagnostics" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordHeader.nullified" ] ;
fhir:display [ fhir:v "Nullified flag" ] ;
      ( fhir:target [
fhir:equivalence [ fhir:v "unmatched" ] ;
fhir:comment [ fhir:v "If true, MedicationStatement should be marked entered-in-error or not included in results" ]       ] )     ] [
fhir:code [ fhir:v "medicationMedicalRecord.medicationMedicalRecordHeader.approvedForPatient" ] ;
fhir:display [ fhir:v "Approved for patient access" ] ;
      ( fhir:target [
fhir:equivalence [ fhir:v "unmatched" ] ;
fhir:comment [ fhir:v "PDL/GDPR consent flag. Handle in access control layer, not in resource data" ]       ] )     ] )
  ] ) . #