Hey guys,
I downloaded the GECCO_Laborbefund
template (Clinical Knowledge Manager) for testing purposes and pushed it on my EHRBase server. This seems to work, as I can retrieve an example of it via /ehrbase/rest/ecis/v1/template/GECCO_Laborbefund/example?format=FLAT
, which looks like this:
{
"laborbefund/category|terminology": "openehr",
"laborbefund/category|value": "event",
"laborbefund/category|code": "433",
"laborbefund/context/status|code": "at0010",
"laborbefund/context/status|terminology": "local",
"laborbefund/context/status|value": "registriert",
"laborbefund/context/kategorie:0": "Lorem ipsum",
"laborbefund/context/start_time": "2022-02-03T04:05:06",
"laborbefund/context/setting|code": "225",
"laborbefund/context/setting|value": "home",
"laborbefund/context/setting|terminology": "openehr",
"laborbefund/context/_end_time": "2022-02-03T04:05:06",
"laborbefund/context/_health_care_facility|name": "DOE, John",
"laborbefund/laborergebnis:0/labortest-kategorie|code": "42",
"laborbefund/laborergebnis:0/labortest-kategorie|terminology": "//fhir.hl7.org//ValueSet/$expand?url=https://www.netzwerk-universitaetsmedizin.de/fhir/ValueSet/labreport-labtest-category",
"laborbefund/laborergebnis:0/labortest-kategorie|value": "No example for termĂnology '//fhir.hl7.org//ValueSet/$expand?url=https://www.netzwerk-universitaetsmedizin.de/fhir/ValueSet/labreport-labtest-category' available",
"laborbefund/laborergebnis:0/probe:0/probenart|code": "42",
"laborbefund/laborergebnis:0/probe:0/probenart|terminology": "//fhir.hl7.org//ValueSet/$expand?url=http://terminology.hl7.org/ValueSet/v2-0487",
"laborbefund/laborergebnis:0/probe:0/probenart|value": "No example for termĂnology '//fhir.hl7.org//ValueSet/$expand?url=http://terminology.hl7.org/ValueSet/v2-0487' available",
"laborbefund/laborergebnis:0/probe:0/laborprobenidentifikator|id": "dev/null",
"laborbefund/laborergebnis:0/probe:0/externer_identifikator|id": "dev/null",
"laborbefund/laborergebnis:0/probe:0/zeitpunkt_des_probeneingangs": "2022-02-03T04:05:06",
"laborbefund/laborergebnis:0/probe:0/probenentahmebedingung:0": "Lorem ipsum",
"laborbefund/laborergebnis:0/probe:0/probenentnahmemethode": "Lorem ipsum",
"laborbefund/laborergebnis:0/probe:0/körperstelle": "Lorem ipsum",
"laborbefund/laborergebnis:0/probe:0/zeitpunkt_der_probenentnahme/date_time_value": "2022-02-03T04:05:06",
"laborbefund/laborergebnis:0/probe:0/identifikator_des_probennehmers|id": "dev/null",
"laborbefund/laborergebnis:0/probe:0/identifikator_der_ĂŒbergeordneten_probe:0|id": "dev/null",
"laborbefund/laborergebnis:0/probe:0/eignung_zum_testen|terminology": "local",
"laborbefund/laborergebnis:0/probe:0/eignung_zum_testen|code": "at0062",
"laborbefund/laborergebnis:0/probe:0/eignung_zum_testen|value": "Zufriedenstellend",
"laborbefund/laborergebnis:0/probe:0/kommentar": "Lorem ipsum",
"laborbefund/laborergebnis:0/probe:0/_uid": "71ef7e57-969e-3958-a30f-5541c4613b84",
"laborbefund/laborergebnis:0/pro_laboranalyt:0/untersuchter_analyt|terminology": "//fhir.hl7.org//ValueSet/$expand?url=https://www.netzwerk-universitaetsmedizin.de/fhir/ValueSet/lab-tests-gecco",
"laborbefund/laborergebnis:0/pro_laboranalyt:0/untersuchter_analyt|code": "42",
"laborbefund/laborergebnis:0/pro_laboranalyt:0/untersuchter_analyt|value": "No example for termĂnology '//fhir.hl7.org//ValueSet/$expand?url=https://www.netzwerk-universitaetsmedizin.de/fhir/ValueSet/lab-tests-gecco' available",
"laborbefund/laborergebnis:0/pro_laboranalyt:0/messwert/text_value": "Lorem ipsum",
"laborbefund/laborergebnis:0/pro_laboranalyt:0/interpretation|code": "42",
"laborbefund/laborergebnis:0/pro_laboranalyt:0/interpretation|value": "No example for termĂnology '//fhir.hl7.org//ValueSet/$expand?url=http://hl7.org/fhir/ValueSet/observation-interpretation' available",
"laborbefund/laborergebnis:0/pro_laboranalyt:0/interpretation|terminology": "//fhir.hl7.org//ValueSet/$expand?url=http://hl7.org/fhir/ValueSet/observation-interpretation",
"laborbefund/laborergebnis:0/pro_laboranalyt:0/testmethode/text_value": "Lorem ipsum",
"laborbefund/laborergebnis:0/pro_laboranalyt:0/zeitpunkt_der_validierung": "2022-02-03T04:05:06",
"laborbefund/laborergebnis:0/pro_laboranalyt:0/ergebnis-status|terminology": "local",
"laborbefund/laborergebnis:0/pro_laboranalyt:0/ergebnis-status|code": "at0015",
"laborbefund/laborergebnis:0/pro_laboranalyt:0/ergebnis-status|value": "Erfasst",
"laborbefund/laborergebnis:0/pro_laboranalyt:0/zeitpunkt_ergebnis-status": "2022-02-03T04:05:06",
"laborbefund/laborergebnis:0/pro_laboranalyt:0/probe_id/identifier_value|id": "dev/null",
"laborbefund/laborergebnis:0/pro_laboranalyt:0/kommentar:0": "Lorem ipsum",
"laborbefund/laborergebnis:0/pro_laboranalyt:0/_uid": "56adb4a6-4b59-3a5c-90ba-bae7a4ef78e3",
"laborbefund/laborergebnis:0/schlussfolgerung": "Lorem ipsum",
"laborbefund/laborergebnis:0/time": "2022-02-03T04:05:06",
"laborbefund/laborergebnis:0/width": "PT42H",
"laborbefund/laborergebnis:0/math_function|code": "145",
"laborbefund/laborergebnis:0/math_function|value": "minimum",
"laborbefund/laborergebnis:0/math_function|terminology": "openehr",
"laborbefund/laborergebnis:0/details_der_testanforderung/identifikation_der_laboranforderung/identifier_value|id": "dev/null",
"laborbefund/laborergebnis:0/details_der_testanforderung/_uid": "5cea753c-a209-3762-a059-0a17f29a297c",
"laborbefund/laborergebnis:0/testmethode/text_value": "Lorem ipsum",
"laborbefund/laborergebnis:0/language|terminology": "ISO_639-1",
"laborbefund/laborergebnis:0/language|code": "de",
"laborbefund/laborergebnis:0/encoding|code": "UTF-8",
"laborbefund/laborergebnis:0/encoding|terminology": "IANA_character-sets",
"laborbefund/laborergebnis:0/_uid": "3c6d6c1e-9532-3a6b-9e65-96b07a31e945",
"laborbefund/laborergebnis:0/_work_flow_id|id": "28d43642-f3e4-3a63-a6d0-6fdda9d75465",
"laborbefund/laborergebnis:0/_work_flow_id|id_scheme": "scheme",
"laborbefund/laborergebnis:0/_work_flow_id|namespace": "unknown",
"laborbefund/laborergebnis:0/_work_flow_id|type": "ANY",
"laborbefund/laborergebnis:0/_guideline_id|id": "a8f48e4f-a3f4-39e6-a07e-1a7b4a099546",
"laborbefund/laborergebnis:0/_guideline_id|id_scheme": "scheme",
"laborbefund/laborergebnis:0/_guideline_id|namespace": "unknown",
"laborbefund/laborergebnis:0/_guideline_id|type": "ANY",
"laborbefund/language|code": "de",
"laborbefund/language|terminology": "ISO_639-1",
"laborbefund/territory|code": "DE",
"laborbefund/territory|terminology": "ISO_3166-1",
"laborbefund/composer|name": "Max Mustermann",
"laborbefund/_uid": "60506a97-c96d-311d-8ac6-87882a186ac7"
}
So far so good. Now I want to use my data to upload a composition. In doing so, I did a quick sanity check by just uploading the the retrieved example template in FLAT format, which corresponds to a composition filled with default data (please correct me if Iâm wrong). For this, I did a POST request to /ehrbase/rest/ecis/v1/composition?format=FLAT&templateId=GECCO_Laborbefund&ehrId=a647b9a3-0cf9-48de-b4ea-2b66acc3e39b"
. I did reveice a 200 http code and a valid composition uid: a6d5bb56-6f15-46d1-a1ab-7664682f8094::local.ehrbase.org::1
.
However, when Iâm trying to retrieve this composition with ehrbase/rest/ecis/v1/composition/a6d5bb56-6f15-46d1-a1ab-7664682f8094::local.ehrbase.org::1?format=FLAT
, I get the following output:
{
"meta": {
"href": {
"url": "http://rbkehrbase.rbk.intra:8080/ehrbase/rest/ecis/v1/composition/89b197fc-c318-4e1c-96b7-fcf5929f9b15%3A%3Alocal.ehrbase.org%3A%3A1?format=FLAT/rest/ecis/v1/composition/89b197fc-c318-4e1c-96b7-fcf5929f9b15::local.ehrbase.org::1"
}
},
"action": "RETRIEVE",
"composition": {
"laborbefund/category|terminology": "openehr",
"laborbefund/category|value": "event",
"laborbefund/category|code": "433",
"laborbefund/context/status|code": "at0010",
"laborbefund/context/status|terminology": "local",
"laborbefund/context/status|value": "registriert",
"laborbefund/context/kategorie:0": "Lorem ipsum",
"laborbefund/context/start_time": "2022-02-03T04:05:06",
"laborbefund/context/setting|code": "225",
"laborbefund/context/setting|value": "home",
"laborbefund/context/setting|terminology": "openehr",
"laborbefund/context/_end_time": "2022-02-03T04:05:06",
"laborbefund/context/_health_care_facility|name": "DOE, John",
"laborbefund/laborergebnis:0/labortest-kategorie|code": "42",
"laborbefund/laborergebnis:0/labortest-kategorie|terminology": "//fhir.hl7.org//ValueSet/$expand?url=https://www.netzwerk-universitaetsmedizin.de/fhir/ValueSet/labreport-labtest-category",
"laborbefund/laborergebnis:0/labortest-kategorie|value": "No example for termĂnology '//fhir.hl7.org//ValueSet/$expand?url=https://www.netzwerk-universitaetsmedizin.de/fhir/ValueSet/labreport-labtest-category' available",
"laborbefund/laborergebnis:0/probe:0/externer_identifikator|id": "dev/null",
"laborbefund/laborergebnis:0/probe:0/_uid": "71ef7e57-969e-3958-a30f-5541c4613b84",
"laborbefund/laborergebnis:0/pro_laboranalyt:0/testmethode/text_value": "Lorem ipsum",
"laborbefund/laborergebnis:0/pro_laboranalyt:0/_uid": "56adb4a6-4b59-3a5c-90ba-bae7a4ef78e3",
"laborbefund/laborergebnis:0/schlussfolgerung": "Lorem ipsum",
"laborbefund/laborergebnis:0/time": "2022-02-03T04:05:06",
"laborbefund/laborergebnis:0/width": "PT42H",
"laborbefund/laborergebnis:0/math_function|code": "145",
"laborbefund/laborergebnis:0/math_function|value": "minimum",
"laborbefund/laborergebnis:0/math_function|terminology": "openehr",
"laborbefund/laborergebnis:0/details_der_testanforderung/identifikation_der_laboranforderung/identifier_value|id": "dev/null",
"laborbefund/laborergebnis:0/details_der_testanforderung/_uid": "5cea753c-a209-3762-a059-0a17f29a297c",
"laborbefund/laborergebnis:0/testmethode/text_value": "Lorem ipsum",
"laborbefund/laborergebnis:0/language|terminology": "ISO_639-1",
"laborbefund/laborergebnis:0/language|code": "de",
"laborbefund/laborergebnis:0/encoding|code": "UTF-8",
"laborbefund/laborergebnis:0/encoding|terminology": "IANA_character-sets",
"laborbefund/laborergebnis:0/_uid": "3c6d6c1e-9532-3a6b-9e65-96b07a31e945",
"laborbefund/laborergebnis:0/_work_flow_id|id": "28d43642-f3e4-3a63-a6d0-6fdda9d75465",
"laborbefund/laborergebnis:0/_work_flow_id|id_scheme": "scheme",
"laborbefund/laborergebnis:0/_work_flow_id|namespace": "unknown",
"laborbefund/laborergebnis:0/_work_flow_id|type": "ANY",
"laborbefund/laborergebnis:0/_guideline_id|id": "a8f48e4f-a3f4-39e6-a07e-1a7b4a099546",
"laborbefund/laborergebnis:0/_guideline_id|id_scheme": "scheme",
"laborbefund/laborergebnis:0/_guideline_id|namespace": "unknown",
"laborbefund/laborergebnis:0/_guideline_id|type": "ANY",
"laborbefund/language|code": "de",
"laborbefund/language|terminology": "ISO_639-1",
"laborbefund/territory|code": "DE",
"laborbefund/territory|terminology": "ISO_3166-1",
"laborbefund/composer|name": "Max Mustermann",
"laborbefund/_uid": "89b197fc-c318-4e1c-96b7-fcf5929f9b15::local.ehrbase.org::1"
},
"format": "FLAT",
"templateId": "GECCO_Laborbefund",
"ehrId": "a647b9a3-0cf9-48de-b4ea-2b66acc3e39b",
"compositionUid": "89b197fc-c318-4e1c-96b7-fcf5929f9b15::local.ehrbase.org::1"
}
If we compare this to the example template, a lot of fields are missing. In particular, I cannot see any of the following fields:
[1] "laborbefund/laborergebnis:0/probe:0/probenart|code"
[2] "laborbefund/laborergebnis:0/probe:0/probenart|terminology"
[3] "laborbefund/laborergebnis:0/probe:0/probenart|value"
[4] "laborbefund/laborergebnis:0/probe:0/laborprobenidentifikator|id"
[5] "laborbefund/laborergebnis:0/probe:0/zeitpunkt_des_probeneingangs"
[6] "laborbefund/laborergebnis:0/probe:0/probenentahmebedingung:0"
[7] "laborbefund/laborergebnis:0/probe:0/probenentnahmemethode"
[8] "laborbefund/laborergebnis:0/probe:0/körperstelle"
[9] "laborbefund/laborergebnis:0/probe:0/zeitpunkt_der_probenentnahme/date_time_value"
[10] "laborbefund/laborergebnis:0/probe:0/identifikator_des_probennehmers|id"
[11] "laborbefund/laborergebnis:0/probe:0/identifikator_der_ĂŒbergeordneten_probe:0|id"
[12] "laborbefund/laborergebnis:0/probe:0/eignung_zum_testen|terminology"
[13] "laborbefund/laborergebnis:0/probe:0/eignung_zum_testen|code"
[14] "laborbefund/laborergebnis:0/probe:0/eignung_zum_testen|value"
[15] "laborbefund/laborergebnis:0/probe:0/kommentar"
[16] "laborbefund/laborergebnis:0/pro_laboranalyt:0/untersuchter_analyt|terminology"
[17] "laborbefund/laborergebnis:0/pro_laboranalyt:0/untersuchter_analyt|code"
[18] "laborbefund/laborergebnis:0/pro_laboranalyt:0/untersuchter_analyt|value"
[19] "laborbefund/laborergebnis:0/pro_laboranalyt:0/messwert/text_value"
[20] "laborbefund/laborergebnis:0/pro_laboranalyt:0/interpretation|code"
[21] "laborbefund/laborergebnis:0/pro_laboranalyt:0/interpretation|value"
[22] "laborbefund/laborergebnis:0/pro_laboranalyt:0/interpretation|terminology"
[23] "laborbefund/laborergebnis:0/pro_laboranalyt:0/zeitpunkt_der_validierung"
[24] "laborbefund/laborergebnis:0/pro_laboranalyt:0/ergebnis-status|terminology"
[25] "laborbefund/laborergebnis:0/pro_laboranalyt:0/ergebnis-status|code"
[26] "laborbefund/laborergebnis:0/pro_laboranalyt:0/ergebnis-status|value"
[27] "laborbefund/laborergebnis:0/pro_laboranalyt:0/zeitpunkt_ergebnis-status"
[28] "laborbefund/laborergebnis:0/pro_laboranalyt:0/probe_id/identifier_value|id"
[29] "laborbefund/laborergebnis:0/pro_laboranalyt:0/kommentar:0"
This behavior did not change when explictely setting one of fields such as laborbefund/laborergebnis:0/pro_laboranalyt:0/messwert/text_value
with some real data before uploading the composition.
Btw. ehrbase was installed three months ago with the :next
tag
Any idea what is going on here?