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 GetDiagnosis TKB to FHIR Condition - XML Representation

Draft as of 2025-11-24

Raw xml | Download


<ConceptMap xmlns="http://hl7.org/fhir">
  <id value="ConceptMapGetDiagnosisTKBToCondition"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: ConceptMap ConceptMapGetDiagnosisTKBToCondition</b></p><a name="ConceptMapGetDiagnosisTKBToCondition"> </a><a name="hcConceptMapGetDiagnosisTKBToCondition"> </a><p>Mapping from https://rivta.se/domains/clinicalprocess/healthcond/description/GetDiagnosisResponder/2 to <a href="http://hl7.org/fhir/R4/condition.html">Condition</a></p><br/><p><b>Group 1 </b>Mapping from <code>https://rivta.se/domains/clinicalprocess/healthcond/description/GetDiagnosisResponder/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 /Condition?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 /Condition?asserter.onBehalfOf.identifier=https://hsaid.se|SE2321000016-A001</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 /Condition?recorded-date=ge2025-01-01&amp;recorded-date=le2025-12-31</td></tr></table><hr/><p><b>Group 2 </b>Mapping from <code>https://rivta.se/domains/clinicalprocess/healthcond/description/GetDiagnosisResponder/2</code> to <a href="http://hl7.org/fhir/R4/condition.html">Condition</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>diagnosis.diagnosisHeader.documentId (Diagnosis 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 diagnosis identifier within source system. System derived from sourceSystemHSAid.</td></tr><tr><td>diagnosis.diagnosisHeader.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>diagnosis.diagnosisHeader.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).</td></tr><tr><td>diagnosis.diagnosisBody.diagnosisCode (Diagnosis code (ICD-10-SE, KVÅ))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>code</td><td>ICD-10-SE (http://hl7.org/fhir/sid/icd-10) or KVÅ codes. code.coding.code, code.coding.display, code.text. May have multiple codings.</td></tr><tr><td>diagnosis.diagnosisBody.diagnosisCode.code (Diagnosis code value)</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>code.coding.code</td><td>ICD-10-SE code value (e.g., I10, E11.9). System: http://hl7.org/fhir/sid/icd-10</td></tr><tr><td>diagnosis.diagnosisBody.diagnosisCode.codeSystem (Diagnosis code system OID)</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#relatedto" title="relatedto">is related to</a></td><td>code.coding.system</td><td>OID → FHIR URL. ICD-10-SE OID → http://hl7.org/fhir/sid/icd-10. KVÅ → Swedish classification URL.</td></tr><tr><td>diagnosis.diagnosisBody.diagnosisCode.displayName (Diagnosis text/display name)</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>code.coding.display</td><td>Human-readable diagnosis name. Also populate code.text for overall display.</td></tr><tr><td>diagnosis.diagnosisBody.diagnosisCode.originalText (Original diagnosis text)</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>code.text</td><td>Free-text diagnosis description. Use when no exact code match.</td></tr><tr><td>diagnosis.diagnosisBody.diagnosisType (Diagnosis type (primär, sekundär, underdiagnos))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#wider" title="wider">maps to wider concept</a></td><td>category</td><td>Swedish diagnosis types → FHIR category. May need ConceptMap. Use condition-category: problem-list-item|encounter-diagnosis.</td></tr><tr><td>diagnosis.diagnosisBody.diagnosisStatus (Diagnosis clinical status)</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#wider" title="wider">maps to wider concept</a></td><td>clinicalStatus</td><td>Swedish status → FHIR clinicalStatus (active|recurrence|relapse|inactive|remission|resolved). Requires transformation.</td></tr><tr><td>diagnosis.diagnosisBody.verificationStatus (Diagnosis verification status (confirmed, provisional, differential))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>verificationStatus</td><td>FHIR verificationStatus: unconfirmed|provisional|differential|confirmed|refuted|entered-in-error</td></tr><tr><td>diagnosis.diagnosisBody.diagnosisSeverity (Diagnosis severity (mild, moderate, severe))</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>severity</td><td>Use SNOMED CT severity codes: 255604002 (mild), 6736007 (moderate), 24484000 (severe)</td></tr><tr><td>diagnosis.diagnosisBody.diagnosisTime (Diagnosis date/time)</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#wider" title="wider">maps to wider concept</a></td><td>onsetDateTime</td><td>When condition started → onsetDateTime. When diagnosis recorded → recordedDate. Use based on context.</td></tr><tr><td>diagnosis.diagnosisHeader.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>encounter</td><td>Reference to Encounter when diagnosis made during care contact.</td></tr><tr><td>diagnosis.diagnosisBody.bodyStructure (Body structure/location)</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#equivalent" title="equivalent">is equivalent to</a></td><td>bodySite</td><td>Body site affected by condition. Use SNOMED CT body structure codes.</td></tr><tr><td>diagnosis.diagnosisHeader.nullified (Diagnosis 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>verificationStatus</td><td>If nullified=true, set verificationStatus=entered-in-error. Store nullifiedReason in Provenance.</td></tr></table><hr/><p><b>Group 3 </b>Mapping from <code>https://rivta.se/domains/clinicalprocess/healthcond/description/GetDiagnosisResponder/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>diagnosis.diagnosisHeader.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 Condition.meta.source as https://hsaid.se/{HSA-ID}. Provenance.entity.role=source.</td></tr><tr><td>diagnosis.diagnosisHeader.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 diagnosis was recorded. Also mapped to Condition.recordedDate.</td></tr><tr><td>diagnosis.diagnosisHeader.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 Condition.recorder/asserter.</td></tr><tr><td>diagnosis.diagnosisHeader.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>diagnosis.diagnosisHeader.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). Also in Practitioner.qualification.</td></tr><tr><td>diagnosis.diagnosisHeader.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>diagnosis.diagnosisHeader.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.</td></tr><tr><td>diagnosis.diagnosisHeader.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>diagnosis.diagnosisHeader.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 diagnosis was digitally signed (if applicable).</td></tr><tr><td>diagnosis.diagnosisHeader.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 diagnosis. Provenance.agent.type=legal.</td></tr><tr><td>diagnosis.diagnosisHeader.nullifiedReason (Reason for nullification)</td><td><a href="http://hl7.org/fhir/R5/codesystem-concept-map-relationship.html#relatedto" title="relatedto">is related to</a></td><td>reason</td><td>Why diagnosis was nullified. Store in Provenance.reason when verificationStatus=entered-in-error.</td></tr></table><hr/><p><b>Group 4 </b>Mapping from <code>https://rivta.se/domains/clinicalprocess/healthcond/description/GetDiagnosisResponder/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>diagnosis.diagnosisHeader.documentTitle (Document title)</td><td colspan="2" style="background-color: #efefef">(not mapped)</td><td style="background-color: #efefef">NOT MAPPED. Cardinality 0..0 for GetDiagnosis. Use diagnosisCode.displayName instead.</td></tr><tr><td>diagnosis.diagnosisHeader.documentTime (Document time)</td><td colspan="2" style="background-color: #efefef">(not mapped)</td><td style="background-color: #efefef">NOT MAPPED. Cardinality 0..0 for GetDiagnosis. Use authorTime or diagnosisTime instead.</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/getdiagnosis-tkb-to-condition"/>
  <version value="0.2.0"/>
  <name value="ConceptMapGetDiagnosisTKBToCondition"/>
  <title value="ConceptMap GetDiagnosis TKB to FHIR Condition"/>
  <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 GetDiagnosis TKB service to FHIR Condition 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/GetDiagnosisResponder/2"/>
  <targetCanonical value="http://hl7.org/fhir/StructureDefinition/Condition"/>
  <group>
    <source
            value="https://rivta.se/domains/clinicalprocess/healthcond/description/GetDiagnosisResponder/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 /Condition?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 /Condition?asserter.onBehalfOf.identifier=https://hsaid.se|SE2321000016-A001"/>
      </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 /Condition?recorded-date=ge2025-01-01&amp;recorded-date=le2025-12-31"/>
      </target>
    </element>
  </group>
  <group>
    <source
            value="https://rivta.se/domains/clinicalprocess/healthcond/description/GetDiagnosisResponder/2"/>
    <target value="http://hl7.org/fhir/StructureDefinition/Condition"/>
    <element>
      <code value="diagnosis.diagnosisHeader.documentId"/>
      <display value="Diagnosis ID (unique business identifier)"/>
      <target>
        <code value="identifier"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Unique diagnosis identifier within source system. System derived from sourceSystemHSAid."/>
      </target>
    </element>
    <element>
      <code value="diagnosis.diagnosisHeader.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="diagnosis.diagnosisHeader.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)."/>
      </target>
    </element>
    <element>
      <code value="diagnosis.diagnosisBody.diagnosisCode"/>
      <display value="Diagnosis code (ICD-10-SE, KVÅ)"/>
      <target>
        <code value="code"/>
        <equivalence value="equivalent"/>
        <comment
                 value="ICD-10-SE (http://hl7.org/fhir/sid/icd-10) or KVÅ codes. code.coding.code, code.coding.display, code.text. May have multiple codings."/>
      </target>
    </element>
    <element>
      <code value="diagnosis.diagnosisBody.diagnosisCode.code"/>
      <display value="Diagnosis code value"/>
      <target>
        <code value="code.coding.code"/>
        <equivalence value="equivalent"/>
        <comment
                 value="ICD-10-SE code value (e.g., I10, E11.9). System: http://hl7.org/fhir/sid/icd-10"/>
      </target>
    </element>
    <element>
      <code value="diagnosis.diagnosisBody.diagnosisCode.codeSystem"/>
      <display value="Diagnosis code system OID"/>
      <target>
        <code value="code.coding.system"/>
        <equivalence value="relatedto"/>
        <comment
                 value="OID → FHIR URL. ICD-10-SE OID → http://hl7.org/fhir/sid/icd-10. KVÅ → Swedish classification URL."/>
      </target>
    </element>
    <element>
      <code value="diagnosis.diagnosisBody.diagnosisCode.displayName"/>
      <display value="Diagnosis text/display name"/>
      <target>
        <code value="code.coding.display"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Human-readable diagnosis name. Also populate code.text for overall display."/>
      </target>
    </element>
    <element>
      <code value="diagnosis.diagnosisBody.diagnosisCode.originalText"/>
      <display value="Original diagnosis text"/>
      <target>
        <code value="code.text"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Free-text diagnosis description. Use when no exact code match."/>
      </target>
    </element>
    <element>
      <code value="diagnosis.diagnosisBody.diagnosisType"/>
      <display value="Diagnosis type (primär, sekundär, underdiagnos)"/>
      <target>
        <code value="category"/>
        <equivalence value="wider"/>
        <comment
                 value="Swedish diagnosis types → FHIR category. May need ConceptMap. Use condition-category: problem-list-item|encounter-diagnosis."/>
      </target>
    </element>
    <element>
      <code value="diagnosis.diagnosisBody.diagnosisStatus"/>
      <display value="Diagnosis clinical status"/>
      <target>
        <code value="clinicalStatus"/>
        <equivalence value="wider"/>
        <comment
                 value="Swedish status → FHIR clinicalStatus (active|recurrence|relapse|inactive|remission|resolved). Requires transformation."/>
      </target>
    </element>
    <element>
      <code value="diagnosis.diagnosisBody.verificationStatus"/>
      <display
               value="Diagnosis verification status (confirmed, provisional, differential)"/>
      <target>
        <code value="verificationStatus"/>
        <equivalence value="equivalent"/>
        <comment
                 value="FHIR verificationStatus: unconfirmed|provisional|differential|confirmed|refuted|entered-in-error"/>
      </target>
    </element>
    <element>
      <code value="diagnosis.diagnosisBody.diagnosisSeverity"/>
      <display value="Diagnosis severity (mild, moderate, severe)"/>
      <target>
        <code value="severity"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Use SNOMED CT severity codes: 255604002 (mild), 6736007 (moderate), 24484000 (severe)"/>
      </target>
    </element>
    <element>
      <code value="diagnosis.diagnosisBody.diagnosisTime"/>
      <display value="Diagnosis date/time"/>
      <target>
        <code value="onsetDateTime"/>
        <equivalence value="wider"/>
        <comment
                 value="When condition started → onsetDateTime. When diagnosis recorded → recordedDate. Use based on context."/>
      </target>
    </element>
    <element>
      <code value="diagnosis.diagnosisHeader.careContactId"/>
      <display value="Care contact ID (encounter context)"/>
      <target>
        <code value="encounter"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Reference to Encounter when diagnosis made during care contact."/>
      </target>
    </element>
    <element>
      <code value="diagnosis.diagnosisBody.bodyStructure"/>
      <display value="Body structure/location"/>
      <target>
        <code value="bodySite"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Body site affected by condition. Use SNOMED CT body structure codes."/>
      </target>
    </element>
    <element>
      <code value="diagnosis.diagnosisHeader.nullified"/>
      <display value="Diagnosis nullified flag"/>
      <target>
        <code value="verificationStatus"/>
        <equivalence value="equivalent"/>
        <comment
                 value="If nullified=true, set verificationStatus=entered-in-error. Store nullifiedReason in Provenance."/>
      </target>
    </element>
  </group>
  <group>
    <source
            value="https://rivta.se/domains/clinicalprocess/healthcond/description/GetDiagnosisResponder/2"/>
    <target value="http://hl7.org/fhir/StructureDefinition/Provenance"/>
    <element>
      <code value="diagnosis.diagnosisHeader.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 Condition.meta.source as https://hsaid.se/{HSA-ID}. Provenance.entity.role=source."/>
      </target>
    </element>
    <element>
      <code
            value="diagnosis.diagnosisHeader.accountableHealthcareProfessional.authorTime"/>
      <display value="Author time (registration timestamp)"/>
      <target>
        <code value="recorded"/>
        <equivalence value="equivalent"/>
        <comment
                 value="When diagnosis was recorded. Also mapped to Condition.recordedDate."/>
      </target>
    </element>
    <element>
      <code
            value="diagnosis.diagnosisHeader.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 Condition.recorder/asserter."/>
      </target>
    </element>
    <element>
      <code
            value="diagnosis.diagnosisHeader.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="diagnosis.diagnosisHeader.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). Also in Practitioner.qualification."/>
      </target>
    </element>
    <element>
      <code
            value="diagnosis.diagnosisHeader.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="diagnosis.diagnosisHeader.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."/>
      </target>
    </element>
    <element>
      <code
            value="diagnosis.diagnosisHeader.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="diagnosis.diagnosisHeader.legalAuthenticator.signatureTime"/>
      <display value="Signature timestamp"/>
      <target>
        <code value="signature.when"/>
        <equivalence value="equivalent"/>
        <comment
                 value="When diagnosis was digitally signed (if applicable)."/>
      </target>
    </element>
    <element>
      <code
            value="diagnosis.diagnosisHeader.legalAuthenticator.legalAuthenticatorHSAid"/>
      <display value="Legal authenticator HSA-ID"/>
      <target>
        <code value="signature.who"/>
        <equivalence value="equivalent"/>
        <comment
                 value="Reference to Practitioner who signed diagnosis. Provenance.agent.type=legal."/>
      </target>
    </element>
    <element>
      <code value="diagnosis.diagnosisHeader.nullifiedReason"/>
      <display value="Reason for nullification"/>
      <target>
        <code value="reason"/>
        <equivalence value="relatedto"/>
        <comment
                 value="Why diagnosis was nullified. Store in Provenance.reason when verificationStatus=entered-in-error."/>
      </target>
    </element>
  </group>
  <group>
    <source
            value="https://rivta.se/domains/clinicalprocess/healthcond/description/GetDiagnosisResponder/2"/>
    <target value="http://hl7.org/fhir/StructureDefinition/Bundle"/>
    <element>
      <code value="diagnosis.diagnosisHeader.documentTitle"/>
      <display value="Document title"/>
      <target>
        <equivalence value="unmatched"/>
        <comment
                 value="NOT MAPPED. Cardinality 0..0 for GetDiagnosis. Use diagnosisCode.displayName instead."/>
      </target>
    </element>
    <element>
      <code value="diagnosis.diagnosisHeader.documentTime"/>
      <display value="Document time"/>
      <target>
        <equivalence value="unmatched"/>
        <comment
                 value="NOT MAPPED. Cardinality 0..0 for GetDiagnosis. Use authorTime or diagnosisTime instead."/>
      </target>
    </element>
    <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>