VGR Fireplace

CapabilityStatment

CapabilityStatement är en FHIR-resurs som beskriver en servers eller klients förmågor utifrån något av följande perspektiv:

I ImplementationGuides för tillämpningsprofiler är det den tredje formen, Requirements, som avses.

Namn och titel på CapabilityStatement

CapabilityStatement namnges enligt två olika mallar:

  • alt 1: När aktörens logiska applikationsnamn är samma som uttrycks i implementationsguidens namn:
    <implementationsguidens namn minus IG>ApplicationCS
    Exempel: VGRReimbursementApplicationCS

  • alt 2: När aktörens logiska applikationsnamn inte är del av implementationsguidens namn
    <implementationsguidens namn minus IG>CS. Exempel: VGRReimbursementEHRCS

I båda fallen blir titel <CapabilityStatementets namn><CapabilityStatement> med mellanslag efter “VGR” om det var med.

Exempel: VGR ReimbursementApplication Capability Statement, VGR ReimbursementEHR CapabilityStatement

Declaration

  • Instance: <CapabilityStatementets namn>

Keywords

  • InstanceOf: CapabilityStatement
  • Title: “<CapabilityStatementets titel>
  • Description: “<Beskrivning av syftet med detta CS; sammanhang, aktör, roll, användningsfall.>“
  • Usage: #definition

Element rules

  • name = “<CapabilityStatementets namn>
  • status = #active
  • kind = #requirements

Exempel

Instance: VGRReimbursementEHRCS
InstanceOf: CapabilityStatement
Title: "VGR ReimbursementEHR CapabilityStatement"
Description: "This CapabilityStatement describes the requirements for an Electronic Health Record (EHR) system acting as a server to expose the necessary FHIR resources for reimbursement processing."
Usage: #definition

Allmänna krav

Tillämpningsprofiler SKALL innefatta ett CapabilityStatement för varje ingående part. OBS! För REST gäller att om en part kan agera klient i vissa interaktioner och server i andra behövs två CapabilityStatements för denna part eftersom endast en REST-roll tillåts per CapabilityStatement.

Varje CapabilityStatement SKALL definiera:

  • name: namn på CapabilityStatement - ‘datorvänligt’ - samma värde som id.
  • title: beskrivande namn på CapabilityStatement - ‘människovänligt’
  • description: beskrivning av syftet med detta CS; sammanhang, aktör, roll, användningsfall.
  • kind: requirements
  • FHIR version: samma som ImplementationGuide definierar. Noter att flera versioner kan förekomma här, vilket väl bör motsvara IG’s ambitionsnivå.
  • format: SKALL inkludera json

REST-baserade interaktioner

  • mode: client exklusivt eller server. En part kan agera både klient och server beroende på vilken roll den spelar i olika interaktioner inom en ImplementationGuide. Om så är fallet behövs ett CapabilityStatement för respektive mode.
  • documentation: Beskriv syftet med partens (applikationens) roll i REST-baserad samverkan, varför de olika resurserna och interaktionerna behöver stödjas.
  • security.service: här anges ett eller flera koncept (OAuth, SMART-on-FHIR, Certificates, …) för autentisering och auktorisering som ska stödjas för samverkan. Varje part (server och klient) SKALL ha minst ett gemensamt koncept.
  • security.description: beskriv ytterligare detaljer som behövs för definierad security.service, t ex scopes, headers, origins.
  • security.cors: ej applicerbart för mode client. Sätt denna till true för mode server.

REST Resources

För varje REST Resource SKALL definieras:

  • type: resursens namn (obs grundresursen, inte profilens namn)
  • profile: canonical uri till partens (applikationens) allmängiltiga basprofil för resursen, dvs StructureDefinition, om sådan finnes. OBS! Denna profil SKALL vara gemensam bas för ALLA supported profiles (se nästa punkt). Se Two uses of Profiles för mer information.
  • supported profiles: lista alla tillämpningsprofiler som ska stödjas av denna part i olika användningsfall/scenario. (Rimligen alltså profiler definierade inom den aktuella IGn). Varje listad profil anges med en canonical uri till StructureDefinition och har profil angiven under profile som gemensam bas. Se Two uses of Profiles för mer information.
  • interaction: lista alla interaktioner (CRUD+) som ska kunna stödjas för resursen.
  • interaction.code: interaktionens code enligt valueset-type-restful-interaction
  • interaction capabilitystatement-expectation: för varje erforderlig interaktion SKALL anges en efterlevnadsgrad m h a en standard-extension capabilitystatement-expectation:
    • interaction.extension.url = http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation
    • interation.extension.valueCode = kod för efterlevnadsgrad enligt ValueSet-conformance-expectation
  • searchParam: lista de fördefinierade sökparametrar som ska stödjas för resursen. Se resursens dokumentation för vilka SearchParameters som finns definierade.
    • searchParam.definition = url till sökparameterns definition.
    • searchParam.name = sökparameterns namn vilket enligt specen BÖR vara identiskt med SearchParameter.code som är den kod som används för att referera parametern i sök-url.
  • searchInclude: lista de av refererade resurser som ska kunna inkluderas i svaret på en request. Referensen anges som {Resursnamn:refererandeElementnamn}.

Meddelandebaserade interaktioner (messaging)

TBD

Document-baserade interaktioner (documents)

TBD