Moderne Patient:innenabrechnung und Datenkommunikation on FHIR (MOPED)
0.1.0 - ci-build

Moderne Patient:innenabrechnung und Datenkommunikation on FHIR (MOPED) - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

: MOPED Encounter $abrechnen (POC) - XML Representation

Draft as of 2024-12-13

Raw xml | Download


<OperationDefinition xmlns="http://hl7.org/fhir">
  <id value="MOPED.Encounter.Abrechnen"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: OperationDefinition MOPED.Encounter.Abrechnen</b></p><a name="MOPED.Encounter.Abrechnen"> </a><a name="hcMOPED.Encounter.Abrechnen"> </a><a name="MOPED.Encounter.Abrechnen-en-US"> </a><p>URL: [base]/Encounter/$abrechnen</p><h3>Parameters</h3><table class="grid"><tr><td><b>Use</b></td><td><b>Name</b></td><td><b>Scope</b></td><td><b>Cardinality</b></td><td><b>Type</b></td><td><b>Binding</b></td><td><b>Documentation</b></td></tr><tr><td>IN</td><td>aufnahmezahl</td><td/><td>1..1</td><td><a href="http://hl7.org/fhir/R5/datatypes.html#Identifier">Identifier</a></td><td/><td><div><p>Der <em>aufnahmezahl</em> Parameter beinhaltet den eindeutigen Identifizierer für den relevanten Fall.</p>
</div></td></tr><tr><td>IN</td><td>abschliessen</td><td/><td>1..1</td><td><a href="http://hl7.org/fhir/R5/datatypes.html#boolean">boolean</a></td><td/><td><div><p>Mit Hilfe des <em>abschliessen</em> Parameters wird angegeben, ob es sich bei der Fall-Abrechnung um die endgültige Meldung handeln soll.</p>
</div></td></tr><tr><td>IN</td><td>claim</td><td/><td>1..1</td><td><a href="http://hl7.org/fhir/R5/claim.html">Claim</a> (<a href="StructureDefinition-MOPEDClaim.html" title="http://example.org/StructureDefinition/MOPEDClaim">MOPED Claim</a>)</td><td/><td><div><p>Der <em>claim</em> Parameter beinhaltet sämtliche Details zur Abrechnung lt. MOPEDClaim Profil.</p>
</div></td></tr><tr><td>OUT</td><td>return</td><td/><td>1..1</td><td><a href="http://hl7.org/fhir/R5/resource.html">Resource</a> (<a href="http://hl7.org/fhir/R5/operationoutcome.html" title="http://hl7.org/fhir/StructureDefinition/OperationOutcome">OperationOutcome</a>)</td><td/><td><div><p>Der <em>return</em> Parameter gibt Auskunft über den Erfolg der Operation.</p>
</div></td></tr></table></div>
  </text>
  <url
       value="http://example.org/OperationDefinition/MOPED.Encounter.Abrechnen"/>
  <version value="0.1.0"/>
  <name value="MOPED_Encounter_Abrechnen"/>
  <title value="MOPED Encounter $abrechnen (POC)"/>
  <status value="draft"/>
  <kind value="operation"/>
  <date value="2024-12-13T08:39:47+00:00"/>
  <publisher value="ELGA"/>
  <contact>
    <name value="ELGA"/>
    <telecom>
      <system value="url"/>
      <value value="https://www.elga.gv.at/"/>
    </telecom>
  </contact>
  <description
               value="Die $abrechnen Operation wird aufgerufen, wenn ein Fall abgerechnet werden sollte."/>
  <purpose
           value="
**Wer ruft diese Operation in welchem Zusammenhang auf?**

Die Operation wird vom Akteur Krankenhaus (KH) aufgerufen. Die $abrechnen Operation wird aufgerufen, wenn ein(e) im Zuge des Falles erbrachte Leistung abgerechnet werden soll.

**Voraussetzungen für den Aufruf**

* Account-Status: `Entlassung vollständig` oder `Vorläufige Meldung`

**Detaillierte Business-Logik**

1. Suche des MOPEDEncounter: Der MOPEDEncounter mit der jeweiligen *aufnahmezahl* lt. Operation-Parameter wird gesucht
2. Suche aller MOPEDProcedures und MOPEDConditions, die auf den Encounter aus Schritt 1 referenzieren
3. Suche aller MOPEDTransferEncounter die *partOf* den MOPEDEncounter aus Schritt 1 referenzieren
4. Der Claim wird lt. Regeln (siehe unten) validiert und eingespielt
5. Falls Schritt 4 erfolgreich war, wird der Encounter.account.workflowStatus (Encounter aus Schritt 1) wird auf 
   * `Vorläufige Meldung` gesetzt, falls der `abschliessen`-Parameter `false` ist
   * `Endgültige Meldung` gesetzt, falls der `abschliessen`-Parameter `true` ist
6. Alle Referenzen sollen versionsspezifisch aufgelöst werden.

**Validierung / Fehlerbehandlung**

* Alle Procedures und Conditions aus Schritt 2 müssen im Claim vorkommen (referenziert unter `Claim.diagnosis` oder `Claim.procedure`)
* Alle TransferEncounter aus Schritt 3 müssen in *Claim.encounter* vorkommen
* Claim.encounter.identifier des Slice *MopedEncounter* muss der Aufnahmezahl lt. Operation-Parameter entsprechen
* Claim.status soll `draft` sein, falls der `abschließen`-Parameter = `false` ist. 
* Claim.status soll `active` sein, falls der `abschließen`-Parameter = `true` ist. 
* Claim.patient muss gleich wie Encounter.subject sein (Encounter aus Schritt 1).
* Claim.billablePeriod muss innerhalb des Encounter.actualPeriod sein (Encounter aus Schritt 1).
* Claim.insurer muss gleich sein wie Encounter.account.coverage.insurer (falls dieser befüllt ist; Encounter aus Schritt 1).
* Claim.provider muss gleich sein wie Encounter.serviceProvider (Encounter aus Schritt 1).
* Claim.insurance.coverage muss gleich sein wie Encounter.account.coverage (falls diese beüllt ist; Encounter aus Schritt 1)
* Claim.accident muss befüllt sein, falls Encounter.account.VerdachtArbeitsSchuelerunfall	!= `0` ist


**Weitere Hinweise**

* Hinweis 1: Die Referenzen zu Diagnosis und Claims die bereits nach $leistungMelden am Server liegen werden mit Hilfe der logischen Identifier hergestellt

**Annahmen an das BeS**
* Es wurde vorab geprüft, ob das `system` des Parameters `aufnahmezahl` dem GDA entspricht, der die Operation aufruft. Somit ist sichergestellt, dass nur eigene Fälle abgerechnet werden können.
"/>
  <affectsState value="true"/>
  <code value="abrechnen"/>
  <resource value="Encounter"/>
  <system value="false"/>
  <type value="true"/>
  <instance value="false"/>
  <parameter>
    <name value="aufnahmezahl"/>
    <use value="in"/>
    <min value="1"/>
    <max value="1"/>
    <documentation
                   value="Der *aufnahmezahl* Parameter beinhaltet den eindeutigen Identifizierer für den relevanten Fall."/>
    <type value="Identifier"/>
  </parameter>
  <parameter>
    <name value="abschliessen"/>
    <use value="in"/>
    <min value="1"/>
    <max value="1"/>
    <documentation
                   value="Mit Hilfe des *abschliessen* Parameters wird angegeben, ob es sich bei der Fall-Abrechnung um die endgültige Meldung handeln soll."/>
    <type value="boolean"/>
  </parameter>
  <parameter>
    <name value="claim"/>
    <use value="in"/>
    <min value="1"/>
    <max value="1"/>
    <documentation
                   value="Der *claim* Parameter beinhaltet sämtliche Details zur Abrechnung lt. MOPEDClaim Profil."/>
    <type value="Claim"/>
    <targetProfile value="http://example.org/StructureDefinition/MOPEDClaim"/>
  </parameter>
  <parameter>
    <name value="return"/>
    <use value="out"/>
    <min value="1"/>
    <max value="1"/>
    <documentation
                   value="Der *return* Parameter gibt Auskunft über den Erfolg der Operation."/>
    <type value="Resource"/>
    <targetProfile
                   value="http://hl7.org/fhir/StructureDefinition/OperationOutcome"/>
  </parameter>
</OperationDefinition>