TKB Clinical Process Activity Actions
0.1.0 - ci-build Sweden

TKB Clinical Process Activity Actions - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Get Activities

GetActivities

Version: 0.1.0 (draft)

The GetActivities service retrieves clinical activities for a specified patient, optionally filtered by care unit, time period, and source system.

Request Parameters

  • patientId (1..1) BackboneElement
    • id (1..1) string — 12 digits without separator
    • type (1..1) string — Identifier type OID (personnummer or samordningsnummer)
  • careUnitHSAId (0..*) string — Care unit filter
  • timePeriod (0..1) BackboneElement
    • start (1..1) string — YYYYMMDD or YYYYMMDDhhmmss
    • end (0..1) string — YYYYMMDD or YYYYMMDDhhmmss
  • sourceSystemHSAId (0..1) string — Source system filter
  • includeInactive (0..1) boolean — Include inactive activities

Response Structure

  • result (1..1) BackboneElement — Operation result
    • resultCode (1..1) string — OK INFO ERROR codes
    • message (0..1) string — Human-readable message
    • errorId (0..1) string — Error identifier
    • logId (0..1) string — Log correlation ID
  • activity (0..*) BackboneElement — Returned activity
    • header (1..1) BackboneElement
      • activityId (1..1) string — Activity identifier
      • sourceSystemHSAId (1..1) string — Source system HSA-ID
      • activityTime (1..1) string — YYYYMMDDhhmmss
      • patientId (1..1) BackboneElement
        • id (1..1) string — Identifier value
        • type (1..1) string — Identifier type OID
    • body (1..1) BackboneElement
      • actionCode (0..1) string — Type of action/activity
      • actionText (0..1) string — Human-readable description
      • performerHSAId (0..1) string — Performer HSA-ID
      • careUnitHSAId (0..1) string — Care unit HSA-ID
  • hasMore (0..1) boolean — More results available
  • hasMoreReference (0..1) string — Pagination reference token

Business Rules

  1. patientId.id shall be 12 digits (YYYYMMDDNNNN) without separators.
  2. patientId.type shall be one of:
    • 1.2.752.129.2.1.3.1 (personnummer)
    • 1.2.752.129.2.1.3.3 (samordningsnummer)
  3. If timePeriod is provided, timePeriod.start is required.
  4. If hasMore is true, hasMoreReference shall be provided.

Use Cases

  • Retrieve all recent activities for a patient
  • Retrieve activities for a specific care unit and time period
  • Page through a large set of activities

Interaction Flow

sequenceDiagram
    participant C as Consumer
    participant A as Aggregator
    participant S as Source System

    C->>A: GetActivities(Request)
    A->>S: Query activities
    S-->>A: Activities
    A-->>C: Aggregated activities

Message Examples

Request Example

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:urn="urn:riv:clinicalprocess:activity:actions:1">
  <soap:Header>
    <wsa:To>https://services.example.se/clinicalprocess/activity/actions/1</wsa:To>
    <wsa:Action>urn:riv:clinicalprocess:activity:actions:1:GetActivities</wsa:Action>
    <wsa:MessageID>urn:uuid:123e4567-e89b-12d3-a456-426614174000</wsa:MessageID>
    <urn:LogicalAddress>SE2321000016-ABC123</urn:LogicalAddress>
  </soap:Header>
  <soap:Body>
    <urn:GetActivities>
      <urn:patientId>
        <urn:id>197001011234</urn:id>
        <urn:type>1.2.752.129.2.1.3.1</urn:type>
      </urn:patientId>
      <urn:timePeriod>
        <urn:start>20240101</urn:start>
        <urn:end>20241231</urn:end>
      </urn:timePeriod>
      <urn:sourceSystemHSAId>SE2321000016-ABC123</urn:sourceSystemHSAId>
      <urn:includeInactive>true</urn:includeInactive>
    </urn:GetActivities>
  </soap:Body>
</soap:Envelope>

Response Example

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:urn="urn:riv:clinicalprocess:activity:actions:1">
  <soap:Body>
    <urn:GetActivitiesResponse>
      <urn:result>
        <urn:resultCode>OK</urn:resultCode>
        <urn:message>1 activity returned</urn:message>
      </urn:result>
      <urn:activity>
        <urn:header>
          <urn:activityId>A-202402010001</urn:activityId>
          <urn:sourceSystemHSAId>SE2321000016-ABC123</urn:sourceSystemHSAId>
          <urn:activityTime>20240201103045</urn:activityTime>
          <urn:patientId>
            <urn:id>197001011234</urn:id>
            <urn:type>1.2.752.129.2.1.3.1</urn:type>
          </urn:patientId>
        </urn:header>
        <urn:body>
          <urn:actionCode>ADMISSION</urn:actionCode>
          <urn:actionText>Patient admitted to ward</urn:actionText>
          <urn:performerHSAId>SE2321000016-DEF456</urn:performerHSAId>
          <urn:careUnitHSAId>SE2321000016-GHI789</urn:careUnitHSAId>
        </urn:body>
      </urn:activity>
      <urn:hasMore>false</urn:hasMore>
    </urn:GetActivitiesResponse>
  </soap:Body>
</soap:Envelope>