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: ConceptMap GetDiagnosis TKB to FHIR Condition (Experimental)

Official URL: https://inera.se/fhir/core/ConceptMap/getdiagnosis-tkb-to-condition Version: 0.2.0
Draft as of 2025-11-24 Computable Name: ConceptMapGetDiagnosisTKBToCondition

Complete mapping from GetDiagnosis TKB service to FHIR Condition and Provenance resources

Mapping from https://rivta.se/domains/clinicalprocess/healthcond/description/GetDiagnosisResponder/2 to Condition


Group 1 Mapping from https://rivta.se/domains/clinicalprocess/healthcond/description/GetDiagnosisResponder/2 to Bundle

Source CodeRelationshipTarget CodeComment
patientId (Query parameter: Patient ID filter)(not mapped)NOT MAPPED. Used as search parameter: GET /Condition?subject=Patient/191212121212
careUnitHSAid (Query parameter: Filter by care unit HSA-ID)(not mapped)NOT MAPPED. Used as search parameter: GET /Condition?asserter.onBehalfOf.identifier=https://hsaid.se|SE2321000016-A001
timePeriod (Query parameter: Time period filter (from-to))(not mapped)NOT MAPPED. Used as search parameter: GET /Condition?recorded-date=ge2025-01-01&recorded-date=le2025-12-31

Group 2 Mapping from https://rivta.se/domains/clinicalprocess/healthcond/description/GetDiagnosisResponder/2 to Condition

Source CodeRelationshipTarget CodeComment
diagnosis.diagnosisHeader.documentId (Diagnosis ID (unique business identifier))is equivalent toidentifierUnique diagnosis identifier within source system. System derived from sourceSystemHSAid.
diagnosis.diagnosisHeader.patientId (Patient ID (personnummer/samordningsnummer/reservnummer))is equivalent tosubjectReference 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)
diagnosis.diagnosisHeader.approvedForPatient (Approved for patient access (true/false))is equivalent tometa.securityIf false, add security label NOPATIENT to restrict patient access (menprövningsflagga).
diagnosis.diagnosisBody.diagnosisCode (Diagnosis code (ICD-10-SE, KVÅ))is equivalent tocodeICD-10-SE (http://hl7.org/fhir/sid/icd-10) or KVÅ codes. code.coding.code, code.coding.display, code.text. May have multiple codings.
diagnosis.diagnosisBody.diagnosisCode.code (Diagnosis code value)is equivalent tocode.coding.codeICD-10-SE code value (e.g., I10, E11.9). System: http://hl7.org/fhir/sid/icd-10
diagnosis.diagnosisBody.diagnosisCode.codeSystem (Diagnosis code system OID)is related tocode.coding.systemOID → FHIR URL. ICD-10-SE OID → http://hl7.org/fhir/sid/icd-10. KVÅ → Swedish classification URL.
diagnosis.diagnosisBody.diagnosisCode.displayName (Diagnosis text/display name)is equivalent tocode.coding.displayHuman-readable diagnosis name. Also populate code.text for overall display.
diagnosis.diagnosisBody.diagnosisCode.originalText (Original diagnosis text)is equivalent tocode.textFree-text diagnosis description. Use when no exact code match.
diagnosis.diagnosisBody.diagnosisType (Diagnosis type (primär, sekundär, underdiagnos))maps to wider conceptcategorySwedish diagnosis types → FHIR category. May need ConceptMap. Use condition-category: problem-list-item|encounter-diagnosis.
diagnosis.diagnosisBody.diagnosisStatus (Diagnosis clinical status)maps to wider conceptclinicalStatusSwedish status → FHIR clinicalStatus (active|recurrence|relapse|inactive|remission|resolved). Requires transformation.
diagnosis.diagnosisBody.verificationStatus (Diagnosis verification status (confirmed, provisional, differential))is equivalent toverificationStatusFHIR verificationStatus: unconfirmed|provisional|differential|confirmed|refuted|entered-in-error
diagnosis.diagnosisBody.diagnosisSeverity (Diagnosis severity (mild, moderate, severe))is equivalent toseverityUse SNOMED CT severity codes: 255604002 (mild), 6736007 (moderate), 24484000 (severe)
diagnosis.diagnosisBody.diagnosisTime (Diagnosis date/time)maps to wider conceptonsetDateTimeWhen condition started → onsetDateTime. When diagnosis recorded → recordedDate. Use based on context.
diagnosis.diagnosisHeader.careContactId (Care contact ID (encounter context))is equivalent toencounterReference to Encounter when diagnosis made during care contact.
diagnosis.diagnosisBody.bodyStructure (Body structure/location)is equivalent tobodySiteBody site affected by condition. Use SNOMED CT body structure codes.
diagnosis.diagnosisHeader.nullified (Diagnosis nullified flag)is equivalent toverificationStatusIf nullified=true, set verificationStatus=entered-in-error. Store nullifiedReason in Provenance.

Group 3 Mapping from https://rivta.se/domains/clinicalprocess/healthcond/description/GetDiagnosisResponder/2 to Provenance

Source CodeRelationshipTarget CodeComment
diagnosis.diagnosisHeader.sourceSystemHSAid (Source system HSA-ID)is equivalent toentity.whatHSA-ID of source system. Also mapped to Condition.meta.source as https://hsaid.se/{HSA-ID}. Provenance.entity.role=source.
diagnosis.diagnosisHeader.accountableHealthcareProfessional.authorTime (Author time (registration timestamp))is equivalent torecordedWhen diagnosis was recorded. Also mapped to Condition.recordedDate.
diagnosis.diagnosisHeader.accountableHealthcareProfessional.healthcareProfessionalHSAid (Healthcare professional HSA-ID)is equivalent toagent.whoReference to Practitioner with HSA-ID. Provenance.agent.type=author. Also in Condition.recorder/asserter.
diagnosis.diagnosisHeader.accountableHealthcareProfessional.healthcareProfessionalName (Healthcare professional name)is equivalent toagent.who.displayDisplay name. Full Practitioner resource should have structured name.
diagnosis.diagnosisHeader.accountableHealthcareProfessional.healthcareProfessionalRoleCode (Healthcare professional role/befattning)is related toagent.roleProfessional role (befattning). Use KV Befattning (OID 1.2.752.129.2.2.1.4). Also in Practitioner.qualification.
diagnosis.diagnosisHeader.accountableHealthcareProfessional.healthcareProfessionalOrgUnit (Organization unit (where professional works))is equivalent toagent.onBehalfOfReference to Organization (organizational unit). Full details (HSA-ID, name, telecom, address, location) in Organization resource.
diagnosis.diagnosisHeader.accountableHealthcareProfessional.healthcareProfessionalCareUnitHSAid (Care unit HSA-ID (vårdenhet))is equivalent toentity.whatHSA-ID for care unit. Reference to Organization. Part of PDL hierarchy.
diagnosis.diagnosisHeader.accountableHealthcareProfessional.healthcareProfessionalCareGiverHSAid (Care provider HSA-ID (vårdgivare))is equivalent toentity.whatHSA-ID for care provider. Top-level organization in PDL hierarchy. Reference to Organization.
diagnosis.diagnosisHeader.legalAuthenticator.signatureTime (Signature timestamp)is equivalent tosignature.whenWhen diagnosis was digitally signed (if applicable).
diagnosis.diagnosisHeader.legalAuthenticator.legalAuthenticatorHSAid (Legal authenticator HSA-ID)is equivalent tosignature.whoReference to Practitioner who signed diagnosis. Provenance.agent.type=legal.
diagnosis.diagnosisHeader.nullifiedReason (Reason for nullification)is related toreasonWhy diagnosis was nullified. Store in Provenance.reason when verificationStatus=entered-in-error.

Group 4 Mapping from https://rivta.se/domains/clinicalprocess/healthcond/description/GetDiagnosisResponder/2 to Bundle

Source CodeRelationshipTarget CodeComment
diagnosis.diagnosisHeader.documentTitle (Document title)(not mapped)NOT MAPPED. Cardinality 0..0 for GetDiagnosis. Use diagnosisCode.displayName instead.
diagnosis.diagnosisHeader.documentTime (Document time)(not mapped)NOT MAPPED. Cardinality 0..0 for GetDiagnosis. Use authorTime or diagnosisTime instead.
result.resultCode (Result code (OK, INFO, ERROR))(not mapped)NOT MAPPED to resources. HTTP status: OK→200, INFO→200 with warnings, ERROR→4xx/5xx. Bundle-level OperationOutcome for details.
result.errorCode (Error code)(not mapped)NOT MAPPED to resources. Use in OperationOutcome.issue.code when resultCode=ERROR.
result.logId (Log ID (UUID for troubleshooting))(not mapped)NOT MAPPED to resources. Use in OperationOutcome.issue.diagnostics or X-Request-Id header.
result.message (Result message)(not mapped)NOT MAPPED to resources. User-facing message in OperationOutcome.issue.diagnostics.