-
Notifications
You must be signed in to change notification settings - Fork 9
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
Use MSH-11 to identify test messages #1389
Changes from all commits
29b1c03
578fbf6
d893855
b4d7b83
2b604a1
f5de6e3
bda6218
dc42d60
d853571
0cdfb86
0e223e8
c94860f
4ba47bc
30a73e4
49132fb
b79e671
e58b0cc
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
# 26. HL7 Test Message Routing | ||
|
||
Date: 2024-10-10 | ||
|
||
## Decision | ||
|
||
We will use `MSH-11` to identify and route test and non-test messages in ReportStream. The values for `MSH-11` will be: | ||
- `T` (Training): for test files to be sent manually to partners | ||
- `D` (Debugging): for test files **not** to be sent to partners, and sent manually | ||
- `N` (Non-Production Testing): for test files **not** to be sent to partners, and sent by a scheduled task | ||
|
||
## Status | ||
|
||
Accepted. | ||
|
||
## Context | ||
|
||
Some of the transformations we apply in the Intermediary overwrite `MSH-5` (Receiving Application) and `MSH-6` (Receiving Facility), which are normally used in HL7 for routing purposes. That's currently the case for UCSD transformations. Because of this, we can't rely on those fields to identify and route test messages in ReportStream. | ||
|
||
After internal discussion, we decided to use `MSH-11` (Processing ID) for this purpose as it is a field already used in HL7 to identify test messages. | ||
|
||
We decided to use `D` (Debugging) for internal test messages and `T` (Training/Testing) for partner test messages because `T` is already used by our partners for testing, so we need to stick to that value. | ||
|
||
For routing purposes in ReportStream, `N` should only be relevant in non-prod environments, where we have scheduled tasks sending test messages. For both prod and non-prod, we expect to use both `D` and `T`, so the `MSH-11` routing filters for those values can be the same in all environments. | ||
|
||
## Impact | ||
|
||
### Positive | ||
|
||
- We will be able to identify and route test messages in ReportStream without relying on fields that are overwritten by transformations; and as a result, avoid sending test messages to partners by mistake | ||
- We will be able to differentiate between test messages that are sent manually and scheduled (e.g. the RS Integration Tests) | ||
- We will have a consistent way to identify test messages across all partners, regardless of the transformations applied | ||
|
||
## Negative | ||
|
||
- We will have to make sure to update our internal test message to use `D` in `MSH-11` | ||
- We will have to make sure to update the RS Integration Tests messages to use `N` in `MSH-11` | ||
|
||
### Risks | ||
|
||
- We may forget to update the `MSH-11` value for messages meant for internal testing, which could lead to test messages being sent to partners by mistake | ||
|
||
## Related Issues | ||
|
||
#1387 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
MSH|^~\&|SISGDSP|SISGDSP|SISHIERECEIVER^11903029^L,M,N|^^L,M,N|20240212103049||ORU^R01^ORU_R01|243408787|T|2.5.1 | ||
MSH|^~\&|SISGDSP|SISGDSP|SISHIERECEIVER^11903029^L,M,N|^^L,M,N|20240212103049||ORU^R01^ORU_R01|243408787|D|2.5.1 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does this change need to be made in the Edit: Looks like all the CA messages have a There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Good question. Not in my opinion. Files that have the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think it can be okay to have the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think regenerating them automatically is a good idea. It should be straightforward to create a bash script to do that using hurl. Though we'd need to manually get and overwrite the FHIR files from the local azure storage to update those There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'll create a new PR to add a script that will automate those updates as much as possible |
||
PID|1||80008715^^^&NPI^MR||CDPH-FOUR^GIRL A MOMFOUR^^^^^B|||F||2076-8^Native Hawaiian or Other Pacific Islander||||||||||||2186-5^Not Hispanic or Latino||Y|1 | ||
NK1|1|CDPH-FOUR^MOMFOUR|MTH^Mother|123 TOWNE-CENTER DRIVE^^SAN-DIEGO^CA^92126^USA|^^^^^619^1231234|^^^^^858^2493690 | ||
ORC|RE|7171232842^FormNumber||189403712^HospOrdNumber||||||||^WILKINSON^LESLEY|||||||||UCSD JACOBS MEDICAL CENTER^^^^^^^^^R797| 2961DR YLLUT^^SAN DIEGO^CA^99999-9999 | ||
|
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.
Is it worth mentioning the updated routing in RS as part of this ADR? Has the routing there already been updated, and will it be the same in staging and prod or different?
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.
Hmm good point. I'll add some clarification on the differences between staging and prod
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.
Added some more context