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
Draft as of 2024-11-21 |
<OperationDefinition xmlns="http://hl7.org/fhir">
<id value="MOPED.CoverageEligibilityRequest.Anfragen"/>
<text>
<status value="generated"/>
<div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: OperationDefinition MOPED.CoverageEligibilityRequest.Anfragen</b></p><a name="MOPED.CoverageEligibilityRequest.Anfragen"> </a><a name="hcMOPED.CoverageEligibilityRequest.Anfragen"> </a><a name="MOPED.CoverageEligibilityRequest.Anfragen-en-US"> </a><p>URL: [base]/Account/$anfragen</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 beinhält den eindeutigen Identifizierer für den relevanten Fall.</p>
</div></td></tr><tr><td>IN</td><td>versicherer</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>versicherer</em> Parameter beinhält den eindeutigen Identifizierer für den Versicherer an dem der CoverageEligibilityRequest gerichtet ist.</p>
</div></td></tr><tr><td>IN</td><td>verlaengerungstage</td><td/><td>0..1</td><td><a href="http://hl7.org/fhir/R5/datatypes.html#unsignedInt">unsignedInt</a></td><td/><td><div><p>Der <em>verlaengerungstage</em> beschreibt, um wie viele Verlängerungstage angefragt wird.</p>
</div></td></tr><tr><td>IN</td><td>sonderklasse</td><td/><td>0..1</td><td><a href="http://hl7.org/fhir/R5/datatypes.html#code">code</a></td><td><a href="ValueSet-moped-sonderklasse-valueset.html">Sonderklasse ValueSet</a> (Required)</td><td><div><p>Der <em>sonderklasse</em> codiert, ob der Aufenthalt in der Allgemeine Gebührenklasse oder Sonderklasse stattfindet, da es bei speziellen Versicherungsträgern dafür Optionen gibt.</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><p>TBD: Ist hier evtl. eine Transaction die bessere Lösung? Bei dieser Operation findet keine Status-Änderung statt. Lediglich auf die Precondition des Workflow-Status müsste geachtet werden.</p>
</div></div>
</text>
<url
value="http://example.org/OperationDefinition/MOPED.CoverageEligibilityRequest.Anfragen"/>
<version value="0.1.0"/>
<name value="MOPED_CoverageEligibilityRequest_Anfragen"/>
<title value="MOPED Versichertenanspruchserklärung $anfragen (POC)"/>
<status value="draft"/>
<kind value="operation"/>
<date value="2024-11-21T12:53:18+00:00"/>
<publisher value="Example Publisher"/>
<contact>
<name value="Example Publisher"/>
<telecom>
<system value="url"/>
<value value="http://example.org/example-publisher"/>
</telecom>
</contact>
<description
value="Die Versichertenanspruchserklärung $anfragen Operation wird aufgerufen, um die Versichertenanspruchserklärung-Anfrage an die SV anzustoßen. Diese Operation ist irrelevant für Selbstzahler (das ist wichtig für künftige weiterentwicklung - wenn im Account auf eine Coverage-Ressource für Selbstzahler referenziert wird, darf die Operation $anfragen nicht ausgeführt werden)."/>
<purpose
value="Die Operation wird vom Akteur Krankenhaus (KH) aufgerufen.
**Wer ruft diese Operation in welchem Zusammenhang auf?**
Die Operation wird vom Akteur Krankenhaus (KH) aufgerufen. Die Versichertenanspruchserklärung $anfragen Operation wird aufgerufen, um die Versichertenanspruchserklärung-Anfrage an die SV anzustoßen. Diese Operation ist irrelevant für Selbstzahler (das ist wichtig für künftige weiterentwicklung - wenn im Account auf eine Coverage-Ressource für Selbstzahler referenziert wird, darf die Operation $anfragen nicht ausgeführt werden).
**Voraussetzungen für den Aufruf**
* Account-Status: : `Aufnahme freigegeben`
**Detaillierte Business-Logik**
1. Suche des MOPEDEncounter: Der MOPEDEncounter mit der jeweiligen *aufnahmezahl* lt. Operation-Parameter wird gesucht
2. Suchen des MOPEDAccounts: Die Referenz des *MOPEDEncounter.account* aus Schritt 1.
3. Erstellung des MOPEDCoverageEligibilityRequest:
* a. *MOPEDCoverageEligibilityRequest.status* mit 'active' befüllen
* b. *MOPEDCoverageEligibilityRequest.purpose* mit 'validation' befüllen
* c. *MOPEDCoverageEligibilityRequest.created* mit dem aktuellem Zeitpunkt befüllen
* d. *MOPEDCoverageEligibilityRequest.verlaengerungstage* mit *verlaengerungstage* lt. Operation-Parameter befüllen
* e. *MOPEDCoverageEligibilityRequest.sonderklasse* mit *sonderklasse* lt. Operation-Parameter befüllen
* f. *MOPEDCoverageEligibilityRequest.patient* mit *MOPEDAccount.subject* befüllen
* g. *MOPEDCoverageEligibilityRequest.insurance.coverage* mit *MOPEDAccount.coverage.coverage* befüllen
* h. *MOPEDCoverageEligibilityRequest.provider* mit *MOPEDAccount.owner* befüllen
* i. *MOPEDCoverageEligibilityRequest.insurer* mit einer Referenz auf jene Organization befüllen, deren *Organization.identifier* dem Identifier *versicherer* lt. Operation-Parameter entspricht
6. POSTen des neu erstellten CoverageEligibilityRequest
7. Referenz im MOPEDAccount:
a. *MOPEDAccount.coverageEligibilityRequest* mit Hilfe der resultierenden ID aus Schritt 6 referenzieren
**Validierung / Fehlerbehandlung**
* *MOPEDAccount.coverage* darf nur eine Versicherung gelistet haben
* *CoverageEligibilityRequest.subject* muss mit *Coverage.beneficiary* aus Schritt 3g übereinstimmen
* *MOPEDCoverageEligibilityRequest.insurer* muss mit *Coverage.insurer* aus Schritt 3g übereinstimmen
* *MOPEDCoverageEligibilityRequest.provider* muss gleichzeitig die gleiche Organisation sein, die lt. Token die Operation aufgerufen hat.
**Weitere Hinweise**
* Hinweis 1: Nach dieser Operation findet lt. Soll-Prozess kein Update des Status *MOPEDAccount.workflowStatus* statt.
**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 Kostenübernahmen für eigene Fälle angefragt werden können.
"/>
<affectsState value="true"/>
<code value="anfragen"/>
<comment
value="TBD: Ist hier evtl. eine Transaction die bessere Lösung? Bei dieser Operation findet keine Status-Änderung statt. Lediglich auf die Precondition des Workflow-Status müsste geachtet werden."/>
<resource value="Account"/>
<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 beinhält den eindeutigen Identifizierer für den relevanten Fall."/>
<type value="Identifier"/>
</parameter>
<parameter>
<name value="versicherer"/>
<use value="in"/>
<min value="1"/>
<max value="1"/>
<documentation
value="Der *versicherer* Parameter beinhält den eindeutigen Identifizierer für den Versicherer an dem der CoverageEligibilityRequest gerichtet ist."/>
<type value="Identifier"/>
</parameter>
<parameter>
<name value="verlaengerungstage"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<documentation
value="Der *verlaengerungstage* beschreibt, um wie viele Verlängerungstage angefragt wird."/>
<type value="unsignedInt"/>
</parameter>
<parameter>
<name value="sonderklasse"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<documentation
value="Der *sonderklasse* codiert, ob der Aufenthalt in der Allgemeine Gebührenklasse oder Sonderklasse stattfindet, da es bei speziellen Versicherungsträgern dafür Optionen gibt."/>
<type value="code"/>
<binding>
<strength value="required"/>
<valueSet
value="http://example.org/ValueSet/moped-sonderklasse-valueset"/>
</binding>
</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>