onc-healthit / onc-certification-g10-test-kit

ONC Certification (g)(10) Standardized API Tests
Apache License 2.0
32 stars 10 forks source link

Pulse Oximetry 3.1.1 test validation #443

Closed medhost-bfindeisen closed 1 year ago

medhost-bfindeisen commented 1 year ago

Test 4.18.06 - Observation resources returned during previous tests conform to the US Core Pulse Oximetry Profile

Based on the 3.1.1 profile http://hl7.org/fhir/us/core/STU3.1.1/StructureDefinition-us-core-pulse-oximetry.html

We expected a check for code 59408-5 but Inferno is checking for both 59408-5 and 2708-6 to be present in the code section.

yunwwang commented 1 year ago

us-core-pulse-oximetry profile is based on FHIR oxygensat profile (http://hl7.org/fhir/R4/oxygensat.html). So a resource has to conform to constraints from both profile.

Instead of reading the "Differential View", look at the "Full View" which indicates that both codes are required:

image

medhost-bfindeisen commented 1 year ago

Thanks for the clarification

medhost-gkersting commented 1 year ago

@yunwwang Another question. In our data we have an Observation with 59408-5, an Observation with 2708-6 and then one that has the panel of 59408-5 and 2708-6. It appears that for the Observations with one LOINC code this test is also picking those up those and thinking they should also have both codes. Is that correct?

yunwwang commented 1 year ago

Because US Core Pulse Ox profile is based on FHIR Ox Sat profile, all US Core Pulse Ox observations are also FHIR Ox Sat observation, but not vise versa. That is same to say that US Core Pulse Ox observations are a subset of FHIR Ox Sat observations.

It means that all observations with code 59408-5 (US Core Pulse Ox) shall also have code 2708-6 (FHIR Ox Sat) but observation with code 2708-6 may or may not have 59408-5.

"It appears that for the Observations with one LOINC code this test is also picking those up those and thinking they should also have both codes." This is true for those with code 59408-5.

Tests in 4.18 (Pulse Ox) shall not deal with any observation having code 2708-6 only. If there is such observations (having 2708-6 only), please double check the server response in test 4.18.01. Server shall not return such observations.