Document toolboxDocument toolbox

Bundle (eHealth Bundel)

Doel

De (FHIR) Bundle (resource) is een container voor een verzameling FHIR resources. De FHIR resources in de container kan alleen geïnterpreteerd of gewijzigd worden in de context van de container.

De FHIR resources in de container kunnen direct benaderd worden door gebruik te maken van RESTful API.

Referentie

FHIR Specification (v4.0.1: R4 - Mixed Normative and STU). Dit is de huidige gepubliceerde versie. Zie ook: https://www.hl7.org/fhir/bundle.html.

Koppeltaal 2.0 profiel van Bundle

Element

Omschrijving

Card.

Type

type

Bepaalt het doel van de bundel resources (bv "searchset" , "collection" of "transaction") . Zie: http://hl7.org/fhir/bundle-type

1..1code
identifierPersistente identifier voor de bundel0..1Identifier
totalAls het een "searchset" is, dan aangeven wat het aantal matches is met de zoekopdracht0..1unsignedInt
linkVoor het later ophalen van de bundel0..*BackboneElement
entryDe toegang tot de verschillende verzamelde resources. Elke entry element bevat een FHIR Resource 0..*BackboneElement
entry.fullUrlURI van de resource (een absoluut URL server adres of een URI voor UUID/OID)0..1uri
entry.resourceEen resource in de bundel0..1Resource

Voorbeelden

Aannames en opmerkingen:

  • De Bundle.id wordt uitgegeven en beheerd door de beheerder van de resources (FHIR Store) en is OAuth2 beschermd.
  • Alleen een OAuth2 server verleent autorisatie aan een applicatie. 


Transaction (JSON)
{
  "resourceType": "Bundle",
  "type": "transaction",
  "entry": [
    {
      "fullUrl": "urn:uuid:61ebe359-bfdc-4613-8bf2-c5e300945f0a",
      "resource": {
        "resourceType": "Endpoint",
        "text": {
          "status": "additional",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">Voorbeeld</div>"
        },
        "identifier": "VzvzDomainKickAssApp01",
        "name": "KickAssApp",
        "status": "active",
        "address": "https://nl.vzvz.com/KickAssApp",
        "connectionType": {
          "system": "http://terminology.hl7.org/CodeSystem/endpoint-connection-type",
          "code": "hl7-fhir-rest"
        },
        "payloadType": [
          {
            "coding": [
              {
                "system": "http://hl7.org/fhir/resource-types",
                "code": "Task"
              }
            ]
          }
        ],
        "managingOrganization": {
          "reference": "http://hapi.fhir.org/baseR4/Organization/1736984",
          "type": "Organization"
        }
      },
      "request": {
        "method": "POST",
        "url": "Endpoint"
      }
    },
    {
      "resource": {
        "resourceType": "Organization",
        "text": {
          "status": "additional",
          "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">Voorbeeld</div>"
        },
        "identifier": [
          {
            "system": "http://fhir.nl/fhir/NamingSystem/agb-z",
            "value": "12345678"
          },
          {
            "system": "http://fhir.nl/fhir/NamingSystem/ura",
            "value": "12345678"
          }
        ],
        "active": true,
        "type": [
          {
            "coding": [
              {
                "system": "http://terminology.hl7.org/CodeSystem/organization-type",
                "code": "prov",
                "display": "Healthcare Provider"
              } 
            ]
          }
        ],
        "name": "GGZ-XYZ",
        "telecom": [
          {
            "system": "phone",
            "value": "(+31) 627508550"
          },
          {
            "system": "email",
            "value": "hoofd@ggz-xyz.nl"
          }
        ],
        "address": [
          {
            "city": "Amsterdam",
            "postalCode": "1000AA",
            "country": "NLD"
          }
       ],
       "endpoint": {
         "identifier": "VzvzDomainKickAssApp01",
         "type": "Endpoint"
       }
     },
     "request": {
        "method": "PUT",
        "url": "Organization/1736984"
      }
    }
  ]
}
(JSON) Result op een Transactie
{
  "resourceType": "Bundle",
  "id": "e92cdb5b-7e07-4763-9738-021d5b167a2d",
  "type": "transaction-response",
  "link": [ {
    "relation": "self",
    "url": "http://hapi.fhir.org/baseR4"
  } ],
  "entry": [ {
    "response": {
      "status": "201 Created",
      "location": "Endpoint/1754183/_history/1",
      "etag": "1",
      "lastModified": "2021-01-19T16:54:02.431+00:00"
    }
  }, {
    "response": {
      "status": "200 OK",
      "location": "Organization/1736984/_history/2",
      "etag": "2"
    }
  } ]
}

Search Bundle op Patient.identifier (XML)
<Bundle xmlns="http://hl7.org/fhir">
   <id value="593b6ab2-b977-4b0e-bd0a-36c220d93355"/>
   <meta>
      <lastUpdated value="2021-01-19T15:29:03.996+00:00"/>
   </meta>
   <type value="searchset"/>
   <total value="1"/>
   <link>
      <relation value="self"/>
      <url value="http://hapi.fhir.org/baseR4/Patient?_format=xml&_pretty=true&identifier=systeemnaamuitgave%7CBerendBotje-01"/>
   </link>
   <entry>
      <fullUrl value="http://hapi.fhir.org/baseR4/Patient/1754096"/>
      <resource>
         <Patient xmlns="http://hl7.org/fhir">
            <id value="1754096"/>
            <meta>
               <versionId value="1"/>
               <lastUpdated value="2021-01-19T15:28:21.267+00:00"/>
               <source value="#AWLsIUVnS9RFllGS"/>
            </meta>
            <text>
               <status value="generated"/>
               <div xmlns="http://www.w3.org/1999/xhtml">
                  <div class="hapiHeaderText">Berend 
                     <b>BOTJE </b>
                  </div>
                  <table class="hapiPropertyTable">
                     <tbody>
                        <tr>
                           <td>Identifier</td>
                           <td>BerendBotje-01</td>
                        </tr>
                        <tr>
                           <td>Date of birth</td>
                           <td>
                              <span>20 December 1963</span>
                           </td>
                        </tr>
                     </tbody>
                  </table>
               </div>
            </text>
            <identifier>
               <use value="usual"/>
               <system value="systeemnaamuitgave"/>
               <value value="BerendBotje-01"/>
            </identifier>
            <active value="true"/>
            <name>
               <text value="Berend Botje"/>
               <family value="Botje"/>
               <given value="Berend"/>
            </name>
            <gender value="male"/>
            <birthDate value="1963-12-20"/>
            <managingOrganization>
               <type value="Organization"/>
               <identifier>
                  <system value="http://fhir.nl/fhir/NamingSystem/agb-z"/>
                  <value value="12345678"/>
               </identifier>
            </managingOrganization>
         </Patient>
      </resource>
      <search>
         <mode value="match"/>
      </search>
   </entry>
</Bundle>