-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: 128-tumorkonferenz mapping #251
base: beta
Are you sure you want to change the base?
Conversation
🦙 MegaLinter status: ✅ SUCCESS
See detailed report in MegaLinter reports You could have the same capabilities but better runtime performances if you use a MegaLinter flavor:
|
Code Coverage Report
|
es gibt zur Tumorkonferenz noch die Info Meldeanlass aus dem OBDS, die nicht im IG abgebildet ist. Lassen wir diese Info also auch einfach weg? |
src/main/java/org/miracum/streams/ume/obdstofhir/mapper/mii/TumorkonferenzMapper.java
Outdated
Show resolved
Hide resolved
src/main/java/org/miracum/streams/ume/obdstofhir/mapper/mii/TumorkonferenzMapper.java
Outdated
Show resolved
Hide resolved
src/main/java/org/miracum/streams/ume/obdstofhir/mapper/mii/TumorkonferenzMapper.java
Outdated
Show resolved
Hide resolved
.getMengeTypTherapieempfehlung() | ||
.getTypTherapieempfehlung() | ||
.get(i)); | ||
therapieEmpfehlungen.addCoding(code); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ich denke es wäre hier passender eine CarePlanActivityDetailComponent pro getTypTherapieempfehlung statt alle in ein coding.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so wie ich das verstehe, ist die CarePlanActivityDetailComponent ist ja eigentlich das Element detail. Laut IG darf das nur einmal pro activity gesetzt werden. Deswegene sind die getTypTherapieempfehlung alle in einem coding gelandet. Und es gibt ja für alle Therapieempfehlungen nur einmal die Info zur AbweichungPatientenwunsch
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hier hänge ich gerade leider etwas. Ich bekomms aktuel nur hin, dass in einer activity zwei details angezeigt werden und nicht zwei activities. Selbst wenn ich zwei CarePlanActivityComponents erstelle und diese einzelnt oder als Liste hinzufüge, wird das ganze nur als neues detail angezeigt.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mit:
for (String typ :
tk.getTherapieempfehlung().getMengeTypTherapieempfehlung().getTypTherapieempfehlung()) {
Coding code =
new Coding()
.setSystem(fhirProperties.getSystems().getMiiCsOnkoTherapieTyp())
.setCode(typ);
CodeableConcept therapieEmpfehlungen = new CodeableConcept(code);
CarePlan.CarePlanActivityDetailComponent cpadc =
new CarePlan.CarePlanActivityDetailComponent();
cpadc.setCode(therapieEmpfehlungen);
// detail.Status
cpadc.setStatus(CarePlan.CarePlanActivityStatus.COMPLETED);
// detail.StatusReason
cpadc.setStatusReason(
new CodeableConcept(
new Coding()
.setSystem(fhirProperties.getSystems().getMiiCsOnkoTherapieabweichung())
.setCode(tk.getTherapieempfehlung().getAbweichungPatientenwunsch().value())));
carePlan.addActivity().setDetail(cpadc);
}
Bekomm ich mit Testpatient_prostata.xml:
{
"resourceType": "CarePlan",
"id": "893ccaf0f99449d7ca78315b47ef45b1c8cbdc393d61ce34eaf9cbb71d7f89d9",
"meta": {
"profile": [ "https://www.medizininformatik-initiative.de/fhir/ext/modul-onko/StructureDefinition/mii-pr-onko-tumorkonferenz" ]
},
"identifier": [ {
"system": "https://bzkf.github.io/obds-to-fhir/identifiers/tumorkonferenz-id",
"value": "Tumorkonferenz_112"
} ],
"status": "active",
"intent": "plan",
"category": [ {
"coding": [ {
"system": "https://www.medizininformatik-initiative.de/fhir/ext/modul-onko/CodeSystem/mii-cs-onko-therapieplanung-typ",
"code": "praeth"
} ]
} ],
"subject": {
"reference": "Patient/any"
},
"created": "2020-05-25T00:00:00+02:00",
"addresses": [ {
"reference": "Condition/any"
} ],
"activity": [ {
"detail": {
"code": {
"coding": [ {
"system": "https://www.medizininformatik-initiative.de/fhir/ext/modul-onko/CodeSystem/mii-cs-onko-therapie-typ",
"code": "OP"
} ]
},
"status": "completed",
"statusReason": {
"coding": [ {
"system": "https://www.medizininformatik-initiative.de/fhir/ext/modul-onko/CodeSystem/mii-cs-onko-therapieabweichung",
"code": "U"
} ]
}
}
}, {
"detail": {
"code": {
"coding": [ {
"system": "https://www.medizininformatik-initiative.de/fhir/ext/modul-onko/CodeSystem/mii-cs-onko-therapie-typ",
"code": "ST"
} ]
},
"status": "completed",
"statusReason": {
"coding": [ {
"system": "https://www.medizininformatik-initiative.de/fhir/ext/modul-onko/CodeSystem/mii-cs-onko-therapieabweichung",
"code": "U"
} ]
}
}
} ]
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so sahs bei mir auch aus. Nur dass das ja dann im FHIR-Profil der Kardinalität von detail wiederspricht
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dann stimmt deins aber schon! Die activity selber darf 0..* sein, innerhalb der activity dann das detail nur 1..1. (Das detail selber kann auch gar nicht mehr als 1 gesetzt sein). So wie oben sind es praktisch 2 activity mit jeweils einem detail.
} | ||
cpadc.setCode(therapieEmpfehlungen); | ||
// detail.Status | ||
cpadc.setStatus(CarePlan.CarePlanActivityStatus.COMPLETED); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
muss man den status abhängig von getAbweichungPatientenwunsch setzen? Also heißt abweichung "J" dass die empfehlung gemacht wurde weil der Patient es wollte, oder dass sie nicht gemacht wurde trotz empfehlung 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gute Frage. Können wir das überhaupt erkennen. Hier ist ja auch wieder der Punkt, dass mehere Therapien empfolen werden können und wir nicht wissen, auf welche sich getAbweichungPatientenwunsch bezieht
src/main/java/org/miracum/streams/ume/obdstofhir/mapper/mii/TumorkonferenzMapper.java
Show resolved
Hide resolved
src/main/java/org/miracum/streams/ume/obdstofhir/mapper/mii/TumorkonferenzMapper.java
Outdated
Show resolved
Hide resolved
src/main/java/org/miracum/streams/ume/obdstofhir/mapper/mii/TumorkonferenzMapper.java
Outdated
Show resolved
Hide resolved
src/main/java/org/miracum/streams/ume/obdstofhir/mapper/mii/TumorkonferenzMapper.java
Outdated
Show resolved
Hide resolved
src/main/java/org/miracum/streams/ume/obdstofhir/mapper/mii/TumorkonferenzMapper.java
Outdated
Show resolved
Hide resolved
added changes from review
src/main/java/org/miracum/streams/ume/obdstofhir/mapper/mii/TumorkonferenzMapper.java
Fixed
Show resolved
Hide resolved
src/main/java/org/miracum/streams/ume/obdstofhir/mapper/mii/TumorkonferenzMapper.java
Outdated
Show resolved
Hide resolved
src/main/java/org/miracum/streams/ume/obdstofhir/mapper/mii/TumorkonferenzMapper.java
Outdated
Show resolved
Hide resolved
src/main/java/org/miracum/streams/ume/obdstofhir/mapper/mii/TumorkonferenzMapper.java
Outdated
Show resolved
Hide resolved
Trivy image scan report
|
carePlan.setStatus(CarePlan.CarePlanStatus.ACTIVE); | ||
} | ||
// intent | ||
carePlan.setIntent(CarePlan.CarePlanIntent.PROPOSAL); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
carePlan.setIntent(CarePlan.CarePlanIntent.PROPOSAL); | |
carePlan.setIntent(CarePlan.CarePlanIntent.PLAN); |
Hör lieber nicht auf mich, es ist doch im IG als "plan" hard-codiert... Ich hab nochmal nachgefragt ob Proposal doch sinnvoller ist: https://mii.zulipchat.com/#narrow/channel/255455-MII-Onko/topic/Therapieabweichung/near/503284376
🙈
@@ -67,3 +67,4 @@ node_modules/ | |||
|
|||
# generated code | |||
src/generated/ | |||
.approval_tests_temp/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah, musst noch die .approval_tests_temp ordner mal rauslöschen: https://stackoverflow.com/questions/7927230/remove-directory-from-remote-repository-after-adding-them-to-gitignore
new CarePlan.CarePlanActivityDetailComponent(); | ||
cpadc.setCode(therapieEmpfehlungen); | ||
// detail.Status | ||
cpadc.setStatus(CarePlan.CarePlanActivityStatus.COMPLETED); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ich denke die logik müsste sein: wenn tk.getTherapieempfehlung().getAbweichungPatientenwunsch().value() == "Ja", dann, dann cpadc.setStatus(CarePlan.CarePlanActivityStatus.CANCELLED); und setStatusReason() auf das "ja".
Wenn getAbweichungPatientenwunsch().value() == "Nein", wäre cpadc.setStatus mMn identisch mit CarePlan.Status. Also wenn der gesamte Plan noch aktiv ist (nicht meldeanlass == behandlungsende), dann auch in-progress, und ansonsten completed. Dann muss auch kein statusReason gesetzt werden.
Closes #128