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

platform/dependabot/2024-12-26 #16907

Closed
wants to merge 9 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion auth/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ configurations.all {

dependencyManagement {
imports {
mavenBom("com.azure.spring:spring-cloud-azure-dependencies:5.18.0")
mavenBom("com.azure.spring:spring-cloud-azure-dependencies:5.19.0")
mavenBom("org.springframework.cloud:spring-cloud-dependencies:2024.0.0")
}
}
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,6 @@ import site from "../../site.json";
</Card>
</CardGroup>


<p>Our API guide and documentation is also available as a <A href={site.assets.programmersGuidePdf.path} trackClick={{name: "ReportStream API"}} download>downloadable PDF</A>.</p>

***
<br/>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,14 @@ meta:
altText: "A collection of lines extend out from a central point. Each line ends in a circle of square, some green and some white."
---

import Step1 from "./Step1.mdx";
import Step2 from "./Step2.mdx";
import Step3 from "./Step3.mdx";
import Step4 from "./Step4.mdx";
import Step2_1 from "./Step2_1.mdx";
import Step2_2 from "./Step2_2.mdx";
import Step2_3 from "./Step2_3.mdx";
import Step2_4 from "./Step2_4.mdx";
import Step3_1 from "./Step3_1.mdx";
import Step3_2 from "./Step3_2.mdx";
import Step3_3 from "./Step3_3.mdx";
import Step3_4 from "./Step3_4.mdx";
import Sidenav from "../Sidenav.mdx";
import site from "../../../site.json";

Expand All @@ -25,7 +29,7 @@ import site from "../../../site.json";
Examples in this guide use curl commands for simplicity with the assumption you’ll be coding these calls into your sending system.
You can also use a program like Postman to test submissions.

<p className="text-base">**Last updated:** 11/4/24</p>
<p className="text-base">**Last updated:** 12/17/24</p>

***

Expand All @@ -42,10 +46,41 @@ to review <A href={site.forms.contactUs.url}>upon request</A>.

When you’ve formatted your fake (non-PII) data file, test your data model using the
<A href={site.external.nistValidationSuite.url}>NIST Electronic Lab Reporting (ELR) Validation Suite</A>.
(Note: If you’re testing OTC data, use the <A href={site.external.nistGeneralValidationTool.url}>NIST HL7 General Validation Tool</A> and
select RADx MARS HL7v2 from the tool scope dropdown. Navigate to the Context-free tab and select the Onboarding profile group).
Note: If you’re testing OTC data, use the <A href={site.external.nistGeneralValidationTool.url}>NIST HL7 General Validation Tool</A> and
select **RADx MARS HL7v2** from the **Tool Scopes** dropdown. Navigate to the **Context-free** tab and select the **Onboarding** profile group.
Correct any errors you receive.

<h2 className="rs-numbered">Map your codes</h2>

We will ensure that all potential codes you might send to ReportStream are mapped in our system as part of your onboarding. First, format your result and organism codes in a CSV file using our <A href={site.assets.codeMapTemplate.path}>template</A>. Then, send the completed CSV to your onboarding engineer or <A href={site.orgs.RS.email}>[email protected]</A>. We will review your codes and provide next steps to continue your onboarding.

<Accordion bordered multiselectable items={[
{
headingLevel: "h3",
title: "Step 2.1: Set up your file",
content: <Step2_1 />,
id: "2_1"
},
{
headingLevel: "h3",
title: "Step 2.2: Input all result codes",
content: <Step2_2 />,
id: "2_2"
},
{
headingLevel: "h3",
title: "Step 2.3: Input all organism codes (if applicable)",
content: <Step2_3 />,
id: "2_3"
},
{
headingLevel: "h3",
title: "Step 2.4: Upload your file",
content: <Step2_4 />,
id: "2_4"
},
]} />

<h2 className="rs-numbered">Set up authentication and test your API connection</h2>

After you have finalized the formatting of your data, the ReportStream team will begin onboarding you to our staging environment.
Expand All @@ -68,27 +103,27 @@ The data submitted are sent as the payload of the POST, as is, with no changes.
<Accordion bordered multiselectable items={[
{
headingLevel: "h3",
title: "Step 1: Prior to submission, send your public key to ReportStream.",
content: <Step1 />,
id: 1
title: "Step 3.1: Prior to submission, send your public key to ReportStream.",
content: <Step3_1 />,
id: "3_1"
},
{
headingLevel: "h3",
title: "Step 2: At the time of submission, generate a signed JWT using your private key",
content: <Step2 />,
id: 2
title: "Step 3.2: At the time of submission, generate a signed JWT using your private key",
content: <Step3_2 />,
id: "3_2"
},
{
headingLevel: "h3",
title: "Step 3: Send the signed JWT to ReportStream to get a temporary bearer token",
content: <Step3 />,
id: 3
title: "Step 3.3: Send the signed JWT to ReportStream to get a temporary bearer token",
content: <Step3_3 />,
id: "3_3"
},
{
headingLevel: "h3",
title: "Step 4: Submit data to ReportStream using the bearer token",
content: <Step4 />,
id: 4
title: "Step 3.4: Submit data to ReportStream using the bearer token",
content: <Step3_4 />,
id: "3_4"
},
]} />

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
---
tableContent: [
[
{
columnKey: "Code",
columnHeader: "Code",
content: "97099-6",
},
{
columnKey: "Name",
columnHeader: "Name",
content: "Influenza virus A and B and SARS-CoV-2 (COVID-19) Ag panel - Upper respiratory specimen by Rapid immunoassay",
},
{
columnKey: "CodingSystem",
columnHeader: "Coding system",
content:
"LOINC",
},
],
[
{
columnKey: "Code",
columnHeader: "Code",
content: "123456",
},
{
columnKey: "Name",
columnHeader: "Name",
content: "LDT Flu Test",
},
{
columnKey: "CodingSystem",
columnHeader: "Coding system",
content:
"LOCAL",
},
],
[
{
columnKey: "Code",
columnHeader: "Code",
content: "47457-7",
},
{
columnKey: "Name",
columnHeader: "Name",
content: "Influenza virus A H8 Ab [Titer] in Serum",
},
{
columnKey: "CodingSystem",
columnHeader: "Coding system",
content:
"LOINC",
},
],
[
{
columnKey: "Code",
columnHeader: "Code",
content: "115329001",
},
{
columnKey: "Name",
columnHeader: "Name",
content: "Methicillin resistant Staphylococcus aureus",
},
{
columnKey: "CodingSystem",
columnHeader: "Coding system",
content: "SNOMEDCT",
},
],
]
---

import { Table } from "../../../../shared";
import site from "../../../site.json";


Download our <A href={site.assets.codeMapTemplate.path}>template</A> that provides detailed instructions and correctly formatted columns.

If you do not want to use the template, you can also create your own file. The CSV file should only contain three columns labeled: Code, Name, and Coding system as shown in the example below.

<Table borderless rowData={frontmatter.tableContent} />
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Enter all result codes your organization will use to send data through ReportStream.

In column A (**Code**): Enter the coded value for all performed test results. This should be the value sent in `OBX-3.1` in an HL7 Message or `Bundle.entry.resource.ofType(Observation).code.coding.code` of a FHIR Observation resource.

In column B (**Name**): Enter the textual description of the code in column A. If the value in column A is a LOINC code, use the LOINC Long Common Name. If the value in column A is a local code, use a descriptive result name.

In column C (**Coding system**): Enter `LOINC` if the value in column A is a LOINC code. Enter `LOCAL` if the value is a local code.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Input all codes for organisms that your organization will send through ReportStream. If you are not sending any reportable microbiological culture results, you can move on to Step 2.4.

In column A (**Code**): Enter the coded value for all potential reportable organisms. This should be the value sent in `OBX-5.1` in an HL7 Message or `Bundle.entry.resource.ofType(Observation).value CodableConcept.cod` of a FHIR Observation resource.

In column B (**Name**): Enter the textual description of the code in column A. If the value in column A is a SNOMED code, use the SNOMED description. If the value in column A is a local code, use a descriptive result name.

In column C (**Coding system**): Enter `SNOMEDCT` if the value in column A is a SNOMED code. Enter `LOCAL` if the value is a local code.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import site from "../../../site.json";

After completing the mapping file, export the column headers and filled rows as a CSV file. Send the generated CSV your onboarding engineer or <A href={site.orgs.RS.email}>[email protected]</A>. We will review your codes and provide next steps to continue your onboarding.
3 changes: 3 additions & 0 deletions frontend-react/src/content/site.json
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,9 @@
},
"onePager": {
"path": "/assets/pdf/ReportStream_Onepager_20240605.pdf"
},
"codeMapTemplate": {
"path": "/assets/xlsm/20241204_ReportStream-Mapping-Template.xlsm"
}
},
"external": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ export const ReportStreamFooter = () => {
</IdentifierLink>
</IdentifierLinkItem>
<IdentifierLinkItem>
<IdentifierLink href="https://www.cdc.gov/od/foia">
<IdentifierLink href="https://www.cdc.gov/foia/">
FOIA requests
</IdentifierLink>
</IdentifierLinkItem>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,37 @@ elements:
resource: "Bundle.entry.resource.ofType(ServiceRequest).requester.resolve().organization.resolve().address"
bundleProperty: '%resource.extension("https://reportstream.cdc.gov/fhir/StructureDefinition/state-from-zip-code").value[x]'
value: [ '%resource.postalCode.getStateFromZipCode()' ]

# Ticket 16776
# Temporary override for MSH 5 and 6 until original fields are updated
# If this override is removed, the associated test files should also be removed: mmtc-msh5-msh6-sender-override.hl7
- name: msh-5-1-override
resource: 'Bundle.entry.resource.ofType(MessageHeader).destination.where(extension("https://reportstream.cdc.gov/fhir/StructureDefinition/hl7v2Field").value = "MSH.5")'
bundleProperty: '%resource.name'
value: [ '"CDC PRIME"' ]

- name: msh-5-2-override
resource: 'Bundle.entry.resource.ofType(MessageHeader).destination.where(extension("https://reportstream.cdc.gov/fhir/StructureDefinition/hl7v2Field").value = "MSH.5")'
bundleProperty: '%resource.extension("https://reportstream.cdc.gov/fhir/StructureDefinition/universal-id").value[x]'
value: [ '"2.16.840.1.114222.4.1.237821"' ]

- name: msh-5-3-override
resource: 'Bundle.entry.resource.ofType(MessageHeader).destination.where(extension("https://reportstream.cdc.gov/fhir/StructureDefinition/hl7v2Field").value = "MSH.5")'
bundleProperty: '%resource.extension("https://reportstream.cdc.gov/fhir/StructureDefinition/universal-id-type").value[x]'
value: [ '"ISO"' ]

# Assume that HL7 messages will have these extension properties...
- name: msh-6-1-override
resource: 'Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().where(extension("https://reportstream.cdc.gov/fhir/StructureDefinition/hl7v2Field").value = "MSH.6").identifier.where(extension("https://reportstream.cdc.gov/fhir/StructureDefinition/hl7v2Field").value = "HD.1")'
bundleProperty: '%resource.value'
value: [ '"CDC PRIME"' ]

- name: msh-6-2-override
resource: 'Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().where(extension("https://reportstream.cdc.gov/fhir/StructureDefinition/hl7v2Field").value = "MSH.6").identifier.where(extension("https://reportstream.cdc.gov/fhir/StructureDefinition/hl7v2Field").value = "HD.2,HD.3")'
bundleProperty: '%resource.value'
value: [ '"2.16.840.1.114222.4.1.237821"' ]

- name: msh-6-3-override
resource: 'Bundle.entry.resource.ofType(MessageHeader).destination.receiver.resolve().where(extension("https://reportstream.cdc.gov/fhir/StructureDefinition/hl7v2Field").value = "MSH.6").identifier.where(extension("https://reportstream.cdc.gov/fhir/StructureDefinition/hl7v2Field").value = "HD.2,HD.3")'
bundleProperty: '%resource.type.coding[0].code'
value: [ '"ISO"' ]
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
MSH|^~\&|MMTC.STAG^2.16.840.1.113883.3.8589.4.2.106.2^ISO|CAREEVOLUTION^00Z0000024^CLIA|CDC PRIME^2.16.840.1.114222.4.1.237821^ISO|CDC PRIME^2.16.840.1.114222.4.1.237821^ISO|20241212005051+0000||ORU^R01^ORU_R01|20241212005051_b1a608d13bee414faf86e1420c41305e|T|2.5.1|||NE|NE||UNICODE UTF-8|ENG^English^ISO||PHLabReport-NoAck^ELR251R1_Rcvr_Prof^2.16.840.1.113883.9.11^ISOSFT|CAREEVOLUTION|2022|MMTC.STAG|16498||20241203PID|1||a0fbea5818d347b8ba981d90ba48c63c^^^MMTC.STAG&2.16.840.1.113883.3.8589.4.2.106.2&ISO^PI||~^^^^^^S||||||^^^^15206^USA||^^^^^111^1111111ORC|RE||b1a608d13bee414faf86e1420c41305e^MMTC.STAG^2.16.840.1.113883.3.8589.4.2.106.2^ISO|||||||||^^SA.OTCSelfReport|||||||||SA.OTCSelfReport|^^^^15206|^^^^^111^1111111OBR|1||b1a608d13bee414faf86e1420c41305e^MMTC.STAG^2.16.840.1.113883.3.8589.4.2.106.2^ISO|94558-4^SARS-CoV-2 (COVID-19) Ag [Presence] in Respiratory specimen by Rapid immunoassay^LN^^^^2.71|||20241211120000-0500|||||||20241211120000-0500||^^SA.OTCSelfReport||||||20241211120000-0500|||FOBX|1|CWE|94558-4^SARS-CoV-2 (COVID-19) Ag [Presence] in Respiratory specimen by Rapid immunoassay^LN^^^^2.71||260373001^Detected^SCT^^^^20200901||||||F||||00Z0000042||BinaxNOW COVID-19 Antigen Self Test_Abbott Diagnostics Scarborough, Inc._EUA^^99ELR^^^^Vunknown||20241211120000||||SA.OTCSelfReport^^^^^&2.16.840.1.113883.3.8589.4.1.152&ISO^XX^^^00Z0000042|14 Fake AtHome Test Street^^Fake CityNTE|1|L|BinaxNOW COVID-19 Antigen Self Test_Abbott Diagnostics Scarborough, Inc._EUAOBX|2|NM|35659-2^Age at specimen collection^LN^^^^2.71||33|a^year^UCUM^^^^2.1|||||F||||00Z0000042||||||||SA.OTCSelfReport^^^^^&2.16.840.1.113883.3.8589.4.1.152&ISO^XX^^^00Z0000042|14 Fake AtHome Test Street^^Fake City|||||QSTSPM|1|^b1a608d13bee414faf86e1420c41305e&MMTC.STAG&2.16.840.1.113883.3.8589.4.2.106.2&ISO||697989009^Anterior nares swab^SCT^^^^20200901|||||||||||||20241211120000-0500|20241211120000-0500
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
MSH|^~\&|MMTC.STAG^2.16.840.1.113883.3.8589.4.2.106.2^ISO|CAREEVOLUTION^00Z0000024^CLIA|AIMS.INTEGRATION.STG^2.16.840.1.114222.4.3.15.2^ISO|AIMS.PLATFORM^2.16.840.1.114222.4.1.217446^ISO|20241212005051+0000||ORU^R01^ORU_R01|20241212005051_b1a608d13bee414faf86e1420c41305e|T|2.5.1|||NE|NE|||||PHLabReport-NoAck^ELR251R1_Rcvr_Prof^2.16.840.1.113883.9.11^ISO
SFT|CAREEVOLUTION|2022|MMTC.STAG|16498||20241203
PID|1||a0fbea5818d347b8ba981d90ba48c63c^^^MMTC.STAG&2.16.840.1.113883.3.8589.4.2.106.2&ISO^PI||~^^^^^^S||||||^^^^15206^USA||^^^^^111^1111111
ORC|RE||b1a608d13bee414faf86e1420c41305e^MMTC.STAG^2.16.840.1.113883.3.8589.4.2.106.2^ISO|||||||||^^SA.OTCSelfReport|||||||||SA.OTCSelfReport|^^^^15206|^^^^^111^1111111
OBR|1||b1a608d13bee414faf86e1420c41305e^MMTC.STAG^2.16.840.1.113883.3.8589.4.2.106.2^ISO|94558-4^SARS-CoV-2 (COVID-19) Ag [Presence] in Respiratory specimen by Rapid immunoassay^LN^^^^2.71|||20241211120000-0500|||||||||^^SA.OTCSelfReport||||||20241211120000-0500|||F
OBX|1|CWE|94558-4^SARS-CoV-2 (COVID-19) Ag [Presence] in Respiratory specimen by Rapid immunoassay^LN^^^^2.71||260373001^Detected^SCT^^^^20200901||||||F||||00Z0000042||BinaxNOW COVID-19 Antigen Self Test_Abbott Diagnostics Scarborough, Inc._EUA^^99ELR^^^^Vunknown||20241211120000||||SA.OTCSelfReport^^^^^&2.16.840.1.113883.3.8589.4.1.152&ISO^XX^^^00Z0000042|14 Fake AtHome Test Street^^Fake City
NTE|1|L|BinaxNOW COVID-19 Antigen Self Test_Abbott Diagnostics Scarborough, Inc._EUA
OBX|2|NM|35659-2^Age at specimen collection^LN^^^^2.71||33|a^year^UCUM^^^^2.1|||||F||||00Z0000042||||||||SA.OTCSelfReport^^^^^&2.16.840.1.113883.3.8589.4.1.152&ISO^XX^^^00Z0000042|14 Fake AtHome Test Street^^Fake City|||||QST
SPM|1|^b1a608d13bee414faf86e1420c41305e&MMTC.STAG&2.16.840.1.113883.3.8589.4.2.106.2&ISO||697989009^Anterior nares swab^SCT^^^^20200901|||||||||||||20241211120000-0500|20241211120000-0500
Original file line number Diff line number Diff line change
Expand Up @@ -70,4 +70,5 @@ FHIR_to_HL7/sample_ME_20240806-0001.fhir,,FHIR_to_HL7/sample_ME_20240806-0001.hl
FHIR_to_HL7/sample_SR_CSVUPLOADER_20240819-0001.fhir,,FHIR_to_HL7/sample_SR_CSVUPLOADER_20240819-0001.hl7,classpath:/metadata/hl7_mapping/receivers/STLTs/MA/MA-receiver-transform.yml,HL7,PASS,"","","classpath:/metadata/fhir_transforms/senders/SimpleReport/simple-report-sender-transform.yml","","",""
FHIR_to_HL7/mars_unwanted_condition_to_notes.fhir,,FHIR_to_HL7/mars_unwanted_condition_to_notes.hl7,classpath:/metadata/hl7_mapping/receivers/STLTs/Test/test-receiver-transform.yml,HL7,PASS,,,classpath:/metadata/fhir_transforms/senders/SimpleReport/simple-report-sender-transform.yml,,,
FHIR_to_HL7/sample_SR_ENTEREDINERROR_20240904-0001.fhir,,FHIR_to_HL7/sample_SR_ENTEREDINERROR_20240904-0001.hl7,classpath:/metadata/hl7_mapping/receivers/STLTs/CA/CA-receiver-transform.yml,HL7,PASS,"","","classpath:/metadata/fhir_transforms/senders/SimpleReport/simple-report-sender-transform.yml","","",""
HL7_to_FHIR/sample_oru_20241015-001.hl7,,HL7_to_FHIR/sample_oru_20241015-001.fhir,,FHIR,PASS,"","","","","",""
HL7_to_FHIR/sample_oru_20241015-001.hl7,,HL7_to_FHIR/sample_oru_20241015-001.fhir,,FHIR,PASS,"","","","","",""
HL7_to_FHIR_to_HL7/mmtc-msh5-msh6-sender-override.hl7,,HL7_to_FHIR_to_HL7/mmtc-msh5-msh6-sender-override-expected.hl7,classpath:/metadata/hl7_mapping/ORU_R01/ORU_R01-base.yml,HL7,PASS,"","","classpath:/metadata/fhir_transforms/senders/MMTC/mmtc-sender-transform.yml","","",""