Skip to content
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

Transformation: Modified OBR-4.3 codingSystem #1288

Merged
merged 8 commits into from
Sep 10, 2024

Conversation

tjohnson7021
Copy link
Contributor

@tjohnson7021 tjohnson7021 commented Sep 2, 2024

CA Transform: OBR-4.3 Modification

  • Modified file so that ORUs passed through ReportStream will be modified to always have 'CDPHGSPEAP' on OBR-4.3.
  • Updated transform and added a unit test to retain value of OBR-4.4 when an alternateId is not specified in the configuration.
  • Minor refactoring to the UpdateUniversalServiceIdentifier transform. Added constants for the hardcoded string values and updated the private updateAlternateCodingId method to use a string parameter rather than a Map since we only use one value.

Issue #1243

Checklist

  • I have added tests to cover my changes

@tjohnson7021 tjohnson7021 changed the title modified coding system in transformation_definitions.json Modified OBR-4.3 codingSystem in transformation_definitions.json Sep 2, 2024
@tjohnson7021 tjohnson7021 changed the title Modified OBR-4.3 codingSystem in transformation_definitions.json Transformation: Modified OBR-4.3 codingSystem in transformation_definitions.json Sep 2, 2024
@tjohnson7021 tjohnson7021 changed the title Transformation: Modified OBR-4.3 codingSystem in transformation_definitions.json Transformation: Modified OBR-4.3 codingSystem Sep 2, 2024
Remove unused alternateId value
@tjohnson7021 tjohnson7021 marked this pull request as ready for review September 4, 2024 18:49
@jbiskie
Copy link
Contributor

jbiskie commented Sep 5, 2024

Do we want the alternate identifier to be emptied out if it is not specified in the transform definition? I ran a message through with this OBR:

OBR|1|7241234515^FormNumber||54089-8^NB Screen Panel Patient AHIC^OBR43VALUE^OBR44VALUE^OBR45VALUE^OBR46VALUE|||202407111346|||||||||^HUBBARD^EUSTRATIA||||||20240711034913|||F

After the transform, the final result looks like this:

OBR|1|189609160^HospOrdNumber||54089-8^NB Screen Panel Patient AHIC^CDPHGSPEAP^^OBR45VALUE^OBR46VALUE|||202407111346|||||||||^HUBBARD^EUSTRATIA||||||20240711034913|||F

Note that OBR-4.4 is now empty.

CA is only sending OBR-4.1 and OBR-4.2, so it shouldn't matter for the current requirement, but it could make a difference if we receive messages that use the alternate in the future.

@dbgolson

@jbiskie
Copy link
Contributor

jbiskie commented Sep 6, 2024

Do we want the alternate identifier to be emptied out if it is not specified in the transform definition? I ran a message through with this OBR:

OBR|1|7241234515^FormNumber||54089-8^NB Screen Panel Patient AHIC^OBR43VALUE^OBR44VALUE^OBR45VALUE^OBR46VALUE|||202407111346|||||||||^HUBBARD^EUSTRATIA||||||20240711034913|||F

After the transform, the final result looks like this:

OBR|1|189609160^HospOrdNumber||54089-8^NB Screen Panel Patient AHIC^CDPHGSPEAP^^OBR45VALUE^OBR46VALUE|||202407111346|||||||||^HUBBARD^EUSTRATIA||||||20240711034913|||F

Note that OBR-4.4 is now empty.

CA is only sending OBR-4.1 and OBR-4.2, so it shouldn't matter for the current requirement, but it could make a difference if we receive messages that use the alternate in the future.

@dbgolson

Discussed with @dbgolson and @luis-pabon-tf on 9/6/2024 and updated the task. We agreed that the transform should retain the original values for subfields OBR-4.4 through 4.6.

@luis-pabon-tf
Copy link
Contributor

As it is now, all tests pass with full coverage on the new code. Approval pending verifying the original values...

@jbiskie
Copy link
Contributor

jbiskie commented Sep 9, 2024

The commit I just made adds a new unit test for the empty OBR-4.4 case and updates the transform. We still need to run a new end to end test. I will do that in the morning.

@jbiskie
Copy link
Contributor

jbiskie commented Sep 10, 2024

Confirmed end to end testing passed.

With this configuration (note no alternateID in the args):

"rules": [
        {
          "name": "UpdateUniversalServiceIdentifier",
          "args": {
            "checkValue": "54089-8",
            "codingSystem": "CDPHGSPEAP"
          }
        }
      ]

And an initial OBR as before:

OBR|1|7241234515^FormNumber||54089-8^NB Screen Panel Patient AHIC^OBR43VALUE^OBR44VALUE^OBR45VALUE^OBR46VALUE|||202407111346|||||||||^HUBBARD^EUSTRATIA||||||20240711034913|||F

Produces this result after the transform, retaining OBR-4.4 as-is:

OBR|1|189609160^HospOrdNumber||54089-8^NB Screen Panel Patient AHIC^CDPHGSPEAP^OBR44VALUE^OBR45VALUE^OBR46VALUE|||202407111346|||||||||1790743185^HUBBARD^EUSTRATIA^^^^^^^NPI||||||20240711034913|||F

Copy link

@jbiskie jbiskie merged commit 6c599da into main Sep 10, 2024
16 checks passed
@jbiskie jbiskie deleted the task/1243-ca_transform_obr4.3_modication branch September 10, 2024 18:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants