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 GetCareDocumentation TKB to FHIR DocumentReference/Composition - XML Representation

Draft as of 2025-11-24

Raw xml | Download


<ConceptMap xmlns="http://hl7.org/fhir">
  <id value="ConceptMapGetCareDocumentationTKBToDocumentReference"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: ConceptMap ConceptMapGetCareDocumentationTKBToDocumentReference</b></p><a name="ConceptMapGetCareDocumentationTKBToDocumentReference"> </a><a name="hcConceptMapGetCareDocumentationTKBToDocumentReference"> </a><p>Mapping from https://rivta.se/domains/clinicalprocess/healthcond/description/GetCareDocumentationResponder/2 to <a href="http://hl7.org/fhir/R4/documentreference.html">DocumentReference</a></p><br/><p><b>Group 1 </b>Mapping from <code>https://rivta.se/domains/clinicalprocess/healthcond/description/GetCareDocumentationResponder/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 (Query parameter: Patient ID filter)</td><td colspan="2" style="background-color: #efefef">(not mapped)</td><td style="background-color: #efefef">NOT MAPPED. Used as search parameter: GET /DocumentReference?subject=Patient/191212121212</td></tr><tr><td>careUnitHSAid (Query parameter: Filter by care unit HSA-ID)</td><td colspan="2" style="background-color: #efefef">(not mapped)</td><td style="background-color: #efefef">NOT MAPPED. Used as search parameter: GET /DocumentReference?custodian.identifier=https://hsaid.se|SE2321000016-A001</td></tr><tr><td>sourceSystemHSAid (Query parameter: Filter by source system)</td><td colspan="2" style="background-color: #efefef">(not mapped)</td><td style="background-color: #efefef">NOT MAPPED. Used as search parameter or routing to specific system</td></tr><tr><td>timePeriod (Query parameter: Time period filter (from-to))</td><td colspan="2" style="background-color: #efefef">(not mapped)</td><td style="background-color: #efefef">NOT MAPPED. Used as search parameter: GET /DocumentReference?date=ge2025-01-01&amp;date=le2025-12-31</td></tr><tr><td>careContactId (Query parameter: Filter by specific care contact)</td><td colspan="2" style="background-color: #efefef">(not mapped)</td><td style="background-color: #efefef">NOT MAPPED. Used as search parameter: GET /DocumentReference?encounter=Encounter/{id}</td></tr></table><hr/><p><b>Group 2 </b>Mapping from <code>https://rivta.se/domains/clinicalprocess/healthcond/description/GetCareDocumentationResponder/2</code> to <a href="http://hl7.org/fhir/R4/documentreference.html">DocumentReference</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>careDocumentation.careDocumentationHeader.documentId (Document ID (unique business identifier))</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 document identifier within source system. Must be persistent across TKB versions. System derived from sourceSystemHSAid.</td></tr><tr><td>careDocumentation.careDocumentationHeader.patientId (Patient ID (personnummer/samordningsnummer/reservnummer))</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 with Swedish national identifier. OID 1.2.752.129.2.1.3.1 (personnummer), 1.2.752.129.2.1.3.3 (samordningsnummer)</td></tr><tr><td>careDocumentation.careDocumentationHeader.approvedForPatient (Approved for patient access (true/false))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>meta.security</td><td>If false, add security label NOPATIENT to restrict patient access (menprövningsflagga). See tkb-header-mapping documentation.</td></tr><tr><td>careDocumentation.careDocumentationBody.documentType (Document type code (vårdkontaktanteckning, läkarintyg, etc.))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>type</td><td>Swedish document type. Use LOINC document codes or Swedish national codes. Examples: 11506-3 (progress note), 18842-5 (discharge summary), 57133-1 (referral note)</td></tr><tr><td>careDocumentation.careDocumentationBody.documentCategory (Document category (high-level classification))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>category</td><td>High-level category. Use US Core categories: clinical-note, summary-of-episode-note, discharge-summary, etc.</td></tr><tr><td>careDocumentation.careDocumentationBody.documentStatus (Document status (preliminary, final, amended, entered-in-error))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#relatedto" title="relatedto">is related to</a></td><td>status</td><td>Maps to DocumentReference.status (current|superseded|entered-in-error) and docStatus (preliminary|final|amended|corrected|appended)</td></tr><tr><td>careDocumentation.careDocumentationBody.documentTitle (Document title/description)</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>description</td><td>Human-readable title. Also used in Composition.title.</td></tr><tr><td>careDocumentation.careDocumentationHeader.documentTime (Document creation timestamp)</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>date</td><td>When document was created/indexed. Note: TKB may use authorTime instead for some documents.</td></tr><tr><td>careDocumentation.careDocumentationHeader.careContactId (Care contact ID (encounter context))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>context.encounter</td><td>Reference to Encounter resource. Links document to care contact.</td></tr><tr><td>careDocumentation.careDocumentationBody.content (Document content (binary or referenced))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>content.attachment</td><td>For unstructured content (PDF, XHTML, XML): use attachment.data (base64) or attachment.url. Set contentType (application/pdf, text/html, etc.)</td></tr><tr><td>careDocumentation.careDocumentationBody.format (Document format code)</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>content.format</td><td>Format code from http://ihe.net/fhir/ValueSet/IHE.FormatCode.codesystem or Swedish format codes</td></tr><tr><td>careDocumentation.careDocumentationBody.mimeType (MIME type (application/pdf, text/html, etc.))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>content.attachment.contentType</td><td>MIME type: application/pdf, text/html, application/fhir+xml, application/fhir+json, etc.</td></tr><tr><td>careDocumentation.careDocumentationHeader.nullified (Document nullified flag)</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>If nullified=true, set status=entered-in-error. Use Provenance resource to capture nullifiedReason.</td></tr><tr><td>careDocumentation.careDocumentationHeader.nullifiedReason (Reason for nullification)</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>Provenance.reason</td><td>Reason for nullification/retraction. Map to Provenance resource with activity=DELETE or UPDATE, reason containing the nullification reason text.</td></tr></table><hr/><p><b>Group 3 </b>Mapping from <code>https://rivta.se/domains/clinicalprocess/healthcond/description/GetCareDocumentationResponder/2</code> to <a href="http://hl7.org/fhir/R4/composition.html">Composition</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>careDocumentation.careDocumentationHeader.documentId (Document 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>Same identifier as DocumentReference for linking</td></tr><tr><td>careDocumentation.careDocumentationBody.documentStatus (Composition status)</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#relatedto" title="relatedto">is related to</a></td><td>status</td><td>Composition.status: preliminary|final|amended|entered-in-error. Maps from TKB documentStatus.</td></tr><tr><td>careDocumentation.careDocumentationBody.documentType (Composition type)</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>type</td><td>Same type code as DocumentReference.type. LOINC or Swedish document type codes.</td></tr><tr><td>careDocumentation.careDocumentationBody.documentCategory (Composition category)</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>category</td><td>High-level categorization matching DocumentReference.category</td></tr><tr><td>careDocumentation.careDocumentationHeader.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</td></tr><tr><td>careDocumentation.careDocumentationHeader.careContactId (Care contact/encounter context)</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>encounter</td><td>Reference to Encounter when document created during care contact</td></tr><tr><td>careDocumentation.careDocumentationHeader.documentTime (Composition date)</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>date</td><td>Composition edit/change time. May differ from authorTime.</td></tr><tr><td>careDocumentation.careDocumentationHeader.accountableHealthcareProfessional (Document author (healthcare professional))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>author</td><td>Reference to Practitioner. Can have multiple authors. Also mapped to Provenance for full metadata.</td></tr><tr><td>careDocumentation.careDocumentationBody.documentTitle (Composition title)</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>title</td><td>Human-readable document title</td></tr><tr><td>careDocumentation.careDocumentationHeader.legalAuthenticator (Legal authenticator (attester))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>attester</td><td>Composition.attester with mode=#legal, time=signatureTime, party=Reference(Practitioner). Also creates Provenance.signature.</td></tr><tr><td>careDocumentation.careDocumentationBody.custodian (Document custodian (care provider organization))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>custodian</td><td>Reference to Organization (vårdgivare) responsible for document</td></tr><tr><td>careDocumentation.careDocumentationBody.section (Document sections (reason for visit, assessment, plan, etc.))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>section</td><td>Composition.section with code, title, text (narrative), and entry (references to resources). Common LOINC section codes: 10154-3 (chief complaint), 10164-2 (history), 29545-1 (physical exam), 51847-2 (assessment), 18776-5 (plan)</td></tr></table><hr/><p><b>Group 4 </b>Mapping from <code>https://rivta.se/domains/clinicalprocess/healthcond/description/GetCareDocumentationResponder/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>careDocumentation.careDocumentationHeader.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>HSA-ID of source system. Also mapped to DocumentReference.meta.source as https://hsaid.se/{HSA-ID}. Provenance.entity.role=source.</td></tr><tr><td>careDocumentation.careDocumentationHeader.accountableHealthcareProfessional.authorTime (Author time (registration timestamp))</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 document information was recorded. Also mapped to DocumentReference.meta.lastUpdated.</td></tr><tr><td>careDocumentation.careDocumentationHeader.accountableHealthcareProfessional.healthcareProfessionalHSAid (Healthcare professional 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>Reference to Practitioner with HSA-ID. Provenance.agent.type=author. Also in Composition.author and DocumentReference.author.</td></tr><tr><td>careDocumentation.careDocumentationHeader.accountableHealthcareProfessional.healthcareProfessionalName (Healthcare professional name)</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.display</td><td>Display name. Full Practitioner resource should have structured name.</td></tr><tr><td>careDocumentation.careDocumentationHeader.accountableHealthcareProfessional.healthcareProfessionalRoleCode (Healthcare professional role/befattning)</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#relatedto" title="relatedto">is related to</a></td><td>agent.role</td><td>Professional role (befattning). Use KV Befattning (OID 1.2.752.129.2.2.1.4). Map to Provenance.agent.role or store in Practitioner.qualification.</td></tr><tr><td>careDocumentation.careDocumentationHeader.accountableHealthcareProfessional.healthcareProfessionalOrgUnit (Organization unit (where professional works))</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>Reference to Organization (organizational unit). Full details (HSA-ID, name, telecom, address, location) in Organization resource.</td></tr><tr><td>careDocumentation.careDocumentationHeader.accountableHealthcareProfessional.healthcareProfessionalCareUnitHSAid (Care unit HSA-ID (vårdenhet))</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>HSA-ID for care unit. Reference to Organization. Part of PDL hierarchy. Also in DocumentReference.custodian.</td></tr><tr><td>careDocumentation.careDocumentationHeader.accountableHealthcareProfessional.healthcareProfessionalCareGiverHSAid (Care provider HSA-ID (vårdgivare))</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>HSA-ID for care provider. Top-level organization in PDL hierarchy. Reference to Organization.</td></tr><tr><td>careDocumentation.careDocumentationHeader.legalAuthenticator.signatureTime (Signature timestamp)</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>When document was digitally signed. Also in Composition.attester.time.</td></tr><tr><td>careDocumentation.careDocumentationHeader.legalAuthenticator.legalAuthenticatorHSAid (Legal authenticator 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>Reference to Practitioner who signed document. Provenance.agent.type=legal.</td></tr><tr><td>careDocumentation.careDocumentationHeader.legalAuthenticator.signatureData (Digital signature (cryptographic))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>signature.data</td><td>Base64 encoded signature. Set sigFormat (application/jose, application/xmldsig+xml, etc.). Type code: 1.2.840.10065.1.12.1.1 (Author's Signature)</td></tr></table><hr/><p><b>Group 5 </b>Mapping from <code>https://rivta.se/domains/clinicalprocess/healthcond/description/GetCareDocumentationResponder/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">NOT MAPPED to resources. HTTP status: OK→200, INFO→200 with warnings, ERROR→4xx/5xx. Bundle-level OperationOutcome for details.</td></tr><tr><td>result.errorCode (Error code)</td><td colspan="2" style="background-color: #efefef">(not mapped)</td><td style="background-color: #efefef">NOT MAPPED to resources. Use in OperationOutcome.issue.code when 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">NOT MAPPED to resources. Use in OperationOutcome.issue.diagnostics or X-Request-Id header.</td></tr><tr><td>result.message (Result message)</td><td colspan="2" style="background-color: #efefef">(not mapped)</td><td style="background-color: #efefef">NOT MAPPED to resources. User-facing message in OperationOutcome.issue.diagnostics.</td></tr></table></div>
  </text>
  <url
       value="https://inera.se/fhir/core/ConceptMap/getcaredocumentation-tkb-to-documentreference"/>
  <version value="0.2.0"/>
  <name value="ConceptMapGetCareDocumentationTKBToDocumentReference"/>
  <title
         value="ConceptMap GetCareDocumentation TKB to FHIR DocumentReference/Composition"/>
  <status value="draft"/>
  <experimental value="true"/>
  <date value="2025-11-24"/>
  <publisher value="Inera AB"/>
  <contact>
    <name value="Inera AB"/>
    <telecom>
      <system value="url"/>
      <value value="https://www.inera.se"/>
    </telecom>
    <telecom>
      <system value="email"/>
      <value value="info@inera.se"/>
    </telecom>
  </contact>
  <contact>
    <name value="Inera AB"/>
    <telecom>
      <system value="url"/>
      <value value="https://www.inera.se"/>
    </telecom>
    <telecom>
      <system value="email"/>
      <value value="info@inera.se"/>
    </telecom>
  </contact>
  <description
               value="Complete mapping from GetCareDocumentation TKB service to FHIR DocumentReference, Composition, and Provenance resources"/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="SE"/>
      <display value="Sweden"/>
    </coding>
  </jurisdiction>
  <sourceUri
             value="https://rivta.se/domains/clinicalprocess/healthcond/description/GetCareDocumentationResponder/2"/>
  <targetCanonical
                   value="http://hl7.org/fhir/StructureDefinition/DocumentReference"/>
  <group>
    <source
            value="https://rivta.se/domains/clinicalprocess/healthcond/description/GetCareDocumentationResponder/2"/>
    <target value="http://hl7.org/fhir/StructureDefinition/Bundle"/>
    <element>
      <code value="patientId"/>
      <display value="Query parameter: Patient ID filter"/>
      <target>
        <equivalence value="unmatched"/>
        <comment
                 value="NOT MAPPED. Used as search parameter: GET /DocumentReference?subject=Patient/191212121212"/>
      </target>
    </element>
    <element>
      <code value="careUnitHSAid"/>
      <display value="Query parameter: Filter by care unit HSA-ID"/>
      <target>
        <equivalence value="unmatched"/>
        <comment
                 value="NOT MAPPED. Used as search parameter: GET /DocumentReference?custodian.identifier=https://hsaid.se|SE2321000016-A001"/>
      </target>
    </element>
    <element>
      <code value="sourceSystemHSAid"/>
      <display value="Query parameter: Filter by source system"/>
      <target>
        <equivalence value="unmatched"/>
        <comment
                 value="NOT MAPPED. Used as search parameter or routing to specific system"/>
      </target>
    </element>
    <element>
      <code value="timePeriod"/>
      <display value="Query parameter: Time period filter (from-to)"/>
      <target>
        <equivalence value="unmatched"/>
        <comment
                 value="NOT MAPPED. Used as search parameter: GET /DocumentReference?date=ge2025-01-01&amp;date=le2025-12-31"/>
      </target>
    </element>
    <element>
      <code value="careContactId"/>
      <display value="Query parameter: Filter by specific care contact"/>
      <target>
        <equivalence value="unmatched"/>
        <comment
                 value="NOT MAPPED. Used as search parameter: GET /DocumentReference?encounter=Encounter/{id}"/>
      </target>
    </element>
  </group>
  <group>
    <source
            value="https://rivta.se/domains/clinicalprocess/healthcond/description/GetCareDocumentationResponder/2"/>
    <target
            value="http://hl7.org/fhir/StructureDefinition/DocumentReference"/>
    <element>
      <code value="careDocumentation.careDocumentationHeader.documentId"/>
      <display value="Document ID (unique business identifier)"/>
      <target>
        <code value="identifier"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Unique document identifier within source system. Must be persistent across TKB versions. System derived from sourceSystemHSAid."/>
      </target>
    </element>
    <element>
      <code value="careDocumentation.careDocumentationHeader.patientId"/>
      <display
               value="Patient ID (personnummer/samordningsnummer/reservnummer)"/>
      <target>
        <code value="subject"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Reference to Patient with Swedish national identifier. OID 1.2.752.129.2.1.3.1 (personnummer), 1.2.752.129.2.1.3.3 (samordningsnummer)"/>
      </target>
    </element>
    <element>
      <code
            value="careDocumentation.careDocumentationHeader.approvedForPatient"/>
      <display value="Approved for patient access (true/false)"/>
      <target>
        <code value="meta.security"/>
        <equivalence value="equivalent"/>
        <comment
                 value="If false, add security label NOPATIENT to restrict patient access (menprövningsflagga). See tkb-header-mapping documentation."/>
      </target>
    </element>
    <element>
      <code value="careDocumentation.careDocumentationBody.documentType"/>
      <display
               value="Document type code (vårdkontaktanteckning, läkarintyg, etc.)"/>
      <target>
        <code value="type"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Swedish document type. Use LOINC document codes or Swedish national codes. Examples: 11506-3 (progress note), 18842-5 (discharge summary), 57133-1 (referral note)"/>
      </target>
    </element>
    <element>
      <code value="careDocumentation.careDocumentationBody.documentCategory"/>
      <display value="Document category (high-level classification)"/>
      <target>
        <code value="category"/>
        <equivalence value="equivalent"/>
        <comment
                 value="High-level category. Use US Core categories: clinical-note, summary-of-episode-note, discharge-summary, etc."/>
      </target>
    </element>
    <element>
      <code value="careDocumentation.careDocumentationBody.documentStatus"/>
      <display
               value="Document status (preliminary, final, amended, entered-in-error)"/>
      <target>
        <code value="status"/>
        <equivalence value="relatedto"/>
        <comment
                 value="Maps to DocumentReference.status (current|superseded|entered-in-error) and docStatus (preliminary|final|amended|corrected|appended)"/>
      </target>
    </element>
    <element>
      <code value="careDocumentation.careDocumentationBody.documentTitle"/>
      <display value="Document title/description"/>
      <target>
        <code value="description"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Human-readable title. Also used in Composition.title."/>
      </target>
    </element>
    <element>
      <code value="careDocumentation.careDocumentationHeader.documentTime"/>
      <display value="Document creation timestamp"/>
      <target>
        <code value="date"/>
        <equivalence value="equivalent"/>
        <comment
                 value="When document was created/indexed. Note: TKB may use authorTime instead for some documents."/>
      </target>
    </element>
    <element>
      <code value="careDocumentation.careDocumentationHeader.careContactId"/>
      <display value="Care contact ID (encounter context)"/>
      <target>
        <code value="context.encounter"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Reference to Encounter resource. Links document to care contact."/>
      </target>
    </element>
    <element>
      <code value="careDocumentation.careDocumentationBody.content"/>
      <display value="Document content (binary or referenced)"/>
      <target>
        <code value="content.attachment"/>
        <equivalence value="equivalent"/>
        <comment
                 value="For unstructured content (PDF, XHTML, XML): use attachment.data (base64) or attachment.url. Set contentType (application/pdf, text/html, etc.)"/>
      </target>
    </element>
    <element>
      <code value="careDocumentation.careDocumentationBody.format"/>
      <display value="Document format code"/>
      <target>
        <code value="content.format"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Format code from http://ihe.net/fhir/ValueSet/IHE.FormatCode.codesystem or Swedish format codes"/>
      </target>
    </element>
    <element>
      <code value="careDocumentation.careDocumentationBody.mimeType"/>
      <display value="MIME type (application/pdf, text/html, etc.)"/>
      <target>
        <code value="content.attachment.contentType"/>
        <equivalence value="equivalent"/>
        <comment
                 value="MIME type: application/pdf, text/html, application/fhir+xml, application/fhir+json, etc."/>
      </target>
    </element>
    <element>
      <code value="careDocumentation.careDocumentationHeader.nullified"/>
      <display value="Document nullified flag"/>
      <target>
        <code value="status"/>
        <equivalence value="equivalent"/>
        <comment
                 value="If nullified=true, set status=entered-in-error. Use Provenance resource to capture nullifiedReason."/>
      </target>
    </element>
    <element>
      <code
            value="careDocumentation.careDocumentationHeader.nullifiedReason"/>
      <display value="Reason for nullification"/>
      <target>
        <code value="Provenance.reason"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Reason for nullification/retraction. Map to Provenance resource with activity=DELETE or UPDATE, reason containing the nullification reason text."/>
      </target>
    </element>
  </group>
  <group>
    <source
            value="https://rivta.se/domains/clinicalprocess/healthcond/description/GetCareDocumentationResponder/2"/>
    <target value="http://hl7.org/fhir/StructureDefinition/Composition"/>
    <element>
      <code value="careDocumentation.careDocumentationHeader.documentId"/>
      <display value="Document ID"/>
      <target>
        <code value="identifier"/>
        <equivalence value="equivalent"/>
        <comment value="Same identifier as DocumentReference for linking"/>
      </target>
    </element>
    <element>
      <code value="careDocumentation.careDocumentationBody.documentStatus"/>
      <display value="Composition status"/>
      <target>
        <code value="status"/>
        <equivalence value="relatedto"/>
        <comment
                 value="Composition.status: preliminary|final|amended|entered-in-error. Maps from TKB documentStatus."/>
      </target>
    </element>
    <element>
      <code value="careDocumentation.careDocumentationBody.documentType"/>
      <display value="Composition type"/>
      <target>
        <code value="type"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Same type code as DocumentReference.type. LOINC or Swedish document type codes."/>
      </target>
    </element>
    <element>
      <code value="careDocumentation.careDocumentationBody.documentCategory"/>
      <display value="Composition category"/>
      <target>
        <code value="category"/>
        <equivalence value="equivalent"/>
        <comment
                 value="High-level categorization matching DocumentReference.category"/>
      </target>
    </element>
    <element>
      <code value="careDocumentation.careDocumentationHeader.patientId"/>
      <display value="Patient ID"/>
      <target>
        <code value="subject"/>
        <equivalence value="equivalent"/>
        <comment value="Reference to Patient resource"/>
      </target>
    </element>
    <element>
      <code value="careDocumentation.careDocumentationHeader.careContactId"/>
      <display value="Care contact/encounter context"/>
      <target>
        <code value="encounter"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Reference to Encounter when document created during care contact"/>
      </target>
    </element>
    <element>
      <code value="careDocumentation.careDocumentationHeader.documentTime"/>
      <display value="Composition date"/>
      <target>
        <code value="date"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Composition edit/change time. May differ from authorTime."/>
      </target>
    </element>
    <element>
      <code
            value="careDocumentation.careDocumentationHeader.accountableHealthcareProfessional"/>
      <display value="Document author (healthcare professional)"/>
      <target>
        <code value="author"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Reference to Practitioner. Can have multiple authors. Also mapped to Provenance for full metadata."/>
      </target>
    </element>
    <element>
      <code value="careDocumentation.careDocumentationBody.documentTitle"/>
      <display value="Composition title"/>
      <target>
        <code value="title"/>
        <equivalence value="equivalent"/>
        <comment value="Human-readable document title"/>
      </target>
    </element>
    <element>
      <code
            value="careDocumentation.careDocumentationHeader.legalAuthenticator"/>
      <display value="Legal authenticator (attester)"/>
      <target>
        <code value="attester"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Composition.attester with mode=#legal, time=signatureTime, party=Reference(Practitioner). Also creates Provenance.signature."/>
      </target>
    </element>
    <element>
      <code value="careDocumentation.careDocumentationBody.custodian"/>
      <display value="Document custodian (care provider organization)"/>
      <target>
        <code value="custodian"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Reference to Organization (vårdgivare) responsible for document"/>
      </target>
    </element>
    <element>
      <code value="careDocumentation.careDocumentationBody.section"/>
      <display
               value="Document sections (reason for visit, assessment, plan, etc.)"/>
      <target>
        <code value="section"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Composition.section with code, title, text (narrative), and entry (references to resources). Common LOINC section codes: 10154-3 (chief complaint), 10164-2 (history), 29545-1 (physical exam), 51847-2 (assessment), 18776-5 (plan)"/>
      </target>
    </element>
  </group>
  <group>
    <source
            value="https://rivta.se/domains/clinicalprocess/healthcond/description/GetCareDocumentationResponder/2"/>
    <target value="http://hl7.org/fhir/StructureDefinition/Provenance"/>
    <element>
      <code
            value="careDocumentation.careDocumentationHeader.sourceSystemHSAid"/>
      <display value="Source system HSA-ID"/>
      <target>
        <code value="entity.what"/>
        <equivalence value="equivalent"/>
        <comment
                 value="HSA-ID of source system. Also mapped to DocumentReference.meta.source as https://hsaid.se/{HSA-ID}. Provenance.entity.role=source."/>
      </target>
    </element>
    <element>
      <code
            value="careDocumentation.careDocumentationHeader.accountableHealthcareProfessional.authorTime"/>
      <display value="Author time (registration timestamp)"/>
      <target>
        <code value="recorded"/>
        <equivalence value="equivalent"/>
        <comment
                 value="When document information was recorded. Also mapped to DocumentReference.meta.lastUpdated."/>
      </target>
    </element>
    <element>
      <code
            value="careDocumentation.careDocumentationHeader.accountableHealthcareProfessional.healthcareProfessionalHSAid"/>
      <display value="Healthcare professional HSA-ID"/>
      <target>
        <code value="agent.who"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Reference to Practitioner with HSA-ID. Provenance.agent.type=author. Also in Composition.author and DocumentReference.author."/>
      </target>
    </element>
    <element>
      <code
            value="careDocumentation.careDocumentationHeader.accountableHealthcareProfessional.healthcareProfessionalName"/>
      <display value="Healthcare professional name"/>
      <target>
        <code value="agent.who.display"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Display name. Full Practitioner resource should have structured name."/>
      </target>
    </element>
    <element>
      <code
            value="careDocumentation.careDocumentationHeader.accountableHealthcareProfessional.healthcareProfessionalRoleCode"/>
      <display value="Healthcare professional role/befattning"/>
      <target>
        <code value="agent.role"/>
        <equivalence value="relatedto"/>
        <comment
                 value="Professional role (befattning). Use KV Befattning (OID 1.2.752.129.2.2.1.4). Map to Provenance.agent.role or store in Practitioner.qualification."/>
      </target>
    </element>
    <element>
      <code
            value="careDocumentation.careDocumentationHeader.accountableHealthcareProfessional.healthcareProfessionalOrgUnit"/>
      <display value="Organization unit (where professional works)"/>
      <target>
        <code value="agent.onBehalfOf"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Reference to Organization (organizational unit). Full details (HSA-ID, name, telecom, address, location) in Organization resource."/>
      </target>
    </element>
    <element>
      <code
            value="careDocumentation.careDocumentationHeader.accountableHealthcareProfessional.healthcareProfessionalCareUnitHSAid"/>
      <display value="Care unit HSA-ID (vårdenhet)"/>
      <target>
        <code value="entity.what"/>
        <equivalence value="equivalent"/>
        <comment
                 value="HSA-ID for care unit. Reference to Organization. Part of PDL hierarchy. Also in DocumentReference.custodian."/>
      </target>
    </element>
    <element>
      <code
            value="careDocumentation.careDocumentationHeader.accountableHealthcareProfessional.healthcareProfessionalCareGiverHSAid"/>
      <display value="Care provider HSA-ID (vårdgivare)"/>
      <target>
        <code value="entity.what"/>
        <equivalence value="equivalent"/>
        <comment
                 value="HSA-ID for care provider. Top-level organization in PDL hierarchy. Reference to Organization."/>
      </target>
    </element>
    <element>
      <code
            value="careDocumentation.careDocumentationHeader.legalAuthenticator.signatureTime"/>
      <display value="Signature timestamp"/>
      <target>
        <code value="signature.when"/>
        <equivalence value="equivalent"/>
        <comment
                 value="When document was digitally signed. Also in Composition.attester.time."/>
      </target>
    </element>
    <element>
      <code
            value="careDocumentation.careDocumentationHeader.legalAuthenticator.legalAuthenticatorHSAid"/>
      <display value="Legal authenticator HSA-ID"/>
      <target>
        <code value="signature.who"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Reference to Practitioner who signed document. Provenance.agent.type=legal."/>
      </target>
    </element>
    <element>
      <code
            value="careDocumentation.careDocumentationHeader.legalAuthenticator.signatureData"/>
      <display value="Digital signature (cryptographic)"/>
      <target>
        <code value="signature.data"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Base64 encoded signature. Set sigFormat (application/jose, application/xmldsig+xml, etc.). Type code: 1.2.840.10065.1.12.1.1 (Author's Signature)"/>
      </target>
    </element>
  </group>
  <group>
    <source
            value="https://rivta.se/domains/clinicalprocess/healthcond/description/GetCareDocumentationResponder/2"/>
    <target value="http://hl7.org/fhir/StructureDefinition/Bundle"/>
    <element>
      <code value="result.resultCode"/>
      <display value="Result code (OK, INFO, ERROR)"/>
      <target>
        <equivalence value="unmatched"/>
        <comment
                 value="NOT MAPPED to resources. HTTP status: OK→200, INFO→200 with warnings, ERROR→4xx/5xx. Bundle-level OperationOutcome for details."/>
      </target>
    </element>
    <element>
      <code value="result.errorCode"/>
      <display value="Error code"/>
      <target>
        <equivalence value="unmatched"/>
        <comment
                 value="NOT MAPPED to resources. Use in OperationOutcome.issue.code when resultCode=ERROR."/>
      </target>
    </element>
    <element>
      <code value="result.logId"/>
      <display value="Log ID (UUID for troubleshooting)"/>
      <target>
        <equivalence value="unmatched"/>
        <comment
                 value="NOT MAPPED to resources. Use in OperationOutcome.issue.diagnostics or X-Request-Id header."/>
      </target>
    </element>
    <element>
      <code value="result.message"/>
      <display value="Result message"/>
      <target>
        <equivalence value="unmatched"/>
        <comment
                 value="NOT MAPPED to resources. User-facing message in OperationOutcome.issue.diagnostics."/>
      </target>
    </element>
  </group>
</ConceptMap>