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 GetCareContacts TKB to FHIR Encounter (Experimental)

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

Complete mapping from GetCareContacts TKB logical model to FHIR Encounter and Provenance resources

Mapping from https://rivta.se/domains/clinicalprocess/logistics/logistics/GetCareContactsResponder/2 to Encounter


Group 1 Mapping from https://rivta.se/domains/clinicalprocess/logistics/logistics/GetCareContactsResponder/2 to Bundle

Source CodeRelationshipTarget CodeComment
GetCareContactsResponse.patient-id (Patient ID (personnummer/samordningsnummer))is equivalent tosubjectReference to Patient resource with Swedish national identifier
GetCareContactsResponse.careContact.careContactId (Care contact ID (unique identifier))is equivalent toidentifierBusiness identifier for care contact. Use system from source system URL.
GetCareContactsResponse.careContact.contactStatus (Contact status (planned, arrived, in-progress, finished))is equivalent tostatusEncounter status: planned|arrived|triaged|in-progress|onleave|finished|cancelled|entered-in-error|unknown
GetCareContactsResponse.careContact.careContactType.class (Care contact class (inpatient, outpatient, emergency))is equivalent toclassEncounter class. System: http://terminology.hl7.org/CodeSystem/v3-ActCode. Values: IMP (inpatient), AMB (ambulatory/outpatient), EMER (emergency), HH (home health), VR (virtual)
GetCareContactsResponse.careContact.careContactType.code (Care contact type code (detailed Swedish contact type))is equivalent totype.coding.codeSwedish care contact type codes. System: https://terminologitjansten.inera.se/inera-kodverksforvaltning/kodverk/kv_vardkontakttyp (OID: 1.2.752.129.2.2.2.25). Examples: läkarbesök, sjuksköterskebesök, hembesök, telefonkontakt
GetCareContactsResponse.careContact.serviceType.code (Service type (specialty, clinic type))is equivalent toserviceType.coding.codeType of service provided. Swedish specialty codes or clinic types.
GetCareContactsResponse.careContact.priority (Contact priority (routine, urgent, emergency))is equivalent topriorityEncounter priority. System: http://terminology.hl7.org/CodeSystem/v3-ActPriority
GetCareContactsResponse.careContact.period.start (Contact start date/time)is equivalent toperiod.startWhen care contact started (admission time for inpatient, arrival time for outpatient)
GetCareContactsResponse.careContact.period.end (Contact end date/time)is equivalent toperiod.endWhen care contact ended (discharge time for inpatient, departure time for outpatient)
GetCareContactsResponse.careContact.length (Contact length/duration)is equivalent tolengthQuantity of time the encounter lasted. Can be calculated from period if not explicitly provided.
GetCareContactsResponse.careContact.reasonCode.code (Reason for contact (chief complaint, diagnosis))is equivalent toreasonCode.coding.codeCoded reason for encounter. ICD-10-SE, SNOMED CT, or Swedish symptom codes.
GetCareContactsResponse.careContact.reasonReference (Reason reference (condition, observation))is equivalent toreasonReferenceReference to Condition, Observation, or Procedure representing reason for encounter
GetCareContactsResponse.careContact.diagnosis.diagnosisCode (Encounter diagnosis)is equivalent todiagnosis.conditionReference to Condition resource. Can have multiple diagnoses with different uses (admission, discharge, billing).
GetCareContactsResponse.careContact.diagnosis.use (Diagnosis use (admission, discharge, billing))is equivalent todiagnosis.useRole of diagnosis. System: http://terminology.hl7.org/CodeSystem/diagnosis-role. Values: AD (admission), DD (discharge), CC (chief complaint), billing
GetCareContactsResponse.careContact.diagnosis.rank (Diagnosis rank (primary, secondary))is equivalent todiagnosis.rankRanking of diagnosis (1 = primary diagnosis)
GetCareContactsResponse.careContact.participant.healthcareProfessionalHSAId (Participant HSA-ID (physician, nurse, etc.))is equivalent toparticipant.individualReference to Practitioner participating in encounter. Can have multiple participants.
GetCareContactsResponse.careContact.participant.participantType (Participant type/role (attending, consulting, etc.))is equivalent toparticipant.type.coding.codeType of participation. System: http://terminology.hl7.org/CodeSystem/v3-ParticipationType. Values: ATND (attender), CON (consultant), ADM (admitter), DIS (discharger)
GetCareContactsResponse.careContact.participant.period (Participant period (when participant was involved))is equivalent toparticipant.periodTime period during which participant was involved in encounter
GetCareContactsResponse.careContact.appointmentId (Appointment ID (if contact was pre-scheduled))is equivalent toappointmentReference to Appointment resource if encounter was scheduled
GetCareContactsResponse.careContact.basedOn (Based on (referral, service request))is equivalent tobasedOnReference to ServiceRequest, CarePlan, or other request that initiated the encounter
GetCareContactsResponse.careContact.partOf (Part of (parent encounter))is equivalent topartOfReference to parent Encounter. Example: outpatient visit as part of inpatient stay.
GetCareContactsResponse.careContact.serviceProvider.organizationHSAId (Service provider HSA-ID (care unit))is equivalent toserviceProviderReference to Organization (care unit) providing the encounter
GetCareContactsResponse.careContact.location.locationId (Location ID (room, ward, clinic))is equivalent tolocation.locationReference to Location resource (room, ward, clinic, building)
GetCareContactsResponse.careContact.location.status (Location status (planned, active, completed))is equivalent tolocation.statusStatus of location during encounter: planned|active|reserved|completed
GetCareContactsResponse.careContact.location.period (Location period (time at this location))is equivalent tolocation.periodTime period patient was at this location. Can have multiple locations during one encounter.
GetCareContactsResponse.careContact.hospitalization.preAdmissionIdentifier (Pre-admission identifier)is equivalent tohospitalization.preAdmissionIdentifierPre-admission identifier (e.g., pre-registration number)
GetCareContactsResponse.careContact.hospitalization.origin (Admission origin (from where patient came))is equivalent tohospitalization.originReference to Location from where patient came (e.g., home, other hospital, nursing home)
GetCareContactsResponse.careContact.hospitalization.admitSource (Admit source (how patient was admitted))is equivalent tohospitalization.admitSourceFrom where patient was admitted. System: http://terminology.hl7.org/CodeSystem/admit-source
GetCareContactsResponse.careContact.hospitalization.reAdmission (Re-admission indicator)is equivalent tohospitalization.reAdmissionWhether this hospitalization is a re-admission
GetCareContactsResponse.careContact.hospitalization.dietPreference (Dietary preference)is equivalent tohospitalization.dietPreferenceDiet preferences or restrictions during hospitalization
GetCareContactsResponse.careContact.hospitalization.specialArrangement (Special arrangements (interpreter, wheelchair, etc.))is equivalent tohospitalization.specialArrangementSpecial arrangements needed during encounter
GetCareContactsResponse.careContact.hospitalization.destination (Discharge destination (to where patient discharged))is equivalent tohospitalization.destinationReference to Location to where patient was discharged (e.g., home, other hospital, nursing home, deceased)
GetCareContactsResponse.careContact.hospitalization.dischargeDisposition (Discharge disposition (outcome of hospitalization))is equivalent tohospitalization.dischargeDispositionCategory or kind of location after discharge. System: http://terminology.hl7.org/CodeSystem/discharge-disposition

Group 2 Mapping from https://rivta.se/domains/clinicalprocess/logistics/logistics/GetCareContactsResponder/2 to Encounter

Source CodeRelationshipTarget CodeComment
careContact.careContactHeader.documentId (Care contact document ID (unique business identifier))is equivalent toidentifierBusiness identifier for care contact. System derived from sourceSystemHSAId. Must be consistent across TKB contract versions.
careContact.careContactHeader.patientId (Patient ID (personnummer/samordningsnummer/reservnummer))is equivalent tosubjectReference to Patient resource with Swedish national identifier (OID 1.2.752.129.2.1.3.1 for personnummer, 1.2.752.129.2.1.3.3 for samordningsnummer)
careContact.careContactHeader.approvedForPatient (Approved for patient access (true/false))is equivalent tometa.securityIf false, add security label NOPATIENT (http://terminology.hl7.org/CodeSystem/v3-ActCode#NOPATIENT) to restrict patient access. See menprövningsflagga documentation.
careContact.careContactBody.careContactCode (Care contact type code (vårdkontakttyp))is equivalent totypeSwedish care contact type. System: https://terminologitjansten.inera.se/inera-kodverksforvaltning/kodverk/kv_vardkontakttyp (OID 1.2.752.129.2.2.2.25). Maps to both Encounter.class (high-level) and Encounter.type (detailed).
careContact.careContactBody.careContactReason (Care contact reason (free text from patient))is equivalent toreasonCode.textFree text reason for care contact as stated by patient or representative. Can also create Condition/Observation and reference via reasonReference.
careContact.careContactBody.careContactTimePeriod.start (Care contact start time)is equivalent toperiod.startStart time of care contact (admission for inpatient, arrival for outpatient). For outpatient visits, start and end may be same value.
careContact.careContactBody.careContactTimePeriod.end (Care contact end time)is equivalent toperiod.endEnd time of care contact (discharge for inpatient, departure for outpatient). For outpatient visits, start and end may be same value.
careContact.careContactBody.careContactStatus (Care contact status (SNOMED CT SE codes))is related tostatusMaps from SNOMED CT SE (SCTID 53761000052103) to FHIR status. SNOMED 53631000052103 (tidbokad)→planned, 53651000052107 (pågående)→in-progress, 53671000052101 (avslutad)→finished, 53661000052105 (avbruten)→cancelled, 53641000052109 (inställd)→cancelled, 53691000052102 (makulerad)→entered-in-error
careContact.careContactBody.additionalPatientInformation.dateOfBirth (Patient date of birth)(not mapped)NOT MAPPED to Encounter. Belongs in Patient.birthDate. Included in TKB for cases without PU lookup. Format can be YYYY, YYYYMM, or YYYYMMDD.
careContact.careContactBody.additionalPatientInformation.gender (Patient gender)(not mapped)NOT MAPPED to Encounter. Belongs in Patient.gender. Included in TKB for cases without PU lookup. Use KV Kön (OID 1.2.752.129.2.2.1.1).

Group 3 Mapping from https://rivta.se/domains/clinicalprocess/logistics/logistics/GetCareContactsResponder/2 to Provenance

Source CodeRelationshipTarget CodeComment
careContact.careContactHeader.sourceSystemHSAid (Source system HSA-ID)is equivalent toentity.whatHSA-ID of source system. Also mapped to Encounter.meta.source as URI: https://hsaid.se/{HSA-ID}. In Provenance.entity with role=source.
careContact.careContactHeader.accountableHealthcareProfessional.authorTime (Author time (when information was registered))is equivalent torecordedTimestamp when care contact information was recorded/registered. Also mapped to Encounter.meta.lastUpdated.
careContact.careContactHeader.accountableHealthcareProfessional.healthcareProfessionalHSAid (Healthcare professional HSA-ID)is equivalent toagent.whoReference to Practitioner with HSA-ID identifier. Agent.type=author. Also mapped to Encounter.participant for clinical involvement.
careContact.careContactHeader.accountableHealthcareProfessional.healthcareProfessionalName (Healthcare professional name)is equivalent toagent.who.displayDisplay name for practitioner. Full Practitioner resource should include structured name.
careContact.careContactHeader.accountableHealthcareProfessional.healthcareProfessionalRoleCode (Healthcare professional role/befattning)is related toagent.roleProfessional role (befattning). Use KV Befattning (OID 1.2.752.129.2.2.1.4). Mapped to Provenance.agent.role or stored in Practitioner.qualification.
careContact.careContactHeader.accountableHealthcareProfessional.healthcareProfessionalOrgUnit.orgUnitHSAid (Organization unit HSA-ID (where professional works))is equivalent toagent.onBehalfOfReference to Organization representing organizational unit. Part of organization hierarchy (orgUnit → careUnit → careGiver).
careContact.careContactHeader.accountableHealthcareProfessional.healthcareProfessionalOrgUnit.orgUnitName (Organization unit name)is related toName of organizational unit. Stored in referenced Organization resource, not in Provenance directly.
careContact.careContactHeader.accountableHealthcareProfessional.healthcareProfessionalOrgUnit.orgUnitTelecom (Organization unit telephone)is related toPhone number. Stored in Organization.telecom with system=phone.
careContact.careContactHeader.accountableHealthcareProfessional.healthcareProfessionalOrgUnit.orgUnitEmail (Organization unit email)is related toEmail address. Stored in Organization.telecom with system=email.
careContact.careContactHeader.accountableHealthcareProfessional.healthcareProfessionalOrgUnit.orgUnitAddress (Organization unit postal address)is related toPostal address in natural format. Stored in Organization.address.text and parsed into structured elements if possible.
careContact.careContactHeader.accountableHealthcareProfessional.healthcareProfessionalOrgUnit.orgUnitLocation (Organization unit location (city/place))is related toPhysical location name/city. Stored in Organization.address.city or as Location resource.
careContact.careContactHeader.accountableHealthcareProfessional.healthcareProfessionalCareUnitHSAid (Care unit HSA-ID (vårdenhet - PDL enhet))is equivalent toentity.whatHSA-ID for care unit (vårdenhet). Reference to Organization. Part of hierarchy chain. Also in Encounter.serviceProvider.
careContact.careContactHeader.accountableHealthcareProfessional.healthcareProfessionalCareGiverHSAid (Care provider HSA-ID (vårdgivare))is equivalent toentity.whatHSA-ID for care provider (vårdgivare). Top-level organization in hierarchy. Reference to Organization.
careContact.careContactBody.careContactOrgUnit.orgUnitHSAid (Care contact org unit HSA-ID (where contact occurred))is related toOrganization unit where care contact was performed. Can differ from professional's home unit. Mapped to Encounter.serviceProvider or Encounter.location.
careContact.careContactBody.careContactOrgUnit.orgUnitName (Care contact org unit name)is related toName of unit where contact occurred. Stored in Organization or Location resource.
careContact.careContactBody.careContactOrgUnit.orgUnitTelecom (Care contact org unit telephone)is related toPhone for unit where contact occurred.
careContact.careContactBody.careContactOrgUnit.orgUnitEmail (Care contact org unit email)is related toEmail for unit where contact occurred.
careContact.careContactBody.careContactOrgUnit.orgUnitAddress (Care contact org unit address)is related toAddress of unit where contact occurred.
careContact.careContactBody.careContactOrgUnit.orgUnitLocation (Care contact org unit location (city/place))is related toPhysical location/city where contact occurred.

Group 4 Mapping from https://rivta.se/domains/clinicalprocess/logistics/logistics/GetCareContactsResponder/2 to Bundle

Source CodeRelationshipTarget CodeComment
careContact.careContactHeader.documentTitle (Document title (DEPRECATED - shall not be used))(not mapped)NOT MAPPED. TKB specifies cardinality 0..0 - this field shall not be populated.
careContact.careContactHeader.documentTime (Document time (DEPRECATED - shall not be used))(not mapped)NOT MAPPED. TKB specifies cardinality 0..0 - use accountableHealthcareProfessional.authorTime instead.
careContact.careContactHeader.legalAuthenticator (Legal authenticator (DEPRECATED - shall not be used))(not mapped)NOT MAPPED. TKB specifies cardinality 0..0 - not used for care contacts.
careContact.careContactHeader.nullified (Nullified flag (DEPRECATED - shall not be used))(not mapped)NOT MAPPED. TKB specifies cardinality 0..0 - use careContactStatus=makulerad (53691000052102) instead.
careContact.careContactHeader.nullifiedReason (Nullified reason (DEPRECATED - shall not be used))(not mapped)NOT MAPPED. TKB specifies cardinality 0..0.
careContact.careContactHeader.careContactId (Care contact ID in header (DEPRECATED - use documentId))(not mapped)NOT MAPPED. TKB specifies cardinality 0..0 - use careContactHeader.documentId instead.
result.resultCode (Result code (OK, INFO, ERROR))(not mapped)NOT MAPPED to resources. Used in Bundle-level OperationOutcome or HTTP status codes. OK→200, INFO→200 with warnings, ERROR→4xx/5xx.
result.errorCode (Error code (when resultCode=ERROR))(not mapped)NOT MAPPED to resources. Used in OperationOutcome.issue.code for error responses.
result.subCode (Error sub-code)(not mapped)NOT MAPPED. No subcodes specified in GetCareContacts v2.0/v3.0.
result.logId (Log ID (UUID for troubleshooting))(not mapped)NOT MAPPED to resources. Used in OperationOutcome.issue.diagnostics or X-Request-Id header for error tracking.
result.message (Result message (descriptive text))(not mapped)NOT MAPPED to resources. User-facing message in OperationOutcome.issue.diagnostics or Bundle.entry.response.outcome.