diff --git a/ReleaseNotes.md b/ReleaseNotes.md index 8e2581d8..da575ac6 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -1,3 +1,7 @@ +# Release 1.12.1 +- Redeem prescriptions directly without being authenticated with TI +- Bugfixes (lots) + # Release 1.11.0-RC5 - Direct redemption of prescription without TI - Bugfixes diff --git a/android/src/debug/java/de/gematik/ti/erp/app/debug/ui/DebugScreen.kt b/android/src/debug/java/de/gematik/ti/erp/app/debug/ui/DebugScreen.kt index 8e3f71bf..9c8c9626 100644 --- a/android/src/debug/java/de/gematik/ti/erp/app/debug/ui/DebugScreen.kt +++ b/android/src/debug/java/de/gematik/ti/erp/app/debug/ui/DebugScreen.kt @@ -471,6 +471,7 @@ fun DebugScreenMain( .weight(1f) ) Switch( + modifier = Modifier.testTag(TestTag.DebugMenu.FakeNFCCapabilities), checked = viewModel.debugSettingsData.fakeNFCCapabilities, onCheckedChange = { viewModel.allowNfc(it) } ) diff --git a/android/src/main/java/de/gematik/ti/erp/app/MainActivity.kt b/android/src/main/java/de/gematik/ti/erp/app/MainActivity.kt index 072daeec..d9794c4a 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/MainActivity.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/MainActivity.kt @@ -47,7 +47,6 @@ import androidx.compose.ui.geometry.Rect import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.platform.LocalView import androidx.compose.ui.res.painterResource -import androidx.core.content.edit import androidx.core.view.ViewCompat import androidx.core.view.WindowCompat import androidx.lifecycle.lifecycleScope @@ -71,11 +70,9 @@ import de.gematik.ti.erp.app.cardwall.mini.ui.rememberAuthenticator import de.gematik.ti.erp.app.core.IntentHandler import de.gematik.ti.erp.app.core.LocalAnalytics import de.gematik.ti.erp.app.core.LocalIntentHandler -import de.gematik.ti.erp.app.mainscreen.ui.rememberMainScreenController import de.gematik.ti.erp.app.prescription.detail.ui.SharePrescriptionHandler import de.gematik.ti.erp.app.profiles.ui.LocalProfileHandler import de.gematik.ti.erp.app.profiles.ui.rememberProfileHandler -import de.gematik.ti.erp.app.profiles.ui.rememberProfilesController import de.gematik.ti.erp.app.userauthentication.ui.AuthenticationModeAndMethod import de.gematik.ti.erp.app.userauthentication.ui.AuthenticationUseCase import de.gematik.ti.erp.app.userauthentication.ui.UserAuthenticationScreen @@ -120,6 +117,18 @@ class MainActivity : AppCompatActivity(), DIAware { private val appPrefs: SharedPreferences by instance(ApplicationPreferencesTag) + private val appPrefsListener: SharedPreferences.OnSharedPreferenceChangeListener = + SharedPreferences.OnSharedPreferenceChangeListener { sharedPrefs, key -> + if (key == ScreenshotsAllowed) { + // `gemSpec_eRp_FdV A_20203` default settings are not allow screenshots + if (sharedPrefs.getBoolean(ScreenshotsAllowed, false)) { + this.window.clearFlags(WindowManager.LayoutParams.FLAG_SECURE) + } else { + this.window?.addFlags(WindowManager.LayoutParams.FLAG_SECURE) + } + } + } + private val intentHandler = IntentHandler(this) private val _nfcTag = MutableSharedFlow() @@ -163,18 +172,7 @@ class MainActivity : AppCompatActivity(), DIAware { installMessageConversionExceptionHandler() } - if (BuildKonfig.INTERNAL) { - appPrefs.edit { - putBoolean(ScreenshotsAllowed, true) - } - } - - switchScreenshotMode() - appPrefs.registerOnSharedPreferenceChangeListener { _, key -> - if (key == ScreenshotsAllowed) { - switchScreenshotMode() - } - } + appPrefs.registerOnSharedPreferenceChangeListener(appPrefsListener) WindowCompat.setDecorFitsSystemWindows(window, false) @@ -193,7 +191,7 @@ class MainActivity : AppCompatActivity(), DIAware { ) { val authenticator = LocalAuthenticator.current - MainContent { settingsController -> + MainContent { settingscontroller -> val auth by produceState(null) { launch { authenticationModeAndMethod.distinctUntilChangedBy { it::class } @@ -236,17 +234,11 @@ class MainActivity : AppCompatActivity(), DIAware { authenticator = authenticator.authenticatorSecureElement ) - val mainScreenController = rememberMainScreenController() - val profilesController = rememberProfilesController() - CompositionLocalProvider( LocalProfileHandler provides rememberProfileHandler() ) { MainScreen( - navController = navController, - settingsController = settingsController, - mainScreenController = mainScreenController, - profilesController = profilesController + navController = navController ) SharePrescriptionHandler(authenticationModeAndMethod) @@ -340,13 +332,4 @@ class MainActivity : AppCompatActivity(), DIAware { NfcAdapter.getDefaultAdapter(applicationContext)?.disableReaderMode(this) } - - private fun switchScreenshotMode() { - // `gemSpec_eRp_FdV A_20203` default settings are not allow screenshots - if (appPrefs.getBoolean(ScreenshotsAllowed, false)) { - this.window.clearFlags(WindowManager.LayoutParams.FLAG_SECURE) - } else { - this.window?.addFlags(WindowManager.LayoutParams.FLAG_SECURE) - } - } } diff --git a/android/src/main/java/de/gematik/ti/erp/app/TestTags.kt b/android/src/main/java/de/gematik/ti/erp/app/TestTags.kt index f4995df8..95c1abec 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/TestTags.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/TestTags.kt @@ -281,6 +281,7 @@ object TestTag { } object DebugMenu { + val FakeNFCCapabilities by tagName() val DebugMenuScreen by tagName() val DebugMenuContent by tagName() val CertificateField by tagName() @@ -408,12 +409,21 @@ object TestTag { val LoginScreen by tagName() } + object Intro { + val IntroScreen by tagName() + val OrderEgkButton by tagName() + } + object CAN { + val CANScreen by tagName() val CANField by tagName() + val OrderEgkButton by tagName() } object PIN { + val PinScreen by tagName() val PINField by tagName() + val OrderEgkButton by tagName() } object StoreCredentials { diff --git a/android/src/main/java/de/gematik/ti/erp/app/cardwall/mini/ui/ExternalAuthPrompt.kt b/android/src/main/java/de/gematik/ti/erp/app/cardwall/mini/ui/ExternalAuthPrompt.kt index 825fdfd6..96d0c404 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/cardwall/mini/ui/ExternalAuthPrompt.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/cardwall/mini/ui/ExternalAuthPrompt.kt @@ -47,6 +47,7 @@ import androidx.compose.foundation.layout.imePadding import androidx.compose.foundation.layout.systemBarsPadding import de.gematik.ti.erp.app.R import de.gematik.ti.erp.app.core.IntentHandler +import de.gematik.ti.erp.app.mainscreen.ui.ExternalAuthenticationDialog import de.gematik.ti.erp.app.profiles.repository.ProfileIdentifier import de.gematik.ti.erp.app.profiles.usecase.model.ProfilesUseCaseData import de.gematik.ti.erp.app.theme.AppTheme @@ -60,12 +61,10 @@ import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.channelFlow import kotlinx.coroutines.flow.collectLatest -import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.onCompletion import kotlinx.coroutines.flow.onStart import kotlinx.coroutines.flow.receiveAsFlow import kotlinx.coroutines.launch -import java.net.URI @Stable class ExternalPromptAuthenticator( @@ -110,7 +109,7 @@ class ExternalPromptAuthenticator( } is Request.InsuranceSelected -> { - Napier.d("doExternalAuthentication for $authFor") + Napier.d("Fasttrack: doExternalAuthentication for $authFor") bridge.doExternalAuthentication( profileId = profileId, @@ -126,23 +125,7 @@ class ExternalPromptAuthenticator( cancel() } - Napier.d("wait for instant of $authFor") - - val uri = intentHandler.extAuthIntent.first() - - Napier.d("doExternalAuthorization for $uri") - - bridge.doExternalAuthorization(URI(uri)) - .onSuccess { - send(PromptAuthenticator.AuthResult.Authenticated) - cancel() - } - .onFailure { - Napier.e("doExternalAuthorization failed", it) - // TODO error handling - send(PromptAuthenticator.AuthResult.Cancelled) - cancel() - } + Napier.d("Fasttrack: wait for instant of $authFor") } } } @@ -238,6 +221,7 @@ fun ExternalAuthPrompt( } } } + ExternalAuthenticationDialog() } } diff --git a/android/src/main/java/de/gematik/ti/erp/app/cardwall/ui/CardWallAccessNumber.kt b/android/src/main/java/de/gematik/ti/erp/app/cardwall/ui/CardWallAccessNumber.kt index 6f25af09..a924795c 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/cardwall/ui/CardWallAccessNumber.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/cardwall/ui/CardWallAccessNumber.kt @@ -71,7 +71,7 @@ fun CardAccessNumber( val lazyListState = rememberLazyListState() CardHandlingScaffold( - modifier = Modifier.testTag("cardWall/cardAccessNumber"), + modifier = Modifier.testTag(TestTag.CardWall.CAN.CANScreen), backMode = NavigationBarMode.Back, title = screenTitle, nextEnabled = can.length == EXPECTED_CAN_LENGTH, @@ -154,6 +154,7 @@ fun CanDescription(onClickLearnMore: () -> Unit) { onClick = { onClickLearnMore() }, style = AppTheme.typography.body2, modifier = Modifier.align(Alignment.End) + .testTag(TestTag.CardWall.CAN.OrderEgkButton) ) } } diff --git a/android/src/main/java/de/gematik/ti/erp/app/cardwall/ui/CardWallScaffold.kt b/android/src/main/java/de/gematik/ti/erp/app/cardwall/ui/CardWallScaffold.kt index 77321f92..eac777da 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/cardwall/ui/CardWallScaffold.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/cardwall/ui/CardWallScaffold.kt @@ -68,7 +68,7 @@ fun CardWallIntroScaffold( val scrollState = rememberScrollState() AnimatedElevationScaffold( - modifier = Modifier.testTag(TestTag.CardWall.Login.LoginScreen) + modifier = Modifier.testTag(TestTag.CardWall.Intro.IntroScreen) .systemBarsPadding(), topBarTitle = "", elevated = scrollState.value > 0, @@ -227,7 +227,7 @@ fun AddCardContent( HintTextActionButton( text = stringResource(R.string.cdw_intro_order_now), align = Alignment.End, - modifier = Modifier.align(Alignment.End) + modifier = Modifier.align(Alignment.End).testTag(TestTag.CardWall.Intro.OrderEgkButton) ) { onClickOrderNow() } diff --git a/android/src/main/java/de/gematik/ti/erp/app/cardwall/ui/CardWallSecret.kt b/android/src/main/java/de/gematik/ti/erp/app/cardwall/ui/CardWallSecret.kt index f913d8bc..87e1251b 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/cardwall/ui/CardWallSecret.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/cardwall/ui/CardWallSecret.kt @@ -81,7 +81,7 @@ fun CardWallSecretScreen( ) { val lazyListState = rememberLazyListState() CardHandlingScaffold( - modifier = Modifier.testTag("cardWall/secretScreen"), + modifier = Modifier.testTag(TestTag.CardWall.PIN.PinScreen), backMode = when (navMode) { NavigationMode.Forward, NavigationMode.Back, @@ -130,6 +130,7 @@ fun CardWallSecretScreen( } item { ClickableTaggedText( + modifier = Modifier.testTag(TestTag.CardWall.PIN.OrderEgkButton), text = annotatedLinkStringLight( uri = "", text = stringResource(R.string.cdw_no_pin_received) diff --git a/android/src/main/java/de/gematik/ti/erp/app/di/NetworkModule.kt b/android/src/main/java/de/gematik/ti/erp/app/di/NetworkModule.kt index 36fdca75..e531944b 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/di/NetworkModule.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/di/NetworkModule.kt @@ -224,7 +224,7 @@ val networkModule = DI.Module("Network Module") { .addInterceptor(loggingInterceptor) if (BuildKonfig.INTERNAL) { - clientBuilder.addInterceptor(PharmacyRedeemInterceptor(instance())) + clientBuilder.addInterceptor(PharmacyRedeemInterceptor()) } Retrofit.Builder() diff --git a/android/src/main/java/de/gematik/ti/erp/app/featuretoggle/FeatureToggleManager.kt b/android/src/main/java/de/gematik/ti/erp/app/featuretoggle/FeatureToggleManager.kt index 04fb67b3..8eece414 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/featuretoggle/FeatureToggleManager.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/featuretoggle/FeatureToggleManager.kt @@ -28,7 +28,7 @@ import kotlinx.coroutines.flow.map private val Context.dataStore by preferencesDataStore("featureToggles") enum class Features(val featureName: String) { - REDEEM_WITHOUT_TI("RedeemWithoutTI"), + // REDEEM_WITHOUT_TI("RedeemWithoutTI"), } class FeatureToggleManager(val context: Context) { diff --git a/android/src/main/java/de/gematik/ti/erp/app/interceptor/HeadersInterceptor.kt b/android/src/main/java/de/gematik/ti/erp/app/interceptor/HeadersInterceptor.kt index 64b9c456..c1c7b8f0 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/interceptor/HeadersInterceptor.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/interceptor/HeadersInterceptor.kt @@ -75,7 +75,7 @@ class PharmacySearchInterceptor(private val endpointHelper: EndpointHelper) : In } } -class PharmacyRedeemInterceptor(private val endpointHelper: EndpointHelper) : Interceptor { +class PharmacyRedeemInterceptor : Interceptor { override fun intercept(chain: Interceptor.Chain): Response { val original: Request = chain.request() val request: Request = original.newBuilder() diff --git a/android/src/main/java/de/gematik/ti/erp/app/mainscreen/ui/FastTrackComponents.kt b/android/src/main/java/de/gematik/ti/erp/app/mainscreen/ui/FastTrackComponents.kt index 876b23dc..fcb3fa6d 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/mainscreen/ui/FastTrackComponents.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/mainscreen/ui/FastTrackComponents.kt @@ -27,7 +27,6 @@ import androidx.compose.runtime.setValue import androidx.compose.runtime.remember import androidx.compose.ui.res.stringResource import de.gematik.ti.erp.app.R -import de.gematik.ti.erp.app.core.LocalAuthenticator import de.gematik.ti.erp.app.core.LocalIntentHandler import de.gematik.ti.erp.app.idp.usecase.IdpUseCase import de.gematik.ti.erp.app.utils.compose.AcceptDialog @@ -61,15 +60,13 @@ class FastTrackHandler( @Composable fun ExternalAuthenticationDialog() { var showAuthenticationError by remember { mutableStateOf(false) } - val intentHandler = LocalIntentHandler.current - val authenticator = LocalAuthenticator.current val idpUseCase = rememberInstance() val fastTrackHandler = remember { FastTrackHandler(idpUseCase) } LaunchedEffect(Unit) { intentHandler.extAuthIntent.collect { - if (!authenticator.authenticatorExternal.isInProgress && !fastTrackHandler.handle(it)) { + if (!fastTrackHandler.handle(it)) { showAuthenticationError = true } } diff --git a/android/src/main/java/de/gematik/ti/erp/app/mainscreen/ui/InsecureDeviceScreen.kt b/android/src/main/java/de/gematik/ti/erp/app/mainscreen/ui/InsecureDeviceScreen.kt index 3e424bbe..81fc80c1 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/mainscreen/ui/InsecureDeviceScreen.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/mainscreen/ui/InsecureDeviceScreen.kt @@ -55,9 +55,8 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.semantics.Role import androidx.compose.ui.semantics.semantics import androidx.compose.ui.unit.dp -import androidx.navigation.NavController import de.gematik.ti.erp.app.R -import de.gematik.ti.erp.app.settings.ui.SettingsController +import de.gematik.ti.erp.app.settings.ui.rememberSettingsController import de.gematik.ti.erp.app.theme.AppTheme import de.gematik.ti.erp.app.theme.PaddingDefaults import de.gematik.ti.erp.app.utils.compose.AnimatedElevationScaffold @@ -70,19 +69,20 @@ import java.util.Locale @Composable fun InsecureDeviceScreen( - navController: NavController, - settingsController: SettingsController, headline: String, icon: Painter, headlineBody: String, infoText: String, toggleDescription: String, - pinUseCase: Boolean = true + pinUseCase: Boolean = true, + onBack: () -> Unit ) { var checked by rememberSaveable { mutableStateOf(false) } val scrollState = rememberScrollState() val scope = rememberCoroutineScope() + val settingsController = rememberSettingsController() + AnimatedElevationScaffold( elevated = scrollState.value > 0, navigationMode = NavigationBarMode.Close, @@ -91,12 +91,12 @@ fun InsecureDeviceScreen( Spacer(modifier = Modifier.weight(1f)) Button( onClick = { - if (checked && pinUseCase) { + if (checked) { scope.launch { settingsController.onAcceptInsecureDevice() } } - navController.popBackStack() + onBack() }, shape = RoundedCornerShape(PaddingDefaults.Small), enabled = if (pinUseCase) true else checked @@ -112,7 +112,7 @@ fun InsecureDeviceScreen( }, actions = {}, topBarTitle = headline, - onBack = { navController.popBackStack() } + onBack = onBack ) { innerPadding -> Column( modifier = Modifier diff --git a/android/src/main/java/de/gematik/ti/erp/app/mainscreen/ui/MainScreenBottomSheetContentState.kt b/android/src/main/java/de/gematik/ti/erp/app/mainscreen/ui/MainScreenBottomSheetContentState.kt index 84e4eb7c..1e6adddf 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/mainscreen/ui/MainScreenBottomSheetContentState.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/mainscreen/ui/MainScreenBottomSheetContentState.kt @@ -19,18 +19,16 @@ package de.gematik.ti.erp.app.mainscreen.ui import androidx.compose.foundation.Image -import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.navigationBarsPadding import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardOptions -import androidx.compose.foundation.verticalScroll import androidx.compose.material.OutlinedTextField import androidx.compose.material.Text import androidx.compose.material.TextButton @@ -61,8 +59,9 @@ import de.gematik.ti.erp.app.profiles.ui.ColorPicker import de.gematik.ti.erp.app.profiles.ui.LocalProfileHandler import de.gematik.ti.erp.app.profiles.ui.ProfileImage import de.gematik.ti.erp.app.profiles.ui.ProfilesController +import de.gematik.ti.erp.app.profiles.ui.rememberProfilesController import de.gematik.ti.erp.app.profiles.usecase.model.ProfilesUseCaseData -import de.gematik.ti.erp.app.settings.ui.SettingsController +import de.gematik.ti.erp.app.settings.ui.rememberSettingsController import de.gematik.ti.erp.app.theme.AppTheme import de.gematik.ti.erp.app.theme.PaddingDefaults import de.gematik.ti.erp.app.utils.compose.PrimaryButton @@ -98,13 +97,13 @@ sealed class MainScreenBottomSheetContentState { @Composable fun MainScreenBottomSheetContentState( - settingsController: SettingsController, - profilesController: ProfilesController, infoContentState: MainScreenBottomSheetContentState?, mainNavController: NavController, profileToRename: ProfilesUseCaseData.Profile, onCancel: () -> Unit ) { + val profilesController = rememberProfilesController() + val settingsController = rememberSettingsController() val profileHandler = LocalProfileHandler.current val title = when (infoContentState) { @@ -132,70 +131,70 @@ fun MainScreenBottomSheetContentState( Text(it, style = AppTheme.typography.subtitle1) SpacerMedium() } - Box( - Modifier - .fillMaxWidth() - .verticalScroll(rememberScrollState()) + LazyColumn( + Modifier.fillMaxWidth() ) { - infoContentState?.let { - when (it) { - is MainScreenBottomSheetContentState.EditProfilePicture -> - EditProfileAvatar( - profile = profileHandler.activeProfile, - clearPersonalizedImage = { - scope.launch { - profilesController.clearPersonalizedImage(profileHandler.activeProfile.id) - } - }, - onPickPersonalizedImage = { - mainNavController.navigate( - MainNavigationScreens.ProfileImageCropper.path( - profileId = profileHandler.activeProfile.id + item { + infoContentState?.let { + when (it) { + is MainScreenBottomSheetContentState.EditProfilePicture -> + EditProfileAvatar( + profile = profileHandler.activeProfile, + clearPersonalizedImage = { + scope.launch { + profilesController.clearPersonalizedImage(profileHandler.activeProfile.id) + } + }, + onPickPersonalizedImage = { + mainNavController.navigate( + MainNavigationScreens.ProfileImageCropper.path( + profileId = profileHandler.activeProfile.id + ) ) - ) - }, - onSelectAvatar = { avatar -> - scope.launch { - profilesController.saveAvatarFigure(profileHandler.activeProfile.id, avatar) - } - }, - onSelectProfileColor = { color -> - scope.launch { - profilesController.updateProfileColor(profileHandler.activeProfile, color) + }, + onSelectAvatar = { avatar -> + scope.launch { + profilesController.saveAvatarFigure(profileHandler.activeProfile.id, avatar) + } + }, + onSelectProfileColor = { color -> + scope.launch { + profilesController.updateProfileColor(profileHandler.activeProfile, color) + } } - } - ) - is MainScreenBottomSheetContentState.EditProfileName -> - ProfileSheetContent( - profilesController = profilesController, - addProfile = false, - profileToEdit = profileToRename, - onCancel = onCancel - ) - is MainScreenBottomSheetContentState.AddProfile -> - ProfileSheetContent( - profilesController = profilesController, - addProfile = true, - profileToEdit = null, - onCancel = onCancel - ) - is MainScreenBottomSheetContentState.Welcome -> - ConnectBottomSheetContent( - onClickConnect = { - scope.launch { - settingsController.welcomeDrawerShown() - } - mainNavController.navigate( - MainNavigationScreens.CardWall.path(profileHandler.activeProfile.id) - ) - }, - onCancel = { - scope.launch { - settingsController.welcomeDrawerShown() + ) + is MainScreenBottomSheetContentState.EditProfileName -> + ProfileSheetContent( + profilesController = profilesController, + addProfile = false, + profileToEdit = profileToRename, + onCancel = onCancel + ) + is MainScreenBottomSheetContentState.AddProfile -> + ProfileSheetContent( + profilesController = profilesController, + addProfile = true, + profileToEdit = null, + onCancel = onCancel + ) + is MainScreenBottomSheetContentState.Welcome -> + ConnectBottomSheetContent( + onClickConnect = { + scope.launch { + settingsController.welcomeDrawerShown() + } + mainNavController.navigate( + MainNavigationScreens.CardWall.path(profileHandler.activeProfile.id) + ) + }, + onCancel = { + scope.launch { + settingsController.welcomeDrawerShown() + } + onCancel() } - onCancel() - } - ) + ) + } } } } diff --git a/android/src/main/java/de/gematik/ti/erp/app/mainscreen/ui/MainScreenComponents.kt b/android/src/main/java/de/gematik/ti/erp/app/mainscreen/ui/MainScreenComponents.kt index c575a4de..f96abdbd 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/mainscreen/ui/MainScreenComponents.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/mainscreen/ui/MainScreenComponents.kt @@ -80,7 +80,6 @@ import androidx.navigation.compose.composable import androidx.navigation.compose.currentBackStackEntryAsState import androidx.navigation.compose.rememberNavController import androidx.navigation.navOptions -import de.gematik.ti.erp.app.BuildConfig import de.gematik.ti.erp.app.LegalNoticeWithScaffold import de.gematik.ti.erp.app.R import de.gematik.ti.erp.app.TestTag @@ -110,8 +109,8 @@ import de.gematik.ti.erp.app.prescription.ui.rememberPrescriptionState import de.gematik.ti.erp.app.profiles.ui.EditProfileScreen import de.gematik.ti.erp.app.profiles.ui.LocalProfileHandler import de.gematik.ti.erp.app.profiles.ui.ProfileImageCropper -import de.gematik.ti.erp.app.profiles.ui.ProfilesController import de.gematik.ti.erp.app.profiles.ui.ProfilesStateData +import de.gematik.ti.erp.app.profiles.ui.rememberProfilesController import de.gematik.ti.erp.app.profiles.usecase.model.ProfilesUseCaseData import de.gematik.ti.erp.app.redeem.ui.RedeemNavigation import de.gematik.ti.erp.app.settings.ui.AllowAnalyticsScreen @@ -119,6 +118,7 @@ import de.gematik.ti.erp.app.settings.ui.PharmacyLicenseScreen import de.gematik.ti.erp.app.settings.ui.SecureAppWithPassword import de.gematik.ti.erp.app.settings.ui.SettingsController import de.gematik.ti.erp.app.settings.ui.SettingsScreen +import de.gematik.ti.erp.app.settings.ui.rememberSettingsController import de.gematik.ti.erp.app.theme.AppTheme import de.gematik.ti.erp.app.theme.PaddingDefaults import de.gematik.ti.erp.app.utils.compose.BottomNavigation @@ -134,18 +134,15 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay import kotlinx.coroutines.flow.first import kotlinx.coroutines.launch -import kotlinx.coroutines.runBlocking import kotlinx.coroutines.withContext @Suppress("LongMethod") @Composable fun MainScreen( - navController: NavHostController, - mainScreenController: MainScreenController, - settingsController: SettingsController, - profilesController: ProfilesController + navController: NavHostController ) { - val startDestination = determineStartDestination(settingsController) + val settingsController = rememberSettingsController() + val startDestination = checkFirstAppStart(settingsController) val analytics = LocalAnalytics.current val analyticsState by analytics.screenState TrackPopUps(analytics, analyticsState) @@ -186,9 +183,9 @@ fun MainScreen( composable(MainNavigationScreens.Prescriptions.route) { MainScreenWithScaffold( mainNavController = navController, - mainScreenController = mainScreenController, - settingsController = settingsController, - profilesController = profilesController + onDeviceIsInsecure = { + navController.navigate(MainNavigationScreens.IntegrityNotOkScreen.path()) + } ) } @@ -204,27 +201,24 @@ fun MainScreen( MainNavigationScreens.Pharmacies.arguments ) { PharmacyNavigation( - mainScreenController = mainScreenController, onBack = { navController.popBackStack() }, onFinish = { - runBlocking(Dispatchers.Main) { - navController.popBackStack(MainNavigationScreens.Prescriptions.route, false) - } + navController.navigate(MainNavigationScreens.Prescriptions.route) } ) } composable(MainNavigationScreens.InsecureDeviceScreen.route) { InsecureDeviceScreen( - navController, - settingsController, stringResource(id = R.string.insecure_device_title), painterResource(id = R.drawable.laptop_woman_yellow), stringResource(id = R.string.insecure_device_header), stringResource(id = R.string.insecure_device_info), stringResource(id = R.string.insecure_device_accept) - ) + ) { + navController.navigate(MainNavigationScreens.Prescriptions.route) + } } composable(MainNavigationScreens.MlKitIntroScreen.route) { MlKitIntroScreen( @@ -239,23 +233,22 @@ fun MainScreen( } composable(MainNavigationScreens.IntegrityNotOkScreen.route) { InsecureDeviceScreen( - navController, - settingsController, stringResource(id = R.string.insecure_device_title_safetynet), painterResource(id = R.drawable.laptop_woman_pink), stringResource(id = R.string.insecure_device_header_safetynet), stringResource(id = R.string.insecure_device_info_safetynet), stringResource(id = R.string.insecure_device_accept_safetynet), pinUseCase = false - ) + ) { + navController.navigate(MainNavigationScreens.Prescriptions.route) + } } composable( MainNavigationScreens.Redeem.route ) { RedeemNavigation( - mainScreenController = mainScreenController, onFinish = { - navController.popBackStack(MainNavigationScreens.Prescriptions.route, false) + navController.navigate(MainNavigationScreens.Prescriptions.route) } ) } @@ -300,7 +293,6 @@ fun MainScreen( remember { navController.currentBackStackEntry?.arguments?.getString("profileId")!! } EditProfileScreen( profileId, - profilesController, onBack = { navController.popBackStack() }, mainNavController = navController ) @@ -376,6 +368,7 @@ fun MainScreen( MainNavigationScreens.EditProfile.route, MainNavigationScreens.EditProfile.arguments ) { + val profilesController = rememberProfilesController() val profileId = remember { it.arguments!!.getString("profileId")!! } val scope = rememberCoroutineScope() val profilesState by profilesController.profilesState @@ -402,6 +395,7 @@ fun MainScreen( MainNavigationScreens.ProfileImageCropper.arguments ) { val profileId = remember { it.arguments!!.getString("profileId")!! } + val profilesController = rememberProfilesController() val scope = rememberCoroutineScope() ProfileImageCropper( onSaveCroppedImage = { @@ -455,15 +449,13 @@ fun MainScreen( } @Composable -private fun determineStartDestination(settingsController: SettingsController) = - when { - settingsController.showOnboarding -> { - MainNavigationScreens.Onboarding.route - } - - else -> { - MainNavigationScreens.Prescriptions.route - } +private fun checkFirstAppStart(settingsController: SettingsController) = + if (settingsController.showOnboarding) { + // `gemSpec_eRp_FdV A_20203` default settings are not allow screenshots + settingsController.onSwitchAllowScreenshots(false) + MainNavigationScreens.Onboarding.route + } else { + MainNavigationScreens.Prescriptions.route } @OptIn(ExperimentalMaterialApi::class) @@ -471,10 +463,10 @@ private fun determineStartDestination(settingsController: SettingsController) = @Composable private fun MainScreenWithScaffold( mainNavController: NavController, - mainScreenController: MainScreenController, - settingsController: SettingsController, - profilesController: ProfilesController + onDeviceIsInsecure: () -> Unit ) { + val mainScreenController = rememberMainScreenController() + val settingsController = rememberSettingsController() val context = LocalContext.current val bottomNavController = rememberNavController() val currentBottomNavigationRoute by bottomNavController.currentBackStackEntryFlow.collectAsState(null) @@ -485,8 +477,8 @@ private fun MainScreenWithScaffold( currentBottomNavigationRoute?.destination?.route == MainNavigationScreens.Prescriptions.route } } - CheckInsecureDevice(settingsController, mainNavController) - CheckDeviceIntegrity(mainScreenController, mainNavController) + CheckInsecureDevice(onDeviceIsInsecure) + CheckDeviceIntegrity(onDeviceIsInsecure) val scaffoldState = rememberScaffoldState() MainScreenSnackbar( mainScreenController = mainScreenController, @@ -562,8 +554,6 @@ private fun MainScreenWithScaffold( sheetShape = remember { RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp) }, sheetContent = { MainScreenBottomSheetContentState( - settingsController = settingsController, - profilesController = profilesController, infoContentState = mainScreenBottomSheetContentState, mainNavController = mainNavController, profileToRename = profileToRename, @@ -722,37 +712,24 @@ private fun MainScreenBottomNavHost( } @Composable -private fun CheckDeviceIntegrity(mainScreenController: MainScreenController, mainNavController: NavController) { +private fun CheckDeviceIntegrity(onDeviceIsInsecure: () -> Unit) { + val mainScreenController = rememberMainScreenController() LaunchedEffect(Unit) { - if (BuildConfig.DEBUG) { - return@LaunchedEffect - } - if (!mainScreenController.checkDeviceIntegrity().first()) { + if (mainScreenController.checkDeviceIntegrity().first()) { withContext(Dispatchers.Main) { - mainNavController.navigate(MainNavigationScreens.IntegrityNotOkScreen.route) - navOptions { - launchSingleTop = true - popUpTo(MainNavigationScreens.Prescriptions.path()) { - inclusive = true - } - } + onDeviceIsInsecure() } } } } @Composable -private fun CheckInsecureDevice(settingsController: SettingsController, mainNavController: NavController) { +private fun CheckInsecureDevice(onDeviceIsInsecure: () -> Unit) { + val settingsController = rememberSettingsController() LaunchedEffect(Unit) { withContext(Dispatchers.Main) { if (settingsController.showInsecureDevicePrompt.first()) { - mainNavController.navigate(MainNavigationScreens.InsecureDeviceScreen.path()) - navOptions { - launchSingleTop = true - popUpTo(MainNavigationScreens.Prescriptions.path()) { - inclusive = true - } - } + onDeviceIsInsecure() } } } diff --git a/android/src/main/java/de/gematik/ti/erp/app/mainscreen/ui/MainScreenController.kt b/android/src/main/java/de/gematik/ti/erp/app/mainscreen/ui/MainScreenController.kt index 2b16a614..71a1b1f2 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/mainscreen/ui/MainScreenController.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/mainscreen/ui/MainScreenController.kt @@ -27,14 +27,17 @@ import de.gematik.ti.erp.app.attestation.usecase.IntegrityUseCase import de.gematik.ti.erp.app.orders.usecase.OrderUseCase import de.gematik.ti.erp.app.prescription.ui.PrescriptionServiceState import de.gematik.ti.erp.app.profiles.repository.ProfileIdentifier +import de.gematik.ti.erp.app.settings.usecase.SettingsUseCase import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableSharedFlow +import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.map import org.kodein.di.compose.rememberInstance class MainScreenController( private val integrityUseCase: IntegrityUseCase, - private val messageUseCase: OrderUseCase + private val messageUseCase: OrderUseCase, + private val settingsUseCase: SettingsUseCase ) { enum class OrderedEvent { @@ -64,15 +67,8 @@ class MainScreenController( orderedEvent = if (hasError) OrderedEvent.Error else OrderedEvent.Success } - var integrityPromptShown = false - fun checkDeviceIntegrity() = integrityUseCase.runIntegrityAttestation().map { - if (!it && !integrityPromptShown) { - integrityPromptShown = true - false - } else { - true - } + !it && !settingsUseCase.general.first().userHasAcceptedInsecureDevice } } @@ -80,11 +76,13 @@ class MainScreenController( fun rememberMainScreenController(): MainScreenController { val integrityUseCase by rememberInstance() val messageUseCase by rememberInstance() + val settingsUseCase by rememberInstance() return remember { MainScreenController( integrityUseCase = integrityUseCase, - messageUseCase = messageUseCase + messageUseCase = messageUseCase, + settingsUseCase = settingsUseCase ) } } diff --git a/android/src/main/java/de/gematik/ti/erp/app/onboarding/ui/OnboardingComponents.kt b/android/src/main/java/de/gematik/ti/erp/app/onboarding/ui/OnboardingComponents.kt index 45208ab3..8f728d09 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/onboarding/ui/OnboardingComponents.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/onboarding/ui/OnboardingComponents.kt @@ -20,12 +20,12 @@ package de.gematik.ti.erp.app.onboarding.ui import androidx.activity.compose.BackHandler import androidx.compose.animation.AnimatedContent -import androidx.compose.animation.AnimatedContentScope +import androidx.compose.animation.AnimatedContentTransitionScope import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.animation.core.tween import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut -import androidx.compose.animation.with +import androidx.compose.animation.togetherWith import androidx.compose.foundation.Image import androidx.compose.foundation.LocalIndication import androidx.compose.foundation.background @@ -38,6 +38,7 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.offset import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.systemBarsPadding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.selection.toggleable @@ -46,6 +47,9 @@ import androidx.compose.material.Icon import androidx.compose.material.Switch import androidx.compose.material.Text import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.rounded.FlashOn +import androidx.compose.material.icons.rounded.PersonPin +import androidx.compose.material.icons.rounded.Star import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue @@ -71,10 +75,6 @@ import androidx.navigation.NavController import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import androidx.navigation.compose.rememberNavController -import androidx.compose.foundation.layout.systemBarsPadding -import androidx.compose.material.icons.rounded.FlashOn -import androidx.compose.material.icons.rounded.PersonPin -import androidx.compose.material.icons.rounded.Star import de.gematik.ti.erp.app.BuildKonfig import de.gematik.ti.erp.app.R import de.gematik.ti.erp.app.Route @@ -305,17 +305,17 @@ private fun OnboardingPages( when { initialState == OnboardingPages.Welcome && targetState == OnboardingPages.pageOf(1) -> { - fadeIn(tween(durationMillis = 770)) with fadeOut(tween(durationMillis = 770)) + fadeIn(tween(durationMillis = 770)) togetherWith fadeOut(tween(durationMillis = 770)) } initialState.index > targetState.index -> { - slideIntoContainer(AnimatedContentScope.SlideDirection.Right) with - slideOutOfContainer(AnimatedContentScope.SlideDirection.Right) + slideIntoContainer(AnimatedContentTransitionScope.SlideDirection.Right) togetherWith + slideOutOfContainer(AnimatedContentTransitionScope.SlideDirection.Right) } else -> { - slideIntoContainer(AnimatedContentScope.SlideDirection.Left) with - slideOutOfContainer(AnimatedContentScope.SlideDirection.Left) + slideIntoContainer(AnimatedContentTransitionScope.SlideDirection.Left) togetherWith + slideOutOfContainer(AnimatedContentTransitionScope.SlideDirection.Left) } } } diff --git a/android/src/main/java/de/gematik/ti/erp/app/orderhealthcard/ui/HealthCardOrderComponents.kt b/android/src/main/java/de/gematik/ti/erp/app/orderhealthcard/ui/HealthCardOrderComponents.kt index 3c7841ba..4f7af1ba 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/orderhealthcard/ui/HealthCardOrderComponents.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/orderhealthcard/ui/HealthCardOrderComponents.kt @@ -574,6 +574,7 @@ private fun ContactMethod( onClick: () -> Unit ) { Card( + modifier = modifier, onClick = onClick, shape = RoundedCornerShape(8.dp), contentColor = AppTheme.colors.primary600, diff --git a/android/src/main/java/de/gematik/ti/erp/app/orders/repository/CommunicationRepository.kt b/android/src/main/java/de/gematik/ti/erp/app/orders/repository/CommunicationRepository.kt index 2f89d723..cd316bd2 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/orders/repository/CommunicationRepository.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/orders/repository/CommunicationRepository.kt @@ -127,4 +127,8 @@ class CommunicationRepository( communicationLocalDataSource.setCommunicationStatus(communicationId, consumed) } } + + suspend fun saveLocalCommunication(taskId: String, pharmacyId: String, transactionId: String) { + taskLocalDataSource.saveLocalCommunication(taskId, pharmacyId, transactionId) + } } diff --git a/android/src/main/java/de/gematik/ti/erp/app/orders/usecase/OrderUseCase.kt b/android/src/main/java/de/gematik/ti/erp/app/orders/usecase/OrderUseCase.kt index 6f2d28c9..1f10e451 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/orders/usecase/OrderUseCase.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/orders/usecase/OrderUseCase.kt @@ -118,6 +118,10 @@ class OrderUseCase( } } + suspend fun saveLocalCommunication(taskId: String, pharmacyId: String, transactionId: String) { + repository.saveLocalCommunication(taskId, pharmacyId, transactionId) + } + suspend fun consumeOrder(orderId: String) { withContext(dispatchers.IO) { repository.loadDispReqCommunications(orderId).first().forEach { diff --git a/android/src/main/java/de/gematik/ti/erp/app/pharmacy/model/PharmacyData.kt b/android/src/main/java/de/gematik/ti/erp/app/pharmacy/model/PharmacyData.kt index 3a2c9588..928b16bc 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/pharmacy/model/PharmacyData.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/pharmacy/model/PharmacyData.kt @@ -26,7 +26,8 @@ object PharmacyData { val name: String, val line1: String, val line2: String, - val postalCodeAndCity: String, + val postalCode: String, + val city: String, val telephoneNumber: String, val mail: String, val deliveryInformation: String @@ -38,7 +39,8 @@ fun SyncedTaskData.SyncedTask.shippingContact() = name = this.patient.name ?: "", line1 = this.patient.address?.line1 ?: "", line2 = this.patient.address?.line2 ?: "", - postalCodeAndCity = this.patient.address?.postalCodeAndCity ?: "", + postalCode = this.patient.address?.postalCode ?: "", + city = this.patient.address?.city ?: "", telephoneNumber = "", mail = "", deliveryInformation = "" diff --git a/android/src/main/java/de/gematik/ti/erp/app/pharmacy/repository/ShippingContactRepository.kt b/android/src/main/java/de/gematik/ti/erp/app/pharmacy/repository/ShippingContactRepository.kt index eaeef3fc..7ff6f797 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/pharmacy/repository/ShippingContactRepository.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/pharmacy/repository/ShippingContactRepository.kt @@ -55,7 +55,8 @@ class ShippingContactRepository( shippingContact.let { it.address!!.line1 = contact.line1 it.address!!.line2 = contact.line2 - it.address!!.postalCodeAndCity = contact.postalCodeAndCity + it.address!!.postalCode = contact.postalCode + it.address!!.city = contact.city it.name = contact.name it.telephoneNumber = contact.telephoneNumber it.mail = contact.mail @@ -72,7 +73,8 @@ fun ShippingContactEntityV1.toShippingContact() = name = this.name, line1 = this.address!!.line1, line2 = this.address!!.line2, - postalCodeAndCity = this.address!!.postalCodeAndCity, + postalCode = this.address!!.postalCode, + city = this.address!!.city, telephoneNumber = this.telephoneNumber, mail = this.mail, deliveryInformation = this.deliveryInformation diff --git a/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/Details.kt b/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/Details.kt index 4ef1f2e6..e86fd839 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/Details.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/Details.kt @@ -77,8 +77,6 @@ import androidx.compose.ui.semantics.Role import androidx.compose.ui.text.style.TextOverflow import de.gematik.ti.erp.app.R import de.gematik.ti.erp.app.TestTag -import de.gematik.ti.erp.app.featuretoggle.FeatureToggleManager -import de.gematik.ti.erp.app.featuretoggle.Features import de.gematik.ti.erp.app.fhir.model.Location import de.gematik.ti.erp.app.fhir.model.OpeningHours import de.gematik.ti.erp.app.fhir.model.isOpenToday @@ -101,7 +99,6 @@ import de.gematik.ti.erp.app.utils.compose.createToastShort import de.gematik.ti.erp.app.utils.compose.handleIntent import de.gematik.ti.erp.app.utils.compose.provideEmailIntent import de.gematik.ti.erp.app.utils.compose.providePhoneIntent -import kotlinx.coroutines.flow.first import kotlinx.coroutines.launch import kotlinx.datetime.Clock import kotlinx.datetime.TimeZone @@ -225,8 +222,6 @@ private fun OrderSelection( onClickOrder: (PharmacyUseCaseData.Pharmacy, PharmacyScreenData.OrderOption) -> Unit, orderState: PharmacyOrderState ) { - val context = LocalContext.current - val featureToggleManager = FeatureToggleManager(context) val scope = rememberCoroutineScope() var directRedeemEnabled by remember { mutableStateOf(false) @@ -234,9 +229,7 @@ private fun OrderSelection( LaunchedEffect(Unit) { scope.launch { - directRedeemEnabled = featureToggleManager - .isFeatureEnabled(Features.REDEEM_WITHOUT_TI.featureName).first() && - orderState.profile.lastAuthenticated == null + directRedeemEnabled = orderState.profile.lastAuthenticated == null } } diff --git a/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/EditShippingContactScreen.kt b/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/EditShippingContactScreen.kt index dd6c628a..3a9e81ad 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/EditShippingContactScreen.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/EditShippingContactScreen.kt @@ -54,11 +54,12 @@ import androidx.compose.ui.unit.max import de.gematik.ti.erp.app.R import de.gematik.ti.erp.app.pharmacy.ui.model.PharmacyScreenData import de.gematik.ti.erp.app.pharmacy.ui.model.addressSupplementInputField +import de.gematik.ti.erp.app.pharmacy.ui.model.cityInputField import de.gematik.ti.erp.app.pharmacy.ui.model.deliveryInformationInputField import de.gematik.ti.erp.app.pharmacy.ui.model.mailInputField import de.gematik.ti.erp.app.pharmacy.ui.model.nameInputField import de.gematik.ti.erp.app.pharmacy.ui.model.phoneNumberInputField -import de.gematik.ti.erp.app.pharmacy.ui.model.postalCodeAndCityInputField +import de.gematik.ti.erp.app.pharmacy.ui.model.postalCodeInputField import de.gematik.ti.erp.app.pharmacy.ui.model.streetAndNumberInputField import de.gematik.ti.erp.app.theme.AppTheme import de.gematik.ti.erp.app.theme.PaddingDefaults @@ -73,7 +74,9 @@ import kotlinx.coroutines.launch const val StringLengthLimit = 100 const val MinPhoneLength = 4 +const val PostalCodeLength = 5 +@Suppress("LongMethod") @Composable fun EditShippingContactScreen( orderState: PharmacyOrderState, @@ -97,7 +100,9 @@ fun EditShippingContactScreen( } val nameError by remember(contact) { derivedStateOf { contact.name.isBlank() } } val line1Error by remember(contact) { derivedStateOf { contact.line1.isBlank() } } - val codeAndCityError by remember(contact) { derivedStateOf { contact.postalCodeAndCity.isBlank() } } + val postalCodeError by remember(contact) { derivedStateOf { contact.postalCode.length != PostalCodeLength } } + val cityError by remember(contact) { derivedStateOf { contact.city.isBlank() } } + val mailError by remember(contact) { derivedStateOf { !isMailValid(contact.mail) } } if (showBackAlert) { BackAlert(onCancel = { showBackAlert = false }, onBack = onBack) } @@ -106,7 +111,7 @@ fun EditShippingContactScreen( navigationMode = NavigationBarMode.Back, bottomBar = { ContactBottomBar( - enabled = !telephoneError && !mailError && !nameError && !line1Error && !codeAndCityError, + enabled = !telephoneError && !mailError && !nameError && !line1Error && !postalCodeError && !cityError, onClick = { orderState.onSaveContact(contact) onBack() @@ -116,7 +121,8 @@ fun EditShippingContactScreen( topBarTitle = stringResource(R.string.edit_shipping_contact_top_bar_title), listState = listState, onBack = { - if (!telephoneError && !mailError && !nameError && !line1Error && !codeAndCityError) { + @Suppress("ComplexCondition") + if (!telephoneError && !mailError && !nameError && !line1Error && !postalCodeError && !cityError) { orderState.onSaveContact(contact) onBack() } else { @@ -187,14 +193,24 @@ fun EditShippingContactScreen( onSubmit = { focusManager.moveFocus(FocusDirection.Down) } ) - postalCodeAndCityInputField( + postalCodeInputField( + listState = listState, + value = contact.postalCode, + onValueChange = { postalCode -> + contact = (contact.copy(postalCode = postalCode.take(PostalCodeLength))) + }, + onSubmit = { focusManager.moveFocus(FocusDirection.Down) }, + isError = postalCodeError + ) + + cityInputField( listState = listState, - value = contact.postalCodeAndCity, - onValueChange = { postalCodeAndCity -> - contact = (contact.copy(postalCodeAndCity = postalCodeAndCity.take(StringLengthLimit))) + value = contact.city, + onValueChange = { city -> + contact = (contact.copy(city = city.take(StringLengthLimit))) }, onSubmit = { focusManager.moveFocus(FocusDirection.Down) }, - isError = codeAndCityError + isError = cityError ) deliveryInformationInputField( diff --git a/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/Navigation.kt b/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/Navigation.kt index 11c6e70f..1fd9bc77 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/Navigation.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/Navigation.kt @@ -27,45 +27,36 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue -import androidx.compose.ui.platform.LocalContext import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import androidx.navigation.compose.rememberNavController import de.gematik.ti.erp.app.pharmacy.ui.model.PharmacyNavigationScreens import de.gematik.ti.erp.app.analytics.TrackNavigationChanges -import de.gematik.ti.erp.app.featuretoggle.FeatureToggleManager -import de.gematik.ti.erp.app.featuretoggle.Features -import de.gematik.ti.erp.app.mainscreen.ui.MainScreenController +import de.gematik.ti.erp.app.mainscreen.ui.rememberMainScreenController import de.gematik.ti.erp.app.utils.compose.NavigationAnimation import de.gematik.ti.erp.app.utils.compose.NavigationMode import de.gematik.ti.erp.app.utils.compose.navigationModeState import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.flow.first import kotlinx.coroutines.launch @Suppress("LongMethod") @Composable fun PharmacyNavigation( - mainScreenController: MainScreenController, orderState: PharmacyOrderState = rememberPharmacyOrderState(), isNestedNavigation: Boolean = false, onBack: () -> Unit, onFinish: () -> Unit ) { - val context = LocalContext.current val scope = rememberCoroutineScope() val pharmacySearchController = rememberPharmacySearchController() var searchFilter by remember(pharmacySearchController.searchState.filter) { mutableStateOf(pharmacySearchController.searchState.filter) } - val featureToggleManager = FeatureToggleManager(context) val hasRedeemableTasks by orderState.hasRedeemableTasks LaunchedEffect(Unit) { searchFilter = searchFilter.copy(directRedeem = false) - val directRedeemEnabled = featureToggleManager - .isFeatureEnabled(Features.REDEEM_WITHOUT_TI.featureName).first() - if (directRedeemEnabled && orderState.profile.lastAuthenticated == null && hasRedeemableTasks + if (orderState.profile.lastAuthenticated == null && hasRedeemableTasks ) { searchFilter = searchFilter.copy(directRedeem = true) } @@ -239,6 +230,7 @@ fun PharmacyNavigation( } composable(PharmacyNavigationScreens.OrderOverview.route) { NavigationAnimation(mode = navigationMode) { + val mainScreenController = rememberMainScreenController() OrderOverview( orderState = orderState, onClickContacts = { diff --git a/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/OrderOverview.kt b/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/OrderOverview.kt index 1bffa620..3e74fbc3 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/OrderOverview.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/OrderOverview.kt @@ -79,8 +79,6 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import de.gematik.ti.erp.app.R import de.gematik.ti.erp.app.TestTag -import de.gematik.ti.erp.app.featuretoggle.FeatureToggleManager -import de.gematik.ti.erp.app.featuretoggle.Features import de.gematik.ti.erp.app.pharmacy.ui.model.PharmacyScreenData import de.gematik.ti.erp.app.pharmacy.usecase.model.PharmacyUseCaseData import de.gematik.ti.erp.app.prescription.ui.PrescriptionServiceErrorState @@ -258,11 +256,8 @@ private fun RedeemButton( onClick = { uploadInProgress = true scope.launch { - val featureToggleManager = FeatureToggleManager(context) - val directRedeemEnabled = featureToggleManager - .isFeatureEnabled(Features.REDEEM_WITHOUT_TI.featureName).first() try { - val redeemState = if (orderState.profile.lastAuthenticated == null && directRedeemEnabled) { + val redeemState = if (orderState.profile.lastAuthenticated == null) { redeemController.orderPrescriptionsDirectly( orderId = UUID.randomUUID(), prescriptions = order.prescriptions, diff --git a/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/RedeemPrescriptionsController.kt b/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/RedeemPrescriptionsController.kt index d4e60f8b..1d397025 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/RedeemPrescriptionsController.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/RedeemPrescriptionsController.kt @@ -27,6 +27,7 @@ import de.gematik.ti.erp.app.cardwall.mini.ui.Authenticator import de.gematik.ti.erp.app.core.LocalAuthenticator import de.gematik.ti.erp.app.fhir.model.DirectCommunicationMessage import de.gematik.ti.erp.app.fhir.model.json +import de.gematik.ti.erp.app.orders.usecase.OrderUseCase import de.gematik.ti.erp.app.pharmacy.ui.model.PharmacyScreenData import de.gematik.ti.erp.app.pharmacy.usecase.PharmacyDirectRedeemUseCase import de.gematik.ti.erp.app.pharmacy.usecase.PharmacyOverviewUseCase @@ -56,6 +57,7 @@ import java.util.UUID class RedeemPrescriptionsController( private val searchUseCase: PharmacySearchUseCase, private val pharmacyDirectRedeemUseCase: PharmacyDirectRedeemUseCase, + private val orderUseCase: OrderUseCase, private val overviewUseCase: PharmacyOverviewUseCase, private val dispatchers: DispatchProvider, private val authenticator: Authenticator @@ -71,6 +73,7 @@ class RedeemPrescriptionsController( object Timeout : Error object Conflict : Error object Gone : Error + object NotFound : Error } } @@ -132,7 +135,7 @@ class RedeemPrescriptionsController( PharmacyScreenData.OrderOption.MailDelivery -> RemoteRedeemOption.Shipment.type }, name = contact.name, - address = listOf(contact.line1, contact.line2, contact.postalCodeAndCity), + address = listOf(contact.line1, contact.line2, contact.postalCode, contact.city), phone = contact.telephoneNumber, hint = contact.deliveryInformation, text = "", @@ -170,7 +173,7 @@ class RedeemPrescriptionsController( results.mapValues { (order, result) -> result?.fold( onSuccess = { - pharmacyDirectRedeemUseCase.markAsRedeemed(order.taskId) + orderUseCase.saveLocalCommunication(order.taskId, pharmacy.id, transactionId) null }, onFailure = { @@ -182,11 +185,12 @@ class RedeemPrescriptionsController( HttpURLConnection.HTTP_CLIENT_TIMEOUT -> State.Error.Timeout HttpURLConnection.HTTP_CONFLICT -> State.Error.Conflict HttpURLConnection.HTTP_GONE -> State.Error.Gone + HttpURLConnection.HTTP_NOT_FOUND -> State.Error.NotFound - else -> throw it + else -> State.Error.Unknown } } else { - throw it + State.Error.Unknown } } ) @@ -239,10 +243,10 @@ class RedeemPrescriptionsController( if (it is ApiCallException) { when (it.response.code()) { HttpURLConnection.HTTP_BAD_REQUEST -> State.Error.TaskIdDoesNotExist - else -> throw it + else -> State.Error.Unknown // TODO: better error handling } } else { - throw it + State.Error.Unknown } } ) @@ -269,6 +273,7 @@ class RedeemPrescriptionsController( fun rememberRedeemPrescriptionsController(): RedeemPrescriptionsController { val searchUseCase by rememberInstance() val pharmacyDirectRedeemUseCase by rememberInstance() + val orderUseCase by rememberInstance() val overviewUseCase by rememberInstance() val dispatchers by rememberInstance() val authenticator = LocalAuthenticator.current @@ -276,6 +281,7 @@ fun rememberRedeemPrescriptionsController(): RedeemPrescriptionsController { RedeemPrescriptionsController( searchUseCase = searchUseCase, pharmacyDirectRedeemUseCase = pharmacyDirectRedeemUseCase, + orderUseCase = orderUseCase, overviewUseCase = overviewUseCase, dispatchers = dispatchers, authenticator = authenticator diff --git a/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/model/ContactInputFields.kt b/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/model/ContactInputFields.kt index c9c488e6..cba77a73 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/model/ContactInputFields.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/pharmacy/ui/model/ContactInputFields.kt @@ -21,8 +21,6 @@ package de.gematik.ti.erp.app.pharmacy.ui.model import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.foundation.lazy.LazyListState import androidx.compose.material.Text -import androidx.compose.runtime.getValue -import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.KeyboardType @@ -152,7 +150,7 @@ fun LazyListScope.addressSupplementInputField( } @Suppress("MagicNumber") -fun LazyListScope.postalCodeAndCityInputField( +fun LazyListScope.postalCodeInputField( listState: LazyListState, value: String, onValueChange: (String) -> Unit, @@ -167,19 +165,21 @@ fun LazyListScope.postalCodeAndCityInputField( value = value, onValueChange = onValueChange, onSubmit = onSubmit, - label = { Text(stringResource(R.string.edit_shipping_contact_postal_code_and_city)) }, + label = { Text(stringResource(R.string.edit_shipping_contact_postal_code)) }, isError = isError, - errorText = { Text(stringResource(R.string.edit_shipping_contact_error_postal_code_and_city)) } + errorText = { Text(stringResource(R.string.edit_shipping_contact_error_postal_code)) }, + keyBoardType = KeyboardType.Number ) } } @Suppress("MagicNumber") -fun LazyListScope.deliveryInformationInputField( +fun LazyListScope.cityInputField( listState: LazyListState, value: String, onValueChange: (String) -> Unit, - onSubmit: (String) -> Unit + onSubmit: (String) -> Unit, + isError: Boolean ) { item(key = "InputField_7") { InputField( @@ -189,6 +189,28 @@ fun LazyListScope.deliveryInformationInputField( value = value, onValueChange = onValueChange, onSubmit = onSubmit, + label = { Text(stringResource(R.string.edit_shipping_contact_city)) }, + isError = isError, + errorText = { Text(stringResource(R.string.edit_shipping_contact_error_city)) } + ) + } +} + +@Suppress("MagicNumber") +fun LazyListScope.deliveryInformationInputField( + listState: LazyListState, + value: String, + onValueChange: (String) -> Unit, + onSubmit: (String) -> Unit +) { + item(key = "InputField_8") { + InputField( + modifier = Modifier + .scrollOnFocus(9, listState) + .fillParentMaxWidth(), + value = value, + onValueChange = onValueChange, + onSubmit = onSubmit, label = { Text(stringResource(R.string.edit_shipping_contact_delivery_information)) }, isError = false ) diff --git a/android/src/main/java/de/gematik/ti/erp/app/pharmacy/usecase/PharmacySearchUseCase.kt b/android/src/main/java/de/gematik/ti/erp/app/pharmacy/usecase/PharmacySearchUseCase.kt index 237918a1..cf9ac038 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/pharmacy/usecase/PharmacySearchUseCase.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/pharmacy/usecase/PharmacySearchUseCase.kt @@ -172,6 +172,7 @@ class PharmacySearchUseCase( prescriptionRepository.scannedTasks(profileId).map { tasks -> tasks.filter { it.isRedeemable() + it.communications.isEmpty() } } ) { shippingContacts, syncedTasks, scannedTasks -> @@ -210,7 +211,8 @@ class PharmacySearchUseCase( name = shippingContact?.name ?: "", line1 = shippingContact?.line1 ?: "", line2 = shippingContact?.line2 ?: "", - postalCodeAndCity = shippingContact?.postalCodeAndCity ?: "", + postalCode = shippingContact?.postalCode ?: "", + city = shippingContact?.city ?: "", telephoneNumber = shippingContact?.telephoneNumber ?: "", mail = shippingContact?.mail ?: "", deliveryInformation = shippingContact?.deliveryInformation ?: "" @@ -241,7 +243,7 @@ class PharmacySearchUseCase( version = "1", supplyOptionsType = redeemOption.type, name = contact.name, - address = listOf(contact.line1, contact.line2, contact.postalCodeAndCity), + address = listOf(contact.line1, contact.line2, contact.postalCode, contact.city), phone = contact.telephoneNumber, hint = contact.deliveryInformation ) @@ -255,7 +257,8 @@ class PharmacySearchUseCase( name = contact.name.trim(), line1 = contact.line1.trim(), line2 = contact.line2.trim(), - postalCodeAndCity = contact.postalCodeAndCity.trim(), + postalCode = contact.postalCode.trim(), + city = contact.city.trim(), telephoneNumber = contact.telephoneNumber.trim(), mail = contact.mail.trim(), deliveryInformation = contact.deliveryInformation.trim() diff --git a/android/src/main/java/de/gematik/ti/erp/app/pharmacy/usecase/model/PharmacyUseCaseData.kt b/android/src/main/java/de/gematik/ti/erp/app/pharmacy/usecase/model/PharmacyUseCaseData.kt index 656b08be..b3b4a602 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/pharmacy/usecase/model/PharmacyUseCaseData.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/pharmacy/usecase/model/PharmacyUseCaseData.kt @@ -125,7 +125,8 @@ object PharmacyUseCaseData { val name: String, val line1: String, val line2: String, - val postalCodeAndCity: String, + val postalCode: String, + val city: String, val telephoneNumber: String, val mail: String, val deliveryInformation: String @@ -135,7 +136,8 @@ object PharmacyUseCaseData { name, line1, line2, - postalCodeAndCity, + postalCode, + city, telephoneNumber, mail, deliveryInformation @@ -145,7 +147,8 @@ object PharmacyUseCaseData { fun address() = listOf( line1, line2, - postalCodeAndCity + postalCode, + city ).filter { it.isNotBlank() } @Stable @@ -159,14 +162,15 @@ object PharmacyUseCaseData { fun phoneOrAddressMissing() = telephoneNumber.isBlank() || addressIsMissing() @Stable - fun addressIsMissing() = name.isBlank() || line1.isBlank() || postalCodeAndCity.isBlank() + fun addressIsMissing() = name.isBlank() || line1.isBlank() || postalCode.isBlank() || city.isBlank() companion object { val Empty = ShippingContact( name = "", line1 = "", line2 = "", - postalCodeAndCity = "", + postalCode = "", + city = "", telephoneNumber = "", mail = "", deliveryInformation = "" diff --git a/android/src/main/java/de/gematik/ti/erp/app/pkv/ui/InvoicesScreen.kt b/android/src/main/java/de/gematik/ti/erp/app/pkv/ui/InvoicesScreen.kt index be7e4d37..17137e0e 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/pkv/ui/InvoicesScreen.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/pkv/ui/InvoicesScreen.kt @@ -61,7 +61,6 @@ import androidx.compose.material.pullrefresh.rememberPullRefreshState import androidx.compose.material.rememberScaffoldState import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember @@ -81,7 +80,7 @@ import de.gematik.ti.erp.app.R import de.gematik.ti.erp.app.TestTag import de.gematik.ti.erp.app.invoice.model.InvoiceData import de.gematik.ti.erp.app.invoice.model.currencyString -import de.gematik.ti.erp.app.mainscreen.ui.MainScreenController +import de.gematik.ti.erp.app.mainscreen.ui.rememberMainScreenController import de.gematik.ti.erp.app.pkv.ui.ConsentController.State.ChargeConsentNotGranted.isConsentGranted import de.gematik.ti.erp.app.prescription.ui.PrescriptionServiceErrorState import de.gematik.ti.erp.app.prescription.ui.rememberRefreshPrescriptionsController @@ -104,9 +103,9 @@ import kotlinx.datetime.toJavaLocalDateTime import kotlinx.datetime.toLocalDateTime import java.time.format.DateTimeFormatter +@Suppress("LongMethod") @Composable fun InvoicesScreen( - mainScreenController: MainScreenController, onBack: () -> Unit, selectedProfile: ProfilesUseCaseData.Profile, onShowCardWall: () -> Unit, @@ -122,10 +121,8 @@ fun InvoicesScreen( var showGrantConsentDialog by remember { mutableStateOf(false) } val context = LocalContext.current - val ssoTokenValid by remember(selectedProfile) { - derivedStateOf { - selectedProfile.ssoTokenValid() - } + val ssoTokenValid by remember { + mutableStateOf(selectedProfile.ssoTokenValid()) } CheckConsentState(consentController, ssoTokenValid, scaffoldState, context) { @@ -182,6 +179,7 @@ fun InvoicesScreen( } } + val mainScreenController = rememberMainScreenController() val refreshPrescriptionsController = rememberRefreshPrescriptionsController(mainScreenController) AnimatedElevationScaffold( diff --git a/android/src/main/java/de/gematik/ti/erp/app/prescription/detail/ui/PrescriptionDetailScreen.kt b/android/src/main/java/de/gematik/ti/erp/app/prescription/detail/ui/PrescriptionDetailScreen.kt index a1bf8b40..186a274c 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/prescription/detail/ui/PrescriptionDetailScreen.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/prescription/detail/ui/PrescriptionDetailScreen.kt @@ -96,9 +96,10 @@ import de.gematik.ti.erp.app.prescription.model.SyncedTaskData import de.gematik.ti.erp.app.prescription.ui.DirectAssignmentChip import de.gematik.ti.erp.app.prescription.ui.FailureDetailsStatusChip import de.gematik.ti.erp.app.prescription.ui.PrescriptionServiceErrorState +import de.gematik.ti.erp.app.prescription.ui.PrescriptionStateInfo import de.gematik.ti.erp.app.prescription.ui.ScannedChip +import de.gematik.ti.erp.app.prescription.ui.SentStatusChip import de.gematik.ti.erp.app.prescription.ui.SubstitutionAllowedChip -import de.gematik.ti.erp.app.prescription.ui.prescriptionStateInfo import de.gematik.ti.erp.app.theme.AppTheme import de.gematik.ti.erp.app.theme.PaddingDefaults import de.gematik.ti.erp.app.utils.compose.AnimatedElevationScaffold @@ -814,7 +815,7 @@ fun SyncedStatus( textAlign = TextAlign.Center ) } else { - prescriptionStateInfo(prescription.state, textAlign = TextAlign.Center) + PrescriptionStateInfo(prescription.state, textAlign = TextAlign.Center) } if (onClick != null) { Spacer(Modifier.padding(2.dp)) @@ -855,9 +856,16 @@ private fun ScannedPrescriptionOverview( textAlign = TextAlign.Center ) SpacerShortMedium() - ScannedChip(onClick = { - onShowInfo(PrescriptionDetailBottomSheetContent.Scanned()) - }) + Row(verticalAlignment = Alignment.CenterVertically) { + ScannedChip(onClick = { + onShowInfo(PrescriptionDetailBottomSheetContent.Scanned()) + }) + if (prescription.task.communications.isNotEmpty()) { + SpacerShortMedium() + SentStatusChip() + } + } + SpacerShortMedium() val date = dateWithIntroductionString(R.string.prs_low_detail_scanned_on, prescription.scannedOn) Text(date, style = AppTheme.typography.body2l) diff --git a/android/src/main/java/de/gematik/ti/erp/app/prescription/repository/LocalDataSource.kt b/android/src/main/java/de/gematik/ti/erp/app/prescription/repository/LocalDataSource.kt index b8d5f3d5..6c34b11b 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/prescription/repository/LocalDataSource.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/prescription/repository/LocalDataSource.kt @@ -38,8 +38,9 @@ import io.realm.kotlin.query.Sort import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.map -import kotlinx.serialization.json.JsonElement +import kotlinx.datetime.Clock import kotlinx.datetime.Instant +import kotlinx.serialization.json.JsonElement class LocalDataSource( private val realm: Realm @@ -126,6 +127,24 @@ class LocalDataSource( totalCommunicationsInBundle } + suspend fun saveLocalCommunication(taskId: String, pharmacyId: String, transactionId: String) { + realm.tryWrite { + val entity = CommunicationEntityV1().apply { + this.profile = CommunicationProfileV1.ErxCommunicationDispReq + this.taskId = taskId + this.communicationId = transactionId + this.sentOn = Clock.System.now().toRealmInstant() + this.sender = pharmacyId + this.consumed = false + } + + queryFirst("taskId = $0", taskId)?.let { scannedTask -> + scannedTask.communications += copyToRealm(entity) + } + 1 + } + } + fun loadScannedTasks(profileId: ProfileIdentifier): Flow> = realm.query("parent.id = $0", profileId) .sort("scannedOn", Sort.DESCENDING) diff --git a/android/src/main/java/de/gematik/ti/erp/app/prescription/ui/ArchiveScreen.kt b/android/src/main/java/de/gematik/ti/erp/app/prescription/ui/ArchiveScreen.kt index b4acdaa0..6cff13fd 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/prescription/ui/ArchiveScreen.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/prescription/ui/ArchiveScreen.kt @@ -97,6 +97,7 @@ fun ArchiveScreen(prescriptionState: PrescriptionState, navController: NavContro LowDetailMedication( modifier = CardPaddingModifier, prescription, + 0, onClick = { navController.navigate( MainNavigationScreens.PrescriptionDetail.path( diff --git a/android/src/main/java/de/gematik/ti/erp/app/prescription/ui/PrescriptionScreenComponents.kt b/android/src/main/java/de/gematik/ti/erp/app/prescription/ui/PrescriptionScreenComponents.kt index b483ac60..5f44681b 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/prescription/ui/PrescriptionScreenComponents.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/prescription/ui/PrescriptionScreenComponents.kt @@ -68,7 +68,7 @@ import androidx.compose.ui.unit.em import androidx.navigation.NavController import de.gematik.ti.erp.app.R import de.gematik.ti.erp.app.TestTag - +import de.gematik.ti.erp.app.fhir.parser.toFormattedDate import de.gematik.ti.erp.app.mainscreen.ui.MainNavigationScreens import de.gematik.ti.erp.app.mainscreen.ui.MainScreenController import de.gematik.ti.erp.app.mainscreen.ui.RefreshScaffold @@ -76,7 +76,7 @@ import de.gematik.ti.erp.app.prescription.model.SyncedTaskData import de.gematik.ti.erp.app.prescription.ui.model.PrescriptionScreenData import de.gematik.ti.erp.app.prescription.ui.model.SentOrCompletedPhrase import de.gematik.ti.erp.app.prescription.ui.model.sentOrCompleted -import de.gematik.ti.erp.app.prescription.usecase.model.PrescriptionUseCaseData +import de.gematik.ti.erp.app.prescription.usecase.model.PrescriptionUseCaseData.Prescription import de.gematik.ti.erp.app.prescriptionId import de.gematik.ti.erp.app.profiles.ui.LocalProfileHandler import de.gematik.ti.erp.app.profiles.ui.ProfileHandler @@ -87,13 +87,13 @@ import de.gematik.ti.erp.app.utils.compose.DynamicText import de.gematik.ti.erp.app.utils.compose.SpacerLarge import de.gematik.ti.erp.app.utils.compose.SpacerMedium import de.gematik.ti.erp.app.utils.compose.SpacerSmall -import de.gematik.ti.erp.app.utils.compose.dateWithIntroductionString import de.gematik.ti.erp.app.utils.compose.SpacerTiny import de.gematik.ti.erp.app.utils.compose.SpacerXXLarge import de.gematik.ti.erp.app.utils.compose.TertiaryButton import de.gematik.ti.erp.app.utils.compose.annotatedPluralsResource import de.gematik.ti.erp.app.utils.compose.annotatedStringResource import de.gematik.ti.erp.app.utils.compose.dateString +import de.gematik.ti.erp.app.utils.compose.dateWithIntroductionString import de.gematik.ti.erp.app.utils.compose.timeString import kotlinx.datetime.Clock import kotlinx.datetime.Instant @@ -230,6 +230,7 @@ private fun PrescriptionsContent( ProfileConnectionSection(onClickAvatar, onClickRefresh) SpacerMedium() } + prescriptionContent( state = state, navController = navController @@ -310,10 +311,12 @@ private fun LazyListScope.prescriptionContent( navController: NavController, state: PrescriptionScreenData.State ) { - state.prescriptions.forEachIndexed { index, prescription -> + val indexedPrescriptions = processPrescriptionsDayIndices(state.prescriptions) + + state.prescriptions.forEach { prescription -> item(key = "prescription-${prescription.taskId}") { when (prescription) { - is PrescriptionUseCaseData.Prescription.Synced -> + is Prescription.Synced -> FullDetailMedication( prescription, modifier = CardPaddingModifier, @@ -326,10 +329,11 @@ private fun LazyListScope.prescriptionContent( } ) - is PrescriptionUseCaseData.Prescription.Scanned -> + is Prescription.Scanned -> { LowDetailMedication( modifier = CardPaddingModifier, prescription, + indexedPrescriptions.getOrDefault(prescription.taskId, 1), onClick = { navController.navigate( MainNavigationScreens.PrescriptionDetail.path( @@ -338,11 +342,27 @@ private fun LazyListScope.prescriptionContent( ) } ) + } } } } } +private fun processPrescriptionsDayIndices(prescriptions: List): Map { + var previousPrescription: Prescription.Scanned? = null + var dayIndex = 1 + val indexedPrescriptions = mutableMapOf() + + prescriptions.filterIsInstance().forEach { + val current = it.scannedOn.toFormattedDate() + val prev = previousPrescription?.scannedOn?.toFormattedDate() + if (current == prev) dayIndex++ else dayIndex = 1 + previousPrescription = it + indexedPrescriptions[it.taskId] = dayIndex + } + return indexedPrescriptions +} + @Composable fun readyPrescriptionStateInfo( acceptDaysLeft: Long, @@ -408,7 +428,7 @@ fun readyPrescriptionStateInfo( } @Composable -fun prescriptionStateInfo( +fun PrescriptionStateInfo( state: SyncedTaskData.SyncedTask.TaskState, now: Instant = Clock.System.now(), textAlign: TextAlign = TextAlign.Left @@ -542,7 +562,7 @@ private fun sentOrCompletedPhrase(lastModified: Instant, now: Instant, completed @OptIn(ExperimentalMaterialApi::class) @Composable fun FullDetailMedication( - prescription: PrescriptionUseCaseData.Prescription.Synced, + prescription: Prescription.Synced, modifier: Modifier = Modifier, onClick: () -> Unit ) { @@ -581,7 +601,7 @@ fun FullDetailMedication( ) if (!prescription.isDirectAssignment) { - prescriptionStateInfo(prescription.state) + PrescriptionStateInfo(prescription.state) } SpacerSmall() @@ -634,7 +654,8 @@ fun FullDetailMedication( @Composable fun LowDetailMedication( modifier: Modifier = Modifier, - prescription: PrescriptionUseCaseData.Prescription.Scanned, + prescription: Prescription.Scanned, + index: Int, onClick: () -> Unit ) { val dateFormatter = remember { DateTimeFormatter.ofPattern("dd.MM.yyyy") } @@ -669,7 +690,11 @@ fun LowDetailMedication( .weight(1f) ) { Text( - stringResource(R.string.prs_low_detail_medication), + if (index > 0) { + stringResource(R.string.prs_low_detail_medication) + " $index" + } else { + stringResource(R.string.prs_low_detail_medication) + }, style = AppTheme.typography.subtitle1 ) SpacerTiny() @@ -677,6 +702,13 @@ fun LowDetailMedication( dateText, style = AppTheme.typography.body2l ) + SpacerSmall() + + Row { + if (prescription.communications.isNotEmpty()) { + SentStatusChip() + } + } } Icon( diff --git a/android/src/main/java/de/gematik/ti/erp/app/prescription/ui/ScanScreenComponent.kt b/android/src/main/java/de/gematik/ti/erp/app/prescription/ui/ScanScreenComponent.kt index 9ebc5b9e..8fef8c80 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/prescription/ui/ScanScreenComponent.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/prescription/ui/ScanScreenComponent.kt @@ -123,13 +123,10 @@ import androidx.core.content.ContextCompat import androidx.navigation.NavController import androidx.compose.foundation.layout.navigationBarsPadding import androidx.compose.foundation.layout.systemBarsPadding -import androidx.compose.runtime.produceState import de.gematik.ti.erp.app.R import de.gematik.ti.erp.app.analytics.trackScannerPopUps import de.gematik.ti.erp.app.analytics.trackScreenUsingNavEntry import de.gematik.ti.erp.app.core.LocalAnalytics -import de.gematik.ti.erp.app.featuretoggle.FeatureToggleManager -import de.gematik.ti.erp.app.featuretoggle.Features import de.gematik.ti.erp.app.mainscreen.ui.MainNavigationScreens import de.gematik.ti.erp.app.prescription.ui.model.ScanData import de.gematik.ti.erp.app.theme.AppTheme @@ -142,7 +139,6 @@ import de.gematik.ti.erp.app.utils.compose.SpacerSmall import de.gematik.ti.erp.app.utils.compose.annotatedPluralsResource import de.gematik.ti.erp.app.utils.compose.annotatedStringBold import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.flow.first import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import java.util.Locale @@ -199,12 +195,6 @@ fun ScanScreen( BackHandler(sheetState.isVisible) { coroutineScope.launch { sheetState.hide() } } - val featureToggleManager = FeatureToggleManager(context) - val directRedeemEnabled by produceState(false) { - featureToggleManager.isFeatureEnabled(Features.REDEEM_WITHOUT_TI.featureName).first().apply { - value = this - } - } if (cancelRequested && state.hasCodesToSave()) { SaveDialog( @@ -218,7 +208,6 @@ fun ScanScreen( sheetState = sheetState, sheetContent = { SheetContent( - directRedeemEnabled = directRedeemEnabled, onClickSave = { coroutineScope.launch { scanPrescriptionController.saveToDatabase() @@ -281,8 +270,7 @@ fun ScanScreen( @Composable private fun SheetContent( onClickSave: () -> Unit, - onClickRedeem: () -> Unit, - directRedeemEnabled: Boolean + onClickRedeem: () -> Unit ) { SpacerMedium() Text( @@ -293,24 +281,11 @@ private fun SheetContent( ) SpacerSmall() BottomSheetAction( - enabled = directRedeemEnabled, icon = { Icon(Icons.Rounded.ShoppingBag, null) }, title = { Row(verticalAlignment = Alignment.CenterVertically) { Text(stringResource(R.string.cam_next_sheet_order_now_title)) SpacerSmall() - if (!directRedeemEnabled) { - Surface( - color = AppTheme.colors.primary100, - contentColor = AppTheme.colors.primary600, - shape = RoundedCornerShape(8.dp) - ) { - Text( - stringResource(R.string.cam_next_sheet_available_soon), - Modifier.padding(horizontal = PaddingDefaults.Small, vertical = 2.dp) - ) - } - } } }, info = { Text(stringResource(R.string.cam_next_sheet_order_now_info)) }, diff --git a/android/src/main/java/de/gematik/ti/erp/app/prescription/ui/StatusChip.kt b/android/src/main/java/de/gematik/ti/erp/app/prescription/ui/StatusChip.kt index 2582b3db..0669c4f4 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/prescription/ui/StatusChip.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/prescription/ui/StatusChip.kt @@ -46,6 +46,7 @@ import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.platform.testTag import androidx.compose.ui.res.stringResource import androidx.compose.ui.semantics.Role +import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import de.gematik.ti.erp.app.R @@ -72,7 +73,7 @@ fun StatusChip( .padding(vertical = 6.dp, horizontal = 12.dp), verticalAlignment = Alignment.CenterVertically ) { - Text(text, style = AppTheme.typography.subtitle2, color = textColor) + Text(text, style = AppTheme.typography.subtitle2, color = textColor, overflow = TextOverflow.Ellipsis) icon?.let { SpacerSmall() it() @@ -123,6 +124,15 @@ fun ReadyStatusChip() = modifier = Modifier.testTag(TestTag.Prescriptions.PrescriptionRedeemable) ) +@Composable +fun SentStatusChip() = + StatusChip( + text = stringResource(R.string.prescription_status_sent), + icon = null, + textColor = AppTheme.colors.yellow900, + backgroundColor = AppTheme.colors.yellow100 + ) + @Composable fun PendingStatusChip() = StatusChip( diff --git a/android/src/main/java/de/gematik/ti/erp/app/prescription/usecase/PrescriptionUseCase.kt b/android/src/main/java/de/gematik/ti/erp/app/prescription/usecase/PrescriptionUseCase.kt index 194bee84..3c7771ca 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/prescription/usecase/PrescriptionUseCase.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/prescription/usecase/PrescriptionUseCase.kt @@ -92,7 +92,8 @@ class PrescriptionUseCase( PrescriptionUseCaseData.Prescription.Scanned( taskId = task.taskId, scannedOn = task.scannedOn, - redeemedOn = task.redeemedOn + redeemedOn = task.redeemedOn, + communications = task.communications ) } } @@ -134,7 +135,8 @@ class PrescriptionUseCase( PrescriptionUseCaseData.Prescription.Scanned( taskId = task.taskId, scannedOn = task.scannedOn, - redeemedOn = task.redeemedOn + redeemedOn = task.redeemedOn, + communications = task.communications ) } diff --git a/android/src/main/java/de/gematik/ti/erp/app/prescription/usecase/model/PrescriptionUseCaseData.kt b/android/src/main/java/de/gematik/ti/erp/app/prescription/usecase/model/PrescriptionUseCaseData.kt index ef6c0a33..d9e059b5 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/prescription/usecase/model/PrescriptionUseCaseData.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/prescription/usecase/model/PrescriptionUseCaseData.kt @@ -19,6 +19,7 @@ package de.gematik.ti.erp.app.prescription.usecase.model import androidx.compose.runtime.Immutable +import de.gematik.ti.erp.app.db.entities.v1.task.CommunicationEntityV1 import de.gematik.ti.erp.app.prescription.model.SyncedTaskData import kotlinx.datetime.Instant @@ -63,7 +64,8 @@ object PrescriptionUseCaseData { data class Scanned( override val taskId: String, val scannedOn: Instant, - override val redeemedOn: Instant? + override val redeemedOn: Instant?, + val communications: List ) : Prescription() fun redeemedOrExpiredOn(): Instant = diff --git a/android/src/main/java/de/gematik/ti/erp/app/profiles/ui/EditProfileNavigation.kt b/android/src/main/java/de/gematik/ti/erp/app/profiles/ui/EditProfileNavigation.kt index f08e40e3..04472d79 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/profiles/ui/EditProfileNavigation.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/profiles/ui/EditProfileNavigation.kt @@ -36,7 +36,6 @@ import androidx.navigation.navArgument import de.gematik.ti.erp.app.Route import de.gematik.ti.erp.app.analytics.TrackNavigationChanges import de.gematik.ti.erp.app.mainscreen.ui.MainNavigationScreens -import de.gematik.ti.erp.app.mainscreen.ui.MainScreenController import de.gematik.ti.erp.app.pkv.ui.InvoiceDetailsScreen import de.gematik.ti.erp.app.pkv.ui.InvoiceInformationScreen import de.gematik.ti.erp.app.pkv.ui.InvoicesScreen @@ -88,7 +87,6 @@ fun EditProfileNavGraph( navController: NavHostController, onBack: () -> Unit, selectedProfile: ProfilesUseCaseData.Profile, - mainScreenController: MainScreenController, profilesController: ProfilesController, onRemoveProfile: (newProfileName: String?) -> Unit, mainNavController: NavController @@ -203,7 +201,6 @@ fun EditProfileNavGraph( composable(ProfileDestinations.Invoices.route) { NavigationAnimation(mode = NavigationMode.Closed) { InvoicesScreen( - mainScreenController = mainScreenController, invoicesController = invoicesController, selectedProfile = selectedProfile, onBack = { navController.popBackStack() }, diff --git a/android/src/main/java/de/gematik/ti/erp/app/profiles/ui/EditProfileScreen.kt b/android/src/main/java/de/gematik/ti/erp/app/profiles/ui/EditProfileScreen.kt index 2d9b1f8b..8d03b449 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/profiles/ui/EditProfileScreen.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/profiles/ui/EditProfileScreen.kt @@ -105,7 +105,6 @@ import de.gematik.ti.erp.app.TestTag import de.gematik.ti.erp.app.TestTag.Profile.OpenTokensScreenButton import de.gematik.ti.erp.app.TestTag.Profile.ProfileScreen import de.gematik.ti.erp.app.idp.model.IdpData -import de.gematik.ti.erp.app.mainscreen.ui.rememberMainScreenController import de.gematik.ti.erp.app.profiles.model.ProfilesData import de.gematik.ti.erp.app.profiles.usecase.model.ProfilesUseCaseData import de.gematik.ti.erp.app.settings.ui.ProfileNameDialog @@ -134,14 +133,12 @@ fun EditProfileScreen( mainNavController: NavController ) { val navController = rememberNavController() - val mainScreenController = rememberMainScreenController() EditProfileNavGraph( profilesState = profilesState, navController = navController, onBack = onBack, selectedProfile = profile, - mainScreenController = mainScreenController, profilesController = profilesController, onRemoveProfile = onRemoveProfile, mainNavController = mainNavController @@ -151,10 +148,10 @@ fun EditProfileScreen( @Composable fun EditProfileScreen( profileId: String, - profilesController: ProfilesController, onBack: () -> Unit, mainNavController: NavController ) { + val profilesController = rememberProfilesController() val profilesState by profilesController.profilesState val scope = rememberCoroutineScope() diff --git a/android/src/main/java/de/gematik/ti/erp/app/redeem/ui/Navigation.kt b/android/src/main/java/de/gematik/ti/erp/app/redeem/ui/Navigation.kt index becf4aaa..da00dac8 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/redeem/ui/Navigation.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/redeem/ui/Navigation.kt @@ -27,7 +27,6 @@ import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import androidx.navigation.compose.rememberNavController import de.gematik.ti.erp.app.analytics.TrackNavigationChanges -import de.gematik.ti.erp.app.mainscreen.ui.MainScreenController import de.gematik.ti.erp.app.pharmacy.ui.PharmacyNavigation import de.gematik.ti.erp.app.pharmacy.ui.PrescriptionSelection import de.gematik.ti.erp.app.pharmacy.ui.rememberPharmacyOrderState @@ -37,7 +36,6 @@ import de.gematik.ti.erp.app.utils.compose.navigationModeState @Composable fun RedeemNavigation( - mainScreenController: MainScreenController, onFinish: () -> Unit ) { val orderState = rememberPharmacyOrderState() @@ -116,7 +114,6 @@ fun RedeemNavigation( } composable(RedeemNavigation.PharmacySearch.route) { PharmacyNavigation( - mainScreenController = mainScreenController, isNestedNavigation = true, orderState = orderState, onBack = { diff --git a/android/src/main/java/de/gematik/ti/erp/app/settings/ui/AccessibilitySettingsScreen.kt b/android/src/main/java/de/gematik/ti/erp/app/settings/ui/AccessibilitySettingsScreen.kt index 2b0a5c71..1585ce95 100644 --- a/android/src/main/java/de/gematik/ti/erp/app/settings/ui/AccessibilitySettingsScreen.kt +++ b/android/src/main/java/de/gematik/ti/erp/app/settings/ui/AccessibilitySettingsScreen.kt @@ -23,15 +23,11 @@ import androidx.compose.material.icons.rounded.Camera import androidx.compose.material.icons.rounded.ZoomIn import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope -import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import de.gematik.ti.erp.app.R import de.gematik.ti.erp.app.settings.ui.rememberSettingsController -import de.gematik.ti.erp.app.utils.compose.AcceptDialog import de.gematik.ti.erp.app.utils.compose.AnimatedElevationScaffold import de.gematik.ti.erp.app.utils.compose.LabeledSwitch import de.gematik.ti.erp.app.utils.compose.NavigationBarMode @@ -46,8 +42,6 @@ fun AccessibilitySettingsScreen(onBack: () -> Unit) { val scope = rememberCoroutineScope() val listState = rememberLazyListState() - var showAllowScreenShotsAlert by remember { mutableStateOf(false) } - AnimatedElevationScaffold( topBarTitle = stringResource(R.string.settings_accessibility_headline), navigationMode = NavigationBarMode.Back, @@ -76,13 +70,9 @@ fun AccessibilitySettingsScreen(onBack: () -> Unit) { screenshotState.screenshotsAllowed ) { screenShotsAllowed -> settingsController.onSwitchAllowScreenshots(screenShotsAllowed) - showAllowScreenShotsAlert = true } } } - if (showAllowScreenShotsAlert) { - RestartAlert { showAllowScreenShotsAlert = false } - } } } @@ -119,17 +109,3 @@ private fun AllowScreenShotsSection( description = stringResource(R.string.settings_screenshots_description) ) } - -@Composable -private fun RestartAlert(onDismissRequest: () -> Unit) { - val title = stringResource(R.string.settings_screenshots_alert_headline) - val message = stringResource(R.string.settings_screenshots_alert_info) - val confirmText = stringResource(R.string.settings_screenshots_button_text) - - AcceptDialog( - header = title, - onClickAccept = onDismissRequest, - info = message, - acceptText = confirmText - ) -} diff --git a/android/src/main/res/values-ar/strings.xml b/android/src/main/res/values-ar/strings.xml index 3ca2672c..036d2b98 100644 --- a/android/src/main/res/values-ar/strings.xml +++ b/android/src/main/res/values-ar/strings.xml @@ -128,9 +128,6 @@ الخط الفني الساخن فتح الماسح الضوئي للوصفات الطبية الإعدادات - ملاحظة - لن يتم تشغيل هذا التغيير إلا بعد غعاد تشغيل التطبيق. - موافق منع أخذ لقطات الشاشة يمنع عرض الصور المصغرة للمعاينة عند التبديل بين التطبيقات هل تسمح للوصفات الطبية الإلكترونية بتحليل سلوك الاستخدام دون إفصاح عن الهوية؟ @@ -356,8 +353,6 @@ الشارع ورقم المنزل يُرجى إدخال الشارع ورقم المنزل من أجل التواصل معك. العنوان التكميلي (اختياري) - الرمز البريدي والمكان - يُرجى إدخال الرمز البريدي والمكان من أجل التواصل معك. إرشادات التسليم (اختياري) نحتاج إلى المزيد من بيانات الاتصال حذف التغييرات؟ diff --git a/android/src/main/res/values-en/strings.xml b/android/src/main/res/values-en/strings.xml index acf9c6c9..e72d6316 100644 --- a/android/src/main/res/values-en/strings.xml +++ b/android/src/main/res/values-en/strings.xml @@ -120,9 +120,6 @@ Technical hotline Open scanner for prescriptions Settings - Note - This change will only take effect after the app is restarted. - OK Suppress screenshots Prevents the display of a preview image when switching apps Do you consent to the anonymous analysis of usage behaviour by e-prescription? @@ -328,8 +325,6 @@ Street and house number Please enter a street and house number for contact purposes. Additional address line (optional) - Postcode and town/city - Please enter a postcode and town/city for contact purposes. Delivery instruction (optional) More contact details required Discard changes? diff --git a/android/src/main/res/values-pl/strings.xml b/android/src/main/res/values-pl/strings.xml index 9c81d5a9..b477690a 100644 --- a/android/src/main/res/values-pl/strings.xml +++ b/android/src/main/res/values-pl/strings.xml @@ -124,9 +124,6 @@ Infolinia techniczna Otwórz skaner recept Ustawienia - Wskazówka - Ta zmiana będzie widoczna dopiero po ponownym uruchomieniu aplikacji. - OK Blokuj tworzenie zrzutów ekranu Zapobiega wyświetlaniu podglądu przy zmianie aplikacji Czy zezwalasz aplikacji E-recepta na anonimową analizę Twojej aktywności? @@ -342,8 +339,6 @@ Ulica i numer domu Proszę podać ulicę i numer domu w celach kontaktowych. Dodatkowe dane adresowe (opcjonalnie) - Kod pocztowy i miejscowość - Proszę podać kod pocztowy i miejscowość w celach kontaktowych. Wskazówki dotyczące dostawy (opcjonalnie) Potrzebne są dodatkowe dane kontaktowe Odrzucić zmiany? diff --git a/android/src/main/res/values-ru/strings.xml b/android/src/main/res/values-ru/strings.xml index 2568b007..5ccadc0c 100644 --- a/android/src/main/res/values-ru/strings.xml +++ b/android/src/main/res/values-ru/strings.xml @@ -124,9 +124,6 @@ Техническая горячая линия Открыть сканер рецептов Настройки - Указание - Это изменение вступит в силу только при следующем запуске приложения. - OK Отключить скриншоты Скрывать предпросмотр при смене приложения Разрешаете ли вы приложению E-Rezept анонимно анализировать поведение пользователя? @@ -342,8 +339,6 @@ Улица и номер дома Укажите улицу и номер дома, чтобы с вами можно было связаться. Дополнительное поле для адреса (необязательно) - Почтовый индекс и населенный пункт - Укажите почтовый индекс и населенный пункт, чтобы с вами можно было связаться. Указания по доставке (необязательно) Необходимы дополнительные контактные данные Отменить изменения? diff --git a/android/src/main/res/values-tr/strings.xml b/android/src/main/res/values-tr/strings.xml index 0a16dcf6..c685a818 100644 --- a/android/src/main/res/values-tr/strings.xml +++ b/android/src/main/res/values-tr/strings.xml @@ -120,9 +120,6 @@ Teknik destek hattı Reçeteler için tarayıcıyı açın Ayarlar - Not - Bu değişiklik, yalnızca uygulamayı yeniden başlattıktan sonra geçerli olacaktır. - Tamam Ekran görüntülerini gizle Uygulamaları değiştirdiğinizde önizleme görüntüsünün görüntülenmesini engeller E-Rezept\'in kullanıcı davranışınızı anonim olarak analiz etmesine izin veriyor musunuz? @@ -328,8 +325,6 @@ Sokak ve bina numarası İletişime geçmek için bir sokak ve bina numarası girin. Adres eki (opsiyonel) - Posta kodu ve yer - İletişime geçmek için bir posta kodu ve yeri girin. Teslimat talimatları (opsiyonel) Daha fazla iletişim bilgileri gerekli Değişiklikler silinsin mi? diff --git a/android/src/main/res/values-uk/strings.xml b/android/src/main/res/values-uk/strings.xml index 3e529ada..4a9f66ca 100644 --- a/android/src/main/res/values-uk/strings.xml +++ b/android/src/main/res/values-uk/strings.xml @@ -124,9 +124,6 @@ Технічна гаряча лінія Відкрити сканер для рецептів Налаштування - Указівка - Ця зміна набуде чинності лише після перезапуску застосунку. - Ok Придушити скріншоти Запобігає відображенню заставки під час переходу з одного застосунку до іншого Чи дозволяєте ви застосунку E-Rezept анонімно аналізувати поведінку користувача? @@ -342,8 +339,6 @@ Вулиця та номер будинку Введіть вулицю та номер будинку для контакту. Додаток до адреси (опція) - Індекс і нас. пункт - Введіть поштовий індекс і населений пункт для контакту. Інструкція з доставлення (опція) Потрібні подальші контактні дані Скинути зміни? diff --git a/android/src/main/res/values/strings.xml b/android/src/main/res/values/strings.xml index 1a617757..87bb9137 100644 --- a/android/src/main/res/values/strings.xml +++ b/android/src/main/res/values/strings.xml @@ -126,9 +126,6 @@ Technische Hotline Scanner für Rezepte öffnen Einstellungen - Hinweis - Diese Änderung wird erst nach einem Neustart der App wirksam. - Okay Screenshots unterdrücken Verhindert die Anzeige eines Vorschaubilds beim App-Wechsel Erlauben Sie E-Rezept Ihr Nutzungsverhalten anonym zu analysieren? @@ -283,6 +280,7 @@ %s neue Rezepte Einlösbar + Gesendet In Einlösung Eingelöst Unbekannt @@ -348,8 +346,10 @@ Straße und Hausnummer Bitte geben Sie für die Kontaktaufnahme eine Straße und Hausnummer an. Adresszusatz (optional) - PLZ und Ort - Bitte geben Sie für die Kontaktaufnahme eine Postleitzahl und den Ort an. + PLZ + Ort + Bitte geben Sie für die Kontaktaufnahme Ihre Postleitzahl an. + Bitte geben Sie für die Kontaktaufnahme Ihren Wohnort an. Lieferanweisung (optional) Weitere Kontaktdaten benötigt Änderungen verwerfen? diff --git a/android/src/main/res/xml/network_security_config.xml b/android/src/main/res/xml/network_security_config.xml index ad6d9c06..861339bb 100644 --- a/android/src/main/res/xml/network_security_config.xml +++ b/android/src/main/res/xml/network_security_config.xml @@ -5,13 +5,16 @@ RRM1dGqnDFsCJXBTHky16vi1obOlCgFFn/yOhI/y+ho= e0IRz5Tio3GA1Xs4fUVWmH1xHDiH2dMbVtCBSkOIdqM= + qBRjZmOmkSNJL0p70zek7odSIzqs/muR4Jk9xYyCP+E= + erp-test.app.ti-dienste.de RRM1dGqnDFsCJXBTHky16vi1obOlCgFFn/yOhI/y+ho= e0IRz5Tio3GA1Xs4fUVWmH1xHDiH2dMbVtCBSkOIdqM= + qBRjZmOmkSNJL0p70zek7odSIzqs/muR4Jk9xYyCP+E= @@ -20,6 +23,7 @@ RRM1dGqnDFsCJXBTHky16vi1obOlCgFFn/yOhI/y+ho= e0IRz5Tio3GA1Xs4fUVWmH1xHDiH2dMbVtCBSkOIdqM= + qBRjZmOmkSNJL0p70zek7odSIzqs/muR4Jk9xYyCP+E= @@ -47,8 +51,9 @@ apovzd.app.ti-dienste.de - + e0IRz5Tio3GA1Xs4fUVWmH1xHDiH2dMbVtCBSkOIdqM= + qBRjZmOmkSNJL0p70zek7odSIzqs/muR4Jk9xYyCP+E= diff --git a/android/src/test/java/de/gematik/ti/erp/app/invoice/usecase/TestInvoices.kt b/android/src/test/java/de/gematik/ti/erp/app/invoice/usecase/TestInvoices.kt index 0ce31a9d..989a951e 100644 --- a/android/src/test/java/de/gematik/ti/erp/app/invoice/usecase/TestInvoices.kt +++ b/android/src/test/java/de/gematik/ti/erp/app/invoice/usecase/TestInvoices.kt @@ -36,18 +36,19 @@ val pkvInvoice = InvoiceData.PKVInvoice( 2.30, 6.80, "EUR", - listOf() + listOf(), + null ), pharmacyOrganization = SyncedTaskData.Organization( "Pharmacy", - SyncedTaskData.Address("", "", ""), + SyncedTaskData.Address("", "", "", ""), null, null, null ), practitionerOrganization = SyncedTaskData.Organization( "Practitioner", - SyncedTaskData.Address("", "", ""), + SyncedTaskData.Address("", "", "", ""), null, null, null @@ -55,7 +56,7 @@ val pkvInvoice = InvoiceData.PKVInvoice( practitioner = SyncedTaskData.Practitioner("Practitioner", "", ""), patient = SyncedTaskData.Patient( "Patient", - SyncedTaskData.Address("", "", ""), + SyncedTaskData.Address("", "", "", ""), null, null ), @@ -76,18 +77,19 @@ val pkvInvoice2 = InvoiceData.PKVInvoice( 2.30, 6.80, "EUR", - listOf() + listOf(), + null ), pharmacyOrganization = SyncedTaskData.Organization( "Pharmacy", - SyncedTaskData.Address("", "", ""), + SyncedTaskData.Address("", "", "", ""), null, null, null ), practitionerOrganization = SyncedTaskData.Organization( "Practitioner", - SyncedTaskData.Address("", "", ""), + SyncedTaskData.Address("", "", "", ""), null, null, null @@ -95,7 +97,7 @@ val pkvInvoice2 = InvoiceData.PKVInvoice( practitioner = SyncedTaskData.Practitioner("Practitioner", "", ""), patient = SyncedTaskData.Patient( "Patient", - SyncedTaskData.Address("", "", ""), + SyncedTaskData.Address("", "", "", ""), null, null ), diff --git a/android/src/test/java/de/gematik/ti/erp/app/pharmacy/ui/PharmacyControllerTest.kt b/android/src/test/java/de/gematik/ti/erp/app/pharmacy/ui/PharmacyControllerTest.kt index ce659c3b..61bd3d17 100644 --- a/android/src/test/java/de/gematik/ti/erp/app/pharmacy/ui/PharmacyControllerTest.kt +++ b/android/src/test/java/de/gematik/ti/erp/app/pharmacy/ui/PharmacyControllerTest.kt @@ -114,7 +114,8 @@ class PharmacySearchViewModelTest { name = "Beate Muster", line1 = "Friedrichstraße 136", line2 = "", - postalCodeAndCity = "10117 Berlin", + postalCode = "10117", + city = "Berlin", telephoneNumber = "", mail = "", deliveryInformation = "" diff --git a/android/src/test/java/de/gematik/ti/erp/app/utils/TestData.kt b/android/src/test/java/de/gematik/ti/erp/app/utils/TestData.kt index d4833e3a..82f28f31 100644 --- a/android/src/test/java/de/gematik/ti/erp/app/utils/TestData.kt +++ b/android/src/test/java/de/gematik/ti/erp/app/utils/TestData.kt @@ -26,7 +26,6 @@ import kotlinx.datetime.Instant import java.util.UUID import kotlin.time.Duration.Companion.days import kotlin.time.Duration.Companion.minutes -import kotlin.time.Duration.Companion.parse fun syncedTask( taskId: String = "Task/" + UUID.randomUUID().toString(), diff --git a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/Migrations.kt b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/Migrations.kt index c423c360..9a0a792e 100644 --- a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/Migrations.kt +++ b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/Migrations.kt @@ -24,9 +24,7 @@ import de.gematik.ti.erp.app.db.entities.v1.AvatarFigureV1 import de.gematik.ti.erp.app.db.entities.v1.IdpAuthenticationDataEntityV1 import de.gematik.ti.erp.app.db.entities.v1.IdpConfigurationEntityV1 import de.gematik.ti.erp.app.db.entities.v1.InsuranceTypeV1 -import de.gematik.ti.erp.app.db.entities.v1.invoice.PKVInvoiceEntityV1 import de.gematik.ti.erp.app.db.entities.v1.PasswordEntityV1 -import de.gematik.ti.erp.app.db.entities.v1.pharmacy.PharmacyCacheEntityV1 import de.gematik.ti.erp.app.db.entities.v1.PharmacySearchEntityV1 import de.gematik.ti.erp.app.db.entities.v1.ProfileEntityV1 import de.gematik.ti.erp.app.db.entities.v1.SettingsEntityV1 @@ -34,17 +32,19 @@ import de.gematik.ti.erp.app.db.entities.v1.ShippingContactEntityV1 import de.gematik.ti.erp.app.db.entities.v1.TruststoreEntityV1 import de.gematik.ti.erp.app.db.entities.v1.invoice.ChargeableItemV1 import de.gematik.ti.erp.app.db.entities.v1.invoice.InvoiceEntityV1 +import de.gematik.ti.erp.app.db.entities.v1.invoice.PKVInvoiceEntityV1 import de.gematik.ti.erp.app.db.entities.v1.invoice.PriceComponentV1 -import de.gematik.ti.erp.app.db.entities.v1.task.CommunicationEntityV1 import de.gematik.ti.erp.app.db.entities.v1.pharmacy.FavoritePharmacyEntityV1 +import de.gematik.ti.erp.app.db.entities.v1.pharmacy.OftenUsedPharmacyEntityV1 +import de.gematik.ti.erp.app.db.entities.v1.pharmacy.PharmacyCacheEntityV1 +import de.gematik.ti.erp.app.db.entities.v1.task.AccidentTypeV1 +import de.gematik.ti.erp.app.db.entities.v1.task.CommunicationEntityV1 import de.gematik.ti.erp.app.db.entities.v1.task.IngredientEntityV1 import de.gematik.ti.erp.app.db.entities.v1.task.InsuranceInformationEntityV1 import de.gematik.ti.erp.app.db.entities.v1.task.MedicationDispenseEntityV1 import de.gematik.ti.erp.app.db.entities.v1.task.MedicationEntityV1 import de.gematik.ti.erp.app.db.entities.v1.task.MedicationRequestEntityV1 import de.gematik.ti.erp.app.db.entities.v1.task.MultiplePrescriptionInfoEntityV1 -import de.gematik.ti.erp.app.db.entities.v1.pharmacy.OftenUsedPharmacyEntityV1 -import de.gematik.ti.erp.app.db.entities.v1.task.AccidentTypeV1 import de.gematik.ti.erp.app.db.entities.v1.task.OrganizationEntityV1 import de.gematik.ti.erp.app.db.entities.v1.task.PatientEntityV1 import de.gematik.ti.erp.app.db.entities.v1.task.PractitionerEntityV1 @@ -55,7 +55,7 @@ import de.gematik.ti.erp.app.db.entities.v1.task.SyncedTaskEntityV1 import io.realm.kotlin.ext.query import io.realm.kotlin.ext.realmListOf -const val ACTUAL_SCHEMA_VERSION = 19L +const val ACTUAL_SCHEMA_VERSION = 21L val appSchemas = setOf( AppRealmSchema( diff --git a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/entities/v1/Address.kt b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/entities/v1/Address.kt index 01ab8294..bb86f153 100644 --- a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/entities/v1/Address.kt +++ b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/entities/v1/Address.kt @@ -23,5 +23,6 @@ import io.realm.kotlin.types.RealmObject class AddressEntityV1 : RealmObject { var line1: String = "" var line2: String = "" - var postalCodeAndCity: String = "" + var postalCode: String = "" + var city: String = "" } diff --git a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/entities/v1/invoice/ChargeableItem.kt b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/entities/v1/invoice/ChargeableItem.kt index 09d7ec29..9edfd0d5 100644 --- a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/entities/v1/invoice/ChargeableItem.kt +++ b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/entities/v1/invoice/ChargeableItem.kt @@ -37,6 +37,7 @@ class ChargeableItemV1 : RealmObject, Cascading { @delegate:Ignore var descriptionTypeV1: DescriptionTypeV1 by enumName(::_description) var description: String = "" + var text: String = "" var factor: Double = 0.0 diff --git a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/entities/v1/invoice/Invoice.kt b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/entities/v1/invoice/Invoice.kt index dc37a846..e02b0c74 100644 --- a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/entities/v1/invoice/Invoice.kt +++ b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/entities/v1/invoice/Invoice.kt @@ -30,9 +30,11 @@ class InvoiceEntityV1 : RealmObject, Cascading { var totalBruttoAmount: Double = 0.0 var currency: String = "" var chargeableItems: RealmList = realmListOf() + var additionalDispenseItem: ChargeableItemV1? = null override fun objectsToFollow(): Iterator = iterator { yield(chargeableItems) + additionalDispenseItem?.let { yield(it) } } } diff --git a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/entities/v1/task/MultiplePrescription.kt b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/entities/v1/task/MultiplePrescription.kt index 07a4f8e2..28175de2 100644 --- a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/entities/v1/task/MultiplePrescription.kt +++ b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/entities/v1/task/MultiplePrescription.kt @@ -26,9 +26,10 @@ import io.realm.kotlin.types.RealmObject class MultiplePrescriptionInfoEntityV1( var indicator: Boolean, var numbering: RatioEntityV1?, - var start: RealmInstant? + var start: RealmInstant?, + var end: RealmInstant? ) : RealmObject, Cascading { - constructor() : this(indicator = false, numbering = null, start = RealmInstant.MIN) + constructor() : this(indicator = false, numbering = null, start = RealmInstant.MIN, end = RealmInstant.MIN) override fun objectsToFollow(): Iterator = iterator { numbering?.let { yield(it) } diff --git a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/entities/v1/task/ScannedTask.kt b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/entities/v1/task/ScannedTask.kt index d6f438d0..09d50870 100644 --- a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/entities/v1/task/ScannedTask.kt +++ b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/db/entities/v1/task/ScannedTask.kt @@ -18,16 +18,25 @@ package de.gematik.ti.erp.app.db.entities.v1.task +import de.gematik.ti.erp.app.db.entities.Cascading import de.gematik.ti.erp.app.db.entities.v1.ProfileEntityV1 +import io.realm.kotlin.Deleteable +import io.realm.kotlin.ext.realmListOf import io.realm.kotlin.types.RealmInstant +import io.realm.kotlin.types.RealmList import io.realm.kotlin.types.RealmObject -class ScannedTaskEntityV1 : RealmObject { +class ScannedTaskEntityV1 : RealmObject, Cascading { var taskId: String = "" var accessCode: String = "" var scannedOn: RealmInstant = RealmInstant.MIN var redeemedOn: RealmInstant? = null + var communications: RealmList = realmListOf() // back reference var parent: ProfileEntityV1? = null + override fun objectsToFollow(): Iterator = + iterator { + yield(communications) + } } diff --git a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/fhir/model/CommonRessourceMapper.kt b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/fhir/model/CommonRessourceMapper.kt index 6207e1d7..542dc934 100644 --- a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/fhir/model/CommonRessourceMapper.kt +++ b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/fhir/model/CommonRessourceMapper.kt @@ -164,15 +164,22 @@ fun JsonElement.extractMultiplePresc .firstOrNull() ?.contained("valueRatio") ?.extractRatio(ratioFn, quantityFn) - val start = this.findAll("extension").filterWith("url", stringValue("Zeitraum")) + + val validityPeriod = this.findAll("extension").filterWith("url", stringValue("Zeitraum")) .firstOrNull() ?.contained("valuePeriod") + + val start = validityPeriod ?.containedOrNull("start")?.jsonPrimitive?.toFhirTemporal() + val end = validityPeriod + ?.containedOrNull("end")?.jsonPrimitive?.toFhirTemporal() + return processMultiplePrescriptionInfo( indicator, numbering, - start + start, + end ) } fun JsonElement.extractIngredient( diff --git a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/fhir/model/InvoiceMapper.kt b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/fhir/model/InvoiceMapper.kt index 2a7aed61..5c3db728 100644 --- a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/fhir/model/InvoiceMapper.kt +++ b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/fhir/model/InvoiceMapper.kt @@ -22,6 +22,7 @@ import de.gematik.ti.erp.app.fhir.parser.FhirTemporal import de.gematik.ti.erp.app.fhir.parser.contained import de.gematik.ti.erp.app.fhir.parser.containedArrayOrNull import de.gematik.ti.erp.app.fhir.parser.containedDouble +import de.gematik.ti.erp.app.fhir.parser.containedInt import de.gematik.ti.erp.app.fhir.parser.containedString import de.gematik.ti.erp.app.fhir.parser.filterWith import de.gematik.ti.erp.app.fhir.parser.findAll @@ -34,6 +35,8 @@ import kotlinx.datetime.Instant import kotlinx.datetime.toInstant import kotlinx.serialization.json.JsonElement +const val Denominator = 1000.0 + typealias PkvDispenseFn = ( whenHandedOver: FhirTemporal ) -> R @@ -42,7 +45,8 @@ typealias InvoiceFn = ( totalAdditionalFee: Double, totalBruttoAmount: Double, currency: String, - items: List + items: List, + additionalDispenseItem: InvoiceData.ChargeableItem? ) -> R fun extractInvoiceKBVAndErpPrBundle( @@ -71,7 +75,7 @@ fun extractInvoiceKBVAndErpPrBundle( when { profileString.isProfileValue( "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle", - "1.1" + "1.2" ) -> { taskId = resource .findAll("identifier") @@ -102,8 +106,8 @@ fun extractInvoiceKBVAndErpPrBundle( } process(taskId, invoiceBundle, kbvBundle, erpPrBundle) } -fun extractBinary(erpPrBundle: JsonElement): ByteArray? { - return erpPrBundle.contained("signature").containedString("data").toByteArray() +fun extractBinary(bundle: JsonElement): ByteArray? { + return bundle.contained("signature").containedString("data").toByteArray() } fun extractInvoiceBundle( @@ -125,8 +129,8 @@ fun extractInvoiceBundle( when { profileString.isProfileValue( "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle", - "1.1" - ) -> extractInvoiceBundleVersion11( + "1.2" + ) -> extractInvoiceBundleVersion12( bundle, processDispense, processPharmacyAddress, @@ -137,7 +141,7 @@ fun extractInvoiceBundle( } } -fun extractInvoiceBundleVersion11( +fun extractInvoiceBundleVersion12( bundle: JsonElement, processDispense: PkvDispenseFn, processPharmacyAddress: AddressFn, @@ -160,6 +164,14 @@ fun extractInvoiceBundleVersio val timestamp = bundle.containedString("timestamp").toInstant() + val additionalDispenseBundle = bundle.findAll("entry.resource") + .filterWith( + "meta.profile", + stringValue( + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-ZusatzdatenEinheit|1.2" + ) + ).firstOrNull() + val resources = bundle .findAll("entry.resource") @@ -176,7 +188,7 @@ fun extractInvoiceBundleVersio when { profileString.isProfileValue( "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abgabeinformationen", - "1.1" + "1.2" ) -> { dispense = extractPkvDispense( resource, @@ -186,7 +198,7 @@ fun extractInvoiceBundleVersio profileString.isProfileValue( "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Apotheke", - "1.1" + "1.2" ) -> { pharmacy = extractOrganization( resource, @@ -197,10 +209,11 @@ fun extractInvoiceBundleVersio profileString.isProfileValue( "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abrechnungszeilen", - "1.1" + "1.2" ) -> { invoice = extractInvoice( resource, + additionalDispenseBundle, processInvoice ) } @@ -226,14 +239,15 @@ fun extractPkvDispense( } fun extractInvoice( - invoice: JsonElement, + billingLines: JsonElement, + additionalDispenseJson: JsonElement?, processInvoice: InvoiceFn ): Invoice { - val totalGross = invoice.contained("totalGross") + val totalGross = billingLines.contained("totalGross") val currency = totalGross.containedString("currency") val totalBruttoAmount = totalGross.containedDouble("value") - val totalAdditionalFee = invoice + val totalAdditionalFee = billingLines .findAll("totalGross.extension") .filterWith( "url", @@ -243,7 +257,7 @@ fun extractInvoice( .contained("valueMoney") .containedDouble("value") - val items = invoice + val items = billingLines .findAll("lineItem") .mapNotNull { lineItem -> val value = lineItem @@ -276,17 +290,34 @@ fun extractInvoice( ) .firstOrNull() ?.let { + val text = lineItem + .contained("chargeItemCodeableConcept").containedString("text") val code = it.containedString("code") val price = InvoiceData.PriceComponent(value, tax) when (it.containedString("system")) { "http://fhir.de/CodeSystem/ifa/pzn" -> - InvoiceData.ChargeableItem(InvoiceData.ChargeableItem.Description.PZN(code), factor, price) + InvoiceData.ChargeableItem( + InvoiceData.ChargeableItem.Description.PZN(code), + text, + factor, + price + ) "http://TA1.abda.de" -> - InvoiceData.ChargeableItem(InvoiceData.ChargeableItem.Description.TA1(code), factor, price) + InvoiceData.ChargeableItem( + InvoiceData.ChargeableItem.Description.TA1(code), + text, + factor, + price + ) "http://fhir.de/sid/gkv/hmnr" -> - InvoiceData.ChargeableItem(InvoiceData.ChargeableItem.Description.HMNR(code), factor, price) + InvoiceData.ChargeableItem( + InvoiceData.ChargeableItem.Description.HMNR(code), + text, + factor, + price + ) else -> null } @@ -295,14 +326,74 @@ fun extractInvoice( item }.toList() + val additionalDispenseItem = extractAdditionalDispenseItem(additionalDispenseJson) + return processInvoice( totalAdditionalFee, totalBruttoAmount, currency, - items + items, + additionalDispenseItem ) } +fun extractAdditionalDispenseItem( + additionalDispenseJson: JsonElement? +): InvoiceData.ChargeableItem? { + return additionalDispenseJson?.let { additionalDispense -> + val lineItem = additionalDispense.contained("lineItem") + val text = "" // only Special indicator and its designation from the billing line are available + val code = lineItem + .findAll("chargeItemCodeableConcept.coding") + .filterWith( + "system", + or( + stringValue("http://fhir.de/CodeSystem/ifa/pzn"), + stringValue("http://TA1.abda.de"), + stringValue("http://fhir.de/sid/gkv/hmnr") + ) + ) + .first().containedString("code") + + val price = InvoiceData.PriceComponent(0.0, 0.0) // unused property TA_DAV_PKV 6.2.8.2 + + val factor = lineItem.contained("priceComponent") + .containedInt("factor") / Denominator // TA_DAV_PKV 6.2.8.2 + + val item = when ( + lineItem.contained("chargeItemCodeableConcept") + .contained("coding").containedString("system") + ) { + "http://fhir.de/CodeSystem/ifa/pzn" -> + InvoiceData.ChargeableItem( + InvoiceData.ChargeableItem.Description.PZN(code), + text, + factor, + price + ) + + "http://TA1.abda.de" -> + InvoiceData.ChargeableItem( + InvoiceData.ChargeableItem.Description.TA1(code), + text, + factor, + price + ) + + "http://fhir.de/sid/gkv/hmnr" -> + InvoiceData.ChargeableItem( + InvoiceData.ChargeableItem.Description.HMNR(code), + text, + factor, + price + ) + + else -> null + } + item + } +} + fun extractTaskIdsFromChargeItemBundle( bundle: JsonElement ): Pair> { diff --git a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/fhir/model/KBVMapper.kt b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/fhir/model/KBVMapper.kt index 35f70b4c..c333f642 100644 --- a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/fhir/model/KBVMapper.kt +++ b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/fhir/model/KBVMapper.kt @@ -74,7 +74,8 @@ typealias MedicationRequestFn = ( typealias MultiplePrescriptionInfoFn = ( indicator: Boolean, numbering: Ratio?, - start: FhirTemporal? + start: FhirTemporal?, + end: FhirTemporal? ) -> R typealias MedicationFn = ( @@ -192,7 +193,8 @@ fun { + ) && (resource.containedStringOrNull("id") ?: "") == practitionerId -> { practitioner = extractPractitioner( resource, processPractitioner diff --git a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/fhir/parser/TemporalConverter.kt b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/fhir/parser/TemporalConverter.kt index a6f71a74..23a0c794 100644 --- a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/fhir/parser/TemporalConverter.kt +++ b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/fhir/parser/TemporalConverter.kt @@ -27,6 +27,9 @@ import kotlinx.datetime.LocalTime import kotlinx.datetime.TimeZone import kotlinx.datetime.atStartOfDayIn import kotlinx.datetime.toInstant +import kotlinx.datetime.toJavaLocalDateTime +import kotlinx.datetime.toLocalDateTime +import java.time.format.DateTimeFormatter import kotlin.jvm.JvmInline /** @@ -83,8 +86,13 @@ sealed interface FhirTemporal { is LocalDateTime -> this.value.toInstant(timeZone) is LocalTime, is Year, is YearMonth -> error("invalid format") } + + fun toFormattedDate(): String? = this.toInstant(TimeZone.currentSystemDefault()) + .toFormattedDate() } +fun Instant.toFormattedDate(): String? = this.toLocalDateTime(TimeZone.currentSystemDefault()) + .toJavaLocalDateTime().format(DateTimeFormatter.ofPattern("dd.MM.yyyy")) fun Instant.asFhirTemporal() = FhirTemporal.Instant(this) fun LocalDateTime.asFhirTemporal() = FhirTemporal.LocalDateTime(this) fun LocalDate.asFhirTemporal() = FhirTemporal.LocalDate(this) diff --git a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/invoice/model/HtmlTemplate.kt b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/invoice/model/HtmlTemplate.kt index d50e0a44..adf62441 100644 --- a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/invoice/model/HtmlTemplate.kt +++ b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/invoice/model/HtmlTemplate.kt @@ -18,6 +18,7 @@ package de.gematik.ti.erp.app.invoice.model +import de.gematik.ti.erp.app.fhir.parser.toFormattedDate import de.gematik.ti.erp.app.prescription.model.SyncedTaskData object PkvHtmlTemplate { @@ -40,67 +41,143 @@ object PkvHtmlTemplate { ) = "$patientName
$patientAddress
KVNr: $patientKVNR" private fun createArticle( - article: String, + text: String, + bruttoAmount: Double + ) = """ +
$text
+
+
+
${bruttoAmount.currencyString()}
+ """.trimIndent() + + private fun createArticle( + text: String, + pzn: String, factor: Double, - tax: Double, bruttoAmount: Double ) = """ -
$article
+
$text
+
$pzn
${factor.currencyString()}
-
${tax.currencyString()}%
${bruttoAmount.currencyString()}
""".trimIndent() + private fun createArticle( + text: String, + pzn: String, + factor: Double + ) = """ +
$text
+
$pzn
+
${factor.currencyString()}
+
+ """.trimIndent() + fun createPriceData( medicationRequest: SyncedTaskData.MedicationRequest, taskId: String, - currency: String, totalBruttoAmount: Double, - items: List + items: List, + additionalDispenseItem: InvoiceData.ChargeableItem? ): String { val (fees, articles) = items.partition { - (it.description as? InvoiceData.ChargeableItem.Description.PZN)?.isSpecialPZN() ?: false + when (it.description) { + is InvoiceData.ChargeableItem.Description.PZN -> it.description.isSpecialPZN() + is InvoiceData.ChargeableItem.Description.HMNR -> it.description.isSpecialPZN() + is InvoiceData.ChargeableItem.Description.TA1 -> it.description.isSpecialPZN() + else -> false + } } val medication = joinMedicationInfo(medicationRequest) - return createPriceData( + val additionalDispenseHtml = additionalDispenseItem?.let { + val pzn = when (it.description) { + is InvoiceData.ChargeableItem.Description.HMNR -> it.description.hmnr + is InvoiceData.ChargeableItem.Description.PZN -> it.description.pzn + is InvoiceData.ChargeableItem.Description.TA1 -> it.description.ta1 + } + createArticle(text = it.text, pzn = pzn, factor = it.factor) + } ?: "" + + val multiplePrescriptionInfo = createMultiplePrescriptionInfo( + medicationRequest.multiplePrescriptionInfo + ) + val articlesHtml = createArticlesPriceData( medication, taskId, - currency = currency, - totalBruttoAmount = totalBruttoAmount, - articles = articles.map { - val article = when (it.description) { - is InvoiceData.ChargeableItem.Description.HMNR -> "HMKNR ${it.description.hmnr}" - is InvoiceData.ChargeableItem.Description.PZN -> "PZN ${it.description.pzn}" - is InvoiceData.ChargeableItem.Description.TA1 -> "TA1 ${it.description.ta1}" + multiplePrescriptionInfo, + articles.map { + val pzn = when (it.description) { + is InvoiceData.ChargeableItem.Description.HMNR -> it.description.hmnr + is InvoiceData.ChargeableItem.Description.PZN -> it.description.pzn + is InvoiceData.ChargeableItem.Description.TA1 -> it.description.ta1 } - createArticle( - article = article, - factor = it.factor, - tax = it.price.tax, - bruttoAmount = it.price.value - ) - }, - fees = fees.map { - require(it.description is InvoiceData.ChargeableItem.Description.PZN) - val article = when (InvoiceData.SpecialPZN.valueOfPZN(it.description.pzn)) { - InvoiceData.SpecialPZN.EmergencyServiceFee -> "Notdienstgebühr" - InvoiceData.SpecialPZN.BTMFee -> "BTM-Gebühr" - InvoiceData.SpecialPZN.TPrescriptionFee -> "T-Rezept Gebühr" - InvoiceData.SpecialPZN.ProvisioningCosts -> "Beschaffungskosten" - InvoiceData.SpecialPZN.DeliveryServiceCosts -> "Botendienst" - null -> error("wrong mapping") + val text = when (medicationRequest.medication) { + is SyncedTaskData.MedicationPZN -> if (medicationRequest.medication.uniqueIdentifier == pzn) { + "wie verordnet" + } else { + it.text + } + else -> { it.text } } + createArticle( - article = article, + text = text, + pzn = pzn, factor = it.factor, - tax = it.price.tax, bruttoAmount = it.price.value ) - } + }, + additionalDispenseHtml ) + + val additionalFees = fees.map { + val number = when (it.description) { + is InvoiceData.ChargeableItem.Description.HMNR -> it.description.hmnr + is InvoiceData.ChargeableItem.Description.PZN -> it.description.pzn + is InvoiceData.ChargeableItem.Description.TA1 -> it.description.ta1 + } + val article = when (InvoiceData.SpecialPZN.valueOfPZN(number)) { + InvoiceData.SpecialPZN.EmergencyServiceFee -> "Notdienstgebühr" + InvoiceData.SpecialPZN.BTMFee -> "BTM-Gebühr" + InvoiceData.SpecialPZN.TPrescriptionFee -> "T-Rezept Gebühr" + InvoiceData.SpecialPZN.ProvisioningCosts -> "Beschaffungskosten" + InvoiceData.SpecialPZN.DeliveryServiceCosts -> "Botendienst" + null -> error("wrong mapping") + } + + createArticle( + text = article, + bruttoAmount = it.price.value + ) + } + val header = if (fees.isNotEmpty()) { + """
Zusätzliche Gebühren [€]
+
+
+
+ """.trimIndent() + } else { + "" + } + val feesHtml = createFeesPriceData(totalBruttoAmount, additionalFees, header) + + return articlesHtml.plus(feesHtml) + } + + private fun createMultiplePrescriptionInfo( + multiplePrescriptionInfo: SyncedTaskData.MultiplePrescriptionInfo + ): String { + var info = "" + if (multiplePrescriptionInfo.indicator) { + info = " gültig ab " + multiplePrescriptionInfo.start?.toFormattedDate() + + " bis " + multiplePrescriptionInfo.end?.toFormattedDate() + " " + + multiplePrescriptionInfo.numbering?.numerator?.value + " von " + + multiplePrescriptionInfo.numbering?.denominator?.value + " Verordnungen" + } + return info } fun joinMedicationInfo(medicationRequest: SyncedTaskData.MedicationRequest?): String { @@ -109,7 +186,7 @@ object PkvHtmlTemplate { "${medicationRequest.quantity}x ${medication.text} / " + "${medication.amount?.numerator?.value} " + "${medication.amount?.numerator?.unit} " + - "${medication.normSizeCode} " + "${medication.normSizeCode} " + "PZN: " + medication.uniqueIdentifier is SyncedTaskData.MedicationCompounding -> "${medicationRequest.quantity}x ${medication.text} / " + "${medication.amount?.numerator?.value} " + @@ -124,39 +201,48 @@ object PkvHtmlTemplate { } } - private fun createPriceData( - requestMedication: String, - taskId: String, - currency: String, + private fun createFeesPriceData( totalBruttoAmount: Double, - articles: List, - fees: List + fees: List, + header: String ) = """
-
Kosten
-
Arzneimittel-ID: $taskId
+ $header + ${fees.joinToString("")} +
 
-
-
$requestMedication
-
-
-
Abgabe
-
Anzahl
-
MwSt.
-
Bruttopreis in $currency
- ${articles.joinToString("")} -
Zusätzliche Gebühren
+
Gesamtsumme [€]
+
${totalBruttoAmount.currencyString()}
+
+
+ """.trimIndent() + + private fun createArticlesPriceData( + requestMedication: String, + taskId: String, + multiplePrescriptionInfo: String, + articles: List, + additionalArticle: String + ) = """ +
+
+
Arzneimittel-ID: $taskId $multiplePrescriptionInfo
+
$requestMedication
+
 
- ${fees.joinToString("")} -
Gesamtsumme
-
${totalBruttoAmount.currencyString()}
+
Abgabe
+
PZN
+
Anz.
+
Bruttopreis [€]
+ ${articles.joinToString("")} + $additionalArticle
@@ -165,36 +251,36 @@ object PkvHtmlTemplate { fun createHTML(invoice: InvoiceData.PKVInvoice): String { val patient = createPatient( patientName = invoice.patient.name ?: "", - patientAddress = invoice.patient.address?.joinToString() ?: "", + patientAddress = invoice.patient.address?.joinToHtmlString() ?: "", patientKVNR = invoice.patient.insuranceIdentifier ?: "" ) val prescriber = createPrescriber( prescriberName = invoice.practitioner.name ?: "", - prescriberAddress = invoice.practitionerOrganization.address?.joinToString() ?: "", + prescriberAddress = invoice.practitionerOrganization.address?.joinToHtmlString() ?: "", prescriberLANR = invoice.practitioner.practitionerIdentifier ?: "" ) val pharmacy = createOrganization( organizationName = invoice.pharmacyOrganization.name ?: "", - organizationAddress = invoice.pharmacyOrganization.address?.joinToString() ?: "", + organizationAddress = invoice.pharmacyOrganization.address?.joinToHtmlString() ?: "", organizationIKNR = invoice.pharmacyOrganization.uniqueIdentifier ) val priceData = createPriceData( medicationRequest = invoice.medicationRequest, taskId = invoice.taskId, - currency = invoice.invoice.currency, totalBruttoAmount = invoice.invoice.totalBruttoAmount, - items = invoice.invoice.chargeableItems + items = invoice.invoice.chargeableItems, + additionalDispenseItem = invoice.invoice.additionalDispenseItem ) return createPkvHtmlInvoiceTemplate( patient = patient, - patientBirthdate = invoice.patient.birthdate?.formattedString() ?: "", + patientBirthdate = invoice.patient.birthdate?.toFormattedDate() ?: "", prescriber = prescriber, - prescribedOn = invoice.medicationRequest.authoredOn?.formattedString() ?: "", + prescribedOn = invoice.medicationRequest.authoredOn?.toFormattedDate() ?: "", pharmacy = pharmacy, - dispensedOn = invoice.whenHandedOver?.formattedString() ?: "", + dispensedOn = invoice.whenHandedOver?.toFormattedDate() ?: "", priceData = priceData ) } @@ -278,20 +364,14 @@ fun createPkvHtmlInvoiceTemplate( line-height: 1.5em; display: grid; - grid-template-columns: 4fr 1fr 1fr 1fr; + grid-template-columns: 3fr 1fr 1fr 1fr; } - .costs > div:nth-last-child(-n+4), .costs > .header { font-weight: bold; line-height: 2em; } - .costs > div:nth-child(4n+2), - .costs > div:nth-child(4n+3), - .costs > div:nth-child(4n+4) { - text-align: end; - }

PDF für Privatversicherte zur Abrechnung Ihres E-Rezeptes

diff --git a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/invoice/model/InvoiceData.kt b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/invoice/model/InvoiceData.kt index 68dc285c..4f10f74a 100644 --- a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/invoice/model/InvoiceData.kt +++ b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/invoice/model/InvoiceData.kt @@ -24,7 +24,7 @@ import kotlinx.datetime.Instant object InvoiceData { - enum class SpecialPZN(val pzn: String) { + enum class SpecialPZN(val value: String) { EmergencyServiceFee("02567018"), BTMFee("02567001"), TPrescriptionFee("06460688"), @@ -32,9 +32,9 @@ object InvoiceData { DeliveryServiceCosts("06461110"); companion object { - fun isAnyOf(pzn: String): Boolean = values().any { it.pzn == pzn } + fun isAnyOf(pzn: String): Boolean = values().any { it.value == pzn } - fun valueOfPZN(pzn: String) = SpecialPZN.values().find { it.pzn == pzn } + fun valueOfPZN(pzn: String) = SpecialPZN.values().find { it.value == pzn } } } @@ -55,18 +55,29 @@ object InvoiceData { val totalAdditionalFee: Double, val totalBruttoAmount: Double, val currency: String, - val chargeableItems: List = listOf() + val chargeableItems: List = listOf(), + val additionalDispenseItem: ChargeableItem? ) - data class ChargeableItem(val description: Description, val factor: Double, val price: PriceComponent) { + data class ChargeableItem( + val description: Description, + val text: String, + val factor: Double, + val price: PriceComponent + ) { + sealed interface Description { data class PZN(val pzn: String) : Description { fun isSpecialPZN() = SpecialPZN.isAnyOf(pzn) } - data class TA1(val ta1: String) : Description + data class TA1(val ta1: String) : Description { + fun isSpecialPZN() = SpecialPZN.isAnyOf(ta1) + } - data class HMNR(val hmnr: String) : Description + data class HMNR(val hmnr: String) : Description { + fun isSpecialPZN() = SpecialPZN.isAnyOf(hmnr) + } } } diff --git a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/invoice/repository/InvoiceLocalDataSource.kt b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/invoice/repository/InvoiceLocalDataSource.kt index a61eac75..f8be343d 100644 --- a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/invoice/repository/InvoiceLocalDataSource.kt +++ b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/invoice/repository/InvoiceLocalDataSource.kt @@ -88,258 +88,270 @@ class InvoiceLocalDataSource( lateinit var invoiceEntity: PKVInvoiceEntityV1 - extractInvoiceKBVAndErpPrBundle(bundle, process = { taskId, invoiceBundle, kbvBundle, erpPrBundle -> - extractInvoiceBundle( - invoiceBundle, - processDispense = { whenHandedOver -> - whenHandedOver - }, - processPharmacyAddress = { line, postalCode, city -> - AddressEntityV1().apply { - this.line1 = line?.getOrNull(0) ?: "" - this.line2 = line?.getOrNull(1) ?: "" - this.postalCodeAndCity = postalCode + city - } - }, - processPharmacy = { name, address, _, iknr, _, _ -> - OrganizationEntityV1().apply { - this.name = name - this.address = address - this.uniqueIdentifier = iknr - } - }, - processInvoice = { totalAdditionalFee, totalBruttoAmount, currency, items -> - InvoiceEntityV1().apply { - this.totalAdditionalFee = totalAdditionalFee - this.totalBruttoAmount = totalBruttoAmount - this.currency = currency - items.forEach { item -> - this.chargeableItems.add( - ChargeableItemV1().apply { - when (item.description) { - is InvoiceData.ChargeableItem.Description.PZN -> { - this.descriptionTypeV1 = DescriptionTypeV1.PZN - this.description = item.description.pzn - } + extractInvoiceKBVAndErpPrBundle( + bundle, + process = { taskId, invoiceBundle, kbvBundle, erpPrBundle -> + extractInvoiceBundle( + invoiceBundle, + processDispense = { whenHandedOver -> + whenHandedOver + }, + processPharmacyAddress = { line, postalCode, city -> + AddressEntityV1().apply { + this.line1 = line?.getOrNull(0) ?: "" + this.line2 = line?.getOrNull(1) ?: "" + this.postalCode = postalCode ?: "" + this.city = city ?: "" + } + }, + processPharmacy = { name, address, _, iknr, _, _ -> + OrganizationEntityV1().apply { + this.name = name + this.address = address + this.uniqueIdentifier = iknr + } + }, + processInvoice = { totalAdditionalFee, totalBruttoAmount, currency, items, additionalItem -> + InvoiceEntityV1().apply { + this.totalAdditionalFee = totalAdditionalFee + this.totalBruttoAmount = totalBruttoAmount + this.currency = currency + items.forEach { item -> + this.chargeableItems.add( + applyChargeableItem(item) + ) + } + this.additionalDispenseItem = additionalItem?.let { applyChargeableItem(it) } + } + }, + save = { taskId, timeStamp, pharmacy, invoice, whenHandedOver -> + invoiceEntity = queryFirst("taskId = $0", taskId) ?: run { + copyToRealm(PKVInvoiceEntityV1()).also { + profile.invoices += it + } + } - is InvoiceData.ChargeableItem.Description.TA1 -> { - this.descriptionTypeV1 = DescriptionTypeV1.TA1 - this.description = item.description.ta1 - } + val kbvBinary = extractBinary(kbvBundle) ?: byteArrayOf() // Verordnung + val invoiceBinary = extractBinary(invoiceBundle) ?: byteArrayOf() // Abrechnung + val erpPrBinary = extractBinary(erpPrBundle) ?: byteArrayOf() // Quittung - is InvoiceData.ChargeableItem.Description.HMNR -> { - this.descriptionTypeV1 = DescriptionTypeV1.HMNR - this.description = item.description.hmnr - } - } - this.factor = item.factor - this.price = PriceComponentV1().apply { - this.value = item.price.value - this.tax = item.price.tax - } + profile.apply { + this.invoices.add( + invoiceEntity.apply { + this.parent = profile + this.taskId = taskId + this.timestamp = timeStamp.toRealmInstant() + this.pharmacyOrganization = pharmacy + this.invoice = invoice + this.whenHandedOver = whenHandedOver + this.kbvBinary = kbvBinary + this.erpPrBinary = erpPrBinary + this.invoiceBinary = invoiceBinary } ) } } - }, - save = { taskId, timeStamp, pharmacy, invoice, whenHandedOver -> - invoiceEntity = queryFirst("taskId = $0", taskId) ?: run { - copyToRealm(PKVInvoiceEntityV1()).also { - profile.invoices += it - } - } - - val kbvBinary = extractBinary(kbvBundle) ?: byteArrayOf() // Verordnung - val invoiceBinary = extractBinary(invoiceBundle) ?: byteArrayOf() // Abrechnung - val erpPrBinary = extractBinary(erpPrBundle) ?: byteArrayOf() // Quittung + ) - profile.apply { - this.invoices.add( - invoiceEntity.apply { - this.parent = profile - this.taskId = taskId - this.timestamp = timeStamp.toRealmInstant() - this.pharmacyOrganization = pharmacy - this.invoice = invoice - this.whenHandedOver = whenHandedOver - this.kbvBinary = kbvBinary - this.erpPrBinary = erpPrBinary - this.invoiceBinary = invoiceBinary + extractKBVBundle( + kbvBundle, + processOrganization = { name, address, _, iknr, phone, mail -> + OrganizationEntityV1().apply { + this.name = name + this.address = address + this.uniqueIdentifier = iknr + this.phone = phone + this.mail = mail + } + }, + processPatient = { name, address, birthDate, insuranceIdentifier -> + PatientEntityV1().apply { + this.name = name + this.address = address + this.dateOfBirth = birthDate + this.insuranceIdentifier = insuranceIdentifier + } + }, + processPractitioner = { name, qualification, practitionerIdentifier -> + PractitionerEntityV1().apply { + this.name = name + this.qualification = qualification + this.practitionerIdentifier = practitionerIdentifier + } + }, + processInsuranceInformation = { name, statusCode -> + InsuranceInformationEntityV1().apply { + this.name = name + this.statusCode = statusCode + } + }, + processAddress = { line, postalCode, city -> + AddressEntityV1().apply { + this.line1 = line?.getOrNull(0) ?: "" + this.line2 = line?.getOrNull(1) ?: "" + this.postalCode = postalCode ?: "" + this.city = city ?: "" + } + }, + processQuantity = { value, unit -> + QuantityEntityV1().apply { + this.value = value + this.unit = unit + } + }, + processRatio = { numerator, denominator -> + RatioEntityV1().apply { + this.numerator = numerator + this.denominator = denominator + } + }, + processIngredient = { text, form, number, amount, strength -> + IngredientEntityV1().apply { + this.text = text + this.form = form + this.number = number + this.amount = amount + this.strength = strength + } + }, + processMedication = { text, + medicationProfile, + medicationCategory, + form, + amount, + vaccine, + manufacturingInstructions, + packaging, + normSizeCode, + uniqueIdentifier, + ingredients, + _, + _ -> + MedicationEntityV1().apply { + this.text = text ?: "" + this.medicationProfile = when (medicationProfile) { + MedicationProfile.PZN -> MedicationProfileV1.PZN + MedicationProfile.COMPOUNDING -> MedicationProfileV1.COMPOUNDING + MedicationProfile.INGREDIENT -> MedicationProfileV1.INGREDIENT + MedicationProfile.FREETEXT -> MedicationProfileV1.FREETEXT + else -> MedicationProfileV1.UNKNOWN } - ) - } - } - ) + this.medicationCategory = when (medicationCategory) { + MedicationCategory.ARZNEI_UND_VERBAND_MITTEL -> + MedicationCategoryV1.ARZNEI_UND_VERBAND_MITTEL - extractKBVBundle( - kbvBundle, - processOrganization = { name, address, bsnr, iknr, phone, mail -> - OrganizationEntityV1().apply { - this.name = name - this.address = address - this.uniqueIdentifier = bsnr - this.phone = phone - this.mail = mail - } - }, - processPatient = { name, address, birthDate, insuranceIdentifier -> - PatientEntityV1().apply { - this.name = name - this.address = address - this.dateOfBirth = birthDate - this.insuranceIdentifier = insuranceIdentifier - } - }, - processPractitioner = { name, qualification, practitionerIdentifier -> - PractitionerEntityV1().apply { - this.name = name - this.qualification = qualification - this.practitionerIdentifier = practitionerIdentifier - } - }, - processInsuranceInformation = { name, statusCode -> - InsuranceInformationEntityV1().apply { - this.name = name - this.statusCode = statusCode - } - }, - processAddress = { line, postalCode, city -> - AddressEntityV1().apply { - this.line1 = line?.getOrNull(0) ?: "" - this.line2 = line?.getOrNull(1) ?: "" - this.postalCodeAndCity = listOfNotNull(postalCode, city).joinToString(" ") - } - }, - processQuantity = { value, unit -> - QuantityEntityV1().apply { - this.value = value - this.unit = unit - } - }, - processRatio = { numerator, denominator -> - RatioEntityV1().apply { - this.numerator = numerator - this.denominator = denominator - } - }, - processIngredient = { text, form, number, amount, strength -> - IngredientEntityV1().apply { - this.text = text - this.form = form - this.number = number - this.amount = amount - this.strength = strength - } - }, - processMedication = { text, - medicationProfile, - medicationCategory, - form, - amount, - vaccine, - manufacturingInstructions, - packaging, - normSizeCode, - uniqueIdentifier, - ingredients, - _, - _ -> - MedicationEntityV1().apply { - this.text = text ?: "" - this.medicationProfile = when (medicationProfile) { - MedicationProfile.PZN -> MedicationProfileV1.PZN - MedicationProfile.COMPOUNDING -> MedicationProfileV1.COMPOUNDING - MedicationProfile.INGREDIENT -> MedicationProfileV1.INGREDIENT - MedicationProfile.FREETEXT -> MedicationProfileV1.FREETEXT - else -> MedicationProfileV1.UNKNOWN + MedicationCategory.BTM -> MedicationCategoryV1.BTM + MedicationCategory.AMVV -> MedicationCategoryV1.AMVV + MedicationCategory.SONSTIGES -> MedicationCategoryV1.SONSTIGES + else -> MedicationCategoryV1.UNKNOWN + } + this.form = form + this.amount = amount + this.vaccine = vaccine + this.manufacturingInstructions = manufacturingInstructions + this.packaging = packaging + this.normSizeCode = normSizeCode + this.uniqueIdentifier = uniqueIdentifier + this.ingredients = ingredients.toRealmList() } - this.medicationCategory = when (medicationCategory) { - MedicationCategory.ARZNEI_UND_VERBAND_MITTEL -> - MedicationCategoryV1.ARZNEI_UND_VERBAND_MITTEL - - MedicationCategory.BTM -> MedicationCategoryV1.BTM - MedicationCategory.AMVV -> MedicationCategoryV1.AMVV - MedicationCategory.SONSTIGES -> MedicationCategoryV1.SONSTIGES - else -> MedicationCategoryV1.UNKNOWN + }, + processMultiplePrescriptionInfo = { indicator, numbering, start, end -> + MultiplePrescriptionInfoEntityV1().apply { + this.indicator = indicator + this.numbering = numbering + this.start = start?.toInstant(TimeZone.UTC)?.toRealmInstant() + this.end = end?.toInstant(TimeZone.UTC)?.toRealmInstant() } - this.form = form - this.amount = amount - this.vaccine = vaccine - this.manufacturingInstructions = manufacturingInstructions - this.packaging = packaging - this.normSizeCode = normSizeCode - this.uniqueIdentifier = uniqueIdentifier - this.ingredients = ingredients.toRealmList() - } - }, - processMultiplePrescriptionInfo = { indicator, numbering, start -> - MultiplePrescriptionInfoEntityV1().apply { - this.indicator = indicator - this.numbering = numbering - this.start = start?.toInstant(TimeZone.UTC)?.toRealmInstant() - } - }, - processMedicationRequest = { - authoredOn, - dateOfAccident, - location, - accidentType, - emergencyFee, - substitutionAllowed, - dosageInstruction, - quantity, - multiplePrescriptionInfo, - note, - bvg, - additionalFee - -> - MedicationRequestEntityV1().apply { - this.authoredOn = authoredOn - this.dateOfAccident = - dateOfAccident?.value?.atStartOfDayIn(TimeZone.UTC)?.toRealmInstant() - this.location = location - this.accidentType = when (accidentType) { - AccidentType.Unfall -> AccidentTypeV1.Unfall - AccidentType.Arbeitsunfall -> AccidentTypeV1.Arbeitsunfall - AccidentType.Berufskrankheit -> AccidentTypeV1.Berufskrankheit - AccidentType.None -> AccidentTypeV1.None + }, + processMedicationRequest = { + authoredOn, + dateOfAccident, + location, + accidentType, + emergencyFee, + substitutionAllowed, + dosageInstruction, + quantity, + multiplePrescriptionInfo, + note, + bvg, + additionalFee + -> + MedicationRequestEntityV1().apply { + this.authoredOn = authoredOn + this.dateOfAccident = + dateOfAccident?.value?.atStartOfDayIn(TimeZone.UTC)?.toRealmInstant() + this.location = location + this.accidentType = when (accidentType) { + AccidentType.Unfall -> AccidentTypeV1.Unfall + AccidentType.Arbeitsunfall -> AccidentTypeV1.Arbeitsunfall + AccidentType.Berufskrankheit -> AccidentTypeV1.Berufskrankheit + AccidentType.None -> AccidentTypeV1.None + } + this.emergencyFee = emergencyFee + this.substitutionAllowed = substitutionAllowed + this.dosageInstruction = dosageInstruction + this.quantity = quantity + this.multiplePrescriptionInfo = multiplePrescriptionInfo + this.note = note + this.bvg = bvg + this.additionalFee = additionalFee } - this.emergencyFee = emergencyFee - this.substitutionAllowed = substitutionAllowed - this.dosageInstruction = dosageInstruction - this.quantity = quantity - this.multiplePrescriptionInfo = multiplePrescriptionInfo - this.note = note - this.bvg = bvg - this.additionalFee = additionalFee - } - }, - savePVSIdentifier = {}, - save = { organization, - patient, - practitioner, - _, - medication, - medicationRequest -> + }, + savePVSIdentifier = {}, + save = { organization, + patient, + practitioner, + _, + medication, + medicationRequest -> - invoiceEntity = queryFirst("taskId = $0", taskId) ?: run { - copyToRealm(PKVInvoiceEntityV1()).also { - profile.invoices += it + invoiceEntity = queryFirst("taskId = $0", taskId) ?: run { + copyToRealm(PKVInvoiceEntityV1()).also { + profile.invoices += it + } } - } - invoiceEntity.apply { - this.parent = profile - this.practitionerOrganization = organization - this.patient = patient - this.practitioner = practitioner - this.medicationRequest = medicationRequest.apply { - this.medication = medication + invoiceEntity.apply { + this.parent = profile + this.practitionerOrganization = organization + this.patient = patient + this.practitioner = practitioner + this.medicationRequest = medicationRequest.apply { + this.medication = medication + } } } - } - ) - }) + ) + } + ) + } + } + } + + private fun applyChargeableItem(item: InvoiceData.ChargeableItem): ChargeableItemV1 { + return ChargeableItemV1().apply { + when (item.description) { + is InvoiceData.ChargeableItem.Description.PZN -> { + this.descriptionTypeV1 = DescriptionTypeV1.PZN + this.description = item.description.pzn + } + + is InvoiceData.ChargeableItem.Description.TA1 -> { + this.descriptionTypeV1 = DescriptionTypeV1.TA1 + this.description = item.description.ta1 + } + + is InvoiceData.ChargeableItem.Description.HMNR -> { + this.descriptionTypeV1 = DescriptionTypeV1.HMNR + this.description = item.description.hmnr + } + } + this.text = item.text + this.factor = item.factor + this.price = PriceComponentV1().apply { + this.value = item.price.value + this.tax = item.price.tax } } } @@ -350,10 +362,12 @@ class InvoiceLocalDataSource( timestamp = this.timestamp.toInstant(), pharmacyOrganization = SyncedTaskData.Organization( name = this.pharmacyOrganization?.name ?: "", + uniqueIdentifier = this.pharmacyOrganization?.uniqueIdentifier, address = SyncedTaskData.Address( line1 = this.pharmacyOrganization?.address?.line1 ?: "", line2 = this.pharmacyOrganization?.address?.line2 ?: "", - postalCodeAndCity = this.pharmacyOrganization?.address?.postalCodeAndCity ?: "" + postalCode = this.pharmacyOrganization?.address?.postalCode ?: "", + city = this.pharmacyOrganization?.address?.city ?: "" ) ), practitionerOrganization = SyncedTaskData.Organization( @@ -361,7 +375,8 @@ class InvoiceLocalDataSource( address = SyncedTaskData.Address( line1 = this.practitionerOrganization?.address?.line1 ?: "", line2 = this.practitionerOrganization?.address?.line2 ?: "", - postalCodeAndCity = this.practitionerOrganization?.address?.postalCodeAndCity ?: "" + postalCode = this.practitionerOrganization?.address?.postalCode ?: "", + city = this.practitionerOrganization?.address?.city ?: "" ) ), practitioner = SyncedTaskData.Practitioner( @@ -375,7 +390,8 @@ class InvoiceLocalDataSource( SyncedTaskData.Address( line1 = it.line1, line2 = it.line2, - postalCodeAndCity = it.postalCodeAndCity + postalCode = it.postalCode, + city = it.city ) }, birthdate = this.patient?.dateOfBirth, @@ -408,7 +424,8 @@ class InvoiceLocalDataSource( unit = "" ) ), - start = this.medicationRequest?.multiplePrescriptionInfo?.start?.toInstant() + start = this.medicationRequest?.multiplePrescriptionInfo?.start?.toInstant(), + end = this.medicationRequest?.multiplePrescriptionInfo?.end?.toInstant() ), additionalFee = when (this.medicationRequest?.additionalFee) { "0" -> SyncedTaskData.AdditionalFee.NotExempt @@ -427,19 +444,9 @@ class InvoiceLocalDataSource( totalBruttoAmount = this.invoice?.totalBruttoAmount ?: 0.0, currency = this.invoice?.currency ?: "", chargeableItems = this.invoice?.chargeableItems?.map { - InvoiceData.ChargeableItem( - description = when (it.descriptionTypeV1) { - DescriptionTypeV1.PZN -> InvoiceData.ChargeableItem.Description.PZN(it.description) - DescriptionTypeV1.HMNR -> InvoiceData.ChargeableItem.Description.HMNR(it.description) - DescriptionTypeV1.TA1 -> InvoiceData.ChargeableItem.Description.TA1(it.description) - }, - factor = it.factor, - price = InvoiceData.PriceComponent( - value = it.price?.value ?: 0.0, - tax = it.price?.tax ?: 0.0 - ) - ) - } ?: listOf() + it.toChargeableItem() + } ?: listOf(), + additionalDispenseItem = this.invoice?.additionalDispenseItem?.toChargeableItem() ) ) @@ -474,4 +481,18 @@ class InvoiceLocalDataSource( queryFirst("taskId = $0", taskId)?.let { delete(it) } } } + + fun ChargeableItemV1.toChargeableItem() = InvoiceData.ChargeableItem( + description = when (this.descriptionTypeV1) { + DescriptionTypeV1.PZN -> InvoiceData.ChargeableItem.Description.PZN(this.description) + DescriptionTypeV1.HMNR -> InvoiceData.ChargeableItem.Description.HMNR(this.description) + DescriptionTypeV1.TA1 -> InvoiceData.ChargeableItem.Description.TA1(this.description) + }, + text = this.text, + factor = this.factor, + price = InvoiceData.PriceComponent( + value = this.price?.value ?: 0.0, + tax = this.price?.tax ?: 0.0 + ) + ) } diff --git a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/prescription/model/ScannedTaskData.kt b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/prescription/model/ScannedTaskData.kt index cd85c18e..b4896815 100644 --- a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/prescription/model/ScannedTaskData.kt +++ b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/prescription/model/ScannedTaskData.kt @@ -18,6 +18,7 @@ package de.gematik.ti.erp.app.prescription.model +import de.gematik.ti.erp.app.db.entities.v1.task.CommunicationEntityV1 import de.gematik.ti.erp.app.profiles.repository.ProfileIdentifier import kotlinx.datetime.Instant @@ -27,7 +28,8 @@ object ScannedTaskData { val taskId: String, val accessCode: String, val scannedOn: Instant, - val redeemedOn: Instant? + val redeemedOn: Instant?, + val communications: List = emptyList() ) { fun isRedeemable() = redeemedOn == null } diff --git a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/prescription/model/SyncedTaskData.kt b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/prescription/model/SyncedTaskData.kt index 000d6eef..fae3563e 100644 --- a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/prescription/model/SyncedTaskData.kt +++ b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/prescription/model/SyncedTaskData.kt @@ -176,16 +176,26 @@ object SyncedTaskData { data class Address( val line1: String, val line2: String, - val postalCodeAndCity: String + val postalCode: String, + val city: String ) { fun joinToString(): String = listOf( this.line1, this.line2, - this.postalCodeAndCity + this.postalCode + " " + this.city ).filter { it.isNotEmpty() - }.joinToString("\n") + }.joinToString(System.getProperty("line.separator")) + + fun joinToHtmlString(): String = + listOf( + this.line1, + this.line2, + this.postalCode + " " + this.city + ).filter { + it.isNotEmpty() + }.joinToString("
") } data class Organization( @@ -247,7 +257,8 @@ object SyncedTaskData { data class MultiplePrescriptionInfo( val indicator: Boolean = false, val numbering: Ratio? = null, - val start: Instant? = null + val start: Instant? = null, + val end: Instant? = null ) enum class AccidentType { diff --git a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/prescription/repository/TaskLocalDataSource.kt b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/prescription/repository/TaskLocalDataSource.kt index 0815536e..c6ac6863 100644 --- a/common/src/commonMain/kotlin/de/gematik/ti/erp/app/prescription/repository/TaskLocalDataSource.kt +++ b/common/src/commonMain/kotlin/de/gematik/ti/erp/app/prescription/repository/TaskLocalDataSource.kt @@ -174,7 +174,8 @@ class TaskLocalDataSource( AddressEntityV1().apply { this.line1 = line?.getOrNull(0) ?: "" this.line2 = line?.getOrNull(1) ?: "" - this.postalCodeAndCity = listOfNotNull(postalCode, city).joinToString(" ") + this.postalCode = postalCode ?: "" + this.city = city ?: "" } }, processQuantity = { value, unit -> @@ -239,11 +240,12 @@ class TaskLocalDataSource( this.ingredients = ingredients.toRealmList() } }, - processMultiplePrescriptionInfo = { indicator, numbering, start -> + processMultiplePrescriptionInfo = { indicator, numbering, start, end -> MultiplePrescriptionInfoEntityV1().apply { this.indicator = indicator this.numbering = numbering this.start = start?.toInstant(TimeZone.UTC)?.toRealmInstant() + this.end = end?.toInstant(TimeZone.UTC)?.toRealmInstant() } }, processMedicationRequest = { @@ -431,7 +433,8 @@ fun SyncedTaskEntityV1.toSyncedTask(): SyncedTaskData.SyncedTask = SyncedTaskData.Address( line1 = it.line1, line2 = it.line2, - postalCodeAndCity = it.postalCodeAndCity + postalCode = it.postalCode, + city = it.city ) }, uniqueIdentifier = this.organization?.uniqueIdentifier, @@ -449,7 +452,8 @@ fun SyncedTaskEntityV1.toSyncedTask(): SyncedTaskData.SyncedTask = SyncedTaskData.Address( line1 = it.line1, line2 = it.line2, - postalCodeAndCity = it.postalCodeAndCity + postalCode = it.postalCode, + city = it.city ) }, birthdate = this.patient?.dateOfBirth, @@ -647,5 +651,6 @@ fun ScannedTaskEntityV1.toScannedTask() = taskId = this.taskId, accessCode = this.accessCode, scannedOn = this.scannedOn.toInstant(), - redeemedOn = this.redeemedOn?.toInstant() + redeemedOn = this.redeemedOn?.toInstant(), + communications = this.communications ) diff --git a/common/src/commonTest/kotlin/de/gematik/ti/erp/app/fhir/model/CommonRessourceMapperTest.kt b/common/src/commonTest/kotlin/de/gematik/ti/erp/app/fhir/model/CommonRessourceMapperTest.kt index 331d6aa3..feef42cf 100644 --- a/common/src/commonTest/kotlin/de/gematik/ti/erp/app/fhir/model/CommonRessourceMapperTest.kt +++ b/common/src/commonTest/kotlin/de/gematik/ti/erp/app/fhir/model/CommonRessourceMapperTest.kt @@ -170,10 +170,11 @@ class CommonRessourceMapperTest { assertEquals(ReturnType.Quantity, denominator) ReturnType.Ratio }, - processMultiplePrescriptionInfo = { indicator, numbering, start -> + processMultiplePrescriptionInfo = { indicator, numbering, start, end -> assertEquals(true, indicator) assertEquals(ReturnType.Ratio, numbering) assertEquals("2022-08-17", start?.formattedString()) + assertEquals("2022-11-25", end?.formattedString()) ReturnType.MultiplePrescriptionInfo } ) diff --git a/common/src/commonTest/kotlin/de/gematik/ti/erp/app/fhir/model/InvoiceMapperTest.kt b/common/src/commonTest/kotlin/de/gematik/ti/erp/app/fhir/model/InvoiceMapperTest.kt index 55e7b9e3..411cc78f 100644 --- a/common/src/commonTest/kotlin/de/gematik/ti/erp/app/fhir/model/InvoiceMapperTest.kt +++ b/common/src/commonTest/kotlin/de/gematik/ti/erp/app/fhir/model/InvoiceMapperTest.kt @@ -29,45 +29,47 @@ enum class PKVReturnType { InvoiceBundle, Invoice, Pharmacy, PharmacyAddress, Dispense } +@Suppress("LargeClass") class InvoiceMapperTest { @Test - fun `process pkv bundle version 1_1`() { - val bundle = Json.parseToJsonElement(pkvAbgabedatenJson_vers_1_1) + fun `process chargeItem pzn 1`() { + val bundle = Json.parseToJsonElement(chargeItem_pzn_1) extractInvoiceKBVAndErpPrBundle(bundle, process = { taskId, invoiceBundle, kbvBundle, erpPrBundle -> - assertEquals("200.000.001.205.203.40", taskId) + assertEquals("200.424.187.927.272.20", taskId) val erpBinary = extractBinary(erpPrBundle) val invoiceBinary = extractBinary(invoiceBundle) val kbvBinary = extractBinary(kbvBundle) assertEquals( - "MIIUmwYJKoZIhvcNAQcCoIIUjDCCFIgCAQUxDTALBglghkgBZQMEAgEwggp1Bgkqh", + "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==", erpBinary?.decodeToString() ) assertEquals( - "MIIuswYJKoZIhvcNAQcCoIIupDCCLqACAQExDTALBglghkgBZQMEAgEwghlq", + "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==", invoiceBinary?.decodeToString() ) assertEquals( - "MII01wYJKoZIhvcNAQcCoII0yDCCNMQCAQUxDTALBglghkgBZQM", + "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==", kbvBinary?.decodeToString() ) extractInvoiceBundle( invoiceBundle, - processInvoice = { totalAdditionalFee, totalBruttoAmount, currency, items -> - assertEquals(217.69, totalAdditionalFee) - assertEquals(534.2, totalBruttoAmount) + processInvoice = { totalAdditionalFee, totalBruttoAmount, currency, items, _ -> + assertEquals(0.0, totalAdditionalFee) + assertEquals(21.04, totalBruttoAmount) assertEquals("EUR", currency) assertEquals( InvoiceData.ChargeableItem( - InvoiceData.ChargeableItem.Description.PZN("83251243"), + InvoiceData.ChargeableItem.Description.PZN("03879429"), + "BELOC-ZOK mite 47,5 mg Retardtabletten 30 St", 1.0, - InvoiceData.PriceComponent(6.23, 11.06) + InvoiceData.PriceComponent(21.04, 19.0) ), items[0] ) @@ -76,45 +78,573 @@ class InvoiceMapperTest { (items[0].description as InvoiceData.ChargeableItem.Description.PZN).isSpecialPZN() ) + PKVReturnType.Invoice + }, + processDispense = { whenHandedOver -> + assertEquals(LocalDate.parse("2023-07-03").asFhirTemporal(), whenHandedOver) + + PKVReturnType.Dispense + }, + processPharmacyAddress = { line, postalCode, city -> + assertEquals(listOf("Taunusstraße 89"), line) + assertEquals("63225", postalCode) + assertEquals("Langen", city) + + PKVReturnType.PharmacyAddress + }, + processPharmacy = { name, address, bsnr, iknr, phone, mail -> + assertEquals("Adler-Apotheke", name) + assertEquals(PKVReturnType.PharmacyAddress, address) + assertEquals(null, bsnr) + assertEquals("308412345", iknr) + assertEquals(null, phone) + assertEquals(null, mail) + + PKVReturnType.Pharmacy + }, + save = { taskId, _, pharmacy, invoice, dispense -> + assertEquals("200.424.187.927.272.20", taskId) + assertEquals(PKVReturnType.Pharmacy, pharmacy) + assertEquals(PKVReturnType.Invoice, invoice) + assertEquals(PKVReturnType.Dispense, dispense) + + PKVReturnType.InvoiceBundle + } + ) + }) + } + + @Test + fun `process chargeItem pzn 2`() { + val bundle = Json.parseToJsonElement(chargeItem_pzn_2) + + extractInvoiceKBVAndErpPrBundle(bundle, process = { taskId, invoiceBundle, kbvBundle, erpPrBundle -> + + assertEquals("200.457.180.497.994.96", taskId) + val erpBinary = extractBinary(erpPrBundle) + val invoiceBinary = extractBinary(invoiceBundle) + val kbvBinary = extractBinary(kbvBundle) + + assertEquals( + "MIIUnAYJKoZIhvcNAQcCoIIUjTCCFIkCAQUxDTALBglghkgBZQM", + erpBinary?.decodeToString() + ) + + assertEquals( + "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==", + invoiceBinary?.decodeToString() + ) + + assertEquals( + "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==", + kbvBinary?.decodeToString() + ) + + extractInvoiceBundle( + invoiceBundle, + processInvoice = { totalAdditionalFee, totalBruttoAmount, currency, items, _ -> + assertEquals(0.0, totalAdditionalFee) + assertEquals(31.4, totalBruttoAmount) + assertEquals("EUR", currency) + + assertEquals( + InvoiceData.ChargeableItem( + InvoiceData.ChargeableItem.Description.PZN("09494280"), + "VENLAFAXIN Heumann 75 mg Tabletten 100 St", + 1.0, + InvoiceData.PriceComponent(31.4, 19.0) + ), + items[0] + ) + assertEquals( + false, + (items[0].description as InvoiceData.ChargeableItem.Description.PZN).isSpecialPZN() + ) + + PKVReturnType.Invoice + }, + processDispense = { whenHandedOver -> + assertEquals(LocalDate.parse("2023-07-03").asFhirTemporal(), whenHandedOver) + + PKVReturnType.Dispense + }, + processPharmacyAddress = { line, postalCode, city -> + assertEquals(listOf("Taunusstraße 89"), line) + assertEquals("63225", postalCode) + assertEquals("Langen", city) + + PKVReturnType.PharmacyAddress + }, + processPharmacy = { name, address, bsnr, iknr, phone, mail -> + assertEquals("Adler-Apotheke", name) + assertEquals(PKVReturnType.PharmacyAddress, address) + assertEquals(null, bsnr) + assertEquals("308412345", iknr) + assertEquals(null, phone) + assertEquals(null, mail) + + PKVReturnType.Pharmacy + }, + save = { taskId, _, pharmacy, invoice, dispense -> + assertEquals("200.457.180.497.994.96", taskId) + assertEquals(PKVReturnType.Pharmacy, pharmacy) + assertEquals(PKVReturnType.Invoice, invoice) + assertEquals(PKVReturnType.Dispense, dispense) + + PKVReturnType.InvoiceBundle + } + ) + }) + } + + @Test + fun `process chargeItem pzn 3`() { + val bundle = Json.parseToJsonElement(chargeItem_pzn_3) + + extractInvoiceKBVAndErpPrBundle(bundle, process = { taskId, invoiceBundle, kbvBundle, erpPrBundle -> + + assertEquals("200.279.187.481.423.80", taskId) + val erpBinary = extractBinary(erpPrBundle) + val invoiceBinary = extractBinary(invoiceBundle) + val kbvBinary = extractBinary(kbvBundle) + + assertEquals( + "MIIUnAYJKoZIhvcNAQcCoIIUjTCCFIkCAQUxDTALBglghkgBZQMEAgEwggp1", + erpBinary?.decodeToString() + ) + + assertEquals( + "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==", + invoiceBinary?.decodeToString() + ) + + assertEquals( + "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==", + kbvBinary?.decodeToString() + ) + + extractInvoiceBundle( + invoiceBundle, + processInvoice = { totalAdditionalFee, totalBruttoAmount, currency, items, _ -> + assertEquals(0.0, totalAdditionalFee) + assertEquals(24.32, totalBruttoAmount) + assertEquals("EUR", currency) + assertEquals( InvoiceData.ChargeableItem( - InvoiceData.ChargeableItem.Description.PZN("22894670"), + InvoiceData.ChargeableItem.Description.PZN("03386388"), + "InfectoCortiKrupp® Zäpfchen 100 mg 3 St", 1.0, - InvoiceData.PriceComponent(527.97, 11.06) + InvoiceData.PriceComponent(21.82, 19.0) + ), + items[0] + ) + assertEquals( + false, + (items[0].description as InvoiceData.ChargeableItem.Description.PZN).isSpecialPZN() + ) + + assertEquals( + InvoiceData.ChargeableItem( + InvoiceData.ChargeableItem.Description.TA1("02567018"), + "Noctu-Gebühr", + 1.0, + InvoiceData.PriceComponent(2.5, 19.0) ), items[1] ) + assertEquals( + true, + (items[1].description as InvoiceData.ChargeableItem.Description.TA1).isSpecialPZN() + ) + + PKVReturnType.Invoice + }, + processDispense = { whenHandedOver -> + assertEquals(LocalDate.parse("2023-07-03").asFhirTemporal(), whenHandedOver) + + PKVReturnType.Dispense + }, + processPharmacyAddress = { line, postalCode, city -> + assertEquals(listOf("Taunusstraße 89"), line) + assertEquals("63225", postalCode) + assertEquals("Langen", city) + + PKVReturnType.PharmacyAddress + }, + processPharmacy = { name, address, bsnr, iknr, phone, mail -> + assertEquals("Adler-Apotheke", name) + assertEquals(PKVReturnType.PharmacyAddress, address) + assertEquals(null, bsnr) + assertEquals("308412345", iknr) + assertEquals(null, phone) + assertEquals(null, mail) + + PKVReturnType.Pharmacy + }, + save = { taskId, _, pharmacy, invoice, dispense -> + assertEquals("200.279.187.481.423.80", taskId) + assertEquals(PKVReturnType.Pharmacy, pharmacy) + assertEquals(PKVReturnType.Invoice, invoice) + assertEquals(PKVReturnType.Dispense, dispense) + + PKVReturnType.InvoiceBundle + } + ) + }) + } + + @Test + fun `process chargeItem pzn 5`() { + val bundle = Json.parseToJsonElement(chargeItem_pzn_5) + + extractInvoiceKBVAndErpPrBundle(bundle, process = { taskId, invoiceBundle, kbvBundle, erpPrBundle -> + + assertEquals("200.625.688.123.368.48", taskId) + val erpBinary = extractBinary(erpPrBundle) + val invoiceBinary = extractBinary(invoiceBundle) + val kbvBinary = extractBinary(kbvBundle) + + assertEquals( + "MIIUnAYJKoZIhvcNAQcCoIIUjTCCFIkCAQUxDTALBglghkgBZQMEAgEwggp1", + erpBinary?.decodeToString() + ) + + assertEquals( + "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==", + invoiceBinary?.decodeToString() + ) + + assertEquals( + "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==", + kbvBinary?.decodeToString() + ) + + extractInvoiceBundle( + invoiceBundle, + processInvoice = { totalAdditionalFee, totalBruttoAmount, currency, items, _ -> + assertEquals(0.0, totalAdditionalFee) + assertEquals(82.68, totalBruttoAmount) + assertEquals("EUR", currency) + + assertEquals( + InvoiceData.ChargeableItem( + InvoiceData.ChargeableItem.Description.PZN("00427833"), + "Viani 50µg/250µg 1 Diskus 60 ED N1", + 2.0, + InvoiceData.PriceComponent(82.68, 19.0) + ), + items[0] + ) assertEquals( false, - (items[1].description as InvoiceData.ChargeableItem.Description.PZN).isSpecialPZN() + (items[0].description as InvoiceData.ChargeableItem.Description.PZN).isSpecialPZN() ) PKVReturnType.Invoice }, processDispense = { whenHandedOver -> - assertEquals(LocalDate.parse("2023-02-17").asFhirTemporal(), whenHandedOver) + assertEquals(LocalDate.parse("2023-07-03").asFhirTemporal(), whenHandedOver) PKVReturnType.Dispense }, processPharmacyAddress = { line, postalCode, city -> - assertEquals(listOf("Görresstr. 789"), line) - assertEquals("48480", postalCode) - assertEquals("Süd Eniefeld", city) + assertEquals(listOf("Taunusstraße 89"), line) + assertEquals("63225", postalCode) + assertEquals("Langen", city) PKVReturnType.PharmacyAddress }, processPharmacy = { name, address, bsnr, iknr, phone, mail -> - assertEquals("Apotheke Crystal Claire Waters", name) + assertEquals("Adler-Apotheke", name) assertEquals(PKVReturnType.PharmacyAddress, address) assertEquals(null, bsnr) - assertEquals("833940499", iknr) + assertEquals("308412345", iknr) assertEquals(null, phone) assertEquals(null, mail) PKVReturnType.Pharmacy }, save = { taskId, _, pharmacy, invoice, dispense -> - assertEquals("200.000.001.205.203.40", taskId) + assertEquals("200.625.688.123.368.48", taskId) + assertEquals(PKVReturnType.Pharmacy, pharmacy) + assertEquals(PKVReturnType.Invoice, invoice) + assertEquals(PKVReturnType.Dispense, dispense) + + PKVReturnType.InvoiceBundle + } + ) + }) + } + + @Test + fun `process chargeItem pzn 6`() { + val bundle = Json.parseToJsonElement(chargeItem_pzn_6) + + extractInvoiceKBVAndErpPrBundle(bundle, process = { taskId, invoiceBundle, kbvBundle, erpPrBundle -> + + assertEquals("200.280.604.133.110.12", taskId) + val erpBinary = extractBinary(erpPrBundle) + val invoiceBinary = extractBinary(invoiceBundle) + val kbvBinary = extractBinary(kbvBundle) + + assertEquals( + "MIIUnAYJKoZIhvcNAQcCoIIUjTCCFIkCAQUxDTALBglghkgBZQMEAgEwggp1", + erpBinary?.decodeToString() + ) + + assertEquals( + "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==", + invoiceBinary?.decodeToString() + ) + + assertEquals( + "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==", + kbvBinary?.decodeToString() + ) + + extractInvoiceBundle( + invoiceBundle, + processInvoice = { totalAdditionalFee, totalBruttoAmount, currency, items, _ -> + assertEquals(0.0, totalAdditionalFee) + assertEquals(42.77, totalBruttoAmount) + assertEquals("EUR", currency) + + assertEquals( + InvoiceData.ChargeableItem( + InvoiceData.ChargeableItem.Description.PZN("02091840"), + "CONCOR 10 PLUS Filmtabletten 100 St", + 1.0, + InvoiceData.PriceComponent(42.77, 19.0) + ), + items[0] + ) + assertEquals( + false, + (items[0].description as InvoiceData.ChargeableItem.Description.PZN).isSpecialPZN() + ) + + PKVReturnType.Invoice + }, + processDispense = { whenHandedOver -> + assertEquals(LocalDate.parse("2023-07-03").asFhirTemporal(), whenHandedOver) + + PKVReturnType.Dispense + }, + processPharmacyAddress = { line, postalCode, city -> + assertEquals(listOf("Taunusstraße 89"), line) + assertEquals("63225", postalCode) + assertEquals("Langen", city) + + PKVReturnType.PharmacyAddress + }, + processPharmacy = { name, address, bsnr, iknr, phone, mail -> + assertEquals("Adler-Apotheke", name) + assertEquals(PKVReturnType.PharmacyAddress, address) + assertEquals(null, bsnr) + assertEquals("308412345", iknr) + assertEquals(null, phone) + assertEquals(null, mail) + + PKVReturnType.Pharmacy + }, + save = { taskId, _, pharmacy, invoice, dispense -> + assertEquals("200.280.604.133.110.12", taskId) + assertEquals(PKVReturnType.Pharmacy, pharmacy) + assertEquals(PKVReturnType.Invoice, invoice) + assertEquals(PKVReturnType.Dispense, dispense) + + PKVReturnType.InvoiceBundle + } + ) + }) + } + + @Test + fun `process chargeItem pzn 7`() { + val bundle = Json.parseToJsonElement(chargeItem_pzn_7) + + extractInvoiceKBVAndErpPrBundle(bundle, process = { taskId, invoiceBundle, kbvBundle, erpPrBundle -> + + assertEquals("200.339.908.107.779.64", taskId) + val erpBinary = extractBinary(erpPrBundle) + val invoiceBinary = extractBinary(invoiceBundle) + val kbvBinary = extractBinary(kbvBundle) + + assertEquals( + "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=", + erpBinary?.decodeToString() + ) + + assertEquals( + "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==", + invoiceBinary?.decodeToString() + ) + + assertEquals( + "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==", + kbvBinary?.decodeToString() + ) + + extractInvoiceBundle( + invoiceBundle, + processInvoice = { totalAdditionalFee, totalBruttoAmount, currency, items, _ -> + assertEquals(0.0, totalAdditionalFee) + assertEquals(63.84, totalBruttoAmount) + assertEquals("EUR", currency) + + assertEquals( + InvoiceData.ChargeableItem( + InvoiceData.ChargeableItem.Description.PZN("11514676"), + "Amoxicillin/Clavulansäure Heumann 875 mg/125 mg 10 St", + 2.0, + InvoiceData.PriceComponent(61.34, 19.0) + ), + items[0] + ) + assertEquals( + false, + (items[0].description as InvoiceData.ChargeableItem.Description.PZN).isSpecialPZN() + ) + + assertEquals( + InvoiceData.ChargeableItem( + InvoiceData.ChargeableItem.Description.TA1("02567018"), + "Noctu-Gebühr", + 1.0, + InvoiceData.PriceComponent(2.5, 19.0) + ), + items[1] + ) + assertEquals( + true, + (items[1].description as InvoiceData.ChargeableItem.Description.TA1).isSpecialPZN() + ) + + PKVReturnType.Invoice + }, + processDispense = { whenHandedOver -> + assertEquals(LocalDate.parse("2023-07-03").asFhirTemporal(), whenHandedOver) + + PKVReturnType.Dispense + }, + processPharmacyAddress = { line, postalCode, city -> + assertEquals(listOf("Taunusstraße 89"), line) + assertEquals("63225", postalCode) + assertEquals("Langen", city) + + PKVReturnType.PharmacyAddress + }, + processPharmacy = { name, address, bsnr, iknr, phone, mail -> + assertEquals("Adler-Apotheke", name) + assertEquals(PKVReturnType.PharmacyAddress, address) + assertEquals(null, bsnr) + assertEquals("308412345", iknr) + assertEquals(null, phone) + assertEquals(null, mail) + + PKVReturnType.Pharmacy + }, + save = { taskId, _, pharmacy, invoice, dispense -> + assertEquals("200.339.908.107.779.64", taskId) + assertEquals(PKVReturnType.Pharmacy, pharmacy) + assertEquals(PKVReturnType.Invoice, invoice) + assertEquals(PKVReturnType.Dispense, dispense) + + PKVReturnType.InvoiceBundle + } + ) + }) + } + + @Test + fun `process chargeItem pzn 8`() { + val bundle = Json.parseToJsonElement(chargeItem_pzn_8) + + extractInvoiceKBVAndErpPrBundle(bundle, process = { taskId, invoiceBundle, kbvBundle, erpPrBundle -> + + assertEquals("200.108.757.032.088.60", taskId) + val erpBinary = extractBinary(erpPrBundle) + val invoiceBinary = extractBinary(invoiceBundle) + val kbvBinary = extractBinary(kbvBundle) + + assertEquals( + "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=", + erpBinary?.decodeToString() + ) + + assertEquals( + "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==", + invoiceBinary?.decodeToString() + ) + + assertEquals( + "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==", + kbvBinary?.decodeToString() + ) + + extractInvoiceBundle( + invoiceBundle, + processInvoice = { totalAdditionalFee, totalBruttoAmount, currency, items, additionalItem -> + assertEquals(0.0, totalAdditionalFee) + assertEquals(50.97, totalBruttoAmount) + assertEquals("EUR", currency) + + assertEquals( + InvoiceData.ChargeableItem( + InvoiceData.ChargeableItem.Description.TA1("02567053"), + "Auseinzelung", + 1.0, + InvoiceData.PriceComponent(50.97, 19.0) + ), + items[0] + ) + assertEquals( + false, + (items[0].description as InvoiceData.ChargeableItem.Description.TA1).isSpecialPZN() + ) + + assertEquals( + InvoiceData.ChargeableItem( + InvoiceData.ChargeableItem.Description.PZN("17543785"), + "", + 0.1, + InvoiceData.PriceComponent(0.0, 0.0) + ), + additionalItem + ) + + assertEquals( + false, + (additionalItem?.description as InvoiceData.ChargeableItem.Description.PZN).isSpecialPZN() + ) + + PKVReturnType.Invoice + }, + processDispense = { whenHandedOver -> + assertEquals(LocalDate.parse("2023-07-03").asFhirTemporal(), whenHandedOver) + + PKVReturnType.Dispense + }, + processPharmacyAddress = { line, postalCode, city -> + assertEquals(listOf("Taunusstraße 89"), line) + assertEquals("63225", postalCode) + assertEquals("Langen", city) + + PKVReturnType.PharmacyAddress + }, + processPharmacy = { name, address, bsnr, iknr, phone, mail -> + assertEquals("Adler-Apotheke", name) + assertEquals(PKVReturnType.PharmacyAddress, address) + assertEquals(null, bsnr) + assertEquals("308412345", iknr) + assertEquals(null, phone) + assertEquals(null, mail) + + PKVReturnType.Pharmacy + }, + save = { taskId, _, pharmacy, invoice, dispense -> + assertEquals("200.108.757.032.088.60", taskId) assertEquals(PKVReturnType.Pharmacy, pharmacy) assertEquals(PKVReturnType.Invoice, invoice) assertEquals(PKVReturnType.Dispense, dispense) @@ -133,4 +663,93 @@ class InvoiceMapperTest { assertEquals("200.086.824.605.539.20", taskIds[0]) assertEquals("200.086.824.605.539.20", taskIds[1]) } + + @Test + fun `process chargeItem freetext`() { + val bundle = Json.parseToJsonElement(chargeItem_freetext) + + extractInvoiceKBVAndErpPrBundle(bundle, process = { taskId, invoiceBundle, kbvBundle, erpPrBundle -> + + assertEquals("200.334.138.469.717.92", taskId) + val erpBinary = extractBinary(erpPrBundle) + val invoiceBinary = extractBinary(invoiceBundle) + val kbvBinary = extractBinary(kbvBundle) + + assertEquals( + "MIIUnAYJKoZIhvcNAQcCoIIUjTCCFIkCAQUxDTALBglghkgBZQM", + erpBinary?.decodeToString() + ) + + assertEquals( + "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==", + invoiceBinary?.decodeToString() + ) + + assertEquals( + "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==", + kbvBinary?.decodeToString() + ) + + extractInvoiceBundle( + invoiceBundle, + processInvoice = { totalAdditionalFee, totalBruttoAmount, currency, items, _ -> + assertEquals(0.0, totalAdditionalFee) + assertEquals(36.15, totalBruttoAmount) + assertEquals("EUR", currency) + + assertEquals( + InvoiceData.ChargeableItem( + InvoiceData.ChargeableItem.Description.TA1("09999117"), + "Einzelimport", + 1.0, + InvoiceData.PriceComponent(27.58, 19.0) + ), + items[0] + ) + + assertEquals( + InvoiceData.ChargeableItem( + InvoiceData.ChargeableItem.Description.TA1("09999637"), + "Beschaffungskosten", + 1.0, + InvoiceData.PriceComponent(8.57, 19.0) + ), + items[1] + ) + + PKVReturnType.Invoice + }, + processDispense = { whenHandedOver -> + assertEquals(LocalDate.parse("2023-07-07").asFhirTemporal(), whenHandedOver) + + PKVReturnType.Dispense + }, + processPharmacyAddress = { line, postalCode, city -> + assertEquals(listOf("Taunusstraße 89"), line) + assertEquals("63225", postalCode) + assertEquals("Langen", city) + + PKVReturnType.PharmacyAddress + }, + processPharmacy = { name, address, bsnr, iknr, phone, mail -> + assertEquals("Adler-Apotheke", name) + assertEquals(PKVReturnType.PharmacyAddress, address) + assertEquals(null, bsnr) + assertEquals("308412345", iknr) + assertEquals(null, phone) + assertEquals(null, mail) + + PKVReturnType.Pharmacy + }, + save = { taskId, _, pharmacy, invoice, dispense -> + assertEquals("200.334.138.469.717.92", taskId) + assertEquals(PKVReturnType.Pharmacy, pharmacy) + assertEquals(PKVReturnType.Invoice, invoice) + assertEquals(PKVReturnType.Dispense, dispense) + + PKVReturnType.InvoiceBundle + } + ) + }) + } } diff --git a/common/src/commonTest/kotlin/de/gematik/ti/erp/app/fhir/model/RessourceMapperVersion102Test.kt b/common/src/commonTest/kotlin/de/gematik/ti/erp/app/fhir/model/RessourceMapperVersion102Test.kt index ec1c07dd..55180af6 100644 --- a/common/src/commonTest/kotlin/de/gematik/ti/erp/app/fhir/model/RessourceMapperVersion102Test.kt +++ b/common/src/commonTest/kotlin/de/gematik/ti/erp/app/fhir/model/RessourceMapperVersion102Test.kt @@ -252,10 +252,11 @@ class RessourceMapperVersion102Test { assertEquals(ReturnType.Quantity, denominator) ReturnType.Ratio }, - processMultiplePrescriptionInfo = { indicator, numbering, start -> + processMultiplePrescriptionInfo = { indicator, numbering, start, end -> assertTrue(indicator) assertEquals(ReturnType.Ratio, numbering) assertEquals(FhirTemporal.LocalDate(LocalDate.parse("2022-08-17")), start) + assertEquals(FhirTemporal.LocalDate(LocalDate.parse("2022-11-25")), end) ReturnType.MultiplePrescriptionInfo }, processMedicationRequest = { diff --git a/common/src/commonTest/kotlin/de/gematik/ti/erp/app/fhir/model/RessourceMapperVersion110Test.kt b/common/src/commonTest/kotlin/de/gematik/ti/erp/app/fhir/model/RessourceMapperVersion110Test.kt index ce90dc22..801dbde5 100644 --- a/common/src/commonTest/kotlin/de/gematik/ti/erp/app/fhir/model/RessourceMapperVersion110Test.kt +++ b/common/src/commonTest/kotlin/de/gematik/ti/erp/app/fhir/model/RessourceMapperVersion110Test.kt @@ -220,10 +220,11 @@ class RessourceMapperVersion110Test { assertEquals(ReturnType.Quantity, denominator) ReturnType.Ratio }, - processMultiplePrescriptionInfo = { indicator, numbering, start -> + processMultiplePrescriptionInfo = { indicator, numbering, start, end -> assertTrue(indicator) assertEquals(ReturnType.Ratio, numbering) assertEquals(LocalDate.parse("2022-05-20").asFhirTemporal(), start) + assertEquals(LocalDate.parse("2022-06-30").asFhirTemporal(), end) ReturnType.MultiplePrescriptionInfo }, processMedicationRequest = { diff --git a/common/src/commonTest/kotlin/de/gematik/ti/erp/app/fhir/model/TestData.kt b/common/src/commonTest/kotlin/de/gematik/ti/erp/app/fhir/model/TestData.kt index f2878965..939f61f5 100644 --- a/common/src/commonTest/kotlin/de/gematik/ti/erp/app/fhir/model/TestData.kt +++ b/common/src/commonTest/kotlin/de/gematik/ti/erp/app/fhir/model/TestData.kt @@ -129,9 +129,37 @@ val task_bundle_version_1_2 by lazy { } val charge_item_bundle_version_1_2 by lazy { - File("$ResourceBasePath/fhir/charge_item_bundle_vers_1_2.json").readText() + File("$ResourceBasePath/fhir/pkv/charge_item_bundle_vers_1_2.json").readText() } -val pkvAbgabedatenJson_vers_1_1 by lazy { - File("$ResourceBasePath/fhir/charge_item_by_id_bundle.json").readText() +val chargeItem_freetext by lazy { + File("$ResourceBasePath/fhir/pkv/Freitext-Verordnung.json").readText() +} + +val chargeItem_pzn_1 by lazy { + File("$ResourceBasePath/fhir/pkv/PZN-Verordnung_Nr_1.json").readText() +} + +val chargeItem_pzn_2 by lazy { + File("$ResourceBasePath/fhir/pkv/PZN-Verordnung_Nr_2.json").readText() +} + +val chargeItem_pzn_3 by lazy { + File("$ResourceBasePath/fhir/pkv/PZN-Verordnung_Nr_3.json").readText() +} + +val chargeItem_pzn_5 by lazy { + File("$ResourceBasePath/fhir/pkv/PZN-Verordnung_Nr_5.json").readText() +} + +val chargeItem_pzn_6 by lazy { + File("$ResourceBasePath/fhir/pkv/PZN-Verordnung_Nr_6.json").readText() +} + +val chargeItem_pzn_7 by lazy { + File("$ResourceBasePath/fhir/pkv/PZN-Verordnung_Nr_7.json").readText() +} + +val chargeItem_pzn_8 by lazy { + File("$ResourceBasePath/fhir/pkv/PZN-Verordnung_Nr_8.json").readText() } diff --git a/common/src/commonTest/kotlin/de/gematik/ti/erp/app/invoice/repository/InvoiceRepositoryTest.kt b/common/src/commonTest/kotlin/de/gematik/ti/erp/app/invoice/repository/InvoiceRepositoryTest.kt index 9445a3e7..0fe87cb7 100644 --- a/common/src/commonTest/kotlin/de/gematik/ti/erp/app/invoice/repository/InvoiceRepositoryTest.kt +++ b/common/src/commonTest/kotlin/de/gematik/ti/erp/app/invoice/repository/InvoiceRepositoryTest.kt @@ -49,7 +49,7 @@ import de.gematik.ti.erp.app.db.entities.v1.task.QuantityEntityV1 import de.gematik.ti.erp.app.db.entities.v1.task.RatioEntityV1 import de.gematik.ti.erp.app.db.entities.v1.task.ScannedTaskEntityV1 import de.gematik.ti.erp.app.db.entities.v1.task.SyncedTaskEntityV1 -import de.gematik.ti.erp.app.fhir.model.pkvAbgabedatenJson_vers_1_1 +import de.gematik.ti.erp.app.fhir.model.chargeItem_freetext import de.gematik.ti.erp.app.profiles.repository.ProfilesRepository import io.mockk.MockKAnnotations import io.mockk.impl.annotations.MockK @@ -133,7 +133,7 @@ class InvoiceRepositoryTest : TestDB() { @OptIn(ExperimentalCoroutinesApi::class) @Test fun `save invoices and load invoice`() { - val chargeItemByIdBundle = Json.parseToJsonElement(pkvAbgabedatenJson_vers_1_1) + val chargeItemByIdBundle = Json.parseToJsonElement(chargeItem_freetext) runTest { profileRepository.saveProfile("test", true) @@ -143,19 +143,19 @@ class InvoiceRepositoryTest : TestDB() { invoiceRepository.saveInvoice(testProfileId, chargeItemByIdBundle) val invoice = invoiceRepository.invoices(testProfileId).first()[0] - assertEquals("200.000.001.205.203.40", invoice.taskId) - assertEquals(534.2, invoice.invoice.totalBruttoAmount) - assertEquals(Instant.parse("2023-02-17T14:07:45.077Z"), invoice.timestamp) + assertEquals("200.334.138.469.717.92", invoice.taskId) + assertEquals(36.15, invoice.invoice.totalBruttoAmount) + assertEquals(Instant.parse("2023-07-07T23:30:00Z"), invoice.timestamp) val attachments = invoiceRepository.loadInvoiceAttachments(invoice.taskId) - assertEquals("200.000.001.205.203.40_verordnung.ps7", attachments?.get(0)?.first) + assertEquals("200.334.138.469.717.92_verordnung.ps7", attachments?.get(0)?.first) assertEquals("application/pkcs7-mime", attachments?.get(0)?.second) - assertEquals("200.000.001.205.203.40_abrechnung.ps7", attachments?.get(1)?.first) + assertEquals("200.334.138.469.717.92_abrechnung.ps7", attachments?.get(1)?.first) assertEquals("application/pkcs7-mime", attachments?.get(1)?.second) - assertEquals("200.000.001.205.203.40_quittung.ps7", attachments?.get(2)?.first) + assertEquals("200.334.138.469.717.92_quittung.ps7", attachments?.get(2)?.first) assertEquals("application/pkcs7-mime", attachments?.get(2)?.second) } } diff --git a/common/src/commonTest/resources/fhir/pkv/Freitext-Verordnung.json b/common/src/commonTest/resources/fhir/pkv/Freitext-Verordnung.json new file mode 100644 index 00000000..90cb2718 --- /dev/null +++ b/common/src/commonTest/resources/fhir/pkv/Freitext-Verordnung.json @@ -0,0 +1,1121 @@ +{ + "resourceType": "Bundle", + "type": "collection", + "entry": [ + { + "resource": { + "resourceType": "ChargeItem", + "id": "200.334.138.469.717.92", + "meta": { + "profile": [ + "https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_ChargeItem|1.0" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.334.138.469.717.92" + }, + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_AccessCode", + "value": "abd4afed9f3f458114fc3407878213e110f238d1afa919fbed7282abbef68bfd" + } + ], + "status": "billable", + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "X110465770" + } + }, + "enterer": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + }, + "enteredDate": "2023-02-23T15:08:32.699+00:00", + "supportingInformation": [ + { + "reference": "urn:uuid:c8606712-0000-0000-0001-000000000000", + "display": "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0004-000000000000", + "display": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0003-000000000000", + "display": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle" + } + ] + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "c8606712-0000-0000-0003-000000000000", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle|1.2" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.000.001.206.112.29" + }, + "type": "document", + "timestamp": "2023-02-23T15:08:30.803+00:00", + "link": [ + { + "relation": "self", + "url": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Task/200.000.001.206.112.29/$close/" + } + ], + "entry": [ + { + "fullUrl": "urn:uuid:1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "resource": { + "resourceType": "Composition", + "id": "1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Composition|1.2" + ] + }, + "extension": [ + { + "url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_Beneficiary", + "valueIdentifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType", + "code": "3", + "display": "Receipt" + } + ] + }, + "date": "2023-02-23T15:08:30.802+00:00", + "author": [ + { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + } + ], + "title": "Quittung", + "event": [ + { + "period": { + "start": "2023-02-23T15:08:29.843+00:00", + "end": "2023-02-23T15:08:30.802+00:00" + } + } + ], + "section": [ + { + "entry": [ + { + "reference": "Binary/PrescriptionDigest-200.000.001.206.112.29" + } + ] + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1", + "resource": { + "resourceType": "Device", + "id": "1", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Device|1.2" + ] + }, + "status": "active", + "serialNumber": "1.9.0", + "deviceName": [ + { + "name": "E-Rezept Fachdienst", + "type": "user-friendly-name" + } + ], + "version": [ + { + "value": "1.9.0" + } + ], + "contact": [ + { + "system": "email", + "value": "betrieb@gematik.de" + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Binary/PrescriptionDigest-200.000.001.206.112.29", + "resource": { + "resourceType": "Binary", + "id": "PrescriptionDigest-200.000.001.206.112.29", + "meta": { + "versionId": "1", + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Digest|1.2" + ] + }, + "contentType": "application/octet-stream", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-02-23T15:08:32.985+00:00", + "who": { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "MIIUnAYJKoZIhvcNAQcCoIIUjTCCFIkCAQUxDTALBglghkgBZQM" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0003-000000000000" + }, + { + "resource": { + "resourceType": "MedicationDispense", + "id": "a6370174-6209-4203-921f-7adcd3dbe5ba", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.2" + ], + "tag": [ + { + "display": "Beispiel MedicationDispense PKV Freitext" + } + ] + }, + "contained": [ + { + "resourceType": "Medication", + "id": "2816d83e-e2aa-4e5b-ad4c-5f402a36643a", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_FreeText|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + } + ], + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Type", + "code": "freitext" + } + ], + "text": "Yellox 0,9 mg/ml 5ml Augentrpf. Croma/Bausch&Lomb" + } + } + ], + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.334.138.469.717.92" + } + ], + "status": "completed", + "medicationReference": { + "reference": "#2816d83e-e2aa-4e5b-ad4c-5f402a36643a", + "display": "Yellox 0,9 mg/ml 5ml Augentrpf. Croma/Bausch&Lomb" + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464237" + } + }, + "performer": [ + { + "actor": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-abc-1234567890" + } + } + } + ], + "whenHandedOver": "2023-07-03" + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "129a33dc-b03e-4a05-81ee-fe0b63fc81f0", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle|1.2" + ], + "tag": [ + { + "display": "Beispiel RezeptAbgabedatenPKV Bundle (FTX-11)" + }, + { + "display": "ACHTUNG! Der fachlich korrekte Inhalt der Beispielinstanz kann nicht gewährleistet werden. Wir sind jederzeit dankbar für Hinweise auf Fehler oder für Verbesserungsvorschläge." + } + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.334.138.469.717.92" + }, + "type": "document", + "timestamp": "2023-07-07T23:30:00+00:00", + "entry": [ + { + "fullUrl": "urn:uuid:88bdd6b0-ee45-4015-8ebc-b90d5d4cdd4a", + "resource": { + "resourceType": "Composition", + "id": "88bdd6b0-ee45-4015-8ebc-b90d5d4cdd4a", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenComposition|1.2" + ] + }, + "status": "final", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-CompositionTypes", + "code": "ERezeptAbgabedaten" + } + ] + }, + "date": "2023-07-07T23:30:00Z", + "author": [ + { + "reference": "urn:uuid:2abed40e-b730-4be2-a632-cfd5c446050c" + } + ], + "title": "ERezeptAbgabedaten", + "section": [ + { + "title": "Abgabeinformationen", + "entry": [ + { + "reference": "urn:uuid:44b58a16-8093-4fed-97e2-23cce175df7a" + } + ] + }, + { + "title": "Apotheke", + "entry": [ + { + "reference": "urn:uuid:2abed40e-b730-4be2-a632-cfd5c446050c" + } + ] + } + ] + } + }, + { + "fullUrl": "urn:uuid:2abed40e-b730-4be2-a632-cfd5c446050c", + "resource": { + "resourceType": "Organization", + "id": "2abed40e-b730-4be2-a632-cfd5c446050c", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Apotheke|1.2" + ] + }, + "identifier": [ + { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "308412345" + } + ], + "name": "Adler-Apotheke", + "address": [ + { + "type": "physical", + "line": [ + "Taunusstraße 89" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Taunusstraße" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "89" + } + ] + } + ], + "city": "Langen", + "postalCode": "63225", + "country": "D" + } + ] + } + }, + { + "fullUrl": "urn:uuid:44b58a16-8093-4fed-97e2-23cce175df7a", + "resource": { + "resourceType": "MedicationDispense", + "id": "44b58a16-8093-4fed-97e2-23cce175df7a", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abgabeinformationen|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Abrechnungszeilen", + "valueReference": { + "reference": "urn:uuid:095af0ea-8d64-4197-848d-c3e3f895a6e8" + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-EX-ERP-AbrechnungsTyp", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-AbrechnungsTyp", + "code": "1" + } + ] + } + } + ], + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "performer": [ + { + "actor": { + "reference": "urn:uuid:2abed40e-b730-4be2-a632-cfd5c446050c" + } + } + ], + "authorizingPrescription": [ + { + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.334.138.469.717.92" + } + } + ], + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "Abgabeinformationen" + } + ] + }, + "whenHandedOver": "2023-07-07" + } + }, + { + "fullUrl": "urn:uuid:095af0ea-8d64-4197-848d-c3e3f895a6e8", + "resource": { + "resourceType": "Invoice", + "id": "095af0ea-8d64-4197-848d-c3e3f895a6e8", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abrechnungszeilen|1.2" + ] + }, + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "Abrechnungszeilen" + } + ] + }, + "lineItem": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Zusatzattribute", + "extension": [ + { + "url": "ZusatzattributZusaetzlicheAbgabeangaben", + "extension": [ + { + "url": "Schluessel", + "valueBoolean": true + }, + { + "url": "Gruppe", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-ZusatzattributGruppe", + "code": "12" + } + ] + } + }, + { + "url": "DokumentationFreitext", + "valueString": "AEK = 14,00 €" + } + ] + } + ] + } + ], + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://TA1.abda.de", + "code": "09999117" + } + ], + "text": "Einzelimport" + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", + "valueDecimal": 19 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", + "extension": [ + { + "url": "Kategorie", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", + "code": "0" + } + ] + } + }, + { + "url": "Kostenbetrag", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ] + } + ], + "type": "informational", + "factor": 1, + "amount": { + "value": 27.58, + "currency": "EUR" + } + } + ] + }, + { + "sequence": 2, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://TA1.abda.de", + "code": "09999637" + } + ], + "text": "Beschaffungskosten" + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", + "valueDecimal": 19 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", + "extension": [ + { + "url": "Kategorie", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", + "code": "0" + } + ] + } + }, + { + "url": "Kostenbetrag", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ] + } + ], + "type": "informational", + "factor": 1, + "amount": { + "value": 8.57, + "currency": "EUR" + } + } + ] + } + ], + "totalGross": { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Gesamtzuzahlung", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ], + "value": 36.15, + "currency": "EUR" + } + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0004-000000000000" + }, + { + "resource": { + "resourceType": "Bundle", + "id": "bbf3d648-ef6b-4d2b-a544-f8d2e27dea9a", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle|1.1.0" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.334.138.469.717.92" + }, + "type": "document", + "timestamp": "2023-07-03T08:30:00+00:00", + "entry": [ + { + "fullUrl": "http://pvs.praxis.local/fhir/Composition/c1f7e7f3-4d63-46e9-bec3-0270d5ef06b9", + "resource": { + "resourceType": "Composition", + "id": "c1f7e7f3-4d63-46e9-bec3-0270d5ef06b9", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Composition|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_Legal_basis", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_STATUSKENNZEICHEN", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_PKV_Tariff", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PKV_TARIFF", + "code": "01" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_FORMULAR_ART", + "code": "e16A" + } + ] + }, + "subject": { + "reference": "Patient/beb56e0f-b58c-4315-a581-a63a19b833ce" + }, + "date": "2023-07-03T08:00:00Z", + "author": [ + { + "reference": "Practitioner/d24be224-bd97-4afa-b9f0-a7852459fae4", + "type": "Practitioner" + }, + { + "type": "Device", + "identifier": { + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_FOR_Pruefnummer", + "value": "Y/400/2107/36/999" + } + } + ], + "title": "elektronische Arzneimittelverordnung", + "custodian": { + "reference": "Organization/7ada1ef5-fb46-4008-954b-d058fede890d" + }, + "section": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Prescription" + } + ] + }, + "entry": [ + { + "reference": "MedicationRequest/bcb59a28-81c3-4903-aa10-db4612850eb3" + } + ] + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Coverage" + } + ] + }, + "entry": [ + { + "reference": "Coverage/d1666048-7eb8-4669-b924-db5dc75c14e3" + } + ] + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/MedicationRequest/bcb59a28-81c3-4903-aa10-db4612850eb3", + "resource": { + "resourceType": "MedicationRequest", + "id": "bcb59a28-81c3-4903-aa10-db4612850eb3", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription", + "extension": [ + { + "url": "Kennzeichen", + "valueBoolean": false + } + ] + } + ], + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/384dd10b-9069-4d2f-b030-85de55868d22" + }, + "subject": { + "reference": "Patient/beb56e0f-b58c-4315-a581-a63a19b833ce" + }, + "authoredOn": "2023-07-03", + "requester": { + "reference": "Practitioner/d24be224-bd97-4afa-b9f0-a7852459fae4" + }, + "insurance": [ + { + "reference": "Coverage/d1666048-7eb8-4669-b924-db5dc75c14e3" + } + ], + "dosageInstruction": [ + { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag", + "valueBoolean": false + } + ] + } + ], + "dispenseRequest": { + "quantity": { + "value": 1, + "system": "http://unitsofmeasure.org", + "code": "{Package}" + } + }, + "substitution": { + "allowedBoolean": false + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Medication/384dd10b-9069-4d2f-b030-85de55868d22", + "resource": { + "resourceType": "Medication", + "id": "384dd10b-9069-4d2f-b030-85de55868d22", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_FreeText|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + } + ], + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Type", + "code": "freitext" + } + ], + "text": "Yellox 0,9 mg/ml Augentropfen" + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Patient/beb56e0f-b58c-4315-a581-a63a19b833ce", + "resource": { + "resourceType": "Patient", + "id": "beb56e0f-b58c-4315-a581-a63a19b833ce", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", + "code": "PKV" + } + ] + }, + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464237" + } + ], + "name": [ + { + "use": "official", + "family": "Privati", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Privati" + } + ] + }, + "given": [ + "Paolo" + ] + } + ], + "birthDate": "1935-01-06", + "address": [ + { + "type": "both", + "line": [ + "Blumenweg 18" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Blumenweg" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "18" + } + ] + } + ], + "city": "Esens", + "postalCode": "26427", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Practitioner/d24be224-bd97-4afa-b9f0-a7852459fae4", + "resource": { + "resourceType": "Practitioner", + "id": "d24be224-bd97-4afa-b9f0-a7852459fae4", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "LANR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", + "value": "987789324" + } + ], + "name": [ + { + "use": "official", + "family": "Alder", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Alder" + } + ] + }, + "given": [ + "Ernst" + ] + } + ], + "qualification": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", + "code": "00" + } + ] + } + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", + "code": "Berufsbezeichnung" + } + ], + "text": "Facharzt für Augenheilkunde" + } + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Organization/7ada1ef5-fb46-4008-954b-d058fede890d", + "resource": { + "resourceType": "Organization", + "id": "7ada1ef5-fb46-4008-954b-d058fede890d", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Organization|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "BSNR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", + "value": "721111100" + } + ], + "name": "MVZ", + "telecom": [ + { + "system": "phone", + "value": "030369258147" + } + ], + "address": [ + { + "type": "both", + "line": [ + "Herbert-Lewin-Platz 2" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Herbert-Lewin-Platz" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "2" + } + ] + } + ], + "city": "Berlin", + "postalCode": "10623", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Coverage/d1666048-7eb8-4669-b924-db5dc75c14e3", + "resource": { + "resourceType": "Coverage", + "id": "d1666048-7eb8-4669-b924-db5dc75c14e3", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" + ] + }, + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS", + "code": "1" + } + } + ], + "status": "active", + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis", + "code": "PKV" + } + ] + }, + "beneficiary": { + "reference": "Patient/beb56e0f-b58c-4315-a581-a63a19b833ce" + }, + "payor": [ + { + "identifier": { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "123456789" + }, + "display": "Allianz Private Krankenversicherung" + } + ] + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0001-000000000000" + } + ] +} diff --git a/common/src/commonTest/resources/fhir/pkv/PZN-Verordnung_Nr_1.json b/common/src/commonTest/resources/fhir/pkv/PZN-Verordnung_Nr_1.json new file mode 100644 index 00000000..d0d6a378 --- /dev/null +++ b/common/src/commonTest/resources/fhir/pkv/PZN-Verordnung_Nr_1.json @@ -0,0 +1,1367 @@ +{ + "resourceType": "Bundle", + "type": "collection", + "entry": [ + { + "resource": { + "resourceType": "ChargeItem", + "id": "200.424.187.927.272.20", + "meta": { + "profile": [ + "https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_ChargeItem|1.0" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.424.187.927.272.20" + }, + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_AccessCode", + "value": "abd4afed9f3f458114fc3407878213e110f238d1afa919fbed7282abbef68bfd" + } + ], + "status": "billable", + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "X110465770" + } + }, + "enterer": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + }, + "enteredDate": "2023-02-23T15:08:32.699+00:00", + "supportingInformation": [ + { + "reference": "urn:uuid:c8606712-0000-0000-0001-000000000000", + "display": "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0004-000000000000", + "display": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0003-000000000000", + "display": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle" + } + ] + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "c8606712-0000-0000-0003-000000000000", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle|1.2" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.000.001.206.112.29" + }, + "type": "document", + "timestamp": "2023-02-23T15:08:30.803+00:00", + "link": [ + { + "relation": "self", + "url": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Task/200.000.001.206.112.29/$close/" + } + ], + "entry": [ + { + "fullUrl": "urn:uuid:1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "resource": { + "resourceType": "Composition", + "id": "1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Composition|1.2" + ] + }, + "extension": [ + { + "url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_Beneficiary", + "valueIdentifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType", + "code": "3", + "display": "Receipt" + } + ] + }, + "date": "2023-02-23T15:08:30.802+00:00", + "author": [ + { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + } + ], + "title": "Quittung", + "event": [ + { + "period": { + "start": "2023-02-23T15:08:29.843+00:00", + "end": "2023-02-23T15:08:30.802+00:00" + } + } + ], + "section": [ + { + "entry": [ + { + "reference": "Binary/PrescriptionDigest-200.000.001.206.112.29" + } + ] + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1", + "resource": { + "resourceType": "Device", + "id": "1", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Device|1.2" + ] + }, + "status": "active", + "serialNumber": "1.9.0", + "deviceName": [ + { + "name": "E-Rezept Fachdienst", + "type": "user-friendly-name" + } + ], + "version": [ + { + "value": "1.9.0" + } + ], + "contact": [ + { + "system": "email", + "value": "betrieb@gematik.de" + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Binary/PrescriptionDigest-200.000.001.206.112.29", + "resource": { + "resourceType": "Binary", + "id": "PrescriptionDigest-200.000.001.206.112.29", + "meta": { + "versionId": "1", + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Digest|1.2" + ] + }, + "contentType": "application/octet-stream", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-02-23T15:08:32.985+00:00", + "who": { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "MIIUnAYJKoZIhvcNAQcCoIIUjTCCFIkCAQUxDTALBglghkgBZQM" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0003-000000000000" + }, + { + "resource": { + "resourceType": "Bundle", + "id": "1ad84b2a-b444-430c-9902-025214aafdb3", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle|1.1.0" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.424.187.927.272.20" + }, + "type": "document", + "timestamp": "2023-07-03T08:30:00+00:00", + "entry": [ + { + "fullUrl": "http://pvs.praxis.local/fhir/Composition/edcd7128-f902-4803-a6bf-0342a8b752ea", + "resource": { + "resourceType": "Composition", + "id": "edcd7128-f902-4803-a6bf-0342a8b752ea", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Composition|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_Legal_basis", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_STATUSKENNZEICHEN", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_PKV_Tariff", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PKV_TARIFF", + "code": "01" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_FORMULAR_ART", + "code": "e16A" + } + ] + }, + "subject": { + "reference": "Patient/7de73a99-5f79-42b2-9d64-db8f5cf9e538" + }, + "date": "2023-07-03T08:00:00Z", + "author": [ + { + "reference": "Practitioner/a7936076-8a99-4687-aefa-2d9a8cc57cb0", + "type": "Practitioner" + }, + { + "type": "Device", + "identifier": { + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_FOR_Pruefnummer", + "value": "Y/400/2107/36/999" + } + } + ], + "title": "elektronische Arzneimittelverordnung", + "custodian": { + "reference": "Organization/7a851661-24e5-418a-a275-5f3ed4c5dc19" + }, + "section": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Prescription" + } + ] + }, + "entry": [ + { + "reference": "MedicationRequest/82562d84-18c6-4ac6-bbdc-dbbfa8348375" + } + ] + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Coverage" + } + ] + }, + "entry": [ + { + "reference": "Coverage/ecf6ddb9-3601-4d0b-8998-030e94b8bdf9" + } + ] + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/MedicationRequest/82562d84-18c6-4ac6-bbdc-dbbfa8348375", + "resource": { + "resourceType": "MedicationRequest", + "id": "82562d84-18c6-4ac6-bbdc-dbbfa8348375", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription", + "extension": [ + { + "url": "Kennzeichen", + "valueBoolean": false + } + ] + } + ], + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/b4c2bba5-23bd-4be3-b58f-a70621edd84f" + }, + "subject": { + "reference": "Patient/7de73a99-5f79-42b2-9d64-db8f5cf9e538" + }, + "authoredOn": "2023-07-03", + "requester": { + "reference": "Practitioner/a7936076-8a99-4687-aefa-2d9a8cc57cb0" + }, + "insurance": [ + { + "reference": "Coverage/ecf6ddb9-3601-4d0b-8998-030e94b8bdf9" + } + ], + "dosageInstruction": [ + { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag", + "valueBoolean": true + } + ], + "text": "1-0-0-0" + } + ], + "dispenseRequest": { + "quantity": { + "value": 1, + "system": "http://unitsofmeasure.org", + "code": "{Package}" + } + }, + "substitution": { + "allowedBoolean": true + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Medication/b4c2bba5-23bd-4be3-b58f-a70621edd84f", + "resource": { + "resourceType": "Medication", + "id": "b4c2bba5-23bd-4be3-b58f-a70621edd84f", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "03879429" + } + ], + "text": "Beloc-Zok® mite 47,5 mg, 30 Retardtabletten N1" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "RET" + } + ] + }, + "amount": { + "numerator": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize", + "valueString": "30" + } + ], + "unit": "Stück" + }, + "denominator": { + "value": 1 + } + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Patient/7de73a99-5f79-42b2-9d64-db8f5cf9e538", + "resource": { + "resourceType": "Patient", + "id": "7de73a99-5f79-42b2-9d64-db8f5cf9e538", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", + "code": "PKV" + } + ] + }, + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464113" + } + ], + "name": [ + { + "use": "official", + "family": "Privati", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Privati" + } + ] + }, + "given": [ + "Paula" + ] + } + ], + "birthDate": "1935-06-22", + "address": [ + { + "type": "both", + "line": [ + "Blumenweg 18" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Blumenweg" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "18" + } + ] + } + ], + "city": "Esens", + "postalCode": "26427", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Practitioner/a7936076-8a99-4687-aefa-2d9a8cc57cb0", + "resource": { + "resourceType": "Practitioner", + "id": "a7936076-8a99-4687-aefa-2d9a8cc57cb0", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "LANR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", + "value": "987654423" + }, + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "PRN" + } + ] + }, + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-748382202" + } + ], + "name": [ + { + "use": "official", + "family": "Schneider", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Schneider" + } + ] + }, + "given": [ + "Emma" + ], + "prefix": [ + "Dr. med." + ], + "_prefix": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier", + "valueCode": "AC" + } + ] + } + ] + } + ], + "qualification": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", + "code": "00" + } + ] + } + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", + "code": "Berufsbezeichnung" + } + ], + "text": "Fachärztin für Innere Medizin" + } + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Organization/7a851661-24e5-418a-a275-5f3ed4c5dc19", + "resource": { + "resourceType": "Organization", + "id": "7a851661-24e5-418a-a275-5f3ed4c5dc19", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Organization|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "BSNR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", + "value": "721111100" + } + ], + "name": "MVZ", + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "fax", + "value": "030123456789" + }, + { + "system": "email", + "value": "mvz@e-mail.de" + } + ], + "address": [ + { + "type": "both", + "line": [ + "Herbert-Lewin-Platz 2" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Herbert-Lewin-Platz" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "2" + } + ] + } + ], + "city": "Berlin", + "postalCode": "10623", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Coverage/ecf6ddb9-3601-4d0b-8998-030e94b8bdf9", + "resource": { + "resourceType": "Coverage", + "id": "ecf6ddb9-3601-4d0b-8998-030e94b8bdf9", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" + ] + }, + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS", + "code": "1" + } + } + ], + "status": "active", + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis", + "code": "PKV" + } + ] + }, + "beneficiary": { + "reference": "Patient/7de73a99-5f79-42b2-9d64-db8f5cf9e538" + }, + "payor": [ + { + "identifier": { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "123456789" + }, + "display": "Allianz Private Krankenversicherung" + } + ] + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0001-000000000000" + }, + { + "resource": { + "resourceType": "ChargeItem", + "id": "abc825bc-bc30-45f8-b109-1b343fff5c45", + "meta": { + "profile": [ + "https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_ChargeItem|1.0" + ], + "tag": [ + { + "display": "Example of an ChargeItem." + } + ] + }, + "contained": [ + { + "resourceType": "Binary", + "id": "ad80703d-8c62-44a3-b12b-2ea66eda0aa2", + "contentType": "application/pkcs7-mime", + "data": "UEtWLUFiZ2FiZWRhdGVuIHNpZ25pZXJ0IGFscyBiYXNlNjQ=" + } + ], + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.424.187.927.272.20" + } + ], + "status": "billable", + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/gkv/kvid-10", + "value": "123456789", + "assigner": { + "display": "Allianz Private Krankenversicherung" + } + } + }, + "enterer": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-15.2.1456789123.191" + } + }, + "enteredDate": "2023-07-03T11:30:00Z", + "supportingInformation": [ + { + "reference": "#ad80703d-8c62-44a3-b12b-2ea66eda0aa2", + "display": "Binary" + } + ] + } + }, + { + "resource": { + "resourceType": "MedicationDispense", + "id": "57610035-e5aa-4b00-b541-42f3d6d8e1d3", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.2" + ], + "tag": [ + { + "display": "Beispiel MedicationDispense PKV PZN Bsp 1" + } + ] + }, + "contained": [ + { + "resourceType": "Medication", + "id": "ad3e1178-7428-4848-a974-74695f643bfd", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "03879429" + } + ], + "text": "Beloc-Zok® mite 47,5 mg, 30 Retardtabletten N1" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "RET" + } + ] + }, + "amount": { + "numerator": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize", + "valueString": "30" + } + ], + "unit": "Stück" + }, + "denominator": { + "value": 1 + } + }, + "batch": { + "lotNumber": "A123456789-1", + "expirationDate": "2024-12-31" + } + } + ], + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.424.187.927.272.20" + } + ], + "status": "completed", + "medicationReference": { + "reference": "#ad3e1178-7428-4848-a974-74695f643bfd", + "display": "Beloc-Zok® mite 47,5 mg, 30 Retardtabletten N1" + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464113" + } + }, + "performer": [ + { + "actor": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-abc-1234567890" + } + } + } + ], + "whenHandedOver": "2023-07-03", + "dosageInstruction": [ + { + "text": "1-0-0-0" + } + ] + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "baf89507-ba99-4201-b2a0-149b02b35053", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle|1.2" + ], + "tag": [ + { + "display": "Beispiel Quittung für erfolgreich durchlaufenen E-Rezept-Workflow = dispensiertes E-Rezept" + } + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.424.187.927.272.20" + }, + "type": "document", + "timestamp": "2023-07-03T11:40:00+00:00", + "link": [ + { + "relation": "self", + "url": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Task/200.424.187.927.272.20/$close/" + } + ], + "entry": [ + { + "fullUrl": "https://erp.zentral.erp.splitdns.ti-dienste.de/Composition/4cba5974-7383-48f4-9c66-81dc94dbd0a7", + "resource": { + "resourceType": "Composition", + "id": "4cba5974-7383-48f4-9c66-81dc94dbd0a7", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Composition|1.2" + ] + }, + "extension": [ + { + "url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_Beneficiary", + "valueIdentifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "606358757" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType", + "code": "3", + "display": "Receipt" + } + ] + }, + "date": "2023-07-03T11:40:00.000+00:00", + "author": [ + { + "reference": "Device/1" + } + ], + "title": "Quittung", + "event": [ + { + "period": { + "start": "2023-07-03T11:20:00.000+00:00", + "end": "2023-07-03T11:40:00.000+00:00" + } + } + ], + "section": [ + { + "entry": [ + { + "reference": "Binary/PrescriptionDigest-200.424.187.927.272.20", + "type": "Binary" + } + ] + } + ] + } + }, + { + "fullUrl": "https://erp.zentral.erp.splitdns.ti-dienste.de/Device/1", + "resource": { + "resourceType": "Device", + "id": "1", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Device|1.2" + ] + }, + "status": "active", + "serialNumber": "1.4.0", + "deviceName": [ + { + "name": "E-Rezept Fachdienst", + "type": "user-friendly-name" + } + ], + "version": [ + { + "value": "1.4.0" + } + ], + "contact": [ + { + "system": "email", + "value": "betrieb@gematik.de" + } + ] + } + }, + { + "fullUrl": "https://erp.zentral.erp.splitdns.ti-dienste.de/Binary/PrescriptionDigest-200.424.187.927.272.20", + "resource": { + "resourceType": "Binary", + "id": "PrescriptionDigest-200.424.187.927.272.20", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Digest|1.2" + ] + }, + "contentType": "application/octet-stream", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0003-000000000000" + }, + { + "resource": { + "resourceType": "Bundle", + "id": "6d240a29-144f-477b-b8e7-92d4b4bcebfd", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle|1.2" + ], + "tag": [ + { + "display": "Beispiel RezeptAbgabedatenPKV Bundle (PZN-1)" + }, + { + "display": "ACHTUNG! Der fachlich korrekte Inhalt der Beispielinstanz kann nicht gewährleistet werden. Wir sind jederzeit dankbar für Hinweise auf Fehler oder für Verbesserungsvorschläge." + } + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.424.187.927.272.20" + }, + "type": "document", + "timestamp": "2023-07-03T11:30:00+00:00", + "entry": [ + { + "fullUrl": "urn:uuid:0877a6ac-9433-43b2-bcd5-46046479c306", + "resource": { + "resourceType": "Composition", + "id": "0877a6ac-9433-43b2-bcd5-46046479c306", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenComposition|1.2" + ] + }, + "status": "final", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-CompositionTypes", + "code": "ERezeptAbgabedaten" + } + ] + }, + "date": "2023-07-03T11:30:00Z", + "author": [ + { + "reference": "urn:uuid:b998a7cd-f582-4a23-b86a-58e22402d105" + } + ], + "title": "ERezeptAbgabedaten", + "section": [ + { + "title": "Abgabeinformationen", + "entry": [ + { + "reference": "urn:uuid:7b1e6c94-71fb-4bbe-9c5a-2e865efd8526" + } + ] + }, + { + "title": "Apotheke", + "entry": [ + { + "reference": "urn:uuid:b998a7cd-f582-4a23-b86a-58e22402d105" + } + ] + } + ] + } + }, + { + "fullUrl": "urn:uuid:b998a7cd-f582-4a23-b86a-58e22402d105", + "resource": { + "resourceType": "Organization", + "id": "b998a7cd-f582-4a23-b86a-58e22402d105", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Apotheke|1.2" + ] + }, + "identifier": [ + { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "308412345" + } + ], + "name": "Adler-Apotheke", + "address": [ + { + "type": "physical", + "line": [ + "Taunusstraße 89" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Taunusstraße" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "89" + } + ] + } + ], + "city": "Langen", + "postalCode": "63225", + "country": "D" + } + ] + } + }, + { + "fullUrl": "urn:uuid:7b1e6c94-71fb-4bbe-9c5a-2e865efd8526", + "resource": { + "resourceType": "MedicationDispense", + "id": "7b1e6c94-71fb-4bbe-9c5a-2e865efd8526", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abgabeinformationen|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Abrechnungszeilen", + "valueReference": { + "reference": "urn:uuid:da94b6d8-f853-48b9-b101-be9280b81a71" + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-EX-ERP-AbrechnungsTyp", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-AbrechnungsTyp", + "code": "1" + } + ] + } + } + ], + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "performer": [ + { + "actor": { + "reference": "urn:uuid:b998a7cd-f582-4a23-b86a-58e22402d105" + } + } + ], + "authorizingPrescription": [ + { + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.424.187.927.272.20" + } + } + ], + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "Abgabeinformationen" + } + ] + }, + "whenHandedOver": "2023-07-03" + } + }, + { + "fullUrl": "urn:uuid:da94b6d8-f853-48b9-b101-be9280b81a71", + "resource": { + "resourceType": "Invoice", + "id": "da94b6d8-f853-48b9-b101-be9280b81a71", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abrechnungszeilen|1.2" + ] + }, + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "Abrechnungszeilen" + } + ] + }, + "lineItem": [ + { + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "03879429" + } + ], + "text": "BELOC-ZOK mite 47,5 mg Retardtabletten 30 St" + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", + "valueDecimal": 19 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", + "extension": [ + { + "url": "Kategorie", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", + "code": "0" + } + ] + } + }, + { + "url": "Kostenbetrag", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ] + } + ], + "type": "informational", + "factor": 1, + "amount": { + "value": 21.04, + "currency": "EUR" + } + } + ] + } + ], + "totalGross": { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Gesamtzuzahlung", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ], + "value": 21.04, + "currency": "EUR" + } + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0004-000000000000" + } + ] +} diff --git a/common/src/commonTest/resources/fhir/charge_item_by_id_bundle.json b/common/src/commonTest/resources/fhir/pkv/PZN-Verordnung_Nr_2.json similarity index 70% rename from common/src/commonTest/resources/fhir/charge_item_by_id_bundle.json rename to common/src/commonTest/resources/fhir/pkv/PZN-Verordnung_Nr_2.json index 552eb7dd..49c6b210 100644 --- a/common/src/commonTest/resources/fhir/charge_item_by_id_bundle.json +++ b/common/src/commonTest/resources/fhir/pkv/PZN-Verordnung_Nr_2.json @@ -1,14 +1,11 @@ { "resourceType": "Bundle", - "id": "658d213d-523b-4a24-bbdb-f237611ead2d", "type": "collection", - "timestamp": "2023-02-17T14:07:47.710+00:00", "entry": [ { - "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/ChargeItem/200.000.001.205.203.40", "resource": { "resourceType": "ChargeItem", - "id": "200.000.001.205.203.40", + "id": "200.457.180.497.994.96", "meta": { "profile": [ "https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_ChargeItem|1.0" @@ -17,11 +14,11 @@ "identifier": [ { "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", - "value": "200.000.001.205.203.40" + "value": "200.457.180.497.994.96" }, { "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_AccessCode", - "value": "feaf93c400be820a1981250a29d529e3de9a5a3054049d58f133ea13e00d36b0" + "value": "abd4afed9f3f458114fc3407878213e110f238d1afa919fbed7282abbef68bfd" } ], "status": "billable", @@ -45,80 +42,94 @@ "value": "3-SMC-B-Testkarte-883110000116873" } }, - "enteredDate": "2023-02-17T14:07:46.964+00:00", + "enteredDate": "2023-02-23T15:08:32.699+00:00", "supportingInformation": [ { - "reference": "Bundle/775157da-afc8-4248-b90b-a32163895323", + "reference": "urn:uuid:c8606712-0000-0000-0001-000000000000", "display": "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle" }, { - "reference": "Bundle/a2442313-18da-4051-b355-42a47d9f823a", + "reference": "urn:uuid:c8606712-0000-0000-0004-000000000000", "display": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle" }, { - "reference": "Bundle/c8d36312-0000-0000-0003-000000000000", + "reference": "urn:uuid:c8606712-0000-0000-0003-000000000000", "display": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle" } ] } }, { - "fullUrl": "urn:uuid:a2442313-18da-4051-b355-42a47d9f823a", "resource": { "resourceType": "Bundle", + "id": "c8606712-0000-0000-0003-000000000000", "meta": { - "lastUpdated": "2023-02-17T15:07:45.077+01:00", "profile": [ - "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle|1.1" + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle|1.2" ] }, "identifier": { "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", - "value": "200.000.001.205.203.40" + "value": "200.000.001.206.112.29" }, "type": "document", - "timestamp": "2023-02-17T15:07:45.077+01:00", + "timestamp": "2023-02-23T15:08:30.803+00:00", + "link": [ + { + "relation": "self", + "url": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Task/200.000.001.206.112.29/$close/" + } + ], "entry": [ { - "fullUrl": "urn:uuid:f67f6885-c527-4198-a44a-d5bef2fda5b9", + "fullUrl": "urn:uuid:1f107ad7-f4bf-47e3-a606-0181f5dd4f73", "resource": { "resourceType": "Composition", - "id": "f67f6885-c527-4198-a44a-d5bef2fda5b9", + "id": "1f107ad7-f4bf-47e3-a606-0181f5dd4f73", "meta": { "profile": [ - "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenComposition|1.1" + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Composition|1.2" ] }, + "extension": [ + { + "url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_Beneficiary", + "valueIdentifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + } + ], "status": "final", "type": { "coding": [ { - "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-CompositionTypes", - "code": "ERezeptAbgabedaten" + "system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType", + "code": "3", + "display": "Receipt" } ] }, - "date": "2023-02-17T15:07:45+01:00", + "date": "2023-02-23T15:08:30.802+00:00", "author": [ { - "reference": "urn:uuid:623e785c-0f6d-4db9-8488-9809b8493537" + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" } ], - "title": "ERezeptAbgabedaten", - "section": [ + "title": "Quittung", + "event": [ { - "title": "Apotheke", - "entry": [ - { - "reference": "urn:uuid:623e785c-0f6d-4db9-8488-9809b8493537" - } - ] - }, + "period": { + "start": "2023-02-23T15:08:29.843+00:00", + "end": "2023-02-23T15:08:30.802+00:00" + } + } + ], + "section": [ { - "title": "Abgabeinformationen", "entry": [ { - "reference": "urn:uuid:e00e96a2-6dae-4036-8e72-42b5c21fdbf3" + "reference": "Binary/PrescriptionDigest-200.000.001.206.112.29" } ] } @@ -126,247 +137,49 @@ } }, { - "fullUrl": "urn:uuid:623e785c-0f6d-4db9-8488-9809b8493537", + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1", "resource": { - "resourceType": "Organization", - "id": "623e785c-0f6d-4db9-8488-9809b8493537", + "resourceType": "Device", + "id": "1", "meta": { "profile": [ - "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Apotheke|1.1" + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Device|1.2" ] }, - "identifier": [ + "status": "active", + "serialNumber": "1.9.0", + "deviceName": [ { - "system": "http://fhir.de/sid/arge-ik/iknr", - "value": "833940499" + "name": "E-Rezept Fachdienst", + "type": "user-friendly-name" } ], - "name": "Apotheke Crystal Claire Waters", - "address": [ + "version": [ { - "type": "physical", - "line": [ - "Görresstr. 789" - ], - "_line": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "789" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Görresstr." - } - ] - } - ], - "city": "Süd Eniefeld", - "postalCode": "48480", - "country": "D" + "value": "1.9.0" } - ] - } - }, - { - "fullUrl": "urn:uuid:39618663-4b23-43de-ab1d-db25b2d85130", - "resource": { - "resourceType": "Invoice", - "id": "39618663-4b23-43de-ab1d-db25b2d85130", - "meta": { - "profile": [ - "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abrechnungszeilen|1.1" - ] - }, - "status": "issued", - "type": { - "coding": [ - { - "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", - "code": "Abrechnungszeilen" - } - ] - }, - "lineItem": [ - { - "sequence": 1, - "chargeItemCodeableConcept": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/ifa/pzn", - "code": "83251243" - } - ] - }, - "priceComponent": [ - { - "extension": [ - { - "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", - "extension": [ - { - "url": "Kategorie", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", - "code": "0" - } - ] - } - }, - { - "url": "Kostenbetrag", - "valueMoney": { - "value": 3.81, - "currency": "EUR" - } - } - ] - }, - { - "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", - "valueDecimal": 11.06 - } - ], - "type": "informational", - "factor": 1, - "amount": { - "value": 6.23, - "currency": "EUR" - } - } - ] - }, + ], + "contact": [ { - "sequence": 2, - "chargeItemCodeableConcept": { - "coding": [ - { - "system": "http://fhir.de/CodeSystem/ifa/pzn", - "code": "22894670" - } - ] - }, - "priceComponent": [ - { - "extension": [ - { - "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", - "extension": [ - { - "url": "Kategorie", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", - "code": "0" - } - ] - } - }, - { - "url": "Kostenbetrag", - "valueMoney": { - "value": 213.88, - "currency": "EUR" - } - } - ] - }, - { - "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", - "valueDecimal": 11.06 - } - ], - "type": "informational", - "factor": 1, - "amount": { - "value": 527.97, - "currency": "EUR" - } - } - ] + "system": "email", + "value": "betrieb@gematik.de" } - ], - "totalGross": { - "extension": [ - { - "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Gesamtzuzahlung", - "valueMoney": { - "value": 217.69, - "currency": "EUR" - } - } - ], - "value": 534.20, - "currency": "EUR" - } + ] } }, { - "fullUrl": "urn:uuid:e00e96a2-6dae-4036-8e72-42b5c21fdbf3", + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Binary/PrescriptionDigest-200.000.001.206.112.29", "resource": { - "resourceType": "MedicationDispense", - "id": "e00e96a2-6dae-4036-8e72-42b5c21fdbf3", + "resourceType": "Binary", + "id": "PrescriptionDigest-200.000.001.206.112.29", "meta": { + "versionId": "1", "profile": [ - "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abgabeinformationen|1.1" - ] - }, - "extension": [ - { - "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-EX-ERP-AbrechnungsTyp", - "valueCodeableConcept": { - "coding": [ - { - "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-AbrechnungsTyp", - "code": "1" - } - ] - } - }, - { - "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Abrechnungszeilen", - "valueReference": { - "reference": "urn:uuid:39618663-4b23-43de-ab1d-db25b2d85130" - } - } - ], - "status": "completed", - "medicationCodeableConcept": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", - "code": "not-applicable" - } - ] - }, - "performer": [ - { - "actor": { - "reference": "urn:uuid:623e785c-0f6d-4db9-8488-9809b8493537" - } - } - ], - "authorizingPrescription": [ - { - "identifier": { - "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", - "value": "200.000.001.205.203.40" - } - } - ], - "type": { - "coding": [ - { - "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", - "code": "Abgabeinformationen" - } + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Digest|1.2" ] }, - "whenHandedOver": "2023-02-17" + "contentType": "application/octet-stream", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" } } ], @@ -377,57 +190,57 @@ "code": "1.2.840.10065.1.12.1.1" } ], - "when": "2023-02-17T14:07:47.809+00:00", + "when": "2023-02-23T15:08:32.985+00:00", "who": { "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" }, "sigFormat": "application/pkcs7-mime", - "data": "MIIuswYJKoZIhvcNAQcCoIIupDCCLqACAQExDTALBglghkgBZQMEAgEwghlq" + "data": "MIIUnAYJKoZIhvcNAQcCoIIUjTCCFIkCAQUxDTALBglghkgBZQM" } - } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0003-000000000000" }, { - "fullUrl": "urn:uuid:775157da-afc8-4248-b90b-a32163895323", "resource": { "resourceType": "Bundle", + "id": "c048c6d9-a736-4f47-bbe6-3735ee593053", "meta": { - "lastUpdated": "2023-02-17T15:07:40.162+01:00", "profile": [ "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle|1.1.0" ] }, "identifier": { "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", - "value": "200.000.001.205.203.40" + "value": "200.457.180.497.994.96" }, "type": "document", - "timestamp": "2023-02-17T15:07:40.162+01:00", + "timestamp": "2023-07-03T08:30:00+00:00", "entry": [ { - "fullUrl": "https://pvs.gematik.de/fhir/Composition/25ecd923-1d58-4e74-a0b8-dde43bb06b5e", + "fullUrl": "http://pvs.praxis.local/fhir/Composition/6b2af72e-4aa7-4186-b382-c1c4e91fc86f", "resource": { "resourceType": "Composition", - "id": "25ecd923-1d58-4e74-a0b8-dde43bb06b5e", + "id": "6b2af72e-4aa7-4186-b382-c1c4e91fc86f", "meta": { "profile": [ "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Composition|1.1.0" ] }, "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_PKV_Tariff", - "valueCoding": { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PKV_TARIFF", - "code": "03" - } - }, { "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_Legal_basis", "valueCoding": { "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_STATUSKENNZEICHEN", "code": "00" } - } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_PKV_Tariff", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PKV_TARIFF", + "code": "01" + } + } ], "status": "final", "type": { @@ -439,25 +252,25 @@ ] }, "subject": { - "reference": "Patient/0e69e4e7-f2c5-4bd6-bf25-5af4e715c472" + "reference": "Patient/9666be3b-1fc1-4022-9bdf-1d6cef13216b" }, - "date": "2023-02-17T15:07:40+01:00", + "date": "2023-07-03T08:00:00Z", "author": [ { - "reference": "Practitioner/d31cee47-e0e8-4bd6-82f3-e70daecd4b7b", + "reference": "Practitioner/8375a04d-8840-4153-b453-01fe472de950", "type": "Practitioner" }, { "type": "Device", "identifier": { "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_FOR_Pruefnummer", - "value": "GEMATIK/410/2109/36/123" + "value": "Y/400/2107/36/999" } } ], "title": "elektronische Arzneimittelverordnung", "custodian": { - "reference": "Organization/4e118502-4ed8-45f5-9c79-9a64eaab88f6" + "reference": "Organization/ad6bde72-7ef4-49b5-9607-34cb1472730e" }, "section": [ { @@ -465,13 +278,13 @@ "coding": [ { "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", - "code": "Coverage" + "code": "Prescription" } ] }, "entry": [ { - "reference": "Coverage/06f31815-aea8-490a-8c0b-b3123b1600cf" + "reference": "MedicationRequest/3803c4d8-14e5-4f12-8399-6a47dc0d1d0f" } ] }, @@ -480,13 +293,13 @@ "coding": [ { "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", - "code": "Prescription" + "code": "Coverage" } ] }, "entry": [ { - "reference": "MedicationRequest/28744ee3-ff3a-4793-9036-c11d6b4b105f" + "reference": "Coverage/a0aad421-576c-464a-be92-89ae911fb48e" } ] } @@ -494,10 +307,10 @@ } }, { - "fullUrl": "https://pvs.gematik.de/fhir/MedicationRequest/28744ee3-ff3a-4793-9036-c11d6b4b105f", + "fullUrl": "http://pvs.praxis.local/fhir/MedicationRequest/3803c4d8-14e5-4f12-8399-6a47dc0d1d0f", "resource": { "resourceType": "MedicationRequest", - "id": "28744ee3-ff3a-4793-9036-c11d6b4b105f", + "id": "3803c4d8-14e5-4f12-8399-6a47dc0d1d0f", "meta": { "profile": [ "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" @@ -505,11 +318,11 @@ }, "extension": [ { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", "valueBoolean": false }, { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", "valueBoolean": false }, { @@ -520,30 +333,23 @@ "valueBoolean": false } ] - }, - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_StatusCoPayment", - "valueCoding": { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_StatusCoPayment", - "code": "0" - } } ], "status": "active", "intent": "order", "medicationReference": { - "reference": "Medication/368dadee-d6d9-425b-afbd-93ccbf109ad8" + "reference": "Medication/27740018-2539-43e5-8ad5-7b9f3755a192" }, "subject": { - "reference": "Patient/0e69e4e7-f2c5-4bd6-bf25-5af4e715c472" + "reference": "Patient/9666be3b-1fc1-4022-9bdf-1d6cef13216b" }, - "authoredOn": "2023-02-17", + "authoredOn": "2023-07-03", "requester": { - "reference": "Practitioner/d31cee47-e0e8-4bd6-82f3-e70daecd4b7b" + "reference": "Practitioner/8375a04d-8840-4153-b453-01fe472de950" }, "insurance": [ { - "reference": "Coverage/06f31815-aea8-490a-8c0b-b3123b1600cf" + "reference": "Coverage/a0aad421-576c-464a-be92-89ae911fb48e" } ], "dosageInstruction": [ @@ -551,10 +357,9 @@ "extension": [ { "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag", - "valueBoolean": true + "valueBoolean": false } - ], - "text": "1-0-0-0" + ] } ], "dispenseRequest": { @@ -570,10 +375,10 @@ } }, { - "fullUrl": "https://pvs.gematik.de/fhir/Medication/368dadee-d6d9-425b-afbd-93ccbf109ad8", + "fullUrl": "http://pvs.praxis.local/fhir/Medication/27740018-2539-43e5-8ad5-7b9f3755a192", "resource": { "resourceType": "Medication", - "id": "368dadee-d6d9-425b-afbd-93ccbf109ad8", + "id": "27740018-2539-43e5-8ad5-7b9f3755a192", "meta": { "profile": [ "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" @@ -606,17 +411,17 @@ }, { "url": "http://fhir.de/StructureDefinition/normgroesse", - "valueCode": "NB" + "valueCode": "N3" } ], "code": { "coding": [ { "system": "http://fhir.de/CodeSystem/ifa/pzn", - "code": "17091124" + "code": "05392039" } ], - "text": "Schmerzmittel" + "text": "Venlafaxin - 1 A Pharma® 75mg 100 Tabl. N3" }, "form": { "coding": [ @@ -625,28 +430,14 @@ "code": "TAB" } ] - }, - "amount": { - "numerator": { - "extension": [ - { - "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize", - "valueString": "1" - } - ], - "unit": "Stk" - }, - "denominator": { - "value": 1 - } } } }, { - "fullUrl": "https://pvs.gematik.de/fhir/Patient/0e69e4e7-f2c5-4bd6-bf25-5af4e715c472", + "fullUrl": "http://pvs.praxis.local/fhir/Patient/9666be3b-1fc1-4022-9bdf-1d6cef13216b", "resource": { "resourceType": "Patient", - "id": "0e69e4e7-f2c5-4bd6-bf25-5af4e715c472", + "id": "9666be3b-1fc1-4022-9bdf-1d6cef13216b", "meta": { "profile": [ "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" @@ -663,59 +454,125 @@ ] }, "system": "http://fhir.de/sid/pkv/kvid-10", - "value": "X110465770" + "value": "P123464315" } ], "name": [ { "use": "official", - "family": "Angermänn", + "family": "Privatus", "_family": { "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", - "valueString": "Angermänn" + "valueString": "Privatus" } ] }, "given": [ - "Günther" + "Paulus" ] } ], - "birthDate": "1976-04-30", + "birthDate": "1969-11-07", "address": [ { "type": "both", "line": [ - "Weiherstr. 74a" + "Nauheimer Str. 188" ], "_line": [ { "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "74a" + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Nauheimer Str." }, { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Weiherstr." + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "188" } ] } ], - "city": "Büttnerdorf", - "postalCode": "67411", + "city": "Köln", + "postalCode": "50969", "country": "D" } ] } }, { - "fullUrl": "https://pvs.gematik.de/fhir/Organization/4e118502-4ed8-45f5-9c79-9a64eaab88f6", + "fullUrl": "http://pvs.praxis.local/fhir/Practitioner/8375a04d-8840-4153-b453-01fe472de950", + "resource": { + "resourceType": "Practitioner", + "id": "8375a04d-8840-4153-b453-01fe472de950", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "LANR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", + "value": "582369858" + } + ], + "name": [ + { + "use": "official", + "family": "Becker", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Becker" + } + ] + }, + "given": [ + "Emilia" + ] + } + ], + "qualification": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", + "code": "00" + } + ] + } + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", + "code": "Berufsbezeichnung" + } + ], + "text": "Fachärztin für Psychiatrie und Psychotherapie" + } + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Organization/ad6bde72-7ef4-49b5-9607-34cb1472730e", "resource": { "resourceType": "Organization", - "id": "4e118502-4ed8-45f5-9c79-9a64eaab88f6", + "id": "ad6bde72-7ef4-49b5-9607-34cb1472730e", "meta": { "profile": [ "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Organization|1.1.0" @@ -732,52 +589,48 @@ ] }, "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", - "value": "734374849" + "value": "723333300" } ], - "name": "Arztpraxis Schraßer", + "name": "Praxis für Psychiatrie und Psychotherapie", "telecom": [ { "system": "phone", - "value": "(05808) 9632619" - }, - { - "system": "email", - "value": "andre.teufel@xn--schffer-7wa.name" + "value": "030369258147" } ], "address": [ { "type": "both", "line": [ - "Halligstr. 98" + "Herbert-Lewin-Platz 2" ], "_line": [ { "extension": [ { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", - "valueString": "98" + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Herbert-Lewin-Platz" }, { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", - "valueString": "Halligstr." + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "2" } ] } ], - "city": "Alt Mateo", - "postalCode": "85005", + "city": "Berlin", + "postalCode": "10623", "country": "D" } ] } }, { - "fullUrl": "https://pvs.gematik.de/fhir/Coverage/06f31815-aea8-490a-8c0b-b3123b1600cf", + "fullUrl": "http://pvs.praxis.local/fhir/Coverage/a0aad421-576c-464a-be92-89ae911fb48e", "resource": { "resourceType": "Coverage", - "id": "06f31815-aea8-490a-8c0b-b3123b1600cf", + "id": "a0aad421-576c-464a-be92-89ae911fb48e", "meta": { "profile": [ "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" @@ -798,13 +651,6 @@ "code": "00" } }, - { - "url": "http://fhir.de/StructureDefinition/gkv/wop", - "valueCoding": { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_ITA_WOP", - "code": "71" - } - }, { "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", "valueCoding": { @@ -823,94 +669,15 @@ ] }, "beneficiary": { - "reference": "Patient/53d4475b-bff0-470a-89a4-1811c832ee06" + "reference": "Patient/9666be3b-1fc1-4022-9bdf-1d6cef13216b" }, "payor": [ { "identifier": { "system": "http://fhir.de/sid/arge-ik/iknr", - "value": "100843242" + "value": "123456789" }, - "display": "Künstler-Krankenkasse Baden-Württemberg" - } - ] - } - }, - { - "fullUrl": "https://pvs.gematik.de/fhir/Practitioner/d31cee47-e0e8-4bd6-82f3-e70daecd4b7b", - "resource": { - "resourceType": "Practitioner", - "id": "d31cee47-e0e8-4bd6-82f3-e70daecd4b7b", - "meta": { - "profile": [ - "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" - ] - }, - "identifier": [ - { - "type": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/v2-0203", - "code": "LANR" - } - ] - }, - "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", - "value": "443236256" - } - ], - "name": [ - { - "use": "official", - "family": "Schraßer", - "_family": { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", - "valueString": "Schraßer" - } - ] - }, - "given": [ - "Dr." - ], - "prefix": [ - "Dr." - ], - "_prefix": [ - { - "extension": [ - { - "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier", - "valueCode": "AC" - } - ] - } - ] - } - ], - "qualification": [ - { - "code": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", - "code": "00" - } - ] - } - }, - { - "code": { - "coding": [ - { - "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", - "code": "Berufsbezeichnung" - } - ], - "text": "Super-Facharzt für alles Mögliche" - } + "display": "Allianz Private Krankenversicherung" } ] } @@ -923,86 +690,80 @@ "code": "1.2.840.10065.1.12.1.1" } ], - "when": "2023-02-17T14:07:47.806+00:00", + "when": "2023-07-30T10:40:00+00:00", "who": { - "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" }, "sigFormat": "application/pkcs7-mime", - "data": "MII01wYJKoZIhvcNAQcCoII0yDCCNMQCAQUxDTALBglghkgBZQM" + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" } - } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0001-000000000000" }, { - "fullUrl": "urn:uuid:c8d36312-0000-0000-0003-000000000000", "resource": { "resourceType": "Bundle", + "id": "22b18216-fd8c-4ae2-8d9d-5bfdef0ee307", "meta": { "profile": [ - "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle|1.2" + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle|1.2" + ], + "tag": [ + { + "display": "Beispiel RezeptAbgabedatenPKV Bundle (PZN-2)" + }, + { + "display": "ACHTUNG! Der fachlich korrekte Inhalt der Beispielinstanz kann nicht gewährleistet werden. Wir sind jederzeit dankbar für Hinweise auf Fehler oder für Verbesserungsvorschläge." + } ] }, "identifier": { "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", - "value": "200.000.001.205.203.40" + "value": "200.457.180.497.994.96" }, "type": "document", - "timestamp": "2023-02-17T14:07:43.665+00:00", - "link": [ - { - "relation": "self", - "url": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Task/200.000.001.205.203.40/$close/" - } - ], + "timestamp": "2023-07-03T11:30:00+00:00", "entry": [ { - "fullUrl": "urn:uuid:0cf976ed-8a4c-4078-bc3b-e935f06b4362", + "fullUrl": "urn:uuid:a6deb8d4-a41e-484f-b1aa-47c8a96d88fd", "resource": { "resourceType": "Composition", - "id": "0cf976ed-8a4c-4078-bc3b-e935f06b4362", + "id": "a6deb8d4-a41e-484f-b1aa-47c8a96d88fd", "meta": { "profile": [ - "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Composition|1.2" + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenComposition|1.2" ] }, - "extension": [ - { - "url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_Beneficiary", - "valueIdentifier": { - "system": "https://gematik.de/fhir/sid/telematik-id", - "value": "3-SMC-B-Testkarte-883110000116873" - } - } - ], "status": "final", "type": { "coding": [ { - "system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType", - "code": "3", - "display": "Receipt" + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-CompositionTypes", + "code": "ERezeptAbgabedaten" } ] }, - "date": "2023-02-17T14:07:43.664+00:00", + "date": "2023-07-03T11:30:00Z", "author": [ { - "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" - } - ], - "title": "Quittung", - "event": [ - { - "period": { - "start": "2023-02-17T14:07:42.401+00:00", - "end": "2023-02-17T14:07:43.664+00:00" - } + "reference": "urn:uuid:016a3696-bb88-4e94-8f91-05146a04d028" } ], + "title": "ERezeptAbgabedaten", "section": [ { + "title": "Abgabeinformationen", "entry": [ { - "reference": "Binary/PrescriptionDigest-200.000.001.205.203.40" + "reference": "urn:uuid:1c79f862-2ca0-498b-be44-05b6bd6dc0f9" + } + ] + }, + { + "title": "Apotheke", + "entry": [ + { + "reference": "urn:uuid:016a3696-bb88-4e94-8f91-05146a04d028" } ] } @@ -1010,49 +771,198 @@ } }, { - "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1", + "fullUrl": "urn:uuid:016a3696-bb88-4e94-8f91-05146a04d028", "resource": { - "resourceType": "Device", - "id": "1", + "resourceType": "Organization", + "id": "016a3696-bb88-4e94-8f91-05146a04d028", "meta": { "profile": [ - "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Device|1.2" + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Apotheke|1.2" ] }, - "status": "active", - "serialNumber": "1.9.0", - "deviceName": [ + "identifier": [ { - "name": "E-Rezept Fachdienst", - "type": "user-friendly-name" + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "308412345" } ], - "version": [ + "name": "Adler-Apotheke", + "address": [ { - "value": "1.9.0" + "type": "physical", + "line": [ + "Taunusstraße 89" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Taunusstraße" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "89" + } + ] + } + ], + "city": "Langen", + "postalCode": "63225", + "country": "D" + } + ] + } + }, + { + "fullUrl": "urn:uuid:1c79f862-2ca0-498b-be44-05b6bd6dc0f9", + "resource": { + "resourceType": "MedicationDispense", + "id": "1c79f862-2ca0-498b-be44-05b6bd6dc0f9", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abgabeinformationen|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Abrechnungszeilen", + "valueReference": { + "reference": "urn:uuid:7ac4e17b-b87f-43ab-a9dc-f3c191c1c15d" + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-EX-ERP-AbrechnungsTyp", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-AbrechnungsTyp", + "code": "1" + } + ] + } } ], - "contact": [ + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "performer": [ { - "system": "email", - "value": "betrieb@gematik.de" + "actor": { + "reference": "urn:uuid:016a3696-bb88-4e94-8f91-05146a04d028" + } } - ] + ], + "authorizingPrescription": [ + { + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.457.180.497.994.96" + } + } + ], + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "Abgabeinformationen" + } + ] + }, + "whenHandedOver": "2023-07-03" } }, { - "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Binary/PrescriptionDigest-200.000.001.205.203.40", + "fullUrl": "urn:uuid:7ac4e17b-b87f-43ab-a9dc-f3c191c1c15d", "resource": { - "resourceType": "Binary", - "id": "PrescriptionDigest-200.000.001.205.203.40", + "resourceType": "Invoice", + "id": "7ac4e17b-b87f-43ab-a9dc-f3c191c1c15d", "meta": { - "versionId": "1", "profile": [ - "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Digest|1.2" + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abrechnungszeilen|1.2" ] }, - "contentType": "application/octet-stream", - "data": "ZQsm4k/OW69rLio6As1LfoTGrAEnvqNUzKBKbQRJbb4=" + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "Abrechnungszeilen" + } + ] + }, + "lineItem": [ + { + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "09494280" + } + ], + "text": "VENLAFAXIN Heumann 75 mg Tabletten 100 St" + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", + "valueDecimal": 19 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", + "extension": [ + { + "url": "Kategorie", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", + "code": "0" + } + ] + } + }, + { + "url": "Kostenbetrag", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ] + } + ], + "type": "informational", + "factor": 1, + "amount": { + "value": 31.4, + "currency": "EUR" + } + } + ] + } + ], + "totalGross": { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Gesamtzuzahlung", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ], + "value": 31.4, + "currency": "EUR" + } } } ], @@ -1063,14 +973,124 @@ "code": "1.2.840.10065.1.12.1.1" } ], - "when": "2023-02-17T14:07:47.808+00:00", + "when": "2023-07-30T10:40:00+00:00", "who": { - "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" }, "sigFormat": "application/pkcs7-mime", - "data": "MIIUmwYJKoZIhvcNAQcCoIIUjDCCFIgCAQUxDTALBglghkgBZQMEAgEwggp1Bgkqh" + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0004-000000000000" + }, + { + "resource": { + "resourceType": "MedicationDispense", + "id": "31232fb4-b725-464a-9291-cd951b61934c", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.2" + ], + "tag": [ + { + "display": "Beispiel MedicationDispense PZN Bsp 2" + } + ] + }, + "contained": [ + { + "resourceType": "Medication", + "id": "62daa902-3a35-42c8-9413-58443c817922", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N3" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "09494280" + } + ], + "text": "VENLAFAXIN Heumann 75 mg Tabletten 100 St" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "TAB" + } + ] + }, + "batch": { + "lotNumber": "A123456789-1", + "expirationDate": "2024-12-31" + } + } + ], + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.457.180.497.994.96" + } + ], + "status": "completed", + "medicationReference": { + "reference": "#62daa902-3a35-42c8-9413-58443c817922", + "display": "VENLAFAXIN Heumann 75 mg Tabletten 100 St" + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464315" + } + }, + "performer": [ + { + "actor": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-abc-1234567890" + } + } + } + ], + "whenHandedOver": "2023-07-03", + "substitution": { + "wasSubstituted": true } } } ] -} \ No newline at end of file +} diff --git a/common/src/commonTest/resources/fhir/pkv/PZN-Verordnung_Nr_3.json b/common/src/commonTest/resources/fhir/pkv/PZN-Verordnung_Nr_3.json new file mode 100644 index 00000000..378418ad --- /dev/null +++ b/common/src/commonTest/resources/fhir/pkv/PZN-Verordnung_Nr_3.json @@ -0,0 +1,1207 @@ +{ + "resourceType": "Bundle", + "type": "collection", + "entry": [ + { + "resource": { + "resourceType": "ChargeItem", + "id": "200.279.187.481.423.80", + "meta": { + "profile": [ + "https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_ChargeItem|1.0" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.279.187.481.423.80" + }, + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_AccessCode", + "value": "abd4afed9f3f458114fc3407878213e110f238d1afa919fbed7282abbef68bfd" + } + ], + "status": "billable", + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "X110465770" + } + }, + "enterer": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + }, + "enteredDate": "2023-02-23T15:08:32.699+00:00", + "supportingInformation": [ + { + "reference": "urn:uuid:c8606712-0000-0000-0001-000000000000", + "display": "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0004-000000000000", + "display": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0003-000000000000", + "display": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle" + } + ] + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "c8606712-0000-0000-0003-000000000000", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle|1.2" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.000.001.206.112.29" + }, + "type": "document", + "timestamp": "2023-02-23T15:08:30.803+00:00", + "link": [ + { + "relation": "self", + "url": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Task/200.000.001.206.112.29/$close/" + } + ], + "entry": [ + { + "fullUrl": "urn:uuid:1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "resource": { + "resourceType": "Composition", + "id": "1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Composition|1.2" + ] + }, + "extension": [ + { + "url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_Beneficiary", + "valueIdentifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType", + "code": "3", + "display": "Receipt" + } + ] + }, + "date": "2023-02-23T15:08:30.802+00:00", + "author": [ + { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + } + ], + "title": "Quittung", + "event": [ + { + "period": { + "start": "2023-02-23T15:08:29.843+00:00", + "end": "2023-02-23T15:08:30.802+00:00" + } + } + ], + "section": [ + { + "entry": [ + { + "reference": "Binary/PrescriptionDigest-200.000.001.206.112.29" + } + ] + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1", + "resource": { + "resourceType": "Device", + "id": "1", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Device|1.2" + ] + }, + "status": "active", + "serialNumber": "1.9.0", + "deviceName": [ + { + "name": "E-Rezept Fachdienst", + "type": "user-friendly-name" + } + ], + "version": [ + { + "value": "1.9.0" + } + ], + "contact": [ + { + "system": "email", + "value": "betrieb@gematik.de" + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Binary/PrescriptionDigest-200.000.001.206.112.29", + "resource": { + "resourceType": "Binary", + "id": "PrescriptionDigest-200.000.001.206.112.29", + "meta": { + "versionId": "1", + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Digest|1.2" + ] + }, + "contentType": "application/octet-stream", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-02-23T15:08:32.985+00:00", + "who": { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "MIIUnAYJKoZIhvcNAQcCoIIUjTCCFIkCAQUxDTALBglghkgBZQMEAgEwggp1" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0003-000000000000" + }, + { + "resource": { + "resourceType": "Bundle", + "id": "b6639307-8959-4748-a529-d4265506825f", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle|1.2" + ], + "tag": [ + { + "display": "Beispiel RezeptAbgabedatenPKV Bundle (PZN-3)" + }, + { + "display": "ACHTUNG! Der fachlich korrekte Inhalt der Beispielinstanz kann nicht gewährleistet werden. Wir sind jederzeit dankbar für Hinweise auf Fehler oder für Verbesserungsvorschläge." + } + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.279.187.481.423.80" + }, + "type": "document", + "timestamp": "2023-07-03T20:45:00+00:00", + "entry": [ + { + "fullUrl": "urn:uuid:edb71b20-fdfe-40bf-9206-0c1ae0cffd21", + "resource": { + "resourceType": "Composition", + "id": "edb71b20-fdfe-40bf-9206-0c1ae0cffd21", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenComposition|1.2" + ] + }, + "status": "final", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-CompositionTypes", + "code": "ERezeptAbgabedaten" + } + ] + }, + "date": "2023-07-03T20:45:00Z", + "author": [ + { + "reference": "urn:uuid:7db270c6-e084-4c2d-9141-fc79b85971fb" + } + ], + "title": "ERezeptAbgabedaten", + "section": [ + { + "title": "Abgabeinformationen", + "entry": [ + { + "reference": "urn:uuid:c5cead4c-88a4-4e27-a989-107142872c11" + } + ] + }, + { + "title": "Apotheke", + "entry": [ + { + "reference": "urn:uuid:7db270c6-e084-4c2d-9141-fc79b85971fb" + } + ] + } + ] + } + }, + { + "fullUrl": "urn:uuid:7db270c6-e084-4c2d-9141-fc79b85971fb", + "resource": { + "resourceType": "Organization", + "id": "7db270c6-e084-4c2d-9141-fc79b85971fb", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Apotheke|1.2" + ] + }, + "identifier": [ + { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "308412345" + } + ], + "name": "Adler-Apotheke", + "address": [ + { + "type": "physical", + "line": [ + "Taunusstraße 89" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Taunusstraße" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "89" + } + ] + } + ], + "city": "Langen", + "postalCode": "63225", + "country": "D" + } + ] + } + }, + { + "fullUrl": "urn:uuid:c5cead4c-88a4-4e27-a989-107142872c11", + "resource": { + "resourceType": "MedicationDispense", + "id": "c5cead4c-88a4-4e27-a989-107142872c11", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abgabeinformationen|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Abrechnungszeilen", + "valueReference": { + "reference": "urn:uuid:f4265dcb-fb69-42c4-8a7f-43a20425c0fe" + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-EX-ERP-AbrechnungsTyp", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-AbrechnungsTyp", + "code": "1" + } + ] + } + } + ], + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "performer": [ + { + "actor": { + "reference": "urn:uuid:7db270c6-e084-4c2d-9141-fc79b85971fb" + } + } + ], + "authorizingPrescription": [ + { + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.279.187.481.423.80" + } + } + ], + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "Abgabeinformationen" + } + ] + }, + "whenHandedOver": "2023-07-03" + } + }, + { + "fullUrl": "urn:uuid:f4265dcb-fb69-42c4-8a7f-43a20425c0fe", + "resource": { + "resourceType": "Invoice", + "id": "f4265dcb-fb69-42c4-8a7f-43a20425c0fe", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abrechnungszeilen|1.2" + ] + }, + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "Abrechnungszeilen" + } + ] + }, + "lineItem": [ + { + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "03386388" + } + ], + "text": "InfectoCortiKrupp® Zäpfchen 100 mg 3 St" + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", + "valueDecimal": 19 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", + "extension": [ + { + "url": "Kategorie", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", + "code": "0" + } + ] + } + }, + { + "url": "Kostenbetrag", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ] + } + ], + "type": "informational", + "factor": 1, + "amount": { + "value": 21.82, + "currency": "EUR" + } + } + ] + }, + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Zusatzattribute", + "extension": [ + { + "url": "ZusatzattributAbgabeNoctu", + "extension": [ + { + "url": "Gruppe", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-ZusatzattributGruppe", + "code": "11" + } + ] + } + }, + { + "url": "DatumUhrzeit", + "valueDateTime": "2023-07-03T20:45:00.0Z" + }, + { + "url": "Schluessel", + "valueBoolean": true + } + ] + } + ] + } + ], + "sequence": 2, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://TA1.abda.de", + "code": "02567018" + } + ], + "text": "Noctu-Gebühr" + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", + "valueDecimal": 19 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", + "extension": [ + { + "url": "Kategorie", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", + "code": "0" + } + ] + } + }, + { + "url": "Kostenbetrag", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ] + } + ], + "type": "informational", + "factor": 1, + "amount": { + "value": 2.5, + "currency": "EUR" + } + } + ] + } + ], + "totalGross": { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Gesamtzuzahlung", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ], + "value": 24.32, + "currency": "EUR" + } + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0004-000000000000" + }, + { + "resource": { + "resourceType": "Bundle", + "id": "a5dcd6fb-58a5-480c-be38-2eb53f33cd07", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle|1.1.0" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.279.187.481.423.80" + }, + "type": "document", + "timestamp": "2023-07-03T08:30:00+00:00", + "entry": [ + { + "fullUrl": "http://pvs.praxis.local/fhir/Composition/066d4d72-fc9f-40b0-873b-27d43260c585", + "resource": { + "resourceType": "Composition", + "id": "066d4d72-fc9f-40b0-873b-27d43260c585", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Composition|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_Legal_basis", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_STATUSKENNZEICHEN", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_PKV_Tariff", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PKV_TARIFF", + "code": "01" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_FORMULAR_ART", + "code": "e16A" + } + ] + }, + "subject": { + "reference": "Patient/368446d0-b704-4308-a537-527ac3c51ef3" + }, + "date": "2023-07-03T08:00:00Z", + "author": [ + { + "reference": "Practitioner/0b463297-7e7e-4e9f-8f0b-9c0ca6d84e9f", + "type": "Practitioner" + }, + { + "type": "Device", + "identifier": { + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_FOR_Pruefnummer", + "value": "Y/400/2107/36/999" + } + } + ], + "title": "elektronische Arzneimittelverordnung", + "custodian": { + "reference": "Organization/e7eacee8-c2cf-4e6c-8c1e-d3260d1c0109" + }, + "section": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Prescription" + } + ] + }, + "entry": [ + { + "reference": "MedicationRequest/454a7414-063d-4f09-b136-4c6cda68b38c" + } + ] + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Coverage" + } + ] + }, + "entry": [ + { + "reference": "Coverage/f7ae39bd-fa43-4673-b3ab-735ab70095d9" + } + ] + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/MedicationRequest/454a7414-063d-4f09-b136-4c6cda68b38c", + "resource": { + "resourceType": "MedicationRequest", + "id": "454a7414-063d-4f09-b136-4c6cda68b38c", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", + "valueBoolean": true + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription", + "extension": [ + { + "url": "Kennzeichen", + "valueBoolean": false + } + ] + } + ], + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/2370747d-aef9-4926-a835-8bc59e7cda01" + }, + "subject": { + "reference": "Patient/368446d0-b704-4308-a537-527ac3c51ef3" + }, + "authoredOn": "2023-07-03", + "requester": { + "reference": "Practitioner/0b463297-7e7e-4e9f-8f0b-9c0ca6d84e9f" + }, + "insurance": [ + { + "reference": "Coverage/f7ae39bd-fa43-4673-b3ab-735ab70095d9" + } + ], + "dosageInstruction": [ + { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag", + "valueBoolean": true + } + ], + "text": "1x, im Bedarfsfall nach 1h ein weiteres (max. 3 Stk in 48 h)" + } + ], + "dispenseRequest": { + "quantity": { + "value": 1, + "system": "http://unitsofmeasure.org", + "code": "{Package}" + } + }, + "substitution": { + "allowedBoolean": true + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Medication/2370747d-aef9-4926-a835-8bc59e7cda01", + "resource": { + "resourceType": "Medication", + "id": "2370747d-aef9-4926-a835-8bc59e7cda01", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "03386388" + } + ], + "text": "INFECTOCORTIKRUPP® Zäpfchen 100 mg 3 Supp. N1" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "SUB" + } + ] + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Patient/368446d0-b704-4308-a537-527ac3c51ef3", + "resource": { + "resourceType": "Patient", + "id": "368446d0-b704-4308-a537-527ac3c51ef3", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", + "code": "PKV" + } + ] + }, + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464532" + } + ], + "name": [ + { + "use": "official", + "family": "Privati", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Privati" + } + ] + }, + "given": [ + "Teddy" + ] + } + ], + "birthDate": "2022-07-30", + "address": [ + { + "type": "both", + "line": [ + "Sesamstraße 1" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Sesamstraße" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "1" + } + ] + } + ], + "city": "Regensburg", + "postalCode": "93047", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Practitioner/0b463297-7e7e-4e9f-8f0b-9c0ca6d84e9f", + "resource": { + "resourceType": "Practitioner", + "id": "0b463297-7e7e-4e9f-8f0b-9c0ca6d84e9f", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "LANR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", + "value": "456456534" + } + ], + "name": [ + { + "use": "official", + "family": "Weber", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Weber" + } + ] + }, + "given": [ + "Maximilian" + ], + "prefix": [ + "Dr." + ], + "_prefix": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier", + "valueCode": "AC" + } + ] + } + ] + } + ], + "qualification": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", + "code": "00" + } + ] + } + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", + "code": "Berufsbezeichnung" + } + ], + "text": "Facharzt für Kinder- und Jugendmedizin" + } + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Organization/e7eacee8-c2cf-4e6c-8c1e-d3260d1c0109", + "resource": { + "resourceType": "Organization", + "id": "e7eacee8-c2cf-4e6c-8c1e-d3260d1c0109", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Organization|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "BSNR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", + "value": "687777700" + } + ], + "name": "Kinderarztpraxis", + "telecom": [ + { + "system": "phone", + "value": "09411234567" + }, + { + "system": "email", + "value": "kinderarztpraxis@e-mail.de" + } + ], + "address": [ + { + "type": "both", + "line": [ + "Yorckstraße 15", + "Hinterhaus" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Yorckstraße" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "15" + } + ] + }, + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-additionalLocator", + "valueString": "Hinterhaus" + } + ] + } + ], + "city": "Regensburg", + "postalCode": "93049", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Coverage/f7ae39bd-fa43-4673-b3ab-735ab70095d9", + "resource": { + "resourceType": "Coverage", + "id": "f7ae39bd-fa43-4673-b3ab-735ab70095d9", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" + ] + }, + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS", + "code": "1" + } + } + ], + "status": "active", + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis", + "code": "PKV" + } + ] + }, + "beneficiary": { + "reference": "Patient/368446d0-b704-4308-a537-527ac3c51ef3" + }, + "payor": [ + { + "identifier": { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "123456789" + }, + "display": "Allianz Private Krankenversicherung" + } + ] + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0001-000000000000" + }, + { + "resource": { + "resourceType": "MedicationDispense", + "id": "b062f2d9-51c7-422a-b8b8-df2069e45000", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.2" + ], + "tag": [ + { + "display": "Beispiel MedicationDispense PKV PZN Bsp 3" + } + ] + }, + "contained": [ + { + "resourceType": "Medication", + "id": "91cdf9ef-e260-4cb8-9556-fc1b5d161aa3", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "03386388" + } + ], + "text": "INFECTOCORTIKRUPP® Zäpfchen 100 mg 3 Supp. N1" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "SUB" + } + ] + }, + "batch": { + "lotNumber": "A123456789-1", + "expirationDate": "2024-12-31" + } + } + ], + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.279.187.481.423.80" + } + ], + "status": "completed", + "medicationReference": { + "reference": "#91cdf9ef-e260-4cb8-9556-fc1b5d161aa3", + "display": "INFECTOCORTIKRUPP® Zäpfchen 100 mg 3 Supp. N1" + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464532" + } + }, + "performer": [ + { + "actor": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-abc-1234567890" + } + } + } + ], + "whenHandedOver": "2023-07-03", + "dosageInstruction": [ + { + "text": "1x, im Bedarfsfall nach 1h ein weiteres (max. 3 Stk in 48 h)" + } + ] + } + } + ] +} diff --git a/common/src/commonTest/resources/fhir/pkv/PZN-Verordnung_Nr_5.json b/common/src/commonTest/resources/fhir/pkv/PZN-Verordnung_Nr_5.json new file mode 100644 index 00000000..0630ae97 --- /dev/null +++ b/common/src/commonTest/resources/fhir/pkv/PZN-Verordnung_Nr_5.json @@ -0,0 +1,1238 @@ +{ + "resourceType": "Bundle", + "type": "collection", + "entry": [ + { + "resource": { + "resourceType": "ChargeItem", + "id": "200.625.688.123.368.48", + "meta": { + "profile": [ + "https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_ChargeItem|1.0" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.625.688.123.368.48" + }, + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_AccessCode", + "value": "abd4afed9f3f458114fc3407878213e110f238d1afa919fbed7282abbef68bfd" + } + ], + "status": "billable", + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "X110465770" + } + }, + "enterer": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + }, + "enteredDate": "2023-02-23T15:08:32.699+00:00", + "supportingInformation": [ + { + "reference": "urn:uuid:c8606712-0000-0000-0001-000000000000", + "display": "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0004-000000000000", + "display": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0003-000000000000", + "display": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle" + } + ] + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "c8606712-0000-0000-0003-000000000000", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle|1.2" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.000.001.206.112.29" + }, + "type": "document", + "timestamp": "2023-02-23T15:08:30.803+00:00", + "link": [ + { + "relation": "self", + "url": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Task/200.000.001.206.112.29/$close/" + } + ], + "entry": [ + { + "fullUrl": "urn:uuid:1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "resource": { + "resourceType": "Composition", + "id": "1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Composition|1.2" + ] + }, + "extension": [ + { + "url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_Beneficiary", + "valueIdentifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType", + "code": "3", + "display": "Receipt" + } + ] + }, + "date": "2023-02-23T15:08:30.802+00:00", + "author": [ + { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + } + ], + "title": "Quittung", + "event": [ + { + "period": { + "start": "2023-02-23T15:08:29.843+00:00", + "end": "2023-02-23T15:08:30.802+00:00" + } + } + ], + "section": [ + { + "entry": [ + { + "reference": "Binary/PrescriptionDigest-200.000.001.206.112.29" + } + ] + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1", + "resource": { + "resourceType": "Device", + "id": "1", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Device|1.2" + ] + }, + "status": "active", + "serialNumber": "1.9.0", + "deviceName": [ + { + "name": "E-Rezept Fachdienst", + "type": "user-friendly-name" + } + ], + "version": [ + { + "value": "1.9.0" + } + ], + "contact": [ + { + "system": "email", + "value": "betrieb@gematik.de" + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Binary/PrescriptionDigest-200.000.001.206.112.29", + "resource": { + "resourceType": "Binary", + "id": "PrescriptionDigest-200.000.001.206.112.29", + "meta": { + "versionId": "1", + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Digest|1.2" + ] + }, + "contentType": "application/octet-stream", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-02-23T15:08:32.985+00:00", + "who": { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "MIIUnAYJKoZIhvcNAQcCoIIUjTCCFIkCAQUxDTALBglghkgBZQMEAgEwggp1" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0003-000000000000" + }, + { + "resource": { + "resourceType": "Bundle", + "id": "c542f1c4-b177-4366-865c-182b6e0dea4a", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle|1.1.0" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.625.688.123.368.48" + }, + "type": "document", + "timestamp": "2023-07-03T08:30:00+00:00", + "entry": [ + { + "fullUrl": "http://pvs.praxis.local/fhir/Composition/fd2503b8-ffff-444a-ba90-93c287426054", + "resource": { + "resourceType": "Composition", + "id": "fd2503b8-ffff-444a-ba90-93c287426054", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Composition|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_Legal_basis", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_STATUSKENNZEICHEN", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_PKV_Tariff", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PKV_TARIFF", + "code": "01" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_FORMULAR_ART", + "code": "e16A" + } + ] + }, + "subject": { + "reference": "Patient/9a42c3c0-2429-45bd-81e6-7ac7af1e4a8c" + }, + "date": "2023-07-03T08:00:00Z", + "author": [ + { + "reference": "Practitioner/53c7d0f0-351e-4fc1-8930-88207404dcb7", + "type": "Practitioner" + }, + { + "type": "Device", + "identifier": { + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_FOR_Pruefnummer", + "value": "Y/400/2107/36/999" + } + } + ], + "title": "elektronische Arzneimittelverordnung", + "attester": [ + { + "mode": "legal", + "party": { + "reference": "Practitioner/c91e7bd8-50f4-4077-9a14-b8093e4d6e73" + } + } + ], + "custodian": { + "reference": "Organization/4a0722b8-8107-4b15-bd2d-39eb3a6cb21d" + }, + "section": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Prescription" + } + ] + }, + "entry": [ + { + "reference": "MedicationRequest/741c4057-5f23-4dae-9b9d-d2854b138798" + } + ] + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Coverage" + } + ] + }, + "entry": [ + { + "reference": "Coverage/aadd42d3-791d-4030-ac24-5dbac7421796" + } + ] + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/MedicationRequest/741c4057-5f23-4dae-9b9d-d2854b138798", + "resource": { + "resourceType": "MedicationRequest", + "id": "741c4057-5f23-4dae-9b9d-d2854b138798", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription", + "extension": [ + { + "url": "Kennzeichen", + "valueBoolean": false + } + ] + } + ], + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/e93cad35-e6cd-459f-b349-5499a802bd9f" + }, + "subject": { + "reference": "Patient/9a42c3c0-2429-45bd-81e6-7ac7af1e4a8c" + }, + "authoredOn": "2023-07-03", + "requester": { + "reference": "Practitioner/53c7d0f0-351e-4fc1-8930-88207404dcb7" + }, + "insurance": [ + { + "reference": "Coverage/aadd42d3-791d-4030-ac24-5dbac7421796" + } + ], + "note": [ + { + "text": "Bitte auf Anwendung schulen" + } + ], + "dosageInstruction": [ + { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag", + "valueBoolean": false + } + ] + } + ], + "dispenseRequest": { + "quantity": { + "value": 2, + "system": "http://unitsofmeasure.org", + "code": "{Package}" + } + }, + "substitution": { + "allowedBoolean": true + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Medication/e93cad35-e6cd-459f-b349-5499a802bd9f", + "resource": { + "resourceType": "Medication", + "id": "e93cad35-e6cd-459f-b349-5499a802bd9f", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "00427833" + } + ], + "text": "Viani 50µg/250µg 1 Diskus 60 ED N1" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "IHP" + } + ] + }, + "amount": { + "numerator": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize", + "valueString": "1" + } + ], + "unit": "Diskus" + }, + "denominator": { + "value": 1 + } + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Patient/9a42c3c0-2429-45bd-81e6-7ac7af1e4a8c", + "resource": { + "resourceType": "Patient", + "id": "9a42c3c0-2429-45bd-81e6-7ac7af1e4a8c", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", + "code": "PKV" + } + ] + }, + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464113" + } + ], + "name": [ + { + "use": "official", + "family": "Privati", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Privati" + } + ] + }, + "given": [ + "Paula" + ] + } + ], + "birthDate": "1935-06-22", + "address": [ + { + "type": "both", + "line": [ + "Blumenweg 18" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Blumenweg" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "18" + } + ] + } + ], + "city": "Esens", + "postalCode": "26427", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Practitioner/53c7d0f0-351e-4fc1-8930-88207404dcb7", + "resource": { + "resourceType": "Practitioner", + "id": "53c7d0f0-351e-4fc1-8930-88207404dcb7", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "LANR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", + "value": "895268385" + } + ], + "name": [ + { + "use": "official", + "family": "Fischer", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Fischer" + } + ] + }, + "given": [ + "Alexander" + ] + } + ], + "qualification": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", + "code": "03" + } + ] + } + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", + "code": "Berufsbezeichnung" + } + ], + "text": "Weiterbildungsassistent" + } + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Practitioner/c91e7bd8-50f4-4077-9a14-b8093e4d6e73", + "resource": { + "resourceType": "Practitioner", + "id": "c91e7bd8-50f4-4077-9a14-b8093e4d6e73", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "LANR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", + "value": "987654423" + }, + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "PRN" + } + ] + }, + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-748382202" + } + ], + "name": [ + { + "use": "official", + "family": "Schneider", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Schneider" + } + ] + }, + "given": [ + "Emma" + ], + "prefix": [ + "Dr. med." + ], + "_prefix": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier", + "valueCode": "AC" + } + ] + } + ] + } + ], + "qualification": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", + "code": "00" + } + ] + } + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", + "code": "Berufsbezeichnung" + } + ], + "text": "Fachärztin für Innere Medizin" + } + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Organization/4a0722b8-8107-4b15-bd2d-39eb3a6cb21d", + "resource": { + "resourceType": "Organization", + "id": "4a0722b8-8107-4b15-bd2d-39eb3a6cb21d", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Organization|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "BSNR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", + "value": "721111100" + } + ], + "name": "MVZ", + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "fax", + "value": "030123456789" + }, + { + "system": "email", + "value": "mvz@e-mail.de" + } + ], + "address": [ + { + "type": "both", + "line": [ + "Herbert-Lewin-Platz 2" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Herbert-Lewin-Platz" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "2" + } + ] + } + ], + "city": "Berlin", + "postalCode": "10623", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Coverage/aadd42d3-791d-4030-ac24-5dbac7421796", + "resource": { + "resourceType": "Coverage", + "id": "aadd42d3-791d-4030-ac24-5dbac7421796", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" + ] + }, + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS", + "code": "1" + } + } + ], + "status": "active", + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis", + "code": "PKV" + } + ] + }, + "beneficiary": { + "reference": "Patient/9a42c3c0-2429-45bd-81e6-7ac7af1e4a8c" + }, + "payor": [ + { + "identifier": { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "123456789" + }, + "display": "Allianz Private Krankenversicherung" + } + ] + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0001-000000000000" + }, + { + "resource": { + "resourceType": "MedicationDispense", + "id": "fc1e90ca-56d6-46c7-91c2-b0c94ec7d3f5", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.2" + ], + "tag": [ + { + "display": "Beispiel MedicationDispense PKV PZN Bsp 5" + } + ] + }, + "contained": [ + { + "resourceType": "Medication", + "id": "c96ea92e-80f0-4933-8e0d-f82575d09011", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "00427833" + } + ], + "text": "Viani 50µg/250µg 1 Diskus 60 ED N1" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "IHP" + } + ] + }, + "amount": { + "numerator": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize", + "valueString": "1" + } + ], + "unit": "Diskus" + }, + "denominator": { + "value": 1 + } + }, + "batch": { + "lotNumber": "A123456789-1", + "expirationDate": "2024-12-31" + } + } + ], + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.625.688.123.368.48" + } + ], + "status": "completed", + "medicationReference": { + "reference": "#c96ea92e-80f0-4933-8e0d-f82575d09011", + "display": "Viani 50µg/250µg 1 Diskus 60 ED N1" + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464113" + } + }, + "performer": [ + { + "actor": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-abc-1234567890" + } + } + } + ], + "quantity": { + "value": 2, + "system": "http://unitsofmeasure.org", + "code": "{Package}" + }, + "whenHandedOver": "2023-07-03" + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "d7d23c7e-00a6-400b-a3dd-d158473a5554", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle|1.2" + ], + "tag": [ + { + "display": "Beispiel RezeptAbgabedatenPKV Bundle (PZN-5)" + }, + { + "display": "ACHTUNG! Der fachlich korrekte Inhalt der Beispielinstanz kann nicht gewährleistet werden. Wir sind jederzeit dankbar für Hinweise auf Fehler oder für Verbesserungsvorschläge." + } + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.625.688.123.368.48" + }, + "type": "document", + "timestamp": "2023-07-03T11:30:00+00:00", + "entry": [ + { + "fullUrl": "urn:uuid:ff6dd6d4-a95c-495e-8bac-c848ee5d58f0", + "resource": { + "resourceType": "Composition", + "id": "ff6dd6d4-a95c-495e-8bac-c848ee5d58f0", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenComposition|1.2" + ] + }, + "status": "final", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-CompositionTypes", + "code": "ERezeptAbgabedaten" + } + ] + }, + "date": "2023-07-03T11:30:00Z", + "author": [ + { + "reference": "urn:uuid:7fef5bd2-b886-4dbb-84e9-6a257b018855" + } + ], + "title": "ERezeptAbgabedaten", + "section": [ + { + "title": "Abgabeinformationen", + "entry": [ + { + "reference": "urn:uuid:f515c1dd-0d18-4166-80c0-5eba3845a1f1" + } + ] + }, + { + "title": "Apotheke", + "entry": [ + { + "reference": "urn:uuid:7fef5bd2-b886-4dbb-84e9-6a257b018855" + } + ] + } + ] + } + }, + { + "fullUrl": "urn:uuid:7fef5bd2-b886-4dbb-84e9-6a257b018855", + "resource": { + "resourceType": "Organization", + "id": "7fef5bd2-b886-4dbb-84e9-6a257b018855", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Apotheke|1.2" + ] + }, + "identifier": [ + { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "308412345" + } + ], + "name": "Adler-Apotheke", + "address": [ + { + "type": "physical", + "line": [ + "Taunusstraße 89" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Taunusstraße" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "89" + } + ] + } + ], + "city": "Langen", + "postalCode": "63225", + "country": "D" + } + ] + } + }, + { + "fullUrl": "urn:uuid:f515c1dd-0d18-4166-80c0-5eba3845a1f1", + "resource": { + "resourceType": "MedicationDispense", + "id": "f515c1dd-0d18-4166-80c0-5eba3845a1f1", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abgabeinformationen|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Abrechnungszeilen", + "valueReference": { + "reference": "urn:uuid:b7a0732b-4162-4ec3-85c4-888191c97cb1" + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-EX-ERP-AbrechnungsTyp", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-AbrechnungsTyp", + "code": "1" + } + ] + } + } + ], + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "performer": [ + { + "actor": { + "reference": "urn:uuid:7fef5bd2-b886-4dbb-84e9-6a257b018855" + } + } + ], + "authorizingPrescription": [ + { + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.625.688.123.368.48" + } + } + ], + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "Abgabeinformationen" + } + ] + }, + "whenHandedOver": "2023-07-03" + } + }, + { + "fullUrl": "urn:uuid:b7a0732b-4162-4ec3-85c4-888191c97cb1", + "resource": { + "resourceType": "Invoice", + "id": "b7a0732b-4162-4ec3-85c4-888191c97cb1", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abrechnungszeilen|1.2" + ] + }, + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "Abrechnungszeilen" + } + ] + }, + "lineItem": [ + { + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "00427833" + } + ], + "text": "Viani 50µg/250µg 1 Diskus 60 ED N1" + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", + "valueDecimal": 19 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", + "extension": [ + { + "url": "Kategorie", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", + "code": "0" + } + ] + } + }, + { + "url": "Kostenbetrag", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ] + } + ], + "type": "informational", + "factor": 2, + "amount": { + "value": 82.68, + "currency": "EUR" + } + } + ] + } + ], + "totalGross": { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Gesamtzuzahlung", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ], + "value": 82.68, + "currency": "EUR" + } + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0004-000000000000" + } + ] +} diff --git a/common/src/commonTest/resources/fhir/pkv/PZN-Verordnung_Nr_6.json b/common/src/commonTest/resources/fhir/pkv/PZN-Verordnung_Nr_6.json new file mode 100644 index 00000000..1e1a04b5 --- /dev/null +++ b/common/src/commonTest/resources/fhir/pkv/PZN-Verordnung_Nr_6.json @@ -0,0 +1,1197 @@ +{ + "resourceType": "Bundle", + "type": "collection", + "entry": [ + { + "resource": { + "resourceType": "ChargeItem", + "id": "200.280.604.133.110.12", + "meta": { + "profile": [ + "https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_ChargeItem|1.0" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.280.604.133.110.12" + }, + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_AccessCode", + "value": "abd4afed9f3f458114fc3407878213e110f238d1afa919fbed7282abbef68bfd" + } + ], + "status": "billable", + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "X110465770" + } + }, + "enterer": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + }, + "enteredDate": "2023-02-23T15:08:32.699+00:00", + "supportingInformation": [ + { + "reference": "urn:uuid:c8606712-0000-0000-0001-000000000000", + "display": "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0004-000000000000", + "display": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0003-000000000000", + "display": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle" + } + ] + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "c8606712-0000-0000-0003-000000000000", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle|1.2" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.000.001.206.112.29" + }, + "type": "document", + "timestamp": "2023-02-23T15:08:30.803+00:00", + "link": [ + { + "relation": "self", + "url": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Task/200.000.001.206.112.29/$close/" + } + ], + "entry": [ + { + "fullUrl": "urn:uuid:1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "resource": { + "resourceType": "Composition", + "id": "1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Composition|1.2" + ] + }, + "extension": [ + { + "url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_Beneficiary", + "valueIdentifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType", + "code": "3", + "display": "Receipt" + } + ] + }, + "date": "2023-02-23T15:08:30.802+00:00", + "author": [ + { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + } + ], + "title": "Quittung", + "event": [ + { + "period": { + "start": "2023-02-23T15:08:29.843+00:00", + "end": "2023-02-23T15:08:30.802+00:00" + } + } + ], + "section": [ + { + "entry": [ + { + "reference": "Binary/PrescriptionDigest-200.000.001.206.112.29" + } + ] + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1", + "resource": { + "resourceType": "Device", + "id": "1", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Device|1.2" + ] + }, + "status": "active", + "serialNumber": "1.9.0", + "deviceName": [ + { + "name": "E-Rezept Fachdienst", + "type": "user-friendly-name" + } + ], + "version": [ + { + "value": "1.9.0" + } + ], + "contact": [ + { + "system": "email", + "value": "betrieb@gematik.de" + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Binary/PrescriptionDigest-200.000.001.206.112.29", + "resource": { + "resourceType": "Binary", + "id": "PrescriptionDigest-200.000.001.206.112.29", + "meta": { + "versionId": "1", + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Digest|1.2" + ] + }, + "contentType": "application/octet-stream", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-02-23T15:08:32.985+00:00", + "who": { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "MIIUnAYJKoZIhvcNAQcCoIIUjTCCFIkCAQUxDTALBglghkgBZQMEAgEwggp1" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0003-000000000000" + }, + { + "resource": { + "resourceType": "Bundle", + "id": "2a3cdb83-5abb-451a-9903-3137bb350289", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle|1.2" + ], + "tag": [ + { + "display": "Beispiel RezeptAbgabedatenPKV Bundle (PZN-6)" + }, + { + "display": "ACHTUNG! Der fachlich korrekte Inhalt der Beispielinstanz kann nicht gewährleistet werden. Wir sind jederzeit dankbar für Hinweise auf Fehler oder für Verbesserungsvorschläge." + } + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.280.604.133.110.12" + }, + "type": "document", + "timestamp": "2023-07-03T11:30:00+00:00", + "entry": [ + { + "fullUrl": "urn:uuid:3cc12899-7571-4ff1-9c5d-26cf27cca3c3", + "resource": { + "resourceType": "Composition", + "id": "3cc12899-7571-4ff1-9c5d-26cf27cca3c3", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenComposition|1.2" + ] + }, + "status": "final", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-CompositionTypes", + "code": "ERezeptAbgabedaten" + } + ] + }, + "date": "2023-07-03T11:30:00Z", + "author": [ + { + "reference": "urn:uuid:cb14e380-4c0c-4e88-a9c7-d4d03caecbc2" + } + ], + "title": "ERezeptAbgabedaten", + "section": [ + { + "title": "Abgabeinformationen", + "entry": [ + { + "reference": "urn:uuid:5c8df0c0-a414-45f0-af81-f9c3c7198b66" + } + ] + }, + { + "title": "Apotheke", + "entry": [ + { + "reference": "urn:uuid:cb14e380-4c0c-4e88-a9c7-d4d03caecbc2" + } + ] + } + ] + } + }, + { + "fullUrl": "urn:uuid:cb14e380-4c0c-4e88-a9c7-d4d03caecbc2", + "resource": { + "resourceType": "Organization", + "id": "cb14e380-4c0c-4e88-a9c7-d4d03caecbc2", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Apotheke|1.2" + ] + }, + "identifier": [ + { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "308412345" + } + ], + "name": "Adler-Apotheke", + "address": [ + { + "type": "physical", + "line": [ + "Taunusstraße 89" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Taunusstraße" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "89" + } + ] + } + ], + "city": "Langen", + "postalCode": "63225", + "country": "D" + } + ] + } + }, + { + "fullUrl": "urn:uuid:5c8df0c0-a414-45f0-af81-f9c3c7198b66", + "resource": { + "resourceType": "MedicationDispense", + "id": "5c8df0c0-a414-45f0-af81-f9c3c7198b66", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abgabeinformationen|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Abrechnungszeilen", + "valueReference": { + "reference": "urn:uuid:8abdf871-97cb-44cf-b039-9cbd4a8ac396" + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-EX-ERP-AbrechnungsTyp", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-AbrechnungsTyp", + "code": "1" + } + ] + } + } + ], + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "performer": [ + { + "actor": { + "reference": "urn:uuid:cb14e380-4c0c-4e88-a9c7-d4d03caecbc2" + } + } + ], + "authorizingPrescription": [ + { + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.280.604.133.110.12" + } + } + ], + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "Abgabeinformationen" + } + ] + }, + "whenHandedOver": "2023-07-03" + } + }, + { + "fullUrl": "urn:uuid:8abdf871-97cb-44cf-b039-9cbd4a8ac396", + "resource": { + "resourceType": "Invoice", + "id": "8abdf871-97cb-44cf-b039-9cbd4a8ac396", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abrechnungszeilen|1.2" + ] + }, + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "Abrechnungszeilen" + } + ] + }, + "lineItem": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Zusatzattribute", + "extension": [ + { + "url": "ZusatzattributAutidemAustausch", + "extension": [ + { + "url": "Schluessel", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-ZusatzattributSchluesselAutidemAustausch", + "code": "2" + } + ] + } + }, + { + "url": "Gruppe", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-ZusatzattributGruppe", + "code": "101" + } + ] + } + } + ] + } + ] + } + ], + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "02091840" + } + ], + "text": "CONCOR 10 PLUS Filmtabletten 100 St" + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", + "valueDecimal": 19 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", + "extension": [ + { + "url": "Kategorie", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", + "code": "0" + } + ] + } + }, + { + "url": "Kostenbetrag", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ] + } + ], + "type": "informational", + "factor": 1, + "amount": { + "value": 42.77, + "currency": "EUR" + } + } + ] + } + ], + "totalGross": { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Gesamtzuzahlung", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ], + "value": 42.77, + "currency": "EUR" + } + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0004-000000000000" + }, + { + "resource": { + "resourceType": "MedicationDispense", + "id": "f8b26827-40d3-4472-8c0c-fa97c8ad5438", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.2" + ], + "tag": [ + { + "display": "Beispiel MedicationDispense PKV PZN Bsp 6" + } + ] + }, + "contained": [ + { + "resourceType": "Medication", + "id": "323c7581-f323-40b3-a86a-6605e0f0a364", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N3" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "02091840" + } + ], + "text": "CONCOR 10 PLUS Filmtabletten 100 St" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FTA" + } + ] + }, + "amount": { + "numerator": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize", + "valueString": "100" + } + ], + "unit": "Stück" + }, + "denominator": { + "value": 1 + } + }, + "batch": { + "lotNumber": "A123456789-1", + "expirationDate": "2024-12-31" + } + } + ], + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.280.604.133.110.12" + } + ], + "status": "completed", + "medicationReference": { + "reference": "#323c7581-f323-40b3-a86a-6605e0f0a364", + "display": "CONCOR 10 PLUS Filmtabletten 100 St" + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464237" + } + }, + "performer": [ + { + "actor": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-abc-1234567890" + } + } + } + ], + "whenHandedOver": "2023-07-03", + "dosageInstruction": [ + { + "text": "1-0-0-0" + } + ], + "substitution": { + "wasSubstituted": true + } + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "7007e0e9-4fa1-4b3c-b01c-49ee1cd3a400", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle|1.1.0" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.280.604.133.110.12" + }, + "type": "document", + "timestamp": "2023-07-03T08:30:00+00:00", + "entry": [ + { + "fullUrl": "http://pvs.praxis.local/fhir/Composition/595803cf-2969-433d-9ffa-579a067b39f2", + "resource": { + "resourceType": "Composition", + "id": "595803cf-2969-433d-9ffa-579a067b39f2", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Composition|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_Legal_basis", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_STATUSKENNZEICHEN", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_PKV_Tariff", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PKV_TARIFF", + "code": "01" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_FORMULAR_ART", + "code": "e16A" + } + ] + }, + "subject": { + "reference": "Patient/ad94edd3-2b80-4ff9-b761-644a77a83252" + }, + "date": "2023-07-03T08:00:00Z", + "author": [ + { + "reference": "Practitioner/12f20c01-6917-4509-99d9-5642464a9d4b", + "type": "Practitioner" + }, + { + "type": "Device", + "identifier": { + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_FOR_Pruefnummer", + "value": "Y/400/2107/36/999" + } + } + ], + "title": "elektronische Arzneimittelverordnung", + "custodian": { + "reference": "Organization/6d746601-655c-4081-aab5-e83940d2a62f" + }, + "section": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Prescription" + } + ] + }, + "entry": [ + { + "reference": "MedicationRequest/579488a7-8d96-4b57-a788-a648d569407e" + } + ] + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Coverage" + } + ] + }, + "entry": [ + { + "reference": "Coverage/e17f8a4c-8d7d-4c83-9b7b-fe5532ae9cb4" + } + ] + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/MedicationRequest/579488a7-8d96-4b57-a788-a648d569407e", + "resource": { + "resourceType": "MedicationRequest", + "id": "579488a7-8d96-4b57-a788-a648d569407e", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription", + "extension": [ + { + "url": "Kennzeichen", + "valueBoolean": false + } + ] + } + ], + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/428bd6c6-eec1-414f-bd34-3199d310ed3e" + }, + "subject": { + "reference": "Patient/ad94edd3-2b80-4ff9-b761-644a77a83252" + }, + "authoredOn": "2023-07-03", + "requester": { + "reference": "Practitioner/12f20c01-6917-4509-99d9-5642464a9d4b" + }, + "insurance": [ + { + "reference": "Coverage/e17f8a4c-8d7d-4c83-9b7b-fe5532ae9cb4" + } + ], + "dosageInstruction": [ + { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag", + "valueBoolean": true + } + ], + "text": "1-0-0-0" + } + ], + "dispenseRequest": { + "quantity": { + "value": 1, + "system": "http://unitsofmeasure.org", + "code": "{Package}" + } + }, + "substitution": { + "allowedBoolean": true + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Medication/428bd6c6-eec1-414f-bd34-3199d310ed3e", + "resource": { + "resourceType": "Medication", + "id": "428bd6c6-eec1-414f-bd34-3199d310ed3e", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N3" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "01624240" + } + ], + "text": "Bisoprolol plus 10/25 - 1A Pharma® 100 Filmtbl. N3" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FTA" + } + ] + }, + "amount": { + "numerator": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize", + "valueString": "100" + } + ], + "unit": "Stück" + }, + "denominator": { + "value": 1 + } + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Patient/ad94edd3-2b80-4ff9-b761-644a77a83252", + "resource": { + "resourceType": "Patient", + "id": "ad94edd3-2b80-4ff9-b761-644a77a83252", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", + "code": "PKV" + } + ] + }, + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464237" + } + ], + "name": [ + { + "use": "official", + "family": "Privati", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Privati" + } + ] + }, + "given": [ + "Paolo" + ] + } + ], + "birthDate": "1935-01-06", + "address": [ + { + "type": "both", + "line": [ + "Blumenweg 18" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Blumenweg" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "18" + } + ] + } + ], + "city": "Esens", + "postalCode": "26427", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Practitioner/12f20c01-6917-4509-99d9-5642464a9d4b", + "resource": { + "resourceType": "Practitioner", + "id": "12f20c01-6917-4509-99d9-5642464a9d4b", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "LANR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", + "value": "987654423" + }, + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "PRN" + } + ] + }, + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-748382202" + } + ], + "name": [ + { + "use": "official", + "family": "Schneider", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Schneider" + } + ] + }, + "given": [ + "Emma" + ], + "prefix": [ + "Dr. med." + ], + "_prefix": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier", + "valueCode": "AC" + } + ] + } + ] + } + ], + "qualification": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", + "code": "00" + } + ] + } + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", + "code": "Berufsbezeichnung" + } + ], + "text": "Fachärztin für Innere Medizin" + } + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Organization/6d746601-655c-4081-aab5-e83940d2a62f", + "resource": { + "resourceType": "Organization", + "id": "6d746601-655c-4081-aab5-e83940d2a62f", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Organization|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "BSNR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", + "value": "721111100" + } + ], + "name": "MVZ", + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "fax", + "value": "030123456789" + }, + { + "system": "email", + "value": "mvz@e-mail.de" + } + ], + "address": [ + { + "type": "both", + "line": [ + "Herbert-Lewin-Platz 2" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Herbert-Lewin-Platz" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "2" + } + ] + } + ], + "city": "Berlin", + "postalCode": "10623", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Coverage/e17f8a4c-8d7d-4c83-9b7b-fe5532ae9cb4", + "resource": { + "resourceType": "Coverage", + "id": "e17f8a4c-8d7d-4c83-9b7b-fe5532ae9cb4", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" + ] + }, + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS", + "code": "1" + } + } + ], + "status": "active", + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis", + "code": "PKV" + } + ] + }, + "beneficiary": { + "reference": "Patient/ad94edd3-2b80-4ff9-b761-644a77a83252" + }, + "payor": [ + { + "identifier": { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "123456789" + }, + "display": "Allianz Private Krankenversicherung" + } + ] + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0001-000000000000" + } + ] +} diff --git a/common/src/commonTest/resources/fhir/pkv/PZN-Verordnung_Nr_7.json b/common/src/commonTest/resources/fhir/pkv/PZN-Verordnung_Nr_7.json new file mode 100644 index 00000000..d82a9aec --- /dev/null +++ b/common/src/commonTest/resources/fhir/pkv/PZN-Verordnung_Nr_7.json @@ -0,0 +1,1410 @@ +{ + "resourceType": "Bundle", + "type": "collection", + "entry": [ + { + "resource": { + "resourceType": "ChargeItem", + "meta": { + "profile": [ + "https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_ChargeItem|1.0" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId" + }, + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_AccessCode", + "value": "abd4afed9f3f458114fc3407878213e110f238d1afa919fbed7282abbef68bfd" + } + ], + "status": "billable", + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "X110465770" + } + }, + "enterer": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + }, + "enteredDate": "2023-02-23T15:08:32.699+00:00", + "supportingInformation": [ + { + "reference": "urn:uuid:c8606712-0000-0000-0001-000000000000", + "display": "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0004-000000000000", + "display": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0003-000000000000", + "display": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle" + } + ] + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "c8606712-0000-0000-0003-000000000000", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle|1.2" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.000.001.206.112.29" + }, + "type": "document", + "timestamp": "2023-02-23T15:08:30.803+00:00", + "link": [ + { + "relation": "self", + "url": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Task/200.000.001.206.112.29/$close/" + } + ], + "entry": [ + { + "fullUrl": "urn:uuid:1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "resource": { + "resourceType": "Composition", + "id": "1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Composition|1.2" + ] + }, + "extension": [ + { + "url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_Beneficiary", + "valueIdentifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType", + "code": "3", + "display": "Receipt" + } + ] + }, + "date": "2023-02-23T15:08:30.802+00:00", + "author": [ + { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + } + ], + "title": "Quittung", + "event": [ + { + "period": { + "start": "2023-02-23T15:08:29.843+00:00", + "end": "2023-02-23T15:08:30.802+00:00" + } + } + ], + "section": [ + { + "entry": [ + { + "reference": "Binary/PrescriptionDigest-200.000.001.206.112.29" + } + ] + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1", + "resource": { + "resourceType": "Device", + "id": "1", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Device|1.2" + ] + }, + "status": "active", + "serialNumber": "1.9.0", + "deviceName": [ + { + "name": "E-Rezept Fachdienst", + "type": "user-friendly-name" + } + ], + "version": [ + { + "value": "1.9.0" + } + ], + "contact": [ + { + "system": "email", + "value": "betrieb@gematik.de" + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Binary/PrescriptionDigest-200.000.001.206.112.29", + "resource": { + "resourceType": "Binary", + "id": "PrescriptionDigest-200.000.001.206.112.29", + "meta": { + "versionId": "1", + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Digest|1.2" + ] + }, + "contentType": "application/octet-stream", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-02-23T15:08:32.985+00:00", + "who": { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0003-000000000000" + }, + { + "resource": { + "resourceType": "Bundle", + "id": "8730e3bc-8385-450d-a7c4-eb7c11fb2776", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle|1.2" + ], + "tag": [ + { + "display": "Beispiel RezeptAbgabedatenPKV Bundle (PZN-7)" + }, + { + "display": "ACHTUNG! Der fachlich korrekte Inhalt der Beispielinstanz kann nicht gewährleistet werden. Wir sind jederzeit dankbar für Hinweise auf Fehler oder für Verbesserungsvorschläge." + } + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.339.908.107.779.64" + }, + "type": "document", + "timestamp": "2023-07-03T21:30:00+00:00", + "entry": [ + { + "fullUrl": "urn:uuid:fdf34e2d-4173-42e3-a0ef-544f601c2dfc", + "resource": { + "resourceType": "Composition", + "id": "fdf34e2d-4173-42e3-a0ef-544f601c2dfc", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenComposition|1.2" + ] + }, + "status": "final", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-CompositionTypes", + "code": "ERezeptAbgabedaten" + } + ] + }, + "date": "2023-07-03T21:30:00Z", + "author": [ + { + "reference": "urn:uuid:c05a99f2-140d-4842-9194-1bd7972f3409" + } + ], + "title": "ERezeptAbgabedaten", + "section": [ + { + "title": "Abgabeinformationen", + "entry": [ + { + "reference": "urn:uuid:8d44cccd-2993-481d-8edf-5aa9bee52fb9" + } + ] + }, + { + "title": "Apotheke", + "entry": [ + { + "reference": "urn:uuid:c05a99f2-140d-4842-9194-1bd7972f3409" + } + ] + } + ] + } + }, + { + "fullUrl": "urn:uuid:c05a99f2-140d-4842-9194-1bd7972f3409", + "resource": { + "resourceType": "Organization", + "id": "c05a99f2-140d-4842-9194-1bd7972f3409", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Apotheke|1.2" + ] + }, + "identifier": [ + { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "308412345" + } + ], + "name": "Adler-Apotheke", + "address": [ + { + "type": "physical", + "line": [ + "Taunusstraße 89" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Taunusstraße" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "89" + } + ] + } + ], + "city": "Langen", + "postalCode": "63225", + "country": "D" + } + ] + } + }, + { + "fullUrl": "urn:uuid:8d44cccd-2993-481d-8edf-5aa9bee52fb9", + "resource": { + "resourceType": "MedicationDispense", + "id": "8d44cccd-2993-481d-8edf-5aa9bee52fb9", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abgabeinformationen|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Abrechnungszeilen", + "valueReference": { + "reference": "urn:uuid:4bb4be31-f954-4fc9-89a5-051df87f7d6e" + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-EX-ERP-AbrechnungsTyp", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-AbrechnungsTyp", + "code": "1" + } + ] + } + } + ], + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "performer": [ + { + "actor": { + "reference": "urn:uuid:c05a99f2-140d-4842-9194-1bd7972f3409" + } + } + ], + "authorizingPrescription": [ + { + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.339.908.107.779.64" + } + } + ], + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "Abgabeinformationen" + } + ] + }, + "whenHandedOver": "2023-07-03", + "substitution": { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Rezeptaenderung", + "extension": [ + { + "url": "ArtRezeptaenderung", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-ArtRezeptaenderung", + "code": "21" + } + ] + } + }, + { + "url": "RueckspracheArzt", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-RueckspracheArzt", + "code": "2" + } + ] + } + } + ] + } + ], + "wasSubstituted": true + } + } + }, + { + "fullUrl": "urn:uuid:4bb4be31-f954-4fc9-89a5-051df87f7d6e", + "resource": { + "resourceType": "Invoice", + "id": "4bb4be31-f954-4fc9-89a5-051df87f7d6e", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abrechnungszeilen|1.2" + ] + }, + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "Abrechnungszeilen" + } + ] + }, + "lineItem": [ + { + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "11514676" + } + ], + "text": "Amoxicillin/Clavulansäure Heumann 875 mg/125 mg 10 St" + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", + "valueDecimal": 19 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", + "extension": [ + { + "url": "Kategorie", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", + "code": "0" + } + ] + } + }, + { + "url": "Kostenbetrag", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ] + } + ], + "type": "informational", + "factor": 2, + "amount": { + "value": 61.34, + "currency": "EUR" + } + } + ] + }, + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Zusatzattribute", + "extension": [ + { + "url": "ZusatzattributAbgabeNoctu", + "extension": [ + { + "url": "Gruppe", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-ZusatzattributGruppe", + "code": "11" + } + ] + } + }, + { + "url": "DatumUhrzeit", + "valueDateTime": "2023-07-03T21:30:00.0Z" + }, + { + "url": "Schluessel", + "valueBoolean": true + } + ] + } + ] + } + ], + "sequence": 2, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://TA1.abda.de", + "code": "02567018" + } + ], + "text": "Noctu-Gebühr" + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", + "valueDecimal": 19 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", + "extension": [ + { + "url": "Kategorie", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", + "code": "0" + } + ] + } + }, + { + "url": "Kostenbetrag", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ] + } + ], + "type": "informational", + "factor": 1, + "amount": { + "value": 2.5, + "currency": "EUR" + } + } + ] + } + ], + "totalGross": { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Gesamtzuzahlung", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ], + "value": 63.84, + "currency": "EUR" + } + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0004-000000000000" + }, + { + "resource": { + "resourceType": "Bundle", + "id": "bb016e48-2995-485d-b281-fd1bbdb793a6", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle|1.1.0" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.339.908.107.779.64" + }, + "type": "document", + "timestamp": "2023-07-03T08:30:00+00:00", + "entry": [ + { + "fullUrl": "http://pvs.praxis.local/fhir/Composition/dfc18206-6056-45f7-bb12-e9c2a240e170", + "resource": { + "resourceType": "Composition", + "id": "dfc18206-6056-45f7-bb12-e9c2a240e170", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Composition|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_Legal_basis", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_STATUSKENNZEICHEN", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_PKV_Tariff", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PKV_TARIFF", + "code": "01" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_FORMULAR_ART", + "code": "e16A" + } + ] + }, + "subject": { + "reference": "Patient/6c05893c-ebcb-4e08-a38a-8e6d82a7c38e" + }, + "date": "2023-07-03T08:00:00Z", + "author": [ + { + "reference": "Practitioner/03f4da1f-93db-4376-8059-55d415b5da98", + "type": "Practitioner" + }, + { + "type": "Device", + "identifier": { + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_FOR_Pruefnummer", + "value": "Y/400/2107/36/999" + } + } + ], + "title": "elektronische Arzneimittelverordnung", + "custodian": { + "reference": "Organization/2073f503-d53d-4624-b3d7-fd88299f3059" + }, + "section": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Prescription" + } + ] + }, + "entry": [ + { + "reference": "MedicationRequest/24e8e831-76ae-4bdc-95ac-f5adc1a9736e" + } + ] + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Coverage" + } + ] + }, + "entry": [ + { + "reference": "Coverage/982d75f5-1e3b-474c-9993-100830734faf" + } + ] + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/MedicationRequest/24e8e831-76ae-4bdc-95ac-f5adc1a9736e", + "resource": { + "resourceType": "MedicationRequest", + "id": "24e8e831-76ae-4bdc-95ac-f5adc1a9736e", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", + "valueBoolean": true + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription", + "extension": [ + { + "url": "Kennzeichen", + "valueBoolean": false + } + ] + } + ], + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/13555c80-1d5b-48c4-9be4-9491c1ccbd05" + }, + "subject": { + "reference": "Patient/6c05893c-ebcb-4e08-a38a-8e6d82a7c38e" + }, + "authoredOn": "2023-07-03", + "requester": { + "reference": "Practitioner/03f4da1f-93db-4376-8059-55d415b5da98" + }, + "insurance": [ + { + "reference": "Coverage/982d75f5-1e3b-474c-9993-100830734faf" + } + ], + "dosageInstruction": [ + { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag", + "valueBoolean": true + } + ], + "text": "1 Tablette noch in der Nacht, dann für 7 Tage jeweils 1 Tablette morgens und 1 Tablette abends einnehmen" + } + ], + "dispenseRequest": { + "quantity": { + "value": 1, + "system": "http://unitsofmeasure.org", + "code": "{Package}" + } + }, + "substitution": { + "allowedBoolean": true + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Medication/13555c80-1d5b-48c4-9be4-9491c1ccbd05", + "resource": { + "resourceType": "Medication", + "id": "13555c80-1d5b-48c4-9be4-9491c1ccbd05", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N2" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "10298302" + } + ], + "text": "Amoxicillin/Clavulansäure AL 875mg/125mg 20 FTA N2" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FTA" + } + ] + }, + "amount": { + "numerator": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize", + "valueString": "20" + } + ], + "unit": "Stück" + }, + "denominator": { + "value": 1 + } + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Patient/6c05893c-ebcb-4e08-a38a-8e6d82a7c38e", + "resource": { + "resourceType": "Patient", + "id": "6c05893c-ebcb-4e08-a38a-8e6d82a7c38e", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", + "code": "PKV" + } + ] + }, + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464113" + } + ], + "name": [ + { + "use": "official", + "family": "Privati", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Privati" + } + ] + }, + "given": [ + "Paula" + ] + } + ], + "birthDate": "1935-06-22", + "address": [ + { + "type": "both", + "line": [ + "Blumenweg 18" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Blumenweg" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "18" + } + ] + } + ], + "city": "Esens", + "postalCode": "26427", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Practitioner/03f4da1f-93db-4376-8059-55d415b5da98", + "resource": { + "resourceType": "Practitioner", + "id": "03f4da1f-93db-4376-8059-55d415b5da98", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "LANR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", + "value": "987654423" + }, + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "PRN" + } + ] + }, + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-748382202" + } + ], + "name": [ + { + "use": "official", + "family": "Schneider", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Schneider" + } + ] + }, + "given": [ + "Emma" + ], + "prefix": [ + "Dr. med." + ], + "_prefix": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier", + "valueCode": "AC" + } + ] + } + ] + } + ], + "qualification": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", + "code": "00" + } + ] + } + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", + "code": "Berufsbezeichnung" + } + ], + "text": "Fachärztin für Innere Medizin" + } + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Organization/2073f503-d53d-4624-b3d7-fd88299f3059", + "resource": { + "resourceType": "Organization", + "id": "2073f503-d53d-4624-b3d7-fd88299f3059", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Organization|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "BSNR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", + "value": "721111100" + } + ], + "name": "MVZ", + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "fax", + "value": "030123456789" + }, + { + "system": "email", + "value": "mvz@e-mail.de" + } + ], + "address": [ + { + "type": "both", + "line": [ + "Herbert-Lewin-Platz 2" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Herbert-Lewin-Platz" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "2" + } + ] + } + ], + "city": "Berlin", + "postalCode": "10623", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Coverage/982d75f5-1e3b-474c-9993-100830734faf", + "resource": { + "resourceType": "Coverage", + "id": "982d75f5-1e3b-474c-9993-100830734faf", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" + ] + }, + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS", + "code": "1" + } + } + ], + "status": "active", + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis", + "code": "PKV" + } + ] + }, + "beneficiary": { + "reference": "Patient/6c05893c-ebcb-4e08-a38a-8e6d82a7c38e" + }, + "payor": [ + { + "identifier": { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "123456789" + }, + "display": "Allianz Private Krankenversicherung" + } + ] + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0001-000000000000" + }, + { + "resource": { + "resourceType": "Bundle", + "id": "01f65527-1929-49c5-a05e-c995b9115e08", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_CloseOperationInputBundle|1.2" + ], + "tag": [ + { + "display": "Beispiel MedicationDispense PKV PZN Bsp 7 (multiple medications)" + } + ] + }, + "type": "collection", + "entry": [ + { + "fullUrl": "urn:uuid:f43ae7da-3db3-427c-aa7b-1104a14b05dc", + "resource": { + "resourceType": "MedicationDispense", + "id": "f43ae7da-3db3-427c-aa7b-1104a14b05dc", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.2" + ], + "tag": [ + { + "display": "Beispiel MedicationDispense PKV PZN Bsp 7 1/2" + } + ] + }, + "contained": [ + { + "resourceType": "Medication", + "id": "c9061528-a4ce-49f6-a83e-89ea67a1a192", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "11514676" + } + ], + "text": "Amoxicillin/Clavulansäure Heumann 875mg/125mg 10St" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FTA" + } + ] + }, + "amount": { + "numerator": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize", + "valueString": "10" + } + ], + "unit": "Stück" + }, + "denominator": { + "value": 1 + } + }, + "batch": { + "lotNumber": "A123456789-1", + "expirationDate": "2024-12-31" + } + } + ], + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.339.908.107.779.64" + } + ], + "status": "completed", + "medicationReference": { + "reference": "#c9061528-a4ce-49f6-a83e-89ea67a1a192", + "display": "Amoxicillin/Clavulansäure Heumann 875mg/125mg 10St" + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464113" + } + }, + "performer": [ + { + "actor": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-abc-1234567890" + } + } + } + ], + "whenHandedOver": "2023-07-03", + "dosageInstruction": [ + { + "text": "1 Tablette noch in der Nacht, dann für 7 Tage jeweils 1 Tablette morgens und 1 Tablette abends einnehmen" + } + ] + } + }, + { + "fullUrl": "urn:uuid:00759ea9-0328-4448-bc7a-369f5d35a8d5", + "resource": { + "resourceType": "MedicationDispense", + "id": "00759ea9-0328-4448-bc7a-369f5d35a8d5", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.2" + ], + "tag": [ + { + "display": "Beispiel MedicationDispense PKV PZN Bsp 7 2/2" + } + ] + }, + "contained": [ + { + "resourceType": "Medication", + "id": "8e1a2a63-cf6d-4fc9-be44-54f64022d222", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "11514676" + } + ], + "text": "Amoxicillin/Clavulansäure Heumann 875mg/125mg 10St" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FTA" + } + ] + }, + "amount": { + "numerator": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize", + "valueString": "10" + } + ], + "unit": "Stück" + }, + "denominator": { + "value": 1 + } + }, + "batch": { + "lotNumber": "A123456789-2", + "expirationDate": "2024-12-31" + } + } + ], + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.339.908.107.779.64" + } + ], + "status": "completed", + "medicationReference": { + "reference": "#8e1a2a63-cf6d-4fc9-be44-54f64022d222", + "display": "Amoxicillin/Clavulansäure Heumann 875mg/125mg 10St" + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464113" + } + }, + "performer": [ + { + "actor": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-abc-1234567890" + } + } + } + ], + "whenHandedOver": "2023-07-03", + "dosageInstruction": [ + { + "text": "1 Tablette noch in der Nacht, dann für 7 Tage jeweils 1 Tablette morgens und 1 Tablette abends einnehmen" + } + ] + } + } + ] + } + } + ] +} diff --git a/common/src/commonTest/resources/fhir/pkv/PZN-Verordnung_Nr_8.json b/common/src/commonTest/resources/fhir/pkv/PZN-Verordnung_Nr_8.json new file mode 100644 index 00000000..d0d06172 --- /dev/null +++ b/common/src/commonTest/resources/fhir/pkv/PZN-Verordnung_Nr_8.json @@ -0,0 +1,1203 @@ +{ + "resourceType": "Bundle", + "type": "collection", + "entry": [ + { + "resource": { + "resourceType": "ChargeItem", + "id": "200.108.757.032.088.60", + "meta": { + "profile": [ + "https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_ChargeItem|1.0" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.108.757.032.088.60" + }, + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_AccessCode", + "value": "abd4afed9f3f458114fc3407878213e110f238d1afa919fbed7282abbef68bfd" + } + ], + "status": "billable", + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "X110465770" + } + }, + "enterer": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + }, + "enteredDate": "2023-02-23T15:08:32.699+00:00", + "supportingInformation": [ + { + "reference": "urn:uuid:c8606712-0000-0000-0001-000000000000", + "display": "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0004-000000000000", + "display": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0003-000000000000", + "display": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle" + } + ] + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "c8606712-0000-0000-0003-000000000000", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle|1.2" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.000.001.206.112.29" + }, + "type": "document", + "timestamp": "2023-02-23T15:08:30.803+00:00", + "link": [ + { + "relation": "self", + "url": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Task/200.000.001.206.112.29/$close/" + } + ], + "entry": [ + { + "fullUrl": "urn:uuid:1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "resource": { + "resourceType": "Composition", + "id": "1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Composition|1.2" + ] + }, + "extension": [ + { + "url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_Beneficiary", + "valueIdentifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType", + "code": "3", + "display": "Receipt" + } + ] + }, + "date": "2023-02-23T15:08:30.802+00:00", + "author": [ + { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + } + ], + "title": "Quittung", + "event": [ + { + "period": { + "start": "2023-02-23T15:08:29.843+00:00", + "end": "2023-02-23T15:08:30.802+00:00" + } + } + ], + "section": [ + { + "entry": [ + { + "reference": "Binary/PrescriptionDigest-200.000.001.206.112.29" + } + ] + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1", + "resource": { + "resourceType": "Device", + "id": "1", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Device|1.2" + ] + }, + "status": "active", + "serialNumber": "1.9.0", + "deviceName": [ + { + "name": "E-Rezept Fachdienst", + "type": "user-friendly-name" + } + ], + "version": [ + { + "value": "1.9.0" + } + ], + "contact": [ + { + "system": "email", + "value": "betrieb@gematik.de" + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Binary/PrescriptionDigest-200.000.001.206.112.29", + "resource": { + "resourceType": "Binary", + "id": "PrescriptionDigest-200.000.001.206.112.29", + "meta": { + "versionId": "1", + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Digest|1.2" + ] + }, + "contentType": "application/octet-stream", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-02-23T15:08:32.985+00:00", + "who": { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0003-000000000000" + }, + { + "resource": { + "resourceType": "Bundle", + "id": "9c41d25c-0f94-469f-a7f5-3a94c1fad020", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle|1.2" + ], + "tag": [ + { + "display": "Beispiel RezeptAbgabedatenPKV Bundle (PZN-8)" + }, + { + "display": "ACHTUNG! Der fachlich korrekte Inhalt der Beispielinstanz kann nicht gewährleistet werden. Wir sind jederzeit dankbar für Hinweise auf Fehler oder für Verbesserungsvorschläge." + } + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.108.757.032.088.60" + }, + "type": "document", + "timestamp": "2023-07-03T11:30:00+00:00", + "entry": [ + { + "fullUrl": "urn:uuid:8265e112-d8a6-453d-b524-0d6cbbf181b5", + "resource": { + "resourceType": "Composition", + "id": "8265e112-d8a6-453d-b524-0d6cbbf181b5", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenComposition|1.2" + ] + }, + "status": "final", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-CompositionTypes", + "code": "ERezeptAbgabedaten" + } + ] + }, + "date": "2023-07-03T11:30:00Z", + "author": [ + { + "reference": "urn:uuid:ed76bd25-a6ae-41b2-a1b9-7c385ce7a9f2" + } + ], + "title": "ERezeptAbgabedaten", + "section": [ + { + "title": "Abgabeinformationen", + "entry": [ + { + "reference": "urn:uuid:ff665486-c7f0-4064-a7b6-9f811e0e16f7" + } + ] + }, + { + "title": "Apotheke", + "entry": [ + { + "reference": "urn:uuid:ed76bd25-a6ae-41b2-a1b9-7c385ce7a9f2" + } + ] + } + ] + } + }, + { + "fullUrl": "urn:uuid:ed76bd25-a6ae-41b2-a1b9-7c385ce7a9f2", + "resource": { + "resourceType": "Organization", + "id": "ed76bd25-a6ae-41b2-a1b9-7c385ce7a9f2", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Apotheke|1.2" + ] + }, + "identifier": [ + { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "308412345" + } + ], + "name": "Adler-Apotheke", + "address": [ + { + "type": "physical", + "line": [ + "Taunusstraße 89" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Taunusstraße" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "89" + } + ] + } + ], + "city": "Langen", + "postalCode": "63225", + "country": "D" + } + ] + } + }, + { + "fullUrl": "urn:uuid:ff665486-c7f0-4064-a7b6-9f811e0e16f7", + "resource": { + "resourceType": "MedicationDispense", + "id": "ff665486-c7f0-4064-a7b6-9f811e0e16f7", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abgabeinformationen|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Abrechnungszeilen", + "valueReference": { + "reference": "urn:uuid:38f94ec0-1856-47c5-a942-a703a50bc89e" + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-EX-ERP-AbrechnungsTyp", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-AbrechnungsTyp", + "code": "1" + } + ] + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenHerstellung", + "valueReference": { + "reference": "urn:uuid:5885e1f8-7f5a-4688-8cf2-47b3fddcdd9a" + } + } + ], + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "performer": [ + { + "actor": { + "reference": "urn:uuid:ed76bd25-a6ae-41b2-a1b9-7c385ce7a9f2" + } + } + ], + "authorizingPrescription": [ + { + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.108.757.032.088.60" + } + } + ], + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "Abgabeinformationen" + } + ] + }, + "whenHandedOver": "2023-07-03" + } + }, + { + "fullUrl": "urn:uuid:38f94ec0-1856-47c5-a942-a703a50bc89e", + "resource": { + "resourceType": "Invoice", + "id": "38f94ec0-1856-47c5-a942-a703a50bc89e", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abrechnungszeilen|1.2" + ] + }, + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "Abrechnungszeilen" + } + ] + }, + "lineItem": [ + { + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://TA1.abda.de", + "code": "02567053" + } + ], + "text": "Auseinzelung" + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", + "valueDecimal": 19 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", + "extension": [ + { + "url": "Kategorie", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", + "code": "0" + } + ] + } + }, + { + "url": "Kostenbetrag", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ] + } + ], + "type": "informational", + "factor": 1, + "amount": { + "value": 50.97, + "currency": "EUR" + } + } + ] + } + ], + "totalGross": { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Gesamtzuzahlung", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ], + "value": 50.97, + "currency": "EUR" + } + } + }, + { + "fullUrl": "urn:uuid:5885e1f8-7f5a-4688-8cf2-47b3fddcdd9a", + "resource": { + "resourceType": "MedicationDispense", + "id": "5885e1f8-7f5a-4688-8cf2-47b3fddcdd9a", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-ZusatzdatenHerstellung|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Zaehler", + "valuePositiveInt": 1 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenEinheit", + "valueReference": { + "reference": "urn:uuid:d9bbd913-2836-4cbc-a2ab-605af44948a9" + } + } + ], + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "ZusatzdatenHerstellung" + } + ] + } + } + }, + { + "fullUrl": "urn:uuid:d9bbd913-2836-4cbc-a2ab-605af44948a9", + "resource": { + "resourceType": "Invoice", + "id": "d9bbd913-2836-4cbc-a2ab-605af44948a9", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-ZusatzdatenEinheit|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Zaehler", + "valuePositiveInt": 1 + } + ], + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "ZusatzdatenEinheit" + } + ] + }, + "lineItem": [ + { + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "17543785" + } + ] + }, + "priceComponent": [ + { + "type": "informational", + "factor": 100, + "amount": { + "value": 42.83, + "currency": "EUR" + } + } + ] + } + ] + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0004-000000000000" + }, + { + "resource": { + "resourceType": "MedicationDispense", + "id": "ca8a8e17-5dec-4c1b-a556-b7815605097b", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.2" + ], + "tag": [ + { + "display": "Beispiel MedicationDispense PKV PZN Bsp 8" + } + ] + }, + "contained": [ + { + "resourceType": "Medication", + "id": "44198295-e6ba-4149-b625-2b223d3457e0", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_FreeText|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + } + ], + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Type", + "code": "freitext" + } + ], + "text": "Efluelda Injektionssuspension 2022/2023 1 Fertigspr. ohne Kanüle" + }, + "batch": { + "lotNumber": "A123456789-1", + "expirationDate": "2024-12-31" + } + } + ], + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.108.757.032.088.60" + } + ], + "status": "completed", + "medicationReference": { + "reference": "#44198295-e6ba-4149-b625-2b223d3457e0", + "display": "Auseinzelung" + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464113" + } + }, + "performer": [ + { + "actor": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-abc-1234567890" + } + } + } + ], + "whenHandedOver": "2023-07-03", + "dosageInstruction": [ + { + "text": "1-0-0-0" + } + ] + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "131d129a-4307-4855-abd0-30bd4b9c8da4", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle|1.1.0" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.108.757.032.088.60" + }, + "type": "document", + "timestamp": "2023-07-03T08:30:00+00:00", + "entry": [ + { + "fullUrl": "http://pvs.praxis.local/fhir/Composition/9d1a838a-d53a-44aa-b9a6-7a1cb660ffd1", + "resource": { + "resourceType": "Composition", + "id": "9d1a838a-d53a-44aa-b9a6-7a1cb660ffd1", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Composition|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_Legal_basis", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_STATUSKENNZEICHEN", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_PKV_Tariff", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PKV_TARIFF", + "code": "01" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_FORMULAR_ART", + "code": "e16A" + } + ] + }, + "subject": { + "reference": "Patient/60ba3f78-d76e-457f-b125-489205b036de" + }, + "date": "2023-07-03T08:00:00Z", + "author": [ + { + "reference": "Practitioner/c8a7813d-8ed8-45fe-a5fe-ac1f589057e7", + "type": "Practitioner" + }, + { + "type": "Device", + "identifier": { + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_FOR_Pruefnummer", + "value": "Y/400/2107/36/999" + } + } + ], + "title": "elektronische Arzneimittelverordnung", + "custodian": { + "reference": "Organization/d36740b4-f77c-49d8-8343-591846df97da" + }, + "section": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Prescription" + } + ] + }, + "entry": [ + { + "reference": "MedicationRequest/19791b5b-69f0-4f35-bb47-bfd945f6ef8b" + } + ] + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Coverage" + } + ] + }, + "entry": [ + { + "reference": "Coverage/554badb3-ab8a-4e8f-9b5b-3e962e339099" + } + ] + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/MedicationRequest/19791b5b-69f0-4f35-bb47-bfd945f6ef8b", + "resource": { + "resourceType": "MedicationRequest", + "id": "19791b5b-69f0-4f35-bb47-bfd945f6ef8b", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription", + "extension": [ + { + "url": "Kennzeichen", + "valueBoolean": false + } + ] + } + ], + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/3465d6a1-6785-427f-8f21-90387daa5855" + }, + "subject": { + "reference": "Patient/60ba3f78-d76e-457f-b125-489205b036de" + }, + "authoredOn": "2023-07-03", + "requester": { + "reference": "Practitioner/c8a7813d-8ed8-45fe-a5fe-ac1f589057e7" + }, + "insurance": [ + { + "reference": "Coverage/554badb3-ab8a-4e8f-9b5b-3e962e339099" + } + ], + "dosageInstruction": [ + { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag", + "valueBoolean": false + } + ] + } + ], + "dispenseRequest": { + "quantity": { + "value": 1, + "system": "http://unitsofmeasure.org", + "code": "{Package}" + } + }, + "substitution": { + "allowedBoolean": true + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Medication/3465d6a1-6785-427f-8f21-90387daa5855", + "resource": { + "resourceType": "Medication", + "id": "3465d6a1-6785-427f-8f21-90387daa5855", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": true + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N1" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "17543779" + } + ], + "text": "Efluelda Injek.susp. 2022/2023 1 FER o. Kanüle N1" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "FER" + } + ] + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Patient/60ba3f78-d76e-457f-b125-489205b036de", + "resource": { + "resourceType": "Patient", + "id": "60ba3f78-d76e-457f-b125-489205b036de", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", + "code": "PKV" + } + ] + }, + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464113" + } + ], + "name": [ + { + "use": "official", + "family": "Privati", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Privati" + } + ] + }, + "given": [ + "Paula" + ] + } + ], + "birthDate": "1935-06-22", + "address": [ + { + "type": "both", + "line": [ + "Blumenweg 18" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Blumenweg" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "18" + } + ] + } + ], + "city": "Esens", + "postalCode": "26427", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Practitioner/c8a7813d-8ed8-45fe-a5fe-ac1f589057e7", + "resource": { + "resourceType": "Practitioner", + "id": "c8a7813d-8ed8-45fe-a5fe-ac1f589057e7", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "LANR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", + "value": "987654423" + }, + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "PRN" + } + ] + }, + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-748382202" + } + ], + "name": [ + { + "use": "official", + "family": "Schneider", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Schneider" + } + ] + }, + "given": [ + "Emma" + ], + "prefix": [ + "Dr. med." + ], + "_prefix": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier", + "valueCode": "AC" + } + ] + } + ] + } + ], + "qualification": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", + "code": "00" + } + ] + } + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", + "code": "Berufsbezeichnung" + } + ], + "text": "Fachärztin für Innere Medizin" + } + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Organization/d36740b4-f77c-49d8-8343-591846df97da", + "resource": { + "resourceType": "Organization", + "id": "d36740b4-f77c-49d8-8343-591846df97da", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Organization|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "BSNR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", + "value": "721111100" + } + ], + "name": "MVZ", + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "fax", + "value": "030123456789" + }, + { + "system": "email", + "value": "mvz@e-mail.de" + } + ], + "address": [ + { + "type": "both", + "line": [ + "Herbert-Lewin-Platz 2" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Herbert-Lewin-Platz" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "2" + } + ] + } + ], + "city": "Berlin", + "postalCode": "10623", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Coverage/554badb3-ab8a-4e8f-9b5b-3e962e339099", + "resource": { + "resourceType": "Coverage", + "id": "554badb3-ab8a-4e8f-9b5b-3e962e339099", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" + ] + }, + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS", + "code": "1" + } + } + ], + "status": "active", + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis", + "code": "PKV" + } + ] + }, + "beneficiary": { + "reference": "Patient/60ba3f78-d76e-457f-b125-489205b036de" + }, + "payor": [ + { + "identifier": { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "123456789" + }, + "display": "Allianz Private Krankenversicherung" + } + ] + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0001-000000000000" + } + ] +} diff --git a/common/src/commonTest/resources/fhir/pkv/PZN_Mehrfachverordnung_PZN_MV_1.json b/common/src/commonTest/resources/fhir/pkv/PZN_Mehrfachverordnung_PZN_MV_1.json new file mode 100644 index 00000000..23f6607b --- /dev/null +++ b/common/src/commonTest/resources/fhir/pkv/PZN_Mehrfachverordnung_PZN_MV_1.json @@ -0,0 +1,1150 @@ +{ + "resourceType": "Bundle", + "type": "collection", + "entry": [ + { + "resource": { + "resourceType": "ChargeItem", + "id": "200.918.824.824.539.12", + "meta": { + "profile": [ + "https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_ChargeItem|1.0" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.918.824.824.539.12" + }, + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_AccessCode", + "value": "abd4afed9f3f458114fc3407878213e110f238d1afa919fbed7282abbef68bfd" + } + ], + "status": "billable", + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "X110465770" + } + }, + "enterer": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + }, + "enteredDate": "2023-02-23T15:08:32.699+00:00", + "supportingInformation": [ + { + "reference": "urn:uuid:c8606712-0000-0000-0001-000000000000", + "display": "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0004-000000000000", + "display": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0003-000000000000", + "display": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle" + } + ] + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "c8606712-0000-0000-0003-000000000000", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle|1.2" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.000.001.206.112.29" + }, + "type": "document", + "timestamp": "2023-02-23T15:08:30.803+00:00", + "link": [ + { + "relation": "self", + "url": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Task/200.000.001.206.112.29/$close/" + } + ], + "entry": [ + { + "fullUrl": "urn:uuid:1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "resource": { + "resourceType": "Composition", + "id": "1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Composition|1.2" + ] + }, + "extension": [ + { + "url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_Beneficiary", + "valueIdentifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType", + "code": "3", + "display": "Receipt" + } + ] + }, + "date": "2023-02-23T15:08:30.802+00:00", + "author": [ + { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + } + ], + "title": "Quittung", + "event": [ + { + "period": { + "start": "2023-02-23T15:08:29.843+00:00", + "end": "2023-02-23T15:08:30.802+00:00" + } + } + ], + "section": [ + { + "entry": [ + { + "reference": "Binary/PrescriptionDigest-200.000.001.206.112.29" + } + ] + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1", + "resource": { + "resourceType": "Device", + "id": "1", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Device|1.2" + ] + }, + "status": "active", + "serialNumber": "1.9.0", + "deviceName": [ + { + "name": "E-Rezept Fachdienst", + "type": "user-friendly-name" + } + ], + "version": [ + { + "value": "1.9.0" + } + ], + "contact": [ + { + "system": "email", + "value": "betrieb@gematik.de" + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Binary/PrescriptionDigest-200.000.001.206.112.29", + "resource": { + "resourceType": "Binary", + "id": "PrescriptionDigest-200.000.001.206.112.29", + "meta": { + "versionId": "1", + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Digest|1.2" + ] + }, + "contentType": "application/octet-stream", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-02-23T15:08:32.985+00:00", + "who": { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0003-000000000000" + }, + { + "resource": { + "resourceType": "MedicationDispense", + "id": "deb4953e-1513-49ce-b1f4-acdf8daa6a40", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.2" + ], + "tag": [ + { + "display": "Beispiel MedicationDispense PKV MV PZN Bsp 1/4" + } + ] + }, + "contained": [ + { + "resourceType": "Medication", + "id": "f03507b4-1618-42f7-bfe6-83a17f1a5772", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N3" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "02532741" + } + ], + "text": "L-thyroxin 75 Henning Tabletten 100 St" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "TAB" + } + ] + }, + "batch": { + "lotNumber": "A123456789-1", + "expirationDate": "2024-12-31" + } + } + ], + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.918.824.824.539.12" + } + ], + "status": "completed", + "medicationReference": { + "reference": "#f03507b4-1618-42f7-bfe6-83a17f1a5772", + "display": "L-thyroxin 75 Henning Tabletten 100 St" + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464113" + } + }, + "performer": [ + { + "actor": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-abc-1234567890" + } + } + } + ], + "whenHandedOver": "2023-07-03" + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "3a229be3-ee90-4a64-8b54-b34ceaf6725a", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle|1.2" + ], + "tag": [ + { + "display": "Beispiel RezeptAbgabedatenPKV Bundle (PZN-4 Mehrfachverordnung 1/4)" + }, + { + "display": "ACHTUNG! Der fachlich korrekte Inhalt der Beispielinstanz kann nicht gewährleistet werden. Wir sind jederzeit dankbar für Hinweise auf Fehler oder für Verbesserungsvorschläge." + } + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.918.824.824.539.12" + }, + "type": "document", + "timestamp": "2023-07-03T11:30:00+00:00", + "entry": [ + { + "fullUrl": "urn:uuid:2bfd8c93-c8e2-4d4c-8a04-d8de2a728c8d", + "resource": { + "resourceType": "Composition", + "id": "2bfd8c93-c8e2-4d4c-8a04-d8de2a728c8d", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenComposition|1.2" + ] + }, + "status": "final", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-CompositionTypes", + "code": "ERezeptAbgabedaten" + } + ] + }, + "date": "2023-07-03T11:30:00Z", + "author": [ + { + "reference": "urn:uuid:21f61477-fd82-4fdd-9c0c-f7941ba2a145" + } + ], + "title": "ERezeptAbgabedaten", + "section": [ + { + "title": "Abgabeinformationen", + "entry": [ + { + "reference": "urn:uuid:49b247bd-3e87-411d-ac70-281ed8bd3842" + } + ] + }, + { + "title": "Apotheke", + "entry": [ + { + "reference": "urn:uuid:21f61477-fd82-4fdd-9c0c-f7941ba2a145" + } + ] + } + ] + } + }, + { + "fullUrl": "urn:uuid:21f61477-fd82-4fdd-9c0c-f7941ba2a145", + "resource": { + "resourceType": "Organization", + "id": "21f61477-fd82-4fdd-9c0c-f7941ba2a145", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Apotheke|1.2" + ] + }, + "identifier": [ + { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "308412345" + } + ], + "name": "Adler-Apotheke", + "address": [ + { + "type": "physical", + "line": [ + "Taunusstraße 89" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Taunusstraße" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "89" + } + ] + } + ], + "city": "Langen", + "postalCode": "63225", + "country": "D" + } + ] + } + }, + { + "fullUrl": "urn:uuid:49b247bd-3e87-411d-ac70-281ed8bd3842", + "resource": { + "resourceType": "MedicationDispense", + "id": "49b247bd-3e87-411d-ac70-281ed8bd3842", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abgabeinformationen|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Abrechnungszeilen", + "valueReference": { + "reference": "urn:uuid:9e029cfe-e5bb-41a9-b8f8-80dcb046ebd4" + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-EX-ERP-AbrechnungsTyp", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-AbrechnungsTyp", + "code": "1" + } + ] + } + } + ], + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "performer": [ + { + "actor": { + "reference": "urn:uuid:21f61477-fd82-4fdd-9c0c-f7941ba2a145" + } + } + ], + "authorizingPrescription": [ + { + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.918.824.824.539.12" + } + } + ], + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "Abgabeinformationen" + } + ] + }, + "whenHandedOver": "2023-07-03" + } + }, + { + "fullUrl": "urn:uuid:9e029cfe-e5bb-41a9-b8f8-80dcb046ebd4", + "resource": { + "resourceType": "Invoice", + "id": "9e029cfe-e5bb-41a9-b8f8-80dcb046ebd4", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abrechnungszeilen|1.2" + ] + }, + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "Abrechnungszeilen" + } + ] + }, + "lineItem": [ + { + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "02532741" + } + ], + "text": "L-thyroxin 75 Henning Tabletten 100 St" + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", + "valueDecimal": 19 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", + "extension": [ + { + "url": "Kategorie", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", + "code": "0" + } + ] + } + }, + { + "url": "Kostenbetrag", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ] + } + ], + "type": "informational", + "factor": 1, + "amount": { + "value": 15.4, + "currency": "EUR" + } + } + ] + } + ], + "totalGross": { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Gesamtzuzahlung", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ], + "value": 15.4, + "currency": "EUR" + } + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0004-000000000000" + }, + { + "resource": { + "resourceType": "Bundle", + "id": "a6a38da0-feb9-4fff-9365-320ef0f809ce", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle|1.1.0" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.918.824.824.539.12" + }, + "type": "document", + "timestamp": "2023-07-03T08:30:00+00:00", + "entry": [ + { + "fullUrl": "http://pvs.praxis.local/fhir/Composition/0692dd77-09e7-4c2f-912e-496b3722caef", + "resource": { + "resourceType": "Composition", + "id": "0692dd77-09e7-4c2f-912e-496b3722caef", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Composition|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_Legal_basis", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_STATUSKENNZEICHEN", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_PKV_Tariff", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PKV_TARIFF", + "code": "01" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_FORMULAR_ART", + "code": "e16A" + } + ] + }, + "subject": { + "reference": "Patient/b15127d9-fb48-4285-a624-84be9ceee983" + }, + "date": "2023-07-03T08:00:00Z", + "author": [ + { + "reference": "Practitioner/55159bc1-9582-4b54-9e3b-3ff54019d48a", + "type": "Practitioner" + }, + { + "type": "Device", + "identifier": { + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_FOR_Pruefnummer", + "value": "Y/400/2107/36/999" + } + } + ], + "title": "elektronische Arzneimittelverordnung", + "custodian": { + "reference": "Organization/bf59e2a2-8e6d-40c2-8705-1ae2cd8d71bc" + }, + "section": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Prescription" + } + ] + }, + "entry": [ + { + "reference": "MedicationRequest/fcebdc57-fce4-43ce-957c-5a7657755f4f" + } + ] + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Coverage" + } + ] + }, + "entry": [ + { + "reference": "Coverage/aec2ba44-7f89-44b7-8c32-698ef7cce100" + } + ] + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/MedicationRequest/fcebdc57-fce4-43ce-957c-5a7657755f4f", + "resource": { + "resourceType": "MedicationRequest", + "id": "fcebdc57-fce4-43ce-957c-5a7657755f4f", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription", + "extension": [ + { + "url": "Kennzeichen", + "valueBoolean": true + }, + { + "url": "Nummerierung", + "valueRatio": { + "numerator": { + "value": 1 + }, + "denominator": { + "value": 4 + } + } + }, + { + "url": "Zeitraum", + "valuePeriod": { + "start": "2023-07-03", + "end": "2023-09-30" + } + }, + { + "url": "ID", + "valueIdentifier": { + "value": "f9bb62c2-2de0-4223-84e4-9bf36a5d9f5b" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/389ca392-0748-49dc-a156-7bcb152cd155" + }, + "subject": { + "reference": "Patient/b15127d9-fb48-4285-a624-84be9ceee983" + }, + "authoredOn": "2023-07-03", + "requester": { + "reference": "Practitioner/55159bc1-9582-4b54-9e3b-3ff54019d48a" + }, + "insurance": [ + { + "reference": "Coverage/aec2ba44-7f89-44b7-8c32-698ef7cce100" + } + ], + "dosageInstruction": [ + { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag", + "valueBoolean": false + } + ] + } + ], + "dispenseRequest": { + "quantity": { + "value": 1, + "system": "http://unitsofmeasure.org", + "code": "{Package}" + } + }, + "substitution": { + "allowedBoolean": false + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Medication/389ca392-0748-49dc-a156-7bcb152cd155", + "resource": { + "resourceType": "Medication", + "id": "389ca392-0748-49dc-a156-7bcb152cd155", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N3" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "02532741" + } + ], + "text": "L-Thyroxin Henning 75 100 Tbl. N3" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "TAB" + } + ] + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Patient/b15127d9-fb48-4285-a624-84be9ceee983", + "resource": { + "resourceType": "Patient", + "id": "b15127d9-fb48-4285-a624-84be9ceee983", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", + "code": "PKV" + } + ] + }, + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464113" + } + ], + "name": [ + { + "use": "official", + "family": "Privati", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Privati" + } + ] + }, + "given": [ + "Paula" + ] + } + ], + "birthDate": "1935-06-22", + "address": [ + { + "type": "both", + "line": [ + "Blumenweg 18" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Blumenweg" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "18" + } + ] + } + ], + "city": "Esens", + "postalCode": "26427", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Practitioner/55159bc1-9582-4b54-9e3b-3ff54019d48a", + "resource": { + "resourceType": "Practitioner", + "id": "55159bc1-9582-4b54-9e3b-3ff54019d48a", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "LANR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", + "value": "987654423" + }, + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "PRN" + } + ] + }, + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-748382202" + } + ], + "name": [ + { + "use": "official", + "family": "Schneider", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Schneider" + } + ] + }, + "given": [ + "Emma" + ], + "prefix": [ + "Dr. med." + ], + "_prefix": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier", + "valueCode": "AC" + } + ] + } + ] + } + ], + "qualification": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", + "code": "00" + } + ] + } + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", + "code": "Berufsbezeichnung" + } + ], + "text": "Fachärztin für Innere Medizin" + } + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Organization/bf59e2a2-8e6d-40c2-8705-1ae2cd8d71bc", + "resource": { + "resourceType": "Organization", + "id": "bf59e2a2-8e6d-40c2-8705-1ae2cd8d71bc", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Organization|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "BSNR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", + "value": "721111100" + } + ], + "name": "MVZ", + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "fax", + "value": "030123456789" + }, + { + "system": "email", + "value": "mvz@e-mail.de" + } + ], + "address": [ + { + "type": "both", + "line": [ + "Herbert-Lewin-Platz 2" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Herbert-Lewin-Platz" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "2" + } + ] + } + ], + "city": "Berlin", + "postalCode": "10623", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Coverage/aec2ba44-7f89-44b7-8c32-698ef7cce100", + "resource": { + "resourceType": "Coverage", + "id": "aec2ba44-7f89-44b7-8c32-698ef7cce100", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" + ] + }, + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS", + "code": "1" + } + } + ], + "status": "active", + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis", + "code": "PKV" + } + ] + }, + "beneficiary": { + "reference": "Patient/b15127d9-fb48-4285-a624-84be9ceee983" + }, + "payor": [ + { + "identifier": { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "123456789" + }, + "display": "Allianz Private Krankenversicherung" + } + ] + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0001-000000000000" + } + ] +} diff --git a/common/src/commonTest/resources/fhir/pkv/PZN_Mehrfachverordnung_PZN_MV_2.json b/common/src/commonTest/resources/fhir/pkv/PZN_Mehrfachverordnung_PZN_MV_2.json new file mode 100644 index 00000000..da3000f0 --- /dev/null +++ b/common/src/commonTest/resources/fhir/pkv/PZN_Mehrfachverordnung_PZN_MV_2.json @@ -0,0 +1,1150 @@ +{ + "resourceType": "Bundle", + "type": "collection", + "entry": [ + { + "resource": { + "resourceType": "ChargeItem", + "id": "200.497.827.696.678.76", + "meta": { + "profile": [ + "https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_ChargeItem|1.0" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.497.827.696.678.76" + }, + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_AccessCode", + "value": "abd4afed9f3f458114fc3407878213e110f238d1afa919fbed7282abbef68bfd" + } + ], + "status": "billable", + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "X110465770" + } + }, + "enterer": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + }, + "enteredDate": "2023-02-23T15:08:32.699+00:00", + "supportingInformation": [ + { + "reference": "urn:uuid:c8606712-0000-0000-0001-000000000000", + "display": "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0004-000000000000", + "display": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0003-000000000000", + "display": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle" + } + ] + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "c8606712-0000-0000-0003-000000000000", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle|1.2" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.000.001.206.112.29" + }, + "type": "document", + "timestamp": "2023-02-23T15:08:30.803+00:00", + "link": [ + { + "relation": "self", + "url": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Task/200.000.001.206.112.29/$close/" + } + ], + "entry": [ + { + "fullUrl": "urn:uuid:1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "resource": { + "resourceType": "Composition", + "id": "1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Composition|1.2" + ] + }, + "extension": [ + { + "url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_Beneficiary", + "valueIdentifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType", + "code": "3", + "display": "Receipt" + } + ] + }, + "date": "2023-02-23T15:08:30.802+00:00", + "author": [ + { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + } + ], + "title": "Quittung", + "event": [ + { + "period": { + "start": "2023-02-23T15:08:29.843+00:00", + "end": "2023-02-23T15:08:30.802+00:00" + } + } + ], + "section": [ + { + "entry": [ + { + "reference": "Binary/PrescriptionDigest-200.000.001.206.112.29" + } + ] + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1", + "resource": { + "resourceType": "Device", + "id": "1", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Device|1.2" + ] + }, + "status": "active", + "serialNumber": "1.9.0", + "deviceName": [ + { + "name": "E-Rezept Fachdienst", + "type": "user-friendly-name" + } + ], + "version": [ + { + "value": "1.9.0" + } + ], + "contact": [ + { + "system": "email", + "value": "betrieb@gematik.de" + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Binary/PrescriptionDigest-200.000.001.206.112.29", + "resource": { + "resourceType": "Binary", + "id": "PrescriptionDigest-200.000.001.206.112.29", + "meta": { + "versionId": "1", + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Digest|1.2" + ] + }, + "contentType": "application/octet-stream", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-02-23T15:08:32.985+00:00", + "who": { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0003-000000000000" + }, + { + "resource": { + "resourceType": "MedicationDispense", + "id": "9c419d22-a3a0-4bfb-86a1-a8a197a10963", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.2" + ], + "tag": [ + { + "display": "Beispiel MedicationDispense PKV MV PZN Bsp 2/4" + } + ] + }, + "contained": [ + { + "resourceType": "Medication", + "id": "1998e1c6-0d90-4833-bdde-00f6cb5e31eb", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N3" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "02532741" + } + ], + "text": "L-thyroxin 75 Henning Tabletten 100 St" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "TAB" + } + ] + }, + "batch": { + "lotNumber": "A123456789-1", + "expirationDate": "2024-12-31" + } + } + ], + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.497.827.696.678.76" + } + ], + "status": "completed", + "medicationReference": { + "reference": "#1998e1c6-0d90-4833-bdde-00f6cb5e31eb", + "display": "L-thyroxin 75 Henning Tabletten 100 St" + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464113" + } + }, + "performer": [ + { + "actor": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-abc-1234567890" + } + } + } + ], + "whenHandedOver": "2023-09-11" + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "7b9f267a-02e9-4f4d-8ac7-aa82d18b25ef", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle|1.2" + ], + "tag": [ + { + "display": "Beispiel RezeptAbgabedatenPKV Bundle (PZN-4 Mehrfachverordnung 2/4)" + }, + { + "display": "ACHTUNG! Der fachlich korrekte Inhalt der Beispielinstanz kann nicht gewährleistet werden. Wir sind jederzeit dankbar für Hinweise auf Fehler oder für Verbesserungsvorschläge." + } + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.497.827.696.678.76" + }, + "type": "document", + "timestamp": "2023-09-11T10:30:00+00:00", + "entry": [ + { + "fullUrl": "urn:uuid:02de03b8-b837-4d31-a45c-21e9ce2befd9", + "resource": { + "resourceType": "Composition", + "id": "02de03b8-b837-4d31-a45c-21e9ce2befd9", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenComposition|1.2" + ] + }, + "status": "final", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-CompositionTypes", + "code": "ERezeptAbgabedaten" + } + ] + }, + "date": "2023-09-11T10:30:00Z", + "author": [ + { + "reference": "urn:uuid:f12df073-0a20-4155-87b0-6c8629c5805d" + } + ], + "title": "ERezeptAbgabedaten", + "section": [ + { + "title": "Abgabeinformationen", + "entry": [ + { + "reference": "urn:uuid:878a7f6e-1976-45f4-8941-8222ec95f5a2" + } + ] + }, + { + "title": "Apotheke", + "entry": [ + { + "reference": "urn:uuid:f12df073-0a20-4155-87b0-6c8629c5805d" + } + ] + } + ] + } + }, + { + "fullUrl": "urn:uuid:f12df073-0a20-4155-87b0-6c8629c5805d", + "resource": { + "resourceType": "Organization", + "id": "f12df073-0a20-4155-87b0-6c8629c5805d", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Apotheke|1.2" + ] + }, + "identifier": [ + { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "308412345" + } + ], + "name": "Adler-Apotheke", + "address": [ + { + "type": "physical", + "line": [ + "Taunusstraße 89" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Taunusstraße" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "89" + } + ] + } + ], + "city": "Langen", + "postalCode": "63225", + "country": "D" + } + ] + } + }, + { + "fullUrl": "urn:uuid:878a7f6e-1976-45f4-8941-8222ec95f5a2", + "resource": { + "resourceType": "MedicationDispense", + "id": "878a7f6e-1976-45f4-8941-8222ec95f5a2", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abgabeinformationen|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Abrechnungszeilen", + "valueReference": { + "reference": "urn:uuid:02765512-5c03-4d66-ad22-3e1046ca3de8" + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-EX-ERP-AbrechnungsTyp", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-AbrechnungsTyp", + "code": "1" + } + ] + } + } + ], + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "performer": [ + { + "actor": { + "reference": "urn:uuid:f12df073-0a20-4155-87b0-6c8629c5805d" + } + } + ], + "authorizingPrescription": [ + { + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.497.827.696.678.76" + } + } + ], + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "Abgabeinformationen" + } + ] + }, + "whenHandedOver": "2023-09-11" + } + }, + { + "fullUrl": "urn:uuid:02765512-5c03-4d66-ad22-3e1046ca3de8", + "resource": { + "resourceType": "Invoice", + "id": "02765512-5c03-4d66-ad22-3e1046ca3de8", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abrechnungszeilen|1.2" + ] + }, + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "Abrechnungszeilen" + } + ] + }, + "lineItem": [ + { + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "02532741" + } + ], + "text": "L-thyroxin 75 Henning Tabletten 100 St" + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", + "valueDecimal": 19 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", + "extension": [ + { + "url": "Kategorie", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", + "code": "0" + } + ] + } + }, + { + "url": "Kostenbetrag", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ] + } + ], + "type": "informational", + "factor": 1, + "amount": { + "value": 15.4, + "currency": "EUR" + } + } + ] + } + ], + "totalGross": { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Gesamtzuzahlung", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ], + "value": 15.4, + "currency": "EUR" + } + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0004-000000000000" + }, + { + "resource": { + "resourceType": "Bundle", + "id": "c074577d-dfd9-43a7-89c6-9a4fc8a769d4", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle|1.1.0" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.497.827.696.678.76" + }, + "type": "document", + "timestamp": "2023-07-03T08:30:00+00:00", + "entry": [ + { + "fullUrl": "http://pvs.praxis.local/fhir/Composition/5091adb7-09ec-4b99-87f2-3b993a9c429e", + "resource": { + "resourceType": "Composition", + "id": "5091adb7-09ec-4b99-87f2-3b993a9c429e", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Composition|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_Legal_basis", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_STATUSKENNZEICHEN", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_PKV_Tariff", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PKV_TARIFF", + "code": "01" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_FORMULAR_ART", + "code": "e16A" + } + ] + }, + "subject": { + "reference": "Patient/83f34aaa-62f3-4e06-a83e-f0c49daa81be" + }, + "date": "2023-07-03T08:00:00Z", + "author": [ + { + "reference": "Practitioner/bd8c96ad-d6da-4282-8f22-e82950ef4dbf", + "type": "Practitioner" + }, + { + "type": "Device", + "identifier": { + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_FOR_Pruefnummer", + "value": "Y/400/2107/36/999" + } + } + ], + "title": "elektronische Arzneimittelverordnung", + "custodian": { + "reference": "Organization/bb2b97ea-d20b-4173-b82e-1b96d81f7f7c" + }, + "section": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Prescription" + } + ] + }, + "entry": [ + { + "reference": "MedicationRequest/6eaf7da3-c442-45e1-af7a-cbc838041345" + } + ] + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Coverage" + } + ] + }, + "entry": [ + { + "reference": "Coverage/f5646457-2afe-4f73-8cf1-401e3d7cc5b2" + } + ] + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/MedicationRequest/6eaf7da3-c442-45e1-af7a-cbc838041345", + "resource": { + "resourceType": "MedicationRequest", + "id": "6eaf7da3-c442-45e1-af7a-cbc838041345", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription", + "extension": [ + { + "url": "Kennzeichen", + "valueBoolean": true + }, + { + "url": "Nummerierung", + "valueRatio": { + "numerator": { + "value": 2 + }, + "denominator": { + "value": 4 + } + } + }, + { + "url": "Zeitraum", + "valuePeriod": { + "start": "2023-09-11", + "end": "2023-12-31" + } + }, + { + "url": "ID", + "valueIdentifier": { + "value": "f9bb62c2-2de0-4223-84e4-9bf36a5d9f5b" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/00024748-8690-449f-ace0-2d97929ec7b9" + }, + "subject": { + "reference": "Patient/83f34aaa-62f3-4e06-a83e-f0c49daa81be" + }, + "authoredOn": "2023-07-03", + "requester": { + "reference": "Practitioner/bd8c96ad-d6da-4282-8f22-e82950ef4dbf" + }, + "insurance": [ + { + "reference": "Coverage/f5646457-2afe-4f73-8cf1-401e3d7cc5b2" + } + ], + "dosageInstruction": [ + { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag", + "valueBoolean": false + } + ] + } + ], + "dispenseRequest": { + "quantity": { + "value": 1, + "system": "http://unitsofmeasure.org", + "code": "{Package}" + } + }, + "substitution": { + "allowedBoolean": false + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Medication/00024748-8690-449f-ace0-2d97929ec7b9", + "resource": { + "resourceType": "Medication", + "id": "00024748-8690-449f-ace0-2d97929ec7b9", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N3" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "02532741" + } + ], + "text": "L-Thyroxin Henning 75 100 Tbl. N3" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "TAB" + } + ] + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Patient/83f34aaa-62f3-4e06-a83e-f0c49daa81be", + "resource": { + "resourceType": "Patient", + "id": "83f34aaa-62f3-4e06-a83e-f0c49daa81be", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", + "code": "PKV" + } + ] + }, + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464113" + } + ], + "name": [ + { + "use": "official", + "family": "Privati", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Privati" + } + ] + }, + "given": [ + "Paula" + ] + } + ], + "birthDate": "1935-06-22", + "address": [ + { + "type": "both", + "line": [ + "Blumenweg 18" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Blumenweg" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "18" + } + ] + } + ], + "city": "Esens", + "postalCode": "26427", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Practitioner/bd8c96ad-d6da-4282-8f22-e82950ef4dbf", + "resource": { + "resourceType": "Practitioner", + "id": "bd8c96ad-d6da-4282-8f22-e82950ef4dbf", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "LANR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", + "value": "987654423" + }, + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "PRN" + } + ] + }, + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-748382202" + } + ], + "name": [ + { + "use": "official", + "family": "Schneider", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Schneider" + } + ] + }, + "given": [ + "Emma" + ], + "prefix": [ + "Dr. med." + ], + "_prefix": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier", + "valueCode": "AC" + } + ] + } + ] + } + ], + "qualification": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", + "code": "00" + } + ] + } + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", + "code": "Berufsbezeichnung" + } + ], + "text": "Fachärztin für Innere Medizin" + } + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Organization/bb2b97ea-d20b-4173-b82e-1b96d81f7f7c", + "resource": { + "resourceType": "Organization", + "id": "bb2b97ea-d20b-4173-b82e-1b96d81f7f7c", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Organization|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "BSNR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", + "value": "721111100" + } + ], + "name": "MVZ", + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "fax", + "value": "030123456789" + }, + { + "system": "email", + "value": "mvz@e-mail.de" + } + ], + "address": [ + { + "type": "both", + "line": [ + "Herbert-Lewin-Platz 2" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Herbert-Lewin-Platz" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "2" + } + ] + } + ], + "city": "Berlin", + "postalCode": "10623", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Coverage/f5646457-2afe-4f73-8cf1-401e3d7cc5b2", + "resource": { + "resourceType": "Coverage", + "id": "f5646457-2afe-4f73-8cf1-401e3d7cc5b2", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" + ] + }, + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS", + "code": "1" + } + } + ], + "status": "active", + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis", + "code": "PKV" + } + ] + }, + "beneficiary": { + "reference": "Patient/83f34aaa-62f3-4e06-a83e-f0c49daa81be" + }, + "payor": [ + { + "identifier": { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "123456789" + }, + "display": "Allianz Private Krankenversicherung" + } + ] + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0001-000000000000" + } + ] +} diff --git a/common/src/commonTest/resources/fhir/pkv/PZN_Mehrfachverordnung_PZN_MV_3.json b/common/src/commonTest/resources/fhir/pkv/PZN_Mehrfachverordnung_PZN_MV_3.json new file mode 100644 index 00000000..3792afea --- /dev/null +++ b/common/src/commonTest/resources/fhir/pkv/PZN_Mehrfachverordnung_PZN_MV_3.json @@ -0,0 +1,1150 @@ +{ + "resourceType": "Bundle", + "type": "collection", + "entry": [ + { + "resource": { + "resourceType": "ChargeItem", + "id": "200.529.639.126.950.56", + "meta": { + "profile": [ + "https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_ChargeItem|1.0" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.529.639.126.950.56" + }, + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_AccessCode", + "value": "abd4afed9f3f458114fc3407878213e110f238d1afa919fbed7282abbef68bfd" + } + ], + "status": "billable", + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "X110465770" + } + }, + "enterer": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + }, + "enteredDate": "2023-02-23T15:08:32.699+00:00", + "supportingInformation": [ + { + "reference": "urn:uuid:c8606712-0000-0000-0001-000000000000", + "display": "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0004-000000000000", + "display": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0003-000000000000", + "display": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle" + } + ] + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "c8606712-0000-0000-0003-000000000000", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle|1.2" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.000.001.206.112.29" + }, + "type": "document", + "timestamp": "2023-02-23T15:08:30.803+00:00", + "link": [ + { + "relation": "self", + "url": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Task/200.000.001.206.112.29/$close/" + } + ], + "entry": [ + { + "fullUrl": "urn:uuid:1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "resource": { + "resourceType": "Composition", + "id": "1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Composition|1.2" + ] + }, + "extension": [ + { + "url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_Beneficiary", + "valueIdentifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType", + "code": "3", + "display": "Receipt" + } + ] + }, + "date": "2023-02-23T15:08:30.802+00:00", + "author": [ + { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + } + ], + "title": "Quittung", + "event": [ + { + "period": { + "start": "2023-02-23T15:08:29.843+00:00", + "end": "2023-02-23T15:08:30.802+00:00" + } + } + ], + "section": [ + { + "entry": [ + { + "reference": "Binary/PrescriptionDigest-200.000.001.206.112.29" + } + ] + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1", + "resource": { + "resourceType": "Device", + "id": "1", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Device|1.2" + ] + }, + "status": "active", + "serialNumber": "1.9.0", + "deviceName": [ + { + "name": "E-Rezept Fachdienst", + "type": "user-friendly-name" + } + ], + "version": [ + { + "value": "1.9.0" + } + ], + "contact": [ + { + "system": "email", + "value": "betrieb@gematik.de" + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Binary/PrescriptionDigest-200.000.001.206.112.29", + "resource": { + "resourceType": "Binary", + "id": "PrescriptionDigest-200.000.001.206.112.29", + "meta": { + "versionId": "1", + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Digest|1.2" + ] + }, + "contentType": "application/octet-stream", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-02-23T15:08:32.985+00:00", + "who": { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0003-000000000000" + }, + { + "resource": { + "resourceType": "Bundle", + "id": "566d6b86-72b0-4b40-ae39-234830f207da", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle|1.1.0" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.529.639.126.950.56" + }, + "type": "document", + "timestamp": "2023-07-03T08:30:00+00:00", + "entry": [ + { + "fullUrl": "http://pvs.praxis.local/fhir/Composition/90cc2a5f-3b2a-4e5d-977a-e73802f53ad1", + "resource": { + "resourceType": "Composition", + "id": "90cc2a5f-3b2a-4e5d-977a-e73802f53ad1", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Composition|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_Legal_basis", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_STATUSKENNZEICHEN", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_PKV_Tariff", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PKV_TARIFF", + "code": "01" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_FORMULAR_ART", + "code": "e16A" + } + ] + }, + "subject": { + "reference": "Patient/e1abb98f-8071-46c6-a56b-9a460baca334" + }, + "date": "2023-07-03T08:00:00Z", + "author": [ + { + "reference": "Practitioner/11ac5482-973e-4705-b9ab-48502e504a70", + "type": "Practitioner" + }, + { + "type": "Device", + "identifier": { + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_FOR_Pruefnummer", + "value": "Y/400/2107/36/999" + } + } + ], + "title": "elektronische Arzneimittelverordnung", + "custodian": { + "reference": "Organization/4dd7e339-7961-4524-8612-f05669edd242" + }, + "section": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Prescription" + } + ] + }, + "entry": [ + { + "reference": "MedicationRequest/27a7237c-4c53-4235-9835-a181d6728457" + } + ] + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Coverage" + } + ] + }, + "entry": [ + { + "reference": "Coverage/cfd01083-4539-443d-b055-d2715743f8e8" + } + ] + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/MedicationRequest/27a7237c-4c53-4235-9835-a181d6728457", + "resource": { + "resourceType": "MedicationRequest", + "id": "27a7237c-4c53-4235-9835-a181d6728457", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription", + "extension": [ + { + "url": "Kennzeichen", + "valueBoolean": true + }, + { + "url": "Nummerierung", + "valueRatio": { + "numerator": { + "value": 3 + }, + "denominator": { + "value": 4 + } + } + }, + { + "url": "Zeitraum", + "valuePeriod": { + "start": "2023-12-11", + "end": "2024-03-31" + } + }, + { + "url": "ID", + "valueIdentifier": { + "value": "f9bb62c2-2de0-4223-84e4-9bf36a5d9f5b" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/92a320af-5f59-47b6-8cfc-dcac51453a8b" + }, + "subject": { + "reference": "Patient/e1abb98f-8071-46c6-a56b-9a460baca334" + }, + "authoredOn": "2023-07-03", + "requester": { + "reference": "Practitioner/11ac5482-973e-4705-b9ab-48502e504a70" + }, + "insurance": [ + { + "reference": "Coverage/cfd01083-4539-443d-b055-d2715743f8e8" + } + ], + "dosageInstruction": [ + { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag", + "valueBoolean": false + } + ] + } + ], + "dispenseRequest": { + "quantity": { + "value": 1, + "system": "http://unitsofmeasure.org", + "code": "{Package}" + } + }, + "substitution": { + "allowedBoolean": false + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Medication/92a320af-5f59-47b6-8cfc-dcac51453a8b", + "resource": { + "resourceType": "Medication", + "id": "92a320af-5f59-47b6-8cfc-dcac51453a8b", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N3" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "02532741" + } + ], + "text": "L-Thyroxin Henning 75 100 Tbl. N3" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "TAB" + } + ] + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Patient/e1abb98f-8071-46c6-a56b-9a460baca334", + "resource": { + "resourceType": "Patient", + "id": "e1abb98f-8071-46c6-a56b-9a460baca334", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", + "code": "PKV" + } + ] + }, + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464113" + } + ], + "name": [ + { + "use": "official", + "family": "Privati", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Privati" + } + ] + }, + "given": [ + "Paula" + ] + } + ], + "birthDate": "1935-06-22", + "address": [ + { + "type": "both", + "line": [ + "Blumenweg 18" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Blumenweg" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "18" + } + ] + } + ], + "city": "Esens", + "postalCode": "26427", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Practitioner/11ac5482-973e-4705-b9ab-48502e504a70", + "resource": { + "resourceType": "Practitioner", + "id": "11ac5482-973e-4705-b9ab-48502e504a70", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "LANR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", + "value": "987654423" + }, + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "PRN" + } + ] + }, + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-748382202" + } + ], + "name": [ + { + "use": "official", + "family": "Schneider", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Schneider" + } + ] + }, + "given": [ + "Emma" + ], + "prefix": [ + "Dr. med." + ], + "_prefix": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier", + "valueCode": "AC" + } + ] + } + ] + } + ], + "qualification": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", + "code": "00" + } + ] + } + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", + "code": "Berufsbezeichnung" + } + ], + "text": "Fachärztin für Innere Medizin" + } + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Organization/4dd7e339-7961-4524-8612-f05669edd242", + "resource": { + "resourceType": "Organization", + "id": "4dd7e339-7961-4524-8612-f05669edd242", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Organization|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "BSNR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", + "value": "721111100" + } + ], + "name": "MVZ", + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "fax", + "value": "030123456789" + }, + { + "system": "email", + "value": "mvz@e-mail.de" + } + ], + "address": [ + { + "type": "both", + "line": [ + "Herbert-Lewin-Platz 2" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Herbert-Lewin-Platz" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "2" + } + ] + } + ], + "city": "Berlin", + "postalCode": "10623", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Coverage/cfd01083-4539-443d-b055-d2715743f8e8", + "resource": { + "resourceType": "Coverage", + "id": "cfd01083-4539-443d-b055-d2715743f8e8", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" + ] + }, + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS", + "code": "1" + } + } + ], + "status": "active", + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis", + "code": "PKV" + } + ] + }, + "beneficiary": { + "reference": "Patient/e1abb98f-8071-46c6-a56b-9a460baca334" + }, + "payor": [ + { + "identifier": { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "123456789" + }, + "display": "Allianz Private Krankenversicherung" + } + ] + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0001-000000000000" + }, + { + "resource": { + "resourceType": "MedicationDispense", + "id": "b3f22a4a-2605-4e7e-8253-3484cba3da2c", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.2" + ], + "tag": [ + { + "display": "Beispiel MedicationDispense PKV MV PZN Bsp 3/4" + } + ] + }, + "contained": [ + { + "resourceType": "Medication", + "id": "ac5f7811-e45b-4ec8-8231-9f8137c2a59b", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N3" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "02532741" + } + ], + "text": "L-thyroxin 75 Henning Tabletten 100 St" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "TAB" + } + ] + }, + "batch": { + "lotNumber": "A123456789-1", + "expirationDate": "2024-12-31" + } + } + ], + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.529.639.126.950.56" + } + ], + "status": "completed", + "medicationReference": { + "reference": "#ac5f7811-e45b-4ec8-8231-9f8137c2a59b", + "display": "L-thyroxin 75 Henning Tabletten 100 St" + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464113" + } + }, + "performer": [ + { + "actor": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-abc-1234567890" + } + } + } + ], + "whenHandedOver": "2023-12-11" + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "b60fff44-c49f-4e8c-8be6-6f87ec0603cc", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle|1.2" + ], + "tag": [ + { + "display": "Beispiel RezeptAbgabedatenPKV Bundle (PZN-4 Mehrfachverordnung 3/4)" + }, + { + "display": "ACHTUNG! Der fachlich korrekte Inhalt der Beispielinstanz kann nicht gewährleistet werden. Wir sind jederzeit dankbar für Hinweise auf Fehler oder für Verbesserungsvorschläge." + } + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.529.639.126.950.56" + }, + "type": "document", + "timestamp": "2023-12-11T09:30:00+00:00", + "entry": [ + { + "fullUrl": "urn:uuid:58198c46-8cfc-4d7a-95ee-5e1f25873b6d", + "resource": { + "resourceType": "Composition", + "id": "58198c46-8cfc-4d7a-95ee-5e1f25873b6d", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenComposition|1.2" + ] + }, + "status": "final", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-CompositionTypes", + "code": "ERezeptAbgabedaten" + } + ] + }, + "date": "2023-12-11T09:30:00Z", + "author": [ + { + "reference": "urn:uuid:2cf4ae9e-a5c5-4c8d-9e52-2b97de2a31bd" + } + ], + "title": "ERezeptAbgabedaten", + "section": [ + { + "title": "Abgabeinformationen", + "entry": [ + { + "reference": "urn:uuid:ff48892c-300c-4405-a8b1-6c30d651a52a" + } + ] + }, + { + "title": "Apotheke", + "entry": [ + { + "reference": "urn:uuid:2cf4ae9e-a5c5-4c8d-9e52-2b97de2a31bd" + } + ] + } + ] + } + }, + { + "fullUrl": "urn:uuid:2cf4ae9e-a5c5-4c8d-9e52-2b97de2a31bd", + "resource": { + "resourceType": "Organization", + "id": "2cf4ae9e-a5c5-4c8d-9e52-2b97de2a31bd", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Apotheke|1.2" + ] + }, + "identifier": [ + { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "308412345" + } + ], + "name": "Adler-Apotheke", + "address": [ + { + "type": "physical", + "line": [ + "Taunusstraße 89" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Taunusstraße" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "89" + } + ] + } + ], + "city": "Langen", + "postalCode": "63225", + "country": "D" + } + ] + } + }, + { + "fullUrl": "urn:uuid:ff48892c-300c-4405-a8b1-6c30d651a52a", + "resource": { + "resourceType": "MedicationDispense", + "id": "ff48892c-300c-4405-a8b1-6c30d651a52a", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abgabeinformationen|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Abrechnungszeilen", + "valueReference": { + "reference": "urn:uuid:9a49e54a-c048-4978-85f6-99f62c01aaab" + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-EX-ERP-AbrechnungsTyp", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-AbrechnungsTyp", + "code": "1" + } + ] + } + } + ], + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "performer": [ + { + "actor": { + "reference": "urn:uuid:2cf4ae9e-a5c5-4c8d-9e52-2b97de2a31bd" + } + } + ], + "authorizingPrescription": [ + { + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.529.639.126.950.56" + } + } + ], + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "Abgabeinformationen" + } + ] + }, + "whenHandedOver": "2023-12-11" + } + }, + { + "fullUrl": "urn:uuid:9a49e54a-c048-4978-85f6-99f62c01aaab", + "resource": { + "resourceType": "Invoice", + "id": "9a49e54a-c048-4978-85f6-99f62c01aaab", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abrechnungszeilen|1.2" + ] + }, + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "Abrechnungszeilen" + } + ] + }, + "lineItem": [ + { + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "02532741" + } + ], + "text": "L-thyroxin 75 Henning Tabletten 100 St" + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", + "valueDecimal": 19 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", + "extension": [ + { + "url": "Kategorie", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", + "code": "0" + } + ] + } + }, + { + "url": "Kostenbetrag", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ] + } + ], + "type": "informational", + "factor": 1, + "amount": { + "value": 15.4, + "currency": "EUR" + } + } + ] + } + ], + "totalGross": { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Gesamtzuzahlung", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ], + "value": 15.4, + "currency": "EUR" + } + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0004-000000000000" + } + ] +} diff --git a/common/src/commonTest/resources/fhir/pkv/PZN_Mehrfachverordnung_PZN_MV_4.json b/common/src/commonTest/resources/fhir/pkv/PZN_Mehrfachverordnung_PZN_MV_4.json new file mode 100644 index 00000000..c928d4f9 --- /dev/null +++ b/common/src/commonTest/resources/fhir/pkv/PZN_Mehrfachverordnung_PZN_MV_4.json @@ -0,0 +1,1150 @@ +{ + "resourceType": "Bundle", + "type": "collection", + "entry": [ + { + "resource": { + "resourceType": "ChargeItem", + "id": "200.020.918.309.115.84", + "meta": { + "profile": [ + "https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_ChargeItem|1.0" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.020.918.309.115.84" + }, + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_AccessCode", + "value": "abd4afed9f3f458114fc3407878213e110f238d1afa919fbed7282abbef68bfd" + } + ], + "status": "billable", + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "X110465770" + } + }, + "enterer": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + }, + "enteredDate": "2023-02-23T15:08:32.699+00:00", + "supportingInformation": [ + { + "reference": "urn:uuid:c8606712-0000-0000-0001-000000000000", + "display": "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0004-000000000000", + "display": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0003-000000000000", + "display": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle" + } + ] + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "c8606712-0000-0000-0003-000000000000", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle|1.2" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.000.001.206.112.29" + }, + "type": "document", + "timestamp": "2023-02-23T15:08:30.803+00:00", + "link": [ + { + "relation": "self", + "url": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Task/200.000.001.206.112.29/$close/" + } + ], + "entry": [ + { + "fullUrl": "urn:uuid:1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "resource": { + "resourceType": "Composition", + "id": "1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Composition|1.2" + ] + }, + "extension": [ + { + "url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_Beneficiary", + "valueIdentifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType", + "code": "3", + "display": "Receipt" + } + ] + }, + "date": "2023-02-23T15:08:30.802+00:00", + "author": [ + { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + } + ], + "title": "Quittung", + "event": [ + { + "period": { + "start": "2023-02-23T15:08:29.843+00:00", + "end": "2023-02-23T15:08:30.802+00:00" + } + } + ], + "section": [ + { + "entry": [ + { + "reference": "Binary/PrescriptionDigest-200.000.001.206.112.29" + } + ] + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1", + "resource": { + "resourceType": "Device", + "id": "1", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Device|1.2" + ] + }, + "status": "active", + "serialNumber": "1.9.0", + "deviceName": [ + { + "name": "E-Rezept Fachdienst", + "type": "user-friendly-name" + } + ], + "version": [ + { + "value": "1.9.0" + } + ], + "contact": [ + { + "system": "email", + "value": "betrieb@gematik.de" + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Binary/PrescriptionDigest-200.000.001.206.112.29", + "resource": { + "resourceType": "Binary", + "id": "PrescriptionDigest-200.000.001.206.112.29", + "meta": { + "versionId": "1", + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Digest|1.2" + ] + }, + "contentType": "application/octet-stream", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-02-23T15:08:32.985+00:00", + "who": { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0003-000000000000" + }, + { + "resource": { + "resourceType": "MedicationDispense", + "id": "e55beaec-31d0-4e9a-a0e1-334137356810", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.2" + ], + "tag": [ + { + "display": "Beispiel MedicationDispense PKV MV PZN Bsp 4/4" + } + ] + }, + "contained": [ + { + "resourceType": "Medication", + "id": "28f48a76-4b97-446f-aab8-340519fd1843", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N3" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "02532741" + } + ], + "text": "L-thyroxin 75 Henning Tabletten 100 St" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "TAB" + } + ] + }, + "batch": { + "lotNumber": "A123456789-1", + "expirationDate": "2025-06-28" + } + } + ], + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.020.918.309.115.84" + } + ], + "status": "completed", + "medicationReference": { + "reference": "#28f48a76-4b97-446f-aab8-340519fd1843", + "display": "L-thyroxin 75 Henning Tabletten 100 St" + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464113" + } + }, + "performer": [ + { + "actor": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-abc-1234567890" + } + } + } + ], + "whenHandedOver": "2024-03-04" + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "e4d5298c-2772-43ca-b76f-2b28dee1cc09", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle|1.2" + ], + "tag": [ + { + "display": "Beispiel RezeptAbgabedatenPKV Bundle (PZN-4 Mehrfachverordnung 4/4)" + }, + { + "display": "ACHTUNG! Der fachlich korrekte Inhalt der Beispielinstanz kann nicht gewährleistet werden. Wir sind jederzeit dankbar für Hinweise auf Fehler oder für Verbesserungsvorschläge." + } + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.020.918.309.115.84" + }, + "type": "document", + "timestamp": "2024-03-04T11:00:00+00:00", + "entry": [ + { + "fullUrl": "urn:uuid:580eb82a-1594-48e4-9720-df100a59fd7d", + "resource": { + "resourceType": "Composition", + "id": "580eb82a-1594-48e4-9720-df100a59fd7d", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenComposition|1.2" + ] + }, + "status": "final", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-CompositionTypes", + "code": "ERezeptAbgabedaten" + } + ] + }, + "date": "2024-03-04T11:00:00Z", + "author": [ + { + "reference": "urn:uuid:9df20339-34ae-460a-bace-e7ab193651fc" + } + ], + "title": "ERezeptAbgabedaten", + "section": [ + { + "title": "Abgabeinformationen", + "entry": [ + { + "reference": "urn:uuid:117f300a-caad-44d5-b994-b33dd9c4ce80" + } + ] + }, + { + "title": "Apotheke", + "entry": [ + { + "reference": "urn:uuid:9df20339-34ae-460a-bace-e7ab193651fc" + } + ] + } + ] + } + }, + { + "fullUrl": "urn:uuid:9df20339-34ae-460a-bace-e7ab193651fc", + "resource": { + "resourceType": "Organization", + "id": "9df20339-34ae-460a-bace-e7ab193651fc", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Apotheke|1.2" + ] + }, + "identifier": [ + { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "308412345" + } + ], + "name": "Adler-Apotheke", + "address": [ + { + "type": "physical", + "line": [ + "Taunusstraße 89" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Taunusstraße" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "89" + } + ] + } + ], + "city": "Langen", + "postalCode": "63225", + "country": "D" + } + ] + } + }, + { + "fullUrl": "urn:uuid:117f300a-caad-44d5-b994-b33dd9c4ce80", + "resource": { + "resourceType": "MedicationDispense", + "id": "117f300a-caad-44d5-b994-b33dd9c4ce80", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abgabeinformationen|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Abrechnungszeilen", + "valueReference": { + "reference": "urn:uuid:adfe7d37-0b6e-4206-9872-4221ff5a02a1" + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-EX-ERP-AbrechnungsTyp", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-AbrechnungsTyp", + "code": "1" + } + ] + } + } + ], + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "performer": [ + { + "actor": { + "reference": "urn:uuid:9df20339-34ae-460a-bace-e7ab193651fc" + } + } + ], + "authorizingPrescription": [ + { + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.020.918.309.115.84" + } + } + ], + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "Abgabeinformationen" + } + ] + }, + "whenHandedOver": "2024-03-04" + } + }, + { + "fullUrl": "urn:uuid:adfe7d37-0b6e-4206-9872-4221ff5a02a1", + "resource": { + "resourceType": "Invoice", + "id": "adfe7d37-0b6e-4206-9872-4221ff5a02a1", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abrechnungszeilen|1.2" + ] + }, + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "Abrechnungszeilen" + } + ] + }, + "lineItem": [ + { + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "02532741" + } + ], + "text": "L-thyroxin 75 Henning Tabletten 100 St" + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", + "valueDecimal": 19 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", + "extension": [ + { + "url": "Kategorie", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", + "code": "0" + } + ] + } + }, + { + "url": "Kostenbetrag", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ] + } + ], + "type": "informational", + "factor": 1, + "amount": { + "value": 15.4, + "currency": "EUR" + } + } + ] + } + ], + "totalGross": { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Gesamtzuzahlung", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ], + "value": 15.4, + "currency": "EUR" + } + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0004-000000000000" + }, + { + "resource": { + "resourceType": "Bundle", + "id": "a500c12f-e9ae-4109-b509-0228e84ff3ae", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle|1.1.0" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.020.918.309.115.84" + }, + "type": "document", + "timestamp": "2023-07-03T08:30:00+00:00", + "entry": [ + { + "fullUrl": "http://pvs.praxis.local/fhir/Composition/8c7cd819-0163-495c-bb83-41f3de47bad2", + "resource": { + "resourceType": "Composition", + "id": "8c7cd819-0163-495c-bb83-41f3de47bad2", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Composition|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_Legal_basis", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_STATUSKENNZEICHEN", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_PKV_Tariff", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PKV_TARIFF", + "code": "01" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_FORMULAR_ART", + "code": "e16A" + } + ] + }, + "subject": { + "reference": "Patient/1c698d76-d9f5-4d27-8f63-69f9c4c55929" + }, + "date": "2023-07-03T08:00:00Z", + "author": [ + { + "reference": "Practitioner/65969ecc-5c41-4563-a28f-862e52a9f441", + "type": "Practitioner" + }, + { + "type": "Device", + "identifier": { + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_FOR_Pruefnummer", + "value": "Y/400/2107/36/999" + } + } + ], + "title": "elektronische Arzneimittelverordnung", + "custodian": { + "reference": "Organization/65d03558-f52e-4fd2-9038-e86bf90874f2" + }, + "section": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Prescription" + } + ] + }, + "entry": [ + { + "reference": "MedicationRequest/0cafa093-e0ad-4c47-bcee-5242af754507" + } + ] + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Coverage" + } + ] + }, + "entry": [ + { + "reference": "Coverage/46b48cd5-f606-426c-ba86-5af42dd4a8d7" + } + ] + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/MedicationRequest/0cafa093-e0ad-4c47-bcee-5242af754507", + "resource": { + "resourceType": "MedicationRequest", + "id": "0cafa093-e0ad-4c47-bcee-5242af754507", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription", + "extension": [ + { + "url": "Kennzeichen", + "valueBoolean": true + }, + { + "url": "Nummerierung", + "valueRatio": { + "numerator": { + "value": 4 + }, + "denominator": { + "value": 4 + } + } + }, + { + "url": "Zeitraum", + "valuePeriod": { + "start": "2024-03-04", + "end": "2024-06-30" + } + }, + { + "url": "ID", + "valueIdentifier": { + "value": "f9bb62c2-2de0-4223-84e4-9bf36a5d9f5b" + } + } + ] + } + ], + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/387333b5-a3f8-4cbf-b48e-25791d9c3e78" + }, + "subject": { + "reference": "Patient/1c698d76-d9f5-4d27-8f63-69f9c4c55929" + }, + "authoredOn": "2023-07-03", + "requester": { + "reference": "Practitioner/65969ecc-5c41-4563-a28f-862e52a9f441" + }, + "insurance": [ + { + "reference": "Coverage/46b48cd5-f606-426c-ba86-5af42dd4a8d7" + } + ], + "dosageInstruction": [ + { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag", + "valueBoolean": false + } + ] + } + ], + "dispenseRequest": { + "quantity": { + "value": 1, + "system": "http://unitsofmeasure.org", + "code": "{Package}" + } + }, + "substitution": { + "allowedBoolean": false + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Medication/387333b5-a3f8-4cbf-b48e-25791d9c3e78", + "resource": { + "resourceType": "Medication", + "id": "387333b5-a3f8-4cbf-b48e-25791d9c3e78", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N3" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "02532741" + } + ], + "text": "L-Thyroxin Henning 75 100 Tbl. N3" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "TAB" + } + ] + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Patient/1c698d76-d9f5-4d27-8f63-69f9c4c55929", + "resource": { + "resourceType": "Patient", + "id": "1c698d76-d9f5-4d27-8f63-69f9c4c55929", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", + "code": "PKV" + } + ] + }, + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464113" + } + ], + "name": [ + { + "use": "official", + "family": "Privati", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Privati" + } + ] + }, + "given": [ + "Paula" + ] + } + ], + "birthDate": "1935-06-22", + "address": [ + { + "type": "both", + "line": [ + "Blumenweg 18" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Blumenweg" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "18" + } + ] + } + ], + "city": "Esens", + "postalCode": "26427", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Practitioner/65969ecc-5c41-4563-a28f-862e52a9f441", + "resource": { + "resourceType": "Practitioner", + "id": "65969ecc-5c41-4563-a28f-862e52a9f441", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "LANR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", + "value": "987654423" + }, + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "PRN" + } + ] + }, + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-748382202" + } + ], + "name": [ + { + "use": "official", + "family": "Schneider", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Schneider" + } + ] + }, + "given": [ + "Emma" + ], + "prefix": [ + "Dr. med." + ], + "_prefix": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier", + "valueCode": "AC" + } + ] + } + ] + } + ], + "qualification": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", + "code": "00" + } + ] + } + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", + "code": "Berufsbezeichnung" + } + ], + "text": "Fachärztin für Innere Medizin" + } + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Organization/65d03558-f52e-4fd2-9038-e86bf90874f2", + "resource": { + "resourceType": "Organization", + "id": "65d03558-f52e-4fd2-9038-e86bf90874f2", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Organization|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "BSNR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", + "value": "721111100" + } + ], + "name": "MVZ", + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "fax", + "value": "030123456789" + }, + { + "system": "email", + "value": "mvz@e-mail.de" + } + ], + "address": [ + { + "type": "both", + "line": [ + "Herbert-Lewin-Platz 2" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Herbert-Lewin-Platz" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "2" + } + ] + } + ], + "city": "Berlin", + "postalCode": "10623", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Coverage/46b48cd5-f606-426c-ba86-5af42dd4a8d7", + "resource": { + "resourceType": "Coverage", + "id": "46b48cd5-f606-426c-ba86-5af42dd4a8d7", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" + ] + }, + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS", + "code": "1" + } + } + ], + "status": "active", + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis", + "code": "PKV" + } + ] + }, + "beneficiary": { + "reference": "Patient/1c698d76-d9f5-4d27-8f63-69f9c4c55929" + }, + "payor": [ + { + "identifier": { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "123456789" + }, + "display": "Allianz Private Krankenversicherung" + } + ] + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0001-000000000000" + } + ] +} diff --git a/common/src/commonTest/resources/fhir/pkv/Rezeptur-Verordnung_Nr_1.json b/common/src/commonTest/resources/fhir/pkv/Rezeptur-Verordnung_Nr_1.json new file mode 100644 index 00000000..529437d0 --- /dev/null +++ b/common/src/commonTest/resources/fhir/pkv/Rezeptur-Verordnung_Nr_1.json @@ -0,0 +1,1334 @@ +{ + "resourceType": "Bundle", + "type": "collection", + "entry": [ + { + "resource": { + "resourceType": "ChargeItem", + "id": "200.858.310.624.061.76", + "meta": { + "profile": [ + "https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_ChargeItem|1.0" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.858.310.624.061.76" + }, + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_AccessCode", + "value": "abd4afed9f3f458114fc3407878213e110f238d1afa919fbed7282abbef68bfd" + } + ], + "status": "billable", + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "X110465770" + } + }, + "enterer": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + }, + "enteredDate": "2023-02-23T15:08:32.699+00:00", + "supportingInformation": [ + { + "reference": "urn:uuid:c8606712-0000-0000-0001-000000000000", + "display": "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0004-000000000000", + "display": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0003-000000000000", + "display": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle" + } + ] + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "c8606712-0000-0000-0003-000000000000", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle|1.2" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.000.001.206.112.29" + }, + "type": "document", + "timestamp": "2023-02-23T15:08:30.803+00:00", + "link": [ + { + "relation": "self", + "url": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Task/200.000.001.206.112.29/$close/" + } + ], + "entry": [ + { + "fullUrl": "urn:uuid:1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "resource": { + "resourceType": "Composition", + "id": "1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Composition|1.2" + ] + }, + "extension": [ + { + "url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_Beneficiary", + "valueIdentifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType", + "code": "3", + "display": "Receipt" + } + ] + }, + "date": "2023-02-23T15:08:30.802+00:00", + "author": [ + { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + } + ], + "title": "Quittung", + "event": [ + { + "period": { + "start": "2023-02-23T15:08:29.843+00:00", + "end": "2023-02-23T15:08:30.802+00:00" + } + } + ], + "section": [ + { + "entry": [ + { + "reference": "Binary/PrescriptionDigest-200.000.001.206.112.29" + } + ] + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1", + "resource": { + "resourceType": "Device", + "id": "1", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Device|1.2" + ] + }, + "status": "active", + "serialNumber": "1.9.0", + "deviceName": [ + { + "name": "E-Rezept Fachdienst", + "type": "user-friendly-name" + } + ], + "version": [ + { + "value": "1.9.0" + } + ], + "contact": [ + { + "system": "email", + "value": "betrieb@gematik.de" + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Binary/PrescriptionDigest-200.000.001.206.112.29", + "resource": { + "resourceType": "Binary", + "id": "PrescriptionDigest-200.000.001.206.112.29", + "meta": { + "versionId": "1", + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Digest|1.2" + ] + }, + "contentType": "application/octet-stream", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-02-23T15:08:32.985+00:00", + "who": { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0003-000000000000" + }, + { + "resource": { + "resourceType": "MedicationDispense", + "id": "9309bacf-da87-416c-93dc-afb71e6d5c63", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.2" + ], + "tag": [ + { + "display": "Beispiel MedicationDispense PKV Rezeptur Bsp 10" + } + ] + }, + "contained": [ + { + "resourceType": "Medication", + "id": "8abda918-22eb-4c77-a887-f6aaec1bbd3a", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "373873005:860781008=362943005", + "display": "Pharmaceutical / biologic product (product) : Has product characteristic (attribute) = Manual method (qualifier value)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + } + ], + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Type", + "code": "rezeptur" + } + ] + }, + "form": { + "text": "Creme" + }, + "amount": { + "numerator": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize", + "valueString": "100" + } + ], + "unit": "g" + }, + "denominator": { + "value": 1 + } + }, + "ingredient": [ + { + "itemCodeableConcept": { + "text": "Triamcinolonacetonid" + }, + "strength": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Ingredient_Amount", + "valueString": "0.1%" + } + ] + } + }, + { + "itemCodeableConcept": { + "text": "Basiscreme DAC" + }, + "strength": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Ingredient_Amount", + "valueString": "Ad 100,0 g" + } + ] + } + } + ] + } + ], + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.858.310.624.061.76" + } + ], + "status": "completed", + "medicationReference": { + "reference": "#8abda918-22eb-4c77-a887-f6aaec1bbd3a", + "display": "Rezeptur" + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464113" + } + }, + "performer": [ + { + "actor": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-abc-1234567890" + } + } + } + ], + "whenHandedOver": "2023-07-03", + "dosageInstruction": [ + { + "text": "1x täglich dünn auf die erkrankten Hautstellen auftragen" + } + ] + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "5dffa874-9781-4a20-96ba-f5bef504a54b", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle|1.2" + ], + "tag": [ + { + "display": "Beispiel RezeptAbgabedatenPKV Bundle (REZ-10)" + }, + { + "display": "ACHTUNG! Der fachlich korrekte Inhalt der Beispielinstanz kann nicht gewährleistet werden. Wir sind jederzeit dankbar für Hinweise auf Fehler oder für Verbesserungsvorschläge." + } + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.858.310.624.061.76" + }, + "type": "document", + "timestamp": "2023-07-03T11:30:00+00:00", + "entry": [ + { + "fullUrl": "urn:uuid:bc212e33-1aa2-4bf4-ac77-927beca65cbb", + "resource": { + "resourceType": "Composition", + "id": "bc212e33-1aa2-4bf4-ac77-927beca65cbb", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenComposition|1.2" + ] + }, + "status": "final", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-CompositionTypes", + "code": "ERezeptAbgabedaten" + } + ] + }, + "date": "2023-07-03T11:30:00Z", + "author": [ + { + "reference": "urn:uuid:52cc1148-f296-4bcc-beee-82b92f587617" + } + ], + "title": "ERezeptAbgabedaten", + "section": [ + { + "title": "Abgabeinformationen", + "entry": [ + { + "reference": "urn:uuid:2240ad06-61da-4edd-b8bc-b28737282876" + } + ] + }, + { + "title": "Apotheke", + "entry": [ + { + "reference": "urn:uuid:52cc1148-f296-4bcc-beee-82b92f587617" + } + ] + } + ] + } + }, + { + "fullUrl": "urn:uuid:52cc1148-f296-4bcc-beee-82b92f587617", + "resource": { + "resourceType": "Organization", + "id": "52cc1148-f296-4bcc-beee-82b92f587617", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Apotheke|1.2" + ] + }, + "identifier": [ + { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "308412345" + } + ], + "name": "Adler-Apotheke", + "address": [ + { + "type": "physical", + "line": [ + "Taunusstraße 89" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Taunusstraße" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "89" + } + ] + } + ], + "city": "Langen", + "postalCode": "63225", + "country": "D" + } + ] + } + }, + { + "fullUrl": "urn:uuid:2240ad06-61da-4edd-b8bc-b28737282876", + "resource": { + "resourceType": "MedicationDispense", + "id": "2240ad06-61da-4edd-b8bc-b28737282876", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abgabeinformationen|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Abrechnungszeilen", + "valueReference": { + "reference": "urn:uuid:2719e0de-6238-4d0a-8eeb-72b0571ef2c9" + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-EX-ERP-AbrechnungsTyp", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-AbrechnungsTyp", + "code": "1" + } + ] + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenHerstellung", + "valueReference": { + "reference": "urn:uuid:31397308-ce6d-4510-a1c5-9da410fef206" + } + } + ], + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "performer": [ + { + "actor": { + "reference": "urn:uuid:52cc1148-f296-4bcc-beee-82b92f587617" + } + } + ], + "authorizingPrescription": [ + { + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.858.310.624.061.76" + } + } + ], + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "Abgabeinformationen" + } + ] + }, + "whenHandedOver": "2023-07-03" + } + }, + { + "fullUrl": "urn:uuid:2719e0de-6238-4d0a-8eeb-72b0571ef2c9", + "resource": { + "resourceType": "Invoice", + "id": "2719e0de-6238-4d0a-8eeb-72b0571ef2c9", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abrechnungszeilen|1.2" + ] + }, + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "Abrechnungszeilen" + } + ] + }, + "lineItem": [ + { + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://TA1.abda.de", + "code": "09999011" + } + ], + "text": "Rezeptur" + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", + "valueDecimal": 19 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", + "extension": [ + { + "url": "Kategorie", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", + "code": "0" + } + ] + } + }, + { + "url": "Kostenbetrag", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ] + } + ], + "type": "informational", + "factor": 1, + "amount": { + "value": 31.7, + "currency": "EUR" + } + } + ] + } + ], + "totalGross": { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Gesamtzuzahlung", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ], + "value": 31.7, + "currency": "EUR" + } + } + }, + { + "fullUrl": "urn:uuid:31397308-ce6d-4510-a1c5-9da410fef206", + "resource": { + "resourceType": "MedicationDispense", + "id": "31397308-ce6d-4510-a1c5-9da410fef206", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-ZusatzdatenHerstellung|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Zaehler", + "valuePositiveInt": 1 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenEinheit", + "valueReference": { + "reference": "urn:uuid:4c34abeb-6076-4884-8307-68570bbf24b4" + } + } + ], + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "ZusatzdatenHerstellung" + } + ] + } + } + }, + { + "fullUrl": "urn:uuid:4c34abeb-6076-4884-8307-68570bbf24b4", + "resource": { + "resourceType": "Invoice", + "id": "4c34abeb-6076-4884-8307-68570bbf24b4", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-ZusatzdatenEinheit|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Zaehler", + "valuePositiveInt": 1 + } + ], + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "ZusatzdatenEinheit" + } + ] + }, + "lineItem": [ + { + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "03110083" + } + ] + }, + "priceComponent": [ + { + "type": "informational", + "factor": 432.8, + "amount": { + "value": 5.84, + "currency": "EUR" + } + } + ] + }, + { + "sequence": 2, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "01096858" + } + ] + }, + "priceComponent": [ + { + "type": "informational", + "factor": 399.56, + "amount": { + "value": 5.5, + "currency": "EUR" + } + } + ] + }, + { + "sequence": 3, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "00538343" + } + ] + }, + "priceComponent": [ + { + "type": "informational", + "factor": 1000, + "amount": { + "value": 0.95, + "currency": "EUR" + } + } + ] + }, + { + "sequence": 4, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "06460518" + } + ] + }, + "priceComponent": [ + { + "type": "informational", + "factor": 1000, + "amount": { + "value": 6, + "currency": "EUR" + } + } + ] + }, + { + "sequence": 5, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "06460518" + } + ] + }, + "priceComponent": [ + { + "type": "informational", + "factor": 1000, + "amount": { + "value": 8.35, + "currency": "EUR" + } + } + ] + } + ] + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0004-000000000000" + }, + { + "resource": { + "resourceType": "Bundle", + "id": "3cf93966-10cf-4d3a-a450-90f061cf4900", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle|1.1.0" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.858.310.624.061.76" + }, + "type": "document", + "timestamp": "2023-07-03T08:30:00+00:00", + "entry": [ + { + "fullUrl": "http://pvs.praxis.local/fhir/Composition/cbc60941-5411-40f6-982c-2b4eaeee3879", + "resource": { + "resourceType": "Composition", + "id": "cbc60941-5411-40f6-982c-2b4eaeee3879", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Composition|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_Legal_basis", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_STATUSKENNZEICHEN", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_PKV_Tariff", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PKV_TARIFF", + "code": "01" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_FORMULAR_ART", + "code": "e16A" + } + ] + }, + "subject": { + "reference": "Patient/5a3dc86b-f64b-4eae-af4d-ad393c146da9" + }, + "date": "2023-07-03T08:00:00Z", + "author": [ + { + "reference": "Practitioner/e475c88f-0c3c-4609-bb1f-029623f68c77", + "type": "Practitioner" + }, + { + "type": "Device", + "identifier": { + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_FOR_Pruefnummer", + "value": "Y/400/2107/36/999" + } + } + ], + "title": "elektronische Arzneimittelverordnung", + "custodian": { + "reference": "Organization/2a7ba7fd-166f-4be5-85c9-37d180233f74" + }, + "section": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Prescription" + } + ] + }, + "entry": [ + { + "reference": "MedicationRequest/c504d8da-de98-4c76-aab8-8654d84a282b" + } + ] + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Coverage" + } + ] + }, + "entry": [ + { + "reference": "Coverage/04d8c93d-66a1-48f3-a411-565cbcfc97da" + } + ] + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/MedicationRequest/c504d8da-de98-4c76-aab8-8654d84a282b", + "resource": { + "resourceType": "MedicationRequest", + "id": "c504d8da-de98-4c76-aab8-8654d84a282b", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription", + "extension": [ + { + "url": "Kennzeichen", + "valueBoolean": false + } + ] + } + ], + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/45a92d58-0940-495b-981b-0f839af9edac" + }, + "subject": { + "reference": "Patient/5a3dc86b-f64b-4eae-af4d-ad393c146da9" + }, + "authoredOn": "2023-07-03", + "requester": { + "reference": "Practitioner/e475c88f-0c3c-4609-bb1f-029623f68c77" + }, + "insurance": [ + { + "reference": "Coverage/04d8c93d-66a1-48f3-a411-565cbcfc97da" + } + ], + "dosageInstruction": [ + { + "patientInstruction": "1x täglich dünn auf die erkrankten Hautstellen auftragen" + } + ], + "dispenseRequest": { + "quantity": { + "value": 1, + "system": "http://unitsofmeasure.org", + "code": "{Package}" + } + }, + "substitution": { + "allowedBoolean": false + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Medication/45a92d58-0940-495b-981b-0f839af9edac", + "resource": { + "resourceType": "Medication", + "id": "45a92d58-0940-495b-981b-0f839af9edac", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "373873005:860781008=362943005", + "display": "Pharmaceutical / biologic product (product) : Has product characteristic (attribute) = Manual method (qualifier value)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + } + ], + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Type", + "code": "rezeptur" + } + ] + }, + "form": { + "text": "Creme" + }, + "amount": { + "numerator": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize", + "valueString": "100" + } + ], + "unit": "g" + }, + "denominator": { + "value": 1 + } + }, + "ingredient": [ + { + "itemCodeableConcept": { + "text": "Triamcinolonacetonid" + }, + "strength": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Ingredient_Amount", + "valueString": "0.1%" + } + ] + } + }, + { + "itemCodeableConcept": { + "text": "Basiscreme DAC" + }, + "strength": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Ingredient_Amount", + "valueString": "Ad 100,0 g" + } + ] + } + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Patient/5a3dc86b-f64b-4eae-af4d-ad393c146da9", + "resource": { + "resourceType": "Patient", + "id": "5a3dc86b-f64b-4eae-af4d-ad393c146da9", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", + "code": "PKV" + } + ] + }, + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464113" + } + ], + "name": [ + { + "use": "official", + "family": "Privati", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Privati" + } + ] + }, + "given": [ + "Paula" + ] + } + ], + "birthDate": "1935-06-22", + "address": [ + { + "type": "both", + "line": [ + "Blumenweg 18" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Blumenweg" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "18" + } + ] + } + ], + "city": "Esens", + "postalCode": "26427", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Practitioner/e475c88f-0c3c-4609-bb1f-029623f68c77", + "resource": { + "resourceType": "Practitioner", + "id": "e475c88f-0c3c-4609-bb1f-029623f68c77", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "LANR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", + "value": "123412821" + } + ], + "name": [ + { + "use": "official", + "family": "Schmidt", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Schmidt" + } + ] + }, + "given": [ + "Hanna" + ] + } + ], + "qualification": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", + "code": "00" + } + ] + } + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", + "code": "Berufsbezeichnung" + } + ], + "text": "Fachärztin für Haut- und Geschlechtskrankheiten" + } + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Organization/2a7ba7fd-166f-4be5-85c9-37d180233f74", + "resource": { + "resourceType": "Organization", + "id": "2a7ba7fd-166f-4be5-85c9-37d180233f74", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Organization|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "BSNR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", + "value": "721111100" + } + ], + "name": "MVZ", + "telecom": [ + { + "system": "phone", + "value": "030369258147" + } + ], + "address": [ + { + "type": "both", + "line": [ + "Herbert-Lewin-Platz 2" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Herbert-Lewin-Platz" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "2" + } + ] + } + ], + "city": "Berlin", + "postalCode": "10623", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Coverage/04d8c93d-66a1-48f3-a411-565cbcfc97da", + "resource": { + "resourceType": "Coverage", + "id": "04d8c93d-66a1-48f3-a411-565cbcfc97da", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" + ] + }, + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS", + "code": "1" + } + } + ], + "status": "active", + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis", + "code": "PKV" + } + ] + }, + "beneficiary": { + "reference": "Patient/5a3dc86b-f64b-4eae-af4d-ad393c146da9" + }, + "payor": [ + { + "identifier": { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "123456789" + }, + "display": "Allianz Private Krankenversicherung" + } + ] + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0001-000000000000" + } + ] +} diff --git a/common/src/commonTest/resources/fhir/pkv/Rezeptur-Verordnung_Nr_2.json b/common/src/commonTest/resources/fhir/pkv/Rezeptur-Verordnung_Nr_2.json new file mode 100644 index 00000000..8423be86 --- /dev/null +++ b/common/src/commonTest/resources/fhir/pkv/Rezeptur-Verordnung_Nr_2.json @@ -0,0 +1,1391 @@ +{ + "resourceType": "Bundle", + "type": "collection", + "entry": [ + { + "resource": { + "resourceType": "ChargeItem", + "id": "200.800.419.351.304.52", + "meta": { + "profile": [ + "https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_ChargeItem|1.0" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.800.419.351.304.52" + }, + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_AccessCode", + "value": "abd4afed9f3f458114fc3407878213e110f238d1afa919fbed7282abbef68bfd" + } + ], + "status": "billable", + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "X110465770" + } + }, + "enterer": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + }, + "enteredDate": "2023-02-23T15:08:32.699+00:00", + "supportingInformation": [ + { + "reference": "urn:uuid:c8606712-0000-0000-0001-000000000000", + "display": "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0004-000000000000", + "display": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0003-000000000000", + "display": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle" + } + ] + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "c8606712-0000-0000-0003-000000000000", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle|1.2" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.000.001.206.112.29" + }, + "type": "document", + "timestamp": "2023-02-23T15:08:30.803+00:00", + "link": [ + { + "relation": "self", + "url": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Task/200.000.001.206.112.29/$close/" + } + ], + "entry": [ + { + "fullUrl": "urn:uuid:1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "resource": { + "resourceType": "Composition", + "id": "1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Composition|1.2" + ] + }, + "extension": [ + { + "url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_Beneficiary", + "valueIdentifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType", + "code": "3", + "display": "Receipt" + } + ] + }, + "date": "2023-02-23T15:08:30.802+00:00", + "author": [ + { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + } + ], + "title": "Quittung", + "event": [ + { + "period": { + "start": "2023-02-23T15:08:29.843+00:00", + "end": "2023-02-23T15:08:30.802+00:00" + } + } + ], + "section": [ + { + "entry": [ + { + "reference": "Binary/PrescriptionDigest-200.000.001.206.112.29" + } + ] + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1", + "resource": { + "resourceType": "Device", + "id": "1", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Device|1.2" + ] + }, + "status": "active", + "serialNumber": "1.9.0", + "deviceName": [ + { + "name": "E-Rezept Fachdienst", + "type": "user-friendly-name" + } + ], + "version": [ + { + "value": "1.9.0" + } + ], + "contact": [ + { + "system": "email", + "value": "betrieb@gematik.de" + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Binary/PrescriptionDigest-200.000.001.206.112.29", + "resource": { + "resourceType": "Binary", + "id": "PrescriptionDigest-200.000.001.206.112.29", + "meta": { + "versionId": "1", + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Digest|1.2" + ] + }, + "contentType": "application/octet-stream", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-02-23T15:08:32.985+00:00", + "who": { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0003-000000000000" + }, + { + "resource": { + "resourceType": "Bundle", + "id": "72bf1839-cc0e-4d6c-9cc0-a3c2724cf242", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle|1.2" + ], + "tag": [ + { + "display": "Beispiel RezeptAbgabedatenPKV Bundle (REZ-11)" + }, + { + "display": "ACHTUNG! Der fachlich korrekte Inhalt der Beispielinstanz kann nicht gewährleistet werden. Wir sind jederzeit dankbar für Hinweise auf Fehler oder für Verbesserungsvorschläge." + } + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.800.419.351.304.52" + }, + "type": "document", + "timestamp": "2023-07-03T11:30:00+00:00", + "entry": [ + { + "fullUrl": "urn:uuid:f2e33340-fdc0-4d86-8828-bb41d2b187d7", + "resource": { + "resourceType": "Composition", + "id": "f2e33340-fdc0-4d86-8828-bb41d2b187d7", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenComposition|1.2" + ] + }, + "status": "final", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-CompositionTypes", + "code": "ERezeptAbgabedaten" + } + ] + }, + "date": "2023-07-03T11:30:00Z", + "author": [ + { + "reference": "urn:uuid:3b4a1ad6-0c26-4ab6-b5f2-5d2003006e5d" + } + ], + "title": "ERezeptAbgabedaten", + "section": [ + { + "title": "Abgabeinformationen", + "entry": [ + { + "reference": "urn:uuid:5e458b65-46f2-404b-8080-a06e0a5ac46d" + } + ] + }, + { + "title": "Apotheke", + "entry": [ + { + "reference": "urn:uuid:3b4a1ad6-0c26-4ab6-b5f2-5d2003006e5d" + } + ] + } + ] + } + }, + { + "fullUrl": "urn:uuid:3b4a1ad6-0c26-4ab6-b5f2-5d2003006e5d", + "resource": { + "resourceType": "Organization", + "id": "3b4a1ad6-0c26-4ab6-b5f2-5d2003006e5d", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Apotheke|1.2" + ] + }, + "identifier": [ + { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "308412345" + } + ], + "name": "Adler-Apotheke", + "address": [ + { + "type": "physical", + "line": [ + "Taunusstraße 89" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Taunusstraße" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "89" + } + ] + } + ], + "city": "Langen", + "postalCode": "63225", + "country": "D" + } + ] + } + }, + { + "fullUrl": "urn:uuid:5e458b65-46f2-404b-8080-a06e0a5ac46d", + "resource": { + "resourceType": "MedicationDispense", + "id": "5e458b65-46f2-404b-8080-a06e0a5ac46d", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abgabeinformationen|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Abrechnungszeilen", + "valueReference": { + "reference": "urn:uuid:85637bf3-b6ac-4645-ac30-338ce3ad00e0" + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-EX-ERP-AbrechnungsTyp", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-AbrechnungsTyp", + "code": "1" + } + ] + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenHerstellung", + "valueReference": { + "reference": "urn:uuid:20cb546f-fdf1-4ca4-b17d-0c501af94d3a" + } + } + ], + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "performer": [ + { + "actor": { + "reference": "urn:uuid:3b4a1ad6-0c26-4ab6-b5f2-5d2003006e5d" + } + } + ], + "authorizingPrescription": [ + { + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.800.419.351.304.52" + } + } + ], + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "Abgabeinformationen" + } + ] + }, + "whenHandedOver": "2023-07-03" + } + }, + { + "fullUrl": "urn:uuid:85637bf3-b6ac-4645-ac30-338ce3ad00e0", + "resource": { + "resourceType": "Invoice", + "id": "85637bf3-b6ac-4645-ac30-338ce3ad00e0", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abrechnungszeilen|1.2" + ] + }, + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "Abrechnungszeilen" + } + ] + }, + "lineItem": [ + { + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://TA1.abda.de", + "code": "09999011" + } + ], + "text": "Rezeptur" + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", + "valueDecimal": 19 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", + "extension": [ + { + "url": "Kategorie", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", + "code": "0" + } + ] + } + }, + { + "url": "Kostenbetrag", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ] + } + ], + "type": "informational", + "factor": 1, + "amount": { + "value": 18.45, + "currency": "EUR" + } + } + ] + } + ], + "totalGross": { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Gesamtzuzahlung", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ], + "value": 18.45, + "currency": "EUR" + } + } + }, + { + "fullUrl": "urn:uuid:20cb546f-fdf1-4ca4-b17d-0c501af94d3a", + "resource": { + "resourceType": "MedicationDispense", + "id": "20cb546f-fdf1-4ca4-b17d-0c501af94d3a", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-ZusatzdatenHerstellung|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Zaehler", + "valuePositiveInt": 1 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenEinheit", + "valueReference": { + "reference": "urn:uuid:dc1644f6-0939-435b-a33a-6cef53374c7c" + } + } + ], + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "ZusatzdatenHerstellung" + } + ] + } + } + }, + { + "fullUrl": "urn:uuid:dc1644f6-0939-435b-a33a-6cef53374c7c", + "resource": { + "resourceType": "Invoice", + "id": "dc1644f6-0939-435b-a33a-6cef53374c7c", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-ZusatzdatenEinheit|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Zaehler", + "valuePositiveInt": 1 + } + ], + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "ZusatzdatenEinheit" + } + ] + }, + "lineItem": [ + { + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor", + "code": "NA" + } + ] + }, + "priceComponent": [ + { + "type": "informational", + "amount": { + "value": 0.42, + "currency": "EUR" + } + } + ] + }, + { + "sequence": 2, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor", + "code": "NA" + } + ] + }, + "priceComponent": [ + { + "type": "informational", + "amount": { + "value": 0.64, + "currency": "EUR" + } + } + ] + }, + { + "sequence": 3, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor", + "code": "NA" + } + ] + }, + "priceComponent": [ + { + "type": "informational", + "amount": { + "value": 0.05, + "currency": "EUR" + } + } + ] + }, + { + "sequence": 4, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor", + "code": "NA" + } + ] + }, + "priceComponent": [ + { + "type": "informational", + "amount": { + "value": 1.46, + "currency": "EUR" + } + } + ] + }, + { + "sequence": 5, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor", + "code": "NA" + } + ] + }, + "priceComponent": [ + { + "type": "informational", + "amount": { + "value": 0.91, + "currency": "EUR" + } + } + ] + }, + { + "sequence": 6, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor", + "code": "NA" + } + ] + }, + "priceComponent": [ + { + "type": "informational", + "amount": { + "value": 0.17, + "currency": "EUR" + } + } + ] + }, + { + "sequence": 7, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor", + "code": "NA" + } + ] + }, + "priceComponent": [ + { + "type": "informational", + "amount": { + "value": 3.5, + "currency": "EUR" + } + } + ] + }, + { + "sequence": 8, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor", + "code": "NA" + } + ] + }, + "priceComponent": [ + { + "type": "informational", + "amount": { + "value": 8.35, + "currency": "EUR" + } + } + ] + } + ] + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0004-000000000000" + }, + { + "resource": { + "resourceType": "MedicationDispense", + "id": "d52e6467-5575-42a5-9918-1206953aae72", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.2" + ], + "tag": [ + { + "display": "Beispiel MedicationDispense PKV Rezeptur Bsp 11" + } + ] + }, + "contained": [ + { + "resourceType": "Medication", + "id": "2e2fe982-b2f7-4eb2-a9dd-e04dca1d2287", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "373873005:860781008=362943005", + "display": "Pharmaceutical / biologic product (product) : Has product characteristic (attribute) = Manual method (qualifier value)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + } + ], + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Type", + "code": "rezeptur" + } + ] + }, + "form": { + "text": "Lösung" + }, + "amount": { + "numerator": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize", + "valueString": "100" + } + ], + "unit": "ml" + }, + "denominator": { + "value": 1 + } + }, + "ingredient": [ + { + "itemCodeableConcept": { + "text": "Salicylsäure" + }, + "strength": { + "numerator": { + "value": 5, + "unit": "g" + }, + "denominator": { + "value": 1 + } + } + }, + { + "itemCodeableConcept": { + "text": "2-propanol 70 %" + }, + "strength": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Ingredient_Amount", + "valueString": "Ad 100 g" + } + ] + } + } + ] + } + ], + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.800.419.351.304.52" + } + ], + "status": "completed", + "medicationReference": { + "reference": "#2e2fe982-b2f7-4eb2-a9dd-e04dca1d2287", + "display": "Rezeptur" + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464237" + } + }, + "performer": [ + { + "actor": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-abc-1234567890" + } + } + } + ], + "whenHandedOver": "2023-07-03", + "dosageInstruction": [ + { + "text": "1–3mal/Tag auf die erkrankten Hautstellen auftragen" + } + ] + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "901a87c9-faef-44a3-a1ca-6000acb19483", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle|1.1.0" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.800.419.351.304.52" + }, + "type": "document", + "timestamp": "2023-07-03T08:30:00+00:00", + "entry": [ + { + "fullUrl": "http://pvs.praxis.local/fhir/Composition/34a3c8a9-c446-4643-83ae-48c2fffee901", + "resource": { + "resourceType": "Composition", + "id": "34a3c8a9-c446-4643-83ae-48c2fffee901", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Composition|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_Legal_basis", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_STATUSKENNZEICHEN", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_PKV_Tariff", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PKV_TARIFF", + "code": "01" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_FORMULAR_ART", + "code": "e16A" + } + ] + }, + "subject": { + "reference": "Patient/5d0b8122-b701-49c4-b94e-96bf04ca0832" + }, + "date": "2023-07-03T08:00:00Z", + "author": [ + { + "reference": "Practitioner/78846f05-8d51-41de-8dc5-788fd1d4a8e8", + "type": "Practitioner" + }, + { + "type": "Device", + "identifier": { + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_FOR_Pruefnummer", + "value": "Y/400/2107/36/999" + } + } + ], + "title": "elektronische Arzneimittelverordnung", + "custodian": { + "reference": "Organization/ba53ce73-1310-45a8-b9e5-5f70b965062c" + }, + "section": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Prescription" + } + ] + }, + "entry": [ + { + "reference": "MedicationRequest/a7451506-36c9-49a8-9a9c-e5565a647cf8" + } + ] + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Coverage" + } + ] + }, + "entry": [ + { + "reference": "Coverage/e4089df2-8de1-494e-b5ba-2029efb47082" + } + ] + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/MedicationRequest/a7451506-36c9-49a8-9a9c-e5565a647cf8", + "resource": { + "resourceType": "MedicationRequest", + "id": "a7451506-36c9-49a8-9a9c-e5565a647cf8", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription", + "extension": [ + { + "url": "Kennzeichen", + "valueBoolean": false + } + ] + } + ], + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/76e83871-27f6-4625-9fb3-cadf6a13059f" + }, + "subject": { + "reference": "Patient/5d0b8122-b701-49c4-b94e-96bf04ca0832" + }, + "authoredOn": "2023-07-03", + "requester": { + "reference": "Practitioner/78846f05-8d51-41de-8dc5-788fd1d4a8e8" + }, + "insurance": [ + { + "reference": "Coverage/e4089df2-8de1-494e-b5ba-2029efb47082" + } + ], + "dosageInstruction": [ + { + "patientInstruction": "1–3mal/Tag auf die erkrankten Hautstellen auftragen" + } + ], + "dispenseRequest": { + "quantity": { + "value": 1, + "system": "http://unitsofmeasure.org", + "code": "{Package}" + } + }, + "substitution": { + "allowedBoolean": false + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Medication/76e83871-27f6-4625-9fb3-cadf6a13059f", + "resource": { + "resourceType": "Medication", + "id": "76e83871-27f6-4625-9fb3-cadf6a13059f", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "373873005:860781008=362943005", + "display": "Pharmaceutical / biologic product (product) : Has product characteristic (attribute) = Manual method (qualifier value)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + } + ], + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Type", + "code": "rezeptur" + } + ] + }, + "form": { + "text": "Lösung" + }, + "amount": { + "numerator": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize", + "valueString": "100" + } + ], + "unit": "ml" + }, + "denominator": { + "value": 1 + } + }, + "ingredient": [ + { + "itemCodeableConcept": { + "text": "Salicylsäure" + }, + "strength": { + "numerator": { + "value": 5, + "unit": "g" + }, + "denominator": { + "value": 1 + } + } + }, + { + "itemCodeableConcept": { + "text": "2-propanol 70 %" + }, + "strength": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Ingredient_Amount", + "valueString": "Ad 100 g" + } + ] + } + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Patient/5d0b8122-b701-49c4-b94e-96bf04ca0832", + "resource": { + "resourceType": "Patient", + "id": "5d0b8122-b701-49c4-b94e-96bf04ca0832", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", + "code": "PKV" + } + ] + }, + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464237" + } + ], + "name": [ + { + "use": "official", + "family": "Privati", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Privati" + } + ] + }, + "given": [ + "Paolo" + ] + } + ], + "birthDate": "1935-01-06", + "address": [ + { + "type": "both", + "line": [ + "Blumenweg 18" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Blumenweg" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "18" + } + ] + } + ], + "city": "Esens", + "postalCode": "26427", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Practitioner/78846f05-8d51-41de-8dc5-788fd1d4a8e8", + "resource": { + "resourceType": "Practitioner", + "id": "78846f05-8d51-41de-8dc5-788fd1d4a8e8", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "LANR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", + "value": "123412821" + } + ], + "name": [ + { + "use": "official", + "family": "Schmidt", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Schmidt" + } + ] + }, + "given": [ + "Hanna" + ] + } + ], + "qualification": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", + "code": "00" + } + ] + } + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", + "code": "Berufsbezeichnung" + } + ], + "text": "Fachärztin für Haut- und Geschlechtskrankheiten" + } + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Organization/ba53ce73-1310-45a8-b9e5-5f70b965062c", + "resource": { + "resourceType": "Organization", + "id": "ba53ce73-1310-45a8-b9e5-5f70b965062c", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Organization|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "BSNR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", + "value": "721111100" + } + ], + "name": "MVZ", + "telecom": [ + { + "system": "phone", + "value": "030369258147" + } + ], + "address": [ + { + "type": "both", + "line": [ + "Herbert-Lewin-Platz 2" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Herbert-Lewin-Platz" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "2" + } + ] + } + ], + "city": "Berlin", + "postalCode": "10623", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Coverage/e4089df2-8de1-494e-b5ba-2029efb47082", + "resource": { + "resourceType": "Coverage", + "id": "e4089df2-8de1-494e-b5ba-2029efb47082", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" + ] + }, + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS", + "code": "1" + } + } + ], + "status": "active", + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis", + "code": "PKV" + } + ] + }, + "beneficiary": { + "reference": "Patient/5d0b8122-b701-49c4-b94e-96bf04ca0832" + }, + "payor": [ + { + "identifier": { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "123456789" + }, + "display": "Allianz Private Krankenversicherung" + } + ] + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0001-000000000000" + } + ] +} diff --git a/common/src/commonTest/resources/fhir/pkv/Rezeptur-parenterale_Zytostatika_Rezeptur-parenterale_Zytostatika_1.json b/common/src/commonTest/resources/fhir/pkv/Rezeptur-parenterale_Zytostatika_Rezeptur-parenterale_Zytostatika_1.json new file mode 100644 index 00000000..99158971 --- /dev/null +++ b/common/src/commonTest/resources/fhir/pkv/Rezeptur-parenterale_Zytostatika_Rezeptur-parenterale_Zytostatika_1.json @@ -0,0 +1,1766 @@ +{ + "resourceType": "Bundle", + "type": "collection", + "entry": [ + { + "resource": { + "resourceType": "ChargeItem", + "id": "209.100.612.180.208.16", + "meta": { + "profile": [ + "https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_ChargeItem|1.0" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "209.100.612.180.208.16" + }, + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_AccessCode", + "value": "abd4afed9f3f458114fc3407878213e110f238d1afa919fbed7282abbef68bfd" + } + ], + "status": "billable", + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "X110465770" + } + }, + "enterer": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + }, + "enteredDate": "2023-02-23T15:08:32.699+00:00", + "supportingInformation": [ + { + "reference": "urn:uuid:c8606712-0000-0000-0001-000000000000", + "display": "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0004-000000000000", + "display": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0003-000000000000", + "display": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle" + } + ] + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "c8606712-0000-0000-0003-000000000000", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle|1.2" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.000.001.206.112.29" + }, + "type": "document", + "timestamp": "2023-02-23T15:08:30.803+00:00", + "link": [ + { + "relation": "self", + "url": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Task/200.000.001.206.112.29/$close/" + } + ], + "entry": [ + { + "fullUrl": "urn:uuid:1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "resource": { + "resourceType": "Composition", + "id": "1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Composition|1.2" + ] + }, + "extension": [ + { + "url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_Beneficiary", + "valueIdentifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType", + "code": "3", + "display": "Receipt" + } + ] + }, + "date": "2023-02-23T15:08:30.802+00:00", + "author": [ + { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + } + ], + "title": "Quittung", + "event": [ + { + "period": { + "start": "2023-02-23T15:08:29.843+00:00", + "end": "2023-02-23T15:08:30.802+00:00" + } + } + ], + "section": [ + { + "entry": [ + { + "reference": "Binary/PrescriptionDigest-200.000.001.206.112.29" + } + ] + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1", + "resource": { + "resourceType": "Device", + "id": "1", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Device|1.2" + ] + }, + "status": "active", + "serialNumber": "1.9.0", + "deviceName": [ + { + "name": "E-Rezept Fachdienst", + "type": "user-friendly-name" + } + ], + "version": [ + { + "value": "1.9.0" + } + ], + "contact": [ + { + "system": "email", + "value": "betrieb@gematik.de" + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Binary/PrescriptionDigest-200.000.001.206.112.29", + "resource": { + "resourceType": "Binary", + "id": "PrescriptionDigest-200.000.001.206.112.29", + "meta": { + "versionId": "1", + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Digest|1.2" + ] + }, + "contentType": "application/octet-stream", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-02-23T15:08:32.985+00:00", + "who": { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0003-000000000000" + }, + { + "resource": { + "resourceType": "MedicationDispense", + "id": "cd6a4868-ee19-4b5d-bbdf-9b5d1858ac19", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.2" + ], + "tag": [ + { + "display": "Beispiel MedicationDispense PKV Rezeptur Bsp 13" + } + ] + }, + "contained": [ + { + "resourceType": "Medication", + "id": "96091647-180a-4222-8961-d551e2c2889a", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "373873005:860781008=362943005", + "display": "Pharmaceutical / biologic product (product) : Has product characteristic (attribute) = Manual method (qualifier value)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + } + ], + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Type", + "code": "rezeptur" + } + ] + }, + "form": { + "text": "Infusionslösung" + }, + "amount": { + "numerator": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize", + "valueString": "500" + } + ], + "unit": "ml" + }, + "denominator": { + "value": 1 + } + }, + "ingredient": [ + { + "itemCodeableConcept": { + "text": "Etoposid" + }, + "strength": { + "numerator": { + "value": 180, + "unit": "mg" + }, + "denominator": { + "value": 1 + } + } + }, + { + "itemCodeableConcept": { + "text": "NaCl 0,9 %" + }, + "strength": { + "numerator": { + "value": 500, + "unit": "ml" + }, + "denominator": { + "value": 1 + } + } + } + ] + } + ], + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "209.100.612.180.208.16" + } + ], + "status": "completed", + "medicationReference": { + "reference": "#96091647-180a-4222-8961-d551e2c2889a", + "display": "Parenterale Zubereitung" + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464315" + } + }, + "performer": [ + { + "actor": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-abc-1234567890" + } + } + } + ], + "quantity": { + "value": 3, + "system": "http://unitsofmeasure.org", + "code": "{Package}" + }, + "whenHandedOver": "2023-07-06", + "dosageInstruction": [ + { + "text": "zur ärztlichen parenteralen Applikation gem. schr. Therapieplan" + } + ] + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "b112710d-2479-404c-8a30-2855ba64de49", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle|1.1.0" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "209.100.612.180.208.16" + }, + "type": "document", + "timestamp": "2023-07-03T08:30:00+00:00", + "entry": [ + { + "fullUrl": "http://pvs.praxis.local/fhir/Composition/50e39b26-9629-4eaf-bb1b-c046f74073ff", + "resource": { + "resourceType": "Composition", + "id": "50e39b26-9629-4eaf-bb1b-c046f74073ff", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Composition|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_Legal_basis", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_STATUSKENNZEICHEN", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_PKV_Tariff", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PKV_TARIFF", + "code": "01" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_FORMULAR_ART", + "code": "e16A" + } + ] + }, + "subject": { + "reference": "Patient/48c586fd-2e9f-45e5-a69c-2523dc337b45" + }, + "date": "2023-07-03T08:00:00Z", + "author": [ + { + "reference": "Practitioner/84269446-a17f-4d6c-b8bb-16396aa4e656", + "type": "Practitioner" + }, + { + "type": "Device", + "identifier": { + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_FOR_Pruefnummer", + "value": "Y/400/2107/36/999" + } + } + ], + "title": "elektronische Arzneimittelverordnung", + "custodian": { + "reference": "Organization/01e2d5e4-6dac-41d7-a007-a7f1d48550f8" + }, + "section": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Prescription" + } + ] + }, + "entry": [ + { + "reference": "MedicationRequest/75e9ddcd-f03f-4bef-bb52-d5a3606fdcd8" + } + ] + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Coverage" + } + ] + }, + "entry": [ + { + "reference": "Coverage/a61ab8f7-2248-404e-aaec-64b0df222168" + } + ] + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/MedicationRequest/75e9ddcd-f03f-4bef-bb52-d5a3606fdcd8", + "resource": { + "resourceType": "MedicationRequest", + "id": "75e9ddcd-f03f-4bef-bb52-d5a3606fdcd8", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription", + "extension": [ + { + "url": "Kennzeichen", + "valueBoolean": false + } + ] + } + ], + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/4dbbe1a3-d89e-4b67-8598-e9f502d97b3e" + }, + "subject": { + "reference": "Patient/48c586fd-2e9f-45e5-a69c-2523dc337b45" + }, + "authoredOn": "2023-07-03", + "requester": { + "reference": "Practitioner/84269446-a17f-4d6c-b8bb-16396aa4e656" + }, + "insurance": [ + { + "reference": "Coverage/a61ab8f7-2248-404e-aaec-64b0df222168" + } + ], + "dosageInstruction": [ + { + "patientInstruction": "zur ärztlichen parenteralen Applikation gem. schr. Therapieplan" + } + ], + "dispenseRequest": { + "quantity": { + "value": 3, + "system": "http://unitsofmeasure.org", + "code": "{Package}" + } + }, + "substitution": { + "allowedBoolean": true + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Medication/4dbbe1a3-d89e-4b67-8598-e9f502d97b3e", + "resource": { + "resourceType": "Medication", + "id": "4dbbe1a3-d89e-4b67-8598-e9f502d97b3e", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "373873005:860781008=362943005", + "display": "Pharmaceutical / biologic product (product) : Has product characteristic (attribute) = Manual method (qualifier value)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + } + ], + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Type", + "code": "rezeptur" + } + ] + }, + "form": { + "text": "Infusionslösung" + }, + "amount": { + "numerator": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize", + "valueString": "500" + } + ], + "unit": "ml" + }, + "denominator": { + "value": 1 + } + }, + "ingredient": [ + { + "itemCodeableConcept": { + "text": "Etoposid" + }, + "strength": { + "numerator": { + "value": 180, + "unit": "mg" + }, + "denominator": { + "value": 1 + } + } + }, + { + "itemCodeableConcept": { + "text": "NaCl 0,9 %" + }, + "strength": { + "numerator": { + "value": 500, + "unit": "ml" + }, + "denominator": { + "value": 1 + } + } + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Patient/48c586fd-2e9f-45e5-a69c-2523dc337b45", + "resource": { + "resourceType": "Patient", + "id": "48c586fd-2e9f-45e5-a69c-2523dc337b45", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", + "code": "PKV" + } + ] + }, + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464315" + } + ], + "name": [ + { + "use": "official", + "family": "Privatus", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Privatus" + } + ] + }, + "given": [ + "Paulus" + ] + } + ], + "birthDate": "1969-11-07", + "address": [ + { + "type": "both", + "line": [ + "Nauheimer Str. 188" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Nauheimer Str." + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "188" + } + ] + } + ], + "city": "Köln", + "postalCode": "50969", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Practitioner/84269446-a17f-4d6c-b8bb-16396aa4e656", + "resource": { + "resourceType": "Practitioner", + "id": "84269446-a17f-4d6c-b8bb-16396aa4e656", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "LANR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", + "value": "987654423" + }, + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "PRN" + } + ] + }, + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-748382202" + } + ], + "name": [ + { + "use": "official", + "family": "Schneider", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Schneider" + } + ] + }, + "given": [ + "Emma" + ], + "prefix": [ + "Dr. med." + ], + "_prefix": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier", + "valueCode": "AC" + } + ] + } + ] + } + ], + "qualification": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", + "code": "00" + } + ] + } + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", + "code": "Berufsbezeichnung" + } + ], + "text": "Fachärztin für Innere Medizin" + } + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Organization/01e2d5e4-6dac-41d7-a007-a7f1d48550f8", + "resource": { + "resourceType": "Organization", + "id": "01e2d5e4-6dac-41d7-a007-a7f1d48550f8", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Organization|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "BSNR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", + "value": "721111100" + } + ], + "name": "MVZ", + "telecom": [ + { + "system": "phone", + "value": "030369258147" + }, + { + "system": "fax", + "value": "030123456789" + }, + { + "system": "email", + "value": "mvz@e-mail.de" + } + ], + "address": [ + { + "type": "both", + "line": [ + "Herbert-Lewin-Platz 2" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Herbert-Lewin-Platz" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "2" + } + ] + } + ], + "city": "Berlin", + "postalCode": "10623", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Coverage/a61ab8f7-2248-404e-aaec-64b0df222168", + "resource": { + "resourceType": "Coverage", + "id": "a61ab8f7-2248-404e-aaec-64b0df222168", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" + ] + }, + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS", + "code": "1" + } + } + ], + "status": "active", + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis", + "code": "PKV" + } + ] + }, + "beneficiary": { + "reference": "Patient/48c586fd-2e9f-45e5-a69c-2523dc337b45" + }, + "payor": [ + { + "identifier": { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "123456789" + }, + "display": "Allianz Private Krankenversicherung" + } + ] + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0001-000000000000" + }, + { + "resource": { + "resourceType": "Bundle", + "id": "ba08bfce-64be-4575-9c4f-ca6708cd2db5", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle|1.2" + ], + "tag": [ + { + "display": "Beispiel RezeptAbgabedatenPKV Bundle (REZ-12)" + }, + { + "display": "ACHTUNG! Der fachlich korrekte Inhalt der Beispielinstanz kann nicht gewährleistet werden. Wir sind jederzeit dankbar für Hinweise auf Fehler oder für Verbesserungsvorschläge." + } + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "209.100.612.180.208.16" + }, + "type": "document", + "timestamp": "2023-07-06T11:30:00+00:00", + "entry": [ + { + "fullUrl": "urn:uuid:9b69da59-b65f-4764-b5dd-bcd5714425d5", + "resource": { + "resourceType": "Composition", + "id": "9b69da59-b65f-4764-b5dd-bcd5714425d5", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenComposition|1.2" + ] + }, + "status": "final", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-CompositionTypes", + "code": "ERezeptAbgabedaten" + } + ] + }, + "date": "2023-07-06T11:30:00Z", + "author": [ + { + "reference": "urn:uuid:46bfb5c0-36de-49ae-a99e-9a73d2c1ac95" + } + ], + "title": "ERezeptAbgabedaten", + "section": [ + { + "title": "Abgabeinformationen", + "entry": [ + { + "reference": "urn:uuid:4ea32dd1-7372-4e51-8902-d7ac980d5d42" + } + ] + }, + { + "title": "Apotheke", + "entry": [ + { + "reference": "urn:uuid:46bfb5c0-36de-49ae-a99e-9a73d2c1ac95" + } + ] + } + ] + } + }, + { + "fullUrl": "urn:uuid:46bfb5c0-36de-49ae-a99e-9a73d2c1ac95", + "resource": { + "resourceType": "Organization", + "id": "46bfb5c0-36de-49ae-a99e-9a73d2c1ac95", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Apotheke|1.2" + ] + }, + "identifier": [ + { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "308412345" + } + ], + "name": "Adler-Apotheke", + "address": [ + { + "type": "physical", + "line": [ + "Taunusstraße 89" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Taunusstraße" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "89" + } + ] + } + ], + "city": "Langen", + "postalCode": "63225", + "country": "D" + } + ] + } + }, + { + "fullUrl": "urn:uuid:4ea32dd1-7372-4e51-8902-d7ac980d5d42", + "resource": { + "resourceType": "MedicationDispense", + "id": "4ea32dd1-7372-4e51-8902-d7ac980d5d42", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abgabeinformationen|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Abrechnungszeilen", + "valueReference": { + "reference": "urn:uuid:e7589618-0309-4a85-98dc-ee05d69fe940" + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-EX-ERP-AbrechnungsTyp", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-AbrechnungsTyp", + "code": "1" + } + ] + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenHerstellung", + "valueReference": { + "reference": "urn:uuid:9a0d92a0-1492-42f4-82e7-426cd596ef7e" + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenHerstellung", + "valueReference": { + "reference": "urn:uuid:97765ff2-b5cb-4c72-8768-27a610d3d189" + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenHerstellung", + "valueReference": { + "reference": "urn:uuid:85f5e706-b363-4cb5-9de7-a37d074b5757" + } + } + ], + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "performer": [ + { + "actor": { + "reference": "urn:uuid:46bfb5c0-36de-49ae-a99e-9a73d2c1ac95" + } + } + ], + "authorizingPrescription": [ + { + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "209.100.612.180.208.16" + } + } + ], + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "Abgabeinformationen" + } + ] + }, + "whenHandedOver": "2023-07-06" + } + }, + { + "fullUrl": "urn:uuid:e7589618-0309-4a85-98dc-ee05d69fe940", + "resource": { + "resourceType": "Invoice", + "id": "e7589618-0309-4a85-98dc-ee05d69fe940", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abrechnungszeilen|1.2" + ] + }, + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "Abrechnungszeilen" + } + ] + }, + "lineItem": [ + { + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://TA1.abda.de", + "code": "09999092" + } + ], + "text": "Parenterale Zubereitung" + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", + "valueDecimal": 19 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", + "extension": [ + { + "url": "Kategorie", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", + "code": "0" + } + ] + } + }, + { + "url": "Kostenbetrag", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ] + } + ], + "type": "informational", + "factor": 1, + "amount": { + "value": 389.17, + "currency": "EUR" + } + } + ] + } + ], + "totalGross": { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Gesamtzuzahlung", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ], + "value": 389.17, + "currency": "EUR" + } + } + }, + { + "fullUrl": "urn:uuid:9a0d92a0-1492-42f4-82e7-426cd596ef7e", + "resource": { + "resourceType": "MedicationDispense", + "id": "9a0d92a0-1492-42f4-82e7-426cd596ef7e", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-ZusatzdatenHerstellung|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Zaehler", + "valuePositiveInt": 1 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenEinheit", + "valueReference": { + "reference": "urn:uuid:658aefef-ed6d-444c-8817-1684866cffc6" + } + } + ], + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "ZusatzdatenHerstellung" + } + ] + }, + "whenPrepared": "2023-07-04T12:00:00Z" + } + }, + { + "fullUrl": "urn:uuid:97765ff2-b5cb-4c72-8768-27a610d3d189", + "resource": { + "resourceType": "MedicationDispense", + "id": "97765ff2-b5cb-4c72-8768-27a610d3d189", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-ZusatzdatenHerstellung|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Zaehler", + "valuePositiveInt": 2 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenEinheit", + "valueReference": { + "reference": "urn:uuid:6c6bd9ae-d35d-449f-b822-788b28ed88c8" + } + } + ], + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "ZusatzdatenHerstellung" + } + ] + }, + "whenPrepared": "2023-07-05T09:00:00Z" + } + }, + { + "fullUrl": "urn:uuid:85f5e706-b363-4cb5-9de7-a37d074b5757", + "resource": { + "resourceType": "MedicationDispense", + "id": "85f5e706-b363-4cb5-9de7-a37d074b5757", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-ZusatzdatenHerstellung|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Zaehler", + "valuePositiveInt": 3 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenEinheit", + "valueReference": { + "reference": "urn:uuid:7d62c70e-c963-4c4d-a420-7df13781c9ad" + } + } + ], + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "ZusatzdatenHerstellung" + } + ] + }, + "whenPrepared": "2023-07-06T10:00:00Z" + } + }, + { + "fullUrl": "urn:uuid:658aefef-ed6d-444c-8817-1684866cffc6", + "resource": { + "resourceType": "Invoice", + "id": "658aefef-ed6d-444c-8817-1684866cffc6", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-ZusatzdatenEinheit|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Zaehler", + "valuePositiveInt": 1 + } + ], + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "ZusatzdatenEinheit" + } + ] + }, + "lineItem": [ + { + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "01131365" + } + ] + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenFaktorkennzeichen", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-ZusatzdatenEinheitFaktorkennzeichen", + "code": "11" + } + ] + } + } + ], + "type": "informational", + "factor": 360, + "amount": { + "value": 17.33, + "currency": "EUR" + } + } + ] + }, + { + "sequence": 2, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "09477471" + } + ] + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenFaktorkennzeichen", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-ZusatzdatenEinheitFaktorkennzeichen", + "code": "11" + } + ] + } + } + ], + "type": "informational", + "factor": 50, + "amount": { + "value": 1.36, + "currency": "EUR" + } + } + ] + }, + { + "sequence": 3, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://TA1.abda.de", + "code": "06460518" + } + ] + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenFaktorkennzeichen", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-ZusatzdatenEinheitFaktorkennzeichen", + "code": "11" + } + ] + } + } + ], + "type": "informational", + "factor": 1000, + "amount": { + "value": 90, + "currency": "EUR" + } + } + ] + } + ] + } + }, + { + "fullUrl": "urn:uuid:6c6bd9ae-d35d-449f-b822-788b28ed88c8", + "resource": { + "resourceType": "Invoice", + "id": "6c6bd9ae-d35d-449f-b822-788b28ed88c8", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-ZusatzdatenEinheit|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Zaehler", + "valuePositiveInt": 1 + } + ], + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "ZusatzdatenEinheit" + } + ] + }, + "lineItem": [ + { + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "01131365" + } + ] + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenFaktorkennzeichen", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-ZusatzdatenEinheitFaktorkennzeichen", + "code": "11" + } + ] + } + } + ], + "type": "informational", + "factor": 360, + "amount": { + "value": 17.33, + "currency": "EUR" + } + } + ] + }, + { + "sequence": 2, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "09477471" + } + ] + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenFaktorkennzeichen", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-ZusatzdatenEinheitFaktorkennzeichen", + "code": "11" + } + ] + } + } + ], + "type": "informational", + "factor": 50, + "amount": { + "value": 1.36, + "currency": "EUR" + } + } + ] + }, + { + "sequence": 3, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://TA1.abda.de", + "code": "06460518" + } + ] + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenFaktorkennzeichen", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-ZusatzdatenEinheitFaktorkennzeichen", + "code": "11" + } + ] + } + } + ], + "type": "informational", + "factor": 1000, + "amount": { + "value": 90, + "currency": "EUR" + } + } + ] + } + ] + } + }, + { + "fullUrl": "urn:uuid:7d62c70e-c963-4c4d-a420-7df13781c9ad", + "resource": { + "resourceType": "Invoice", + "id": "7d62c70e-c963-4c4d-a420-7df13781c9ad", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-ZusatzdatenEinheit|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Zaehler", + "valuePositiveInt": 1 + } + ], + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "ZusatzdatenEinheit" + } + ] + }, + "lineItem": [ + { + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "01131365" + } + ] + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenFaktorkennzeichen", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-ZusatzdatenEinheitFaktorkennzeichen", + "code": "11" + } + ] + } + } + ], + "type": "informational", + "factor": 360, + "amount": { + "value": 17.33, + "currency": "EUR" + } + } + ] + }, + { + "sequence": 2, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "01131365" + } + ] + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenFaktorkennzeichen", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-ZusatzdatenEinheitFaktorkennzeichen", + "code": "99" + } + ] + } + } + ], + "type": "informational", + "factor": 360, + "amount": { + "value": 0.96, + "currency": "EUR" + } + } + ] + }, + { + "sequence": 3, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "09477471" + } + ] + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenFaktorkennzeichen", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-ZusatzdatenEinheitFaktorkennzeichen", + "code": "11" + } + ] + } + } + ], + "type": "informational", + "factor": 50, + "amount": { + "value": 1.36, + "currency": "EUR" + } + } + ] + }, + { + "sequence": 4, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://TA1.abda.de", + "code": "06460518" + } + ] + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-ZusatzdatenFaktorkennzeichen", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-ZusatzdatenEinheitFaktorkennzeichen", + "code": "11" + } + ] + } + } + ], + "type": "informational", + "factor": 1000, + "amount": { + "value": 90, + "currency": "EUR" + } + } + ] + } + ] + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0004-000000000000" + } + ] +} diff --git a/common/src/commonTest/resources/fhir/pkv/Wirkstoff-Verordnung.json b/common/src/commonTest/resources/fhir/pkv/Wirkstoff-Verordnung.json new file mode 100644 index 00000000..46fb3123 --- /dev/null +++ b/common/src/commonTest/resources/fhir/pkv/Wirkstoff-Verordnung.json @@ -0,0 +1,1340 @@ +{ + "resourceType": "Bundle", + "type": "collection", + "entry": [ + { + "resource": { + "resourceType": "ChargeItem", + "meta": { + "profile": [ + "https://gematik.de/fhir/erpchrg/StructureDefinition/GEM_ERPCHRG_PR_ChargeItem|1.0" + ] + }, + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId" + }, + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_AccessCode", + "value": "abd4afed9f3f458114fc3407878213e110f238d1afa919fbed7282abbef68bfd" + } + ], + "status": "billable", + "code": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "X110465770" + } + }, + "enterer": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + }, + "enteredDate": "2023-02-23T15:08:32.699+00:00", + "supportingInformation": [ + { + "reference": "urn:uuid:c8606712-0000-0000-0001-000000000000", + "display": "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0004-000000000000", + "display": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle" + }, + { + "reference": "urn:uuid:c8606712-0000-0000-0003-000000000000", + "display": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle" + } + ] + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "c8606712-0000-0000-0003-000000000000", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Bundle|1.2" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.000.001.206.112.29" + }, + "type": "document", + "timestamp": "2023-02-23T15:08:30.803+00:00", + "link": [ + { + "relation": "self", + "url": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Task/200.000.001.206.112.29/$close/" + } + ], + "entry": [ + { + "fullUrl": "urn:uuid:1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "resource": { + "resourceType": "Composition", + "id": "1f107ad7-f4bf-47e3-a606-0181f5dd4f73", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Composition|1.2" + ] + }, + "extension": [ + { + "url": "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_EX_Beneficiary", + "valueIdentifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-SMC-B-Testkarte-883110000116873" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://gematik.de/fhir/erp/CodeSystem/GEM_ERP_CS_DocumentType", + "code": "3", + "display": "Receipt" + } + ] + }, + "date": "2023-02-23T15:08:30.802+00:00", + "author": [ + { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + } + ], + "title": "Quittung", + "event": [ + { + "period": { + "start": "2023-02-23T15:08:29.843+00:00", + "end": "2023-02-23T15:08:30.802+00:00" + } + } + ], + "section": [ + { + "entry": [ + { + "reference": "Binary/PrescriptionDigest-200.000.001.206.112.29" + } + ] + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1", + "resource": { + "resourceType": "Device", + "id": "1", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Device|1.2" + ] + }, + "status": "active", + "serialNumber": "1.9.0", + "deviceName": [ + { + "name": "E-Rezept Fachdienst", + "type": "user-friendly-name" + } + ], + "version": [ + { + "value": "1.9.0" + } + ], + "contact": [ + { + "system": "email", + "value": "betrieb@gematik.de" + } + ] + } + }, + { + "fullUrl": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Binary/PrescriptionDigest-200.000.001.206.112.29", + "resource": { + "resourceType": "Binary", + "id": "PrescriptionDigest-200.000.001.206.112.29", + "meta": { + "versionId": "1", + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_Digest|1.2" + ] + }, + "contentType": "application/octet-stream", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-02-23T15:08:32.985+00:00", + "who": { + "reference": "https://erp-dev.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "aYDkjPosw3Sa5dX5EmSghwhVg7d9jhoXHdwszETXV/8=" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0003-000000000000" + }, + { + "resource": { + "resourceType": "Bundle", + "id": "98e07654-0c9e-4a68-939a-c1a7061af8cd", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Bundle|1.1.0" + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.643.100.572.979.08" + }, + "type": "document", + "timestamp": "2023-07-03T08:30:00+00:00", + "entry": [ + { + "fullUrl": "http://pvs.praxis.local/fhir/Composition/4c925498-a86a-459d-a7ac-6fa6818d2a57", + "resource": { + "resourceType": "Composition", + "id": "4c925498-a86a-459d-a7ac-6fa6818d2a57", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Composition|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_Legal_basis", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_STATUSKENNZEICHEN", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_FOR_PKV_Tariff", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PKV_TARIFF", + "code": "01" + } + } + ], + "status": "final", + "type": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_FORMULAR_ART", + "code": "e16A" + } + ] + }, + "subject": { + "reference": "Patient/31aca60e-a19e-4592-80d7-5c0388394030" + }, + "date": "2023-07-03T08:00:00Z", + "author": [ + { + "reference": "Practitioner/d6460216-d366-46e7-b8f9-5dca989d834e", + "type": "Practitioner" + }, + { + "type": "Device", + "identifier": { + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_FOR_Pruefnummer", + "value": "Y/400/2107/36/999" + } + } + ], + "title": "elektronische Arzneimittelverordnung", + "custodian": { + "reference": "Organization/1f438dae-18b4-4be2-b69a-abcca1af09b9" + }, + "section": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Prescription" + } + ] + }, + "entry": [ + { + "reference": "MedicationRequest/8bc1762b-d511-4c36-92ea-1419d9936d26" + } + ] + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Section_Type", + "code": "Coverage" + } + ] + }, + "entry": [ + { + "reference": "Coverage/5ccc3d6b-7fac-4695-b3c5-a78984ab4ad2" + } + ] + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/MedicationRequest/8bc1762b-d511-4c36-92ea-1419d9936d26", + "resource": { + "resourceType": "MedicationRequest", + "id": "8bc1762b-d511-4c36-92ea-1419d9936d26", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Prescription|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_EmergencyServicesFee", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_BVG", + "valueBoolean": false + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Multiple_Prescription", + "extension": [ + { + "url": "Kennzeichen", + "valueBoolean": false + } + ] + } + ], + "status": "active", + "intent": "order", + "medicationReference": { + "reference": "Medication/332223dc-21aa-44b2-b394-bacf30c6b654" + }, + "subject": { + "reference": "Patient/31aca60e-a19e-4592-80d7-5c0388394030" + }, + "authoredOn": "2023-07-03", + "requester": { + "reference": "Practitioner/d6460216-d366-46e7-b8f9-5dca989d834e" + }, + "insurance": [ + { + "reference": "Coverage/5ccc3d6b-7fac-4695-b3c5-a78984ab4ad2" + } + ], + "dosageInstruction": [ + { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_DosageFlag", + "valueBoolean": false + } + ] + } + ], + "dispenseRequest": { + "quantity": { + "value": 1, + "system": "http://unitsofmeasure.org", + "code": "{Package}" + } + } + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Medication/332223dc-21aa-44b2-b394-bacf30c6b654", + "resource": { + "resourceType": "Medication", + "id": "332223dc-21aa-44b2-b394-bacf30c6b654", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Ingredient|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + } + ], + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Type", + "code": "wirkstoff" + } + ] + }, + "form": { + "text": "Tabletten" + }, + "amount": { + "numerator": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize", + "valueString": "30" + } + ], + "unit": "Stück" + }, + "denominator": { + "value": 1 + } + }, + "ingredient": [ + { + "itemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ask", + "code": "22686" + } + ], + "text": "Ramipril" + }, + "strength": { + "numerator": { + "value": 200, + "unit": "mg" + }, + "denominator": { + "value": 1 + } + } + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Patient/31aca60e-a19e-4592-80d7-5c0388394030", + "resource": { + "resourceType": "Patient", + "id": "31aca60e-a19e-4592-80d7-5c0388394030", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Patient|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/identifier-type-de-basis", + "code": "PKV" + } + ] + }, + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464315" + } + ], + "name": [ + { + "use": "official", + "family": "Privatus", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Privatus" + } + ] + }, + "given": [ + "Paulus" + ] + } + ], + "birthDate": "1969-11-07", + "address": [ + { + "type": "both", + "line": [ + "Nauheimer Str. 188" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Nauheimer Str." + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "188" + } + ] + } + ], + "city": "Köln", + "postalCode": "50969", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Practitioner/d6460216-d366-46e7-b8f9-5dca989d834e", + "resource": { + "resourceType": "Practitioner", + "id": "d6460216-d366-46e7-b8f9-5dca989d834e", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Practitioner|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "LANR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_ANR", + "value": "987654423" + }, + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "PRN" + } + ] + }, + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "1-748382202" + } + ], + "name": [ + { + "use": "official", + "family": "Schneider", + "_family": { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/humanname-own-name", + "valueString": "Schneider" + } + ] + }, + "given": [ + "Emma" + ], + "prefix": [ + "Dr. med." + ], + "_prefix": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier", + "valueCode": "AC" + } + ] + } + ] + } + ], + "qualification": [ + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Qualification_Type", + "code": "00" + } + ] + } + }, + { + "code": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_FOR_Berufsbezeichnung", + "code": "Berufsbezeichnung" + } + ], + "text": "Fachärztin für Innere Medizin" + } + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Organization/1f438dae-18b4-4be2-b69a-abcca1af09b9", + "resource": { + "resourceType": "Organization", + "id": "1f438dae-18b4-4be2-b69a-abcca1af09b9", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Organization|1.1.0" + ] + }, + "identifier": [ + { + "type": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/v2-0203", + "code": "BSNR" + } + ] + }, + "system": "https://fhir.kbv.de/NamingSystem/KBV_NS_Base_BSNR", + "value": "721111100" + } + ], + "name": "MVZ", + "telecom": [ + { + "system": "phone", + "value": "0301234567" + }, + { + "system": "fax", + "value": "030123456789" + }, + { + "system": "email", + "value": "mvz@e-mail.de" + } + ], + "address": [ + { + "type": "both", + "line": [ + "Herbert-Lewin-Platz 2" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Herbert-Lewin-Platz" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "2" + } + ] + } + ], + "city": "Berlin", + "postalCode": "10623", + "country": "D" + } + ] + } + }, + { + "fullUrl": "http://pvs.praxis.local/fhir/Coverage/5ccc3d6b-7fac-4695-b3c5-a78984ab4ad2", + "resource": { + "resourceType": "Coverage", + "id": "5ccc3d6b-7fac-4695-b3c5-a78984ab4ad2", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_FOR_Coverage|1.1.0" + ] + }, + "extension": [ + { + "url": "http://fhir.de/StructureDefinition/gkv/besondere-personengruppe", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_PERSONENGRUPPE", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/dmp-kennzeichen", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DMP", + "code": "00" + } + }, + { + "url": "http://fhir.de/StructureDefinition/gkv/versichertenart", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_VERSICHERTENSTATUS", + "code": "1" + } + } + ], + "status": "active", + "type": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/versicherungsart-de-basis", + "code": "PKV" + } + ] + }, + "beneficiary": { + "reference": "Patient/31aca60e-a19e-4592-80d7-5c0388394030" + }, + "payor": [ + { + "identifier": { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "123456789" + }, + "display": "Allianz Private Krankenversicherung" + } + ] + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0001-000000000000" + }, + { + "resource": { + "resourceType": "Bundle", + "id": "01ce5139-197f-4520-8805-12a2a4a1c546", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_CloseOperationInputBundle|1.2" + ], + "tag": [ + { + "display": "Beispiel MedicationDispense PKV Wirkstoff (multiple medications)" + } + ] + }, + "type": "collection", + "entry": [ + { + "fullUrl": "urn:uuid:9c071f12-db40-4f7e-9b87-18cea3458c0d", + "resource": { + "resourceType": "MedicationDispense", + "id": "9c071f12-db40-4f7e-9b87-18cea3458c0d", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.2" + ], + "tag": [ + { + "display": "Beispiel MedicationDispense PKV Wirkstoff 1/2" + } + ] + }, + "contained": [ + { + "resourceType": "Medication", + "id": "ebdb8f91-b514-4374-bd18-825f9437e2aa", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N2" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "06437063" + } + ], + "text": "Doxycyclin 200-1a Pharma Tabletten - 20 St" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "TAB" + } + ] + }, + "amount": { + "numerator": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize", + "valueString": "20" + } + ], + "unit": "Stück" + }, + "denominator": { + "value": 1 + } + }, + "batch": { + "lotNumber": "A123456789-1", + "expirationDate": "2024-12-31" + } + } + ], + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.643.100.572.979.08" + } + ], + "status": "completed", + "medicationReference": { + "reference": "#ebdb8f91-b514-4374-bd18-825f9437e2aa", + "display": "Doxycyclin 200-1a Pharma Tabletten - 20 St" + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464315" + } + }, + "performer": [ + { + "actor": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-abc-1234567890" + } + } + } + ], + "whenHandedOver": "2023-07-03" + } + }, + { + "fullUrl": "urn:uuid:40afa27e-9c66-48d0-8f09-4d2eb43fb44d", + "resource": { + "resourceType": "MedicationDispense", + "id": "40afa27e-9c66-48d0-8f09-4d2eb43fb44d", + "meta": { + "profile": [ + "https://gematik.de/fhir/erp/StructureDefinition/GEM_ERP_PR_MedicationDispense|1.2" + ], + "tag": [ + { + "display": "Beispiel MedicationDispense PKV Wirkstoff 2/2" + } + ] + }, + "contained": [ + { + "resourceType": "Medication", + "id": "a4048f3c-4803-46ad-b809-63cf53fed771", + "meta": { + "profile": [ + "https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_PZN|1.1.0" + ] + }, + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Medication_Type", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://snomed.info/sct", + "version": "http://snomed.info/sct/900000000000207008/version/20220331", + "code": "763158003", + "display": "Medicinal product (product)" + } + ] + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category", + "valueCoding": { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Category", + "code": "00" + } + }, + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine", + "valueBoolean": false + }, + { + "url": "http://fhir.de/StructureDefinition/normgroesse", + "valueCode": "N2" + } + ], + "code": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "06437057" + } + ], + "text": "Doxycyclin 200-1a Pharma Tabletten - 10 St" + }, + "form": { + "coding": [ + { + "system": "https://fhir.kbv.de/CodeSystem/KBV_CS_SFHIR_KBV_DARREICHUNGSFORM", + "code": "TAB" + } + ] + }, + "amount": { + "numerator": { + "extension": [ + { + "url": "https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_PackagingSize", + "valueString": "10" + } + ], + "unit": "Stück" + }, + "denominator": { + "value": 1 + } + }, + "batch": { + "lotNumber": "A123456789-1", + "expirationDate": "2024-12-31" + } + } + ], + "identifier": [ + { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.643.100.572.979.08" + } + ], + "status": "completed", + "medicationReference": { + "reference": "#a4048f3c-4803-46ad-b809-63cf53fed771", + "display": "Doxycyclin 200-1a Pharma Tabletten - 10 St" + }, + "subject": { + "identifier": { + "system": "http://fhir.de/sid/pkv/kvid-10", + "value": "P123464315" + } + }, + "performer": [ + { + "actor": { + "identifier": { + "system": "https://gematik.de/fhir/sid/telematik-id", + "value": "3-abc-1234567890" + } + } + } + ], + "whenHandedOver": "2023-07-03" + } + } + ] + } + }, + { + "resource": { + "resourceType": "Bundle", + "id": "4e3cda28-cfb8-449c-b0f7-b4f266bfefd8", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenBundle|1.2" + ], + "tag": [ + { + "display": "Beispiel RezeptAbgabedatenPKV Bundle (WS-9)" + }, + { + "display": "ACHTUNG! Der fachlich korrekte Inhalt der Beispielinstanz kann nicht gewährleistet werden. Wir sind jederzeit dankbar für Hinweise auf Fehler oder für Verbesserungsvorschläge." + } + ] + }, + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.643.100.572.979.08" + }, + "type": "document", + "timestamp": "2023-07-03T11:30:00+00:00", + "entry": [ + { + "fullUrl": "urn:uuid:a9176212-02ea-4793-bdee-d9a45d762229", + "resource": { + "resourceType": "Composition", + "id": "a9176212-02ea-4793-bdee-d9a45d762229", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-AbgabedatenComposition|1.2" + ] + }, + "status": "final", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-CompositionTypes", + "code": "ERezeptAbgabedaten" + } + ] + }, + "date": "2023-07-03T11:30:00Z", + "author": [ + { + "reference": "urn:uuid:ac74cd0f-71d9-424b-8aec-fd6a5948823f" + } + ], + "title": "ERezeptAbgabedaten", + "section": [ + { + "title": "Abgabeinformationen", + "entry": [ + { + "reference": "urn:uuid:daaab530-59fb-48a4-ac72-5133e4a8122c" + } + ] + }, + { + "title": "Apotheke", + "entry": [ + { + "reference": "urn:uuid:ac74cd0f-71d9-424b-8aec-fd6a5948823f" + } + ] + } + ] + } + }, + { + "fullUrl": "urn:uuid:ac74cd0f-71d9-424b-8aec-fd6a5948823f", + "resource": { + "resourceType": "Organization", + "id": "ac74cd0f-71d9-424b-8aec-fd6a5948823f", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Apotheke|1.2" + ] + }, + "identifier": [ + { + "system": "http://fhir.de/sid/arge-ik/iknr", + "value": "308412345" + } + ], + "name": "Adler-Apotheke", + "address": [ + { + "type": "physical", + "line": [ + "Taunusstraße 89" + ], + "_line": [ + { + "extension": [ + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName", + "valueString": "Taunusstraße" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber", + "valueString": "89" + } + ] + } + ], + "city": "Langen", + "postalCode": "63225", + "country": "D" + } + ] + } + }, + { + "fullUrl": "urn:uuid:daaab530-59fb-48a4-ac72-5133e4a8122c", + "resource": { + "resourceType": "MedicationDispense", + "id": "daaab530-59fb-48a4-ac72-5133e4a8122c", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abgabeinformationen|1.2" + ] + }, + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Abrechnungszeilen", + "valueReference": { + "reference": "urn:uuid:2f8f59c3-1720-424d-9aa5-a121b15a0a22" + } + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-EX-ERP-AbrechnungsTyp", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-AbrechnungsTyp", + "code": "1" + } + ] + } + } + ], + "status": "completed", + "medicationCodeableConcept": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/data-absent-reason", + "code": "not-applicable" + } + ] + }, + "performer": [ + { + "actor": { + "reference": "urn:uuid:ac74cd0f-71d9-424b-8aec-fd6a5948823f" + } + } + ], + "authorizingPrescription": [ + { + "identifier": { + "system": "https://gematik.de/fhir/erp/NamingSystem/GEM_ERP_NS_PrescriptionId", + "value": "200.643.100.572.979.08" + } + } + ], + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-MedicationDispenseTyp", + "code": "Abgabeinformationen" + } + ] + }, + "whenHandedOver": "2023-07-03" + } + }, + { + "fullUrl": "urn:uuid:2f8f59c3-1720-424d-9aa5-a121b15a0a22", + "resource": { + "resourceType": "Invoice", + "id": "2f8f59c3-1720-424d-9aa5-a121b15a0a22", + "meta": { + "profile": [ + "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-PKV-PR-ERP-Abrechnungszeilen|1.2" + ] + }, + "status": "issued", + "type": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-CS-ERP-InvoiceTyp", + "code": "Abrechnungszeilen" + } + ] + }, + "lineItem": [ + { + "sequence": 1, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "06437063" + } + ], + "text": "Doxycyclin 200-1a Pharma Tabletten - 20 St" + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", + "valueDecimal": 19 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", + "extension": [ + { + "url": "Kategorie", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", + "code": "0" + } + ] + } + }, + { + "url": "Kostenbetrag", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ] + } + ], + "type": "informational", + "factor": 1, + "amount": { + "value": 12.78, + "currency": "EUR" + } + } + ] + }, + { + "sequence": 2, + "chargeItemCodeableConcept": { + "coding": [ + { + "system": "http://fhir.de/CodeSystem/ifa/pzn", + "code": "06437057" + } + ], + "text": "Doxycyclin 200-1a Pharma Tabletten - 10 St" + }, + "priceComponent": [ + { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-MwStSatz", + "valueDecimal": 19 + }, + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-KostenVersicherter", + "extension": [ + { + "url": "Kategorie", + "valueCodeableConcept": { + "coding": [ + { + "system": "http://fhir.abda.de/eRezeptAbgabedaten/CodeSystem/DAV-PKV-CS-ERP-KostenVersicherterKategorie", + "code": "0" + } + ] + } + }, + { + "url": "Kostenbetrag", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ] + } + ], + "type": "informational", + "factor": 1, + "amount": { + "value": 12.14, + "currency": "EUR" + } + } + ] + } + ], + "totalGross": { + "extension": [ + { + "url": "http://fhir.abda.de/eRezeptAbgabedaten/StructureDefinition/DAV-EX-ERP-Gesamtzuzahlung", + "valueMoney": { + "value": 0, + "currency": "EUR" + } + } + ], + "value": 24.92, + "currency": "EUR" + } + } + } + ], + "signature": { + "type": [ + { + "system": "urn:iso-astm:E1762-95:2013", + "code": "1.2.840.10065.1.12.1.1" + } + ], + "when": "2023-07-30T10:40:00+00:00", + "who": { + "reference": "https://erp-ref.zentral.erp.splitdns.ti-dienste.de/Device/1" + }, + "sigFormat": "application/pkcs7-mime", + "data": "Y2RjMTVjNThkMzlkMjllNDdjMTk1MjIzNDlkODRjMThiNTliYTZkMGFhZmI5NGYyZjM2NDFkNGJiZTk1ODhiMQ==" + } + }, + "fullUrl": "urn:uuid:c8606712-0000-0000-0004-000000000000" + } + ] +} diff --git a/common/src/commonTest/resources/fhir/charge_item_bundle_vers_1_2.json b/common/src/commonTest/resources/fhir/pkv/charge_item_bundle_vers_1_2.json similarity index 100% rename from common/src/commonTest/resources/fhir/charge_item_bundle_vers_1_2.json rename to common/src/commonTest/resources/fhir/pkv/charge_item_bundle_vers_1_2.json diff --git a/config/detekt/baseline.xml b/config/detekt/baseline.xml index 4d566984..0dadf36b 100644 --- a/config/detekt/baseline.xml +++ b/config/detekt/baseline.xml @@ -6,7 +6,6 @@ ClassNaming:SchemaTest.kt$RealmA_V2 : RealmObject ClassNaming:SchemaTest.kt$RealmA_V3 : RealmObject ClassNaming:SchemaTest.kt$RealmB_V1 : RealmObject - ComplexCondition:EditShippingContactScreen.kt$!telephoneError && !mailError && !nameError && !line1Error && !codeAndCityError ComplexCondition:LoginWithHealthCardScreen.kt$(can.length == it || it == 5 && can.length == 6) && isFocussed ComplexCondition:LoginWithHealthCardScreen.kt$triggerAuth && state.firstVisibleItemIndex == 4 && cardAccessNumber.isNotBlank() && personalIdentificationNumber.isNotBlank() ComplexCondition:Workarounds.kt$Workarounds$osName == "Mac OS X" && majorJavaVersion <= 16 && (majorOsVersion == 11 || majorOsVersion == 12) @@ -21,7 +20,6 @@ LargeClass:StringResource.kt$Strings LongMethod:AndroidStringResourceGeneratorTask.kt$AndroidStringResourceGeneratorTask$@OptIn(ExperimentalXmlUtilApi::class, ExperimentalStdlibApi::class) @TaskAction fun generateStringResources() LongMethod:CardWallComponents.kt$@Composable fun CardWallScreen( mainNavController: NavController, onResumeCardWall: () -> Unit, profileId: ProfileIdentifier ) - LongMethod:CardWallNfcInstructionScreen.kt$@Composable fun NFCInstructionScreen( onBack: () -> Unit, onClickTroubleshooting: () -> Unit, state: CardWallNfcPositionViewModelData.NfcPosition ) LongMethod:KBVCodeMapping.kt$fun Strings.codeToDosageFormMapping() LongMethod:LoginWithHealthCardScreen.kt$@OptIn( ExperimentalMaterialApi::class, ExperimentalAnimationApi::class ) @Composable fun LoginWithHealthCard( viewModel: LoginWithHealthCardViewModel, onFinished: () -> Unit, onClose: () -> Unit ) LongMethod:Main.kt$fun main() @@ -115,12 +113,8 @@ MagicNumber:PasswordScreen.kt$3 MagicNumber:PasswordScreen.kt$4 MagicNumber:PharmacySearchModel.kt$Location$180.0 - MagicNumber:PrescriptionViewModel.kt$PrescriptionViewModel$1000L - MagicNumber:PrescriptionViewModel.kt$PrescriptionViewModel$60L MagicNumber:ProtocolUseCase.kt$ProtocolUseCase$50 MagicNumber:QueryUtils.kt$100 - MagicNumber:ScanPrescriptionsViewModel.kt$ScanPrescriptionViewModel$1000L - MagicNumber:ScanPrescriptionsViewModel.kt$ScanPrescriptionViewModel$3000L MagicNumber:ScanScreenComponent.kt$0.4f MagicNumber:ScanScreenComponent.kt$0.6f MagicNumber:ScanScreenComponent.kt$1 @@ -167,8 +161,6 @@ MagicNumber:Utils.kt$48 MagicNumber:Utils.kt$9 MagicNumber:Utils.kt$97 - MagicNumber:VisibleDebugTree.kt$VisibleDebugTree$10 - MagicNumber:VisibleDebugTree.kt$VisibleDebugTree$500 MagicNumber:WebViewScreen.kt$100 MagicNumber:Workarounds.kt$Workarounds$11 MagicNumber:Workarounds.kt$Workarounds$12 @@ -379,9 +371,7 @@ TooManyFunctions:IdpRepository.kt$IdpRepository TooManyFunctions:PrescriptionDetailScreen.kt$de.gematik.ti.erp.app.prescription.ui.PrescriptionDetailScreen.kt TooManyFunctions:SettingsScreen.kt$de.gematik.ti.erp.app.settings.ui.SettingsScreen.kt - TooManyFunctions:SettingsViewModel.kt$SettingsViewModel : ViewModel TopLevelPropertyNaming:ClientCrypto.kt$private const val byteSpace: Byte = 32 - TopLevelPropertyNaming:DebugScreen.kt$private const val maxNumberOfVisualLogs = 25 TopLevelPropertyNaming:HeadersInterceptor.kt$private const val invalidAccessTokenHeader = "Www-Authenticate" TopLevelPropertyNaming:HeadersInterceptor.kt$private const val invalidAccessTokenValue = "Bearer realm='prescriptionserver.telematik', error='invalACCESS_TOKEN'" TopLevelPropertyNaming:IdpRemoteDataSource.kt$private const val defaultScope = "e-rezept openid" diff --git a/desktop/src/jvmMain/kotlin/de/gematik/ti/erp/app/common/pinning/Pinning.kt b/desktop/src/jvmMain/kotlin/de/gematik/ti/erp/app/common/pinning/Pinning.kt index a3c756d5..bfbc8450 100644 --- a/desktop/src/jvmMain/kotlin/de/gematik/ti/erp/app/common/pinning/Pinning.kt +++ b/desktop/src/jvmMain/kotlin/de/gematik/ti/erp/app/common/pinning/Pinning.kt @@ -46,4 +46,12 @@ public fun buildCertificatePinner(): CertificatePinner = CertificatePinner.Build .add("idp.app.ti-dienste.de", "sha256/86fLIetopQLDNxFZ0uMI66Xpl1pFgLlHHn9v6kT0i4I=") // expires on 2030-09-23T00:00 .add("apovzd.app.ti-dienste.de", "sha256/e0IRz5Tio3GA1Xs4fUVWmH1xHDiH2dMbVtCBSkOIdqM=") + // expires on 2031-04-13 + .add("erp-ref.app.ti-dienste.de", "sha256/qBRjZmOmkSNJL0p70zek7odSIzqs/muR4Jk9xYyCP+E=") + // expires on 2024-01-30" + .add("erp-test.app.ti-dienste.de", "sha256/qBRjZmOmkSNJL0p70zek7odSIzqs/muR4Jk9xYyCP+E=") + // expires on 2024-01-30 + .add("erp.app.ti-dienste.de", "sha256/qBRjZmOmkSNJL0p70zek7odSIzqs/muR4Jk9xYyCP+E=") + // expires on 2024-07-07 + .add("apovzd.app.ti-dienste.de", "sha256/qBRjZmOmkSNJL0p70zek7odSIzqs/muR4Jk9xYyCP+E=") .build() diff --git a/gradle.properties b/gradle.properties index afe5b818..fddc03e6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -26,7 +26,7 @@ buildkonfig.flavor=googleTuInternal # VERSION_CODE=1 VERSION_NAME=1.0 -USER_AGENT=eRp-App-Android/1.11.0 GMTIK/eRezeptApp +USER_AGENT=eRp-App-Android/1.12.0 GMTIK/eRezeptApp # DATA_PROTECTION_LAST_UPDATED = 2022-01-06 # diff --git a/plugins/dependencies/src/main/kotlin/de/gematik/ti/erp/AppDependenciesPlugin.kt b/plugins/dependencies/src/main/kotlin/de/gematik/ti/erp/AppDependenciesPlugin.kt index b6b98c0c..dfcb428b 100644 --- a/plugins/dependencies/src/main/kotlin/de/gematik/ti/erp/AppDependenciesPlugin.kt +++ b/plugins/dependencies/src/main/kotlin/de/gematik/ti/erp/AppDependenciesPlugin.kt @@ -183,7 +183,7 @@ class AppDependenciesPlugin : Plugin { const val realm = "io.realm.kotlin:library-base:1.7.1" } - const val composeVersion = "1.4.2" + const val composeVersion = "1.5.0-beta02" object Compose { const val compiler = "androidx.compose.compiler:compiler:$composeVersion" diff --git a/rules/build.gradle.kts b/rules/build.gradle.kts index 869f2ee4..9bef9421 100644 --- a/rules/build.gradle.kts +++ b/rules/build.gradle.kts @@ -1,7 +1,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { - kotlin("jvm") version "1.7.0" + kotlin("jvm") version "1.8.0" } repositories {