From d6af0593e8c9befcf6c9385929a932a4618137ed Mon Sep 17 00:00:00 2001 From: Sachin Deshpande Date: Tue, 9 May 2023 17:56:57 +0530 Subject: [PATCH] US82995 - [PI2] Enabler - Review and document current state --- docs/errors.md | 34 + docs/release-notes.md | 1 + docs/resources/adverse-event.md | 495 +++++----- docs/resources/diagnostic-report.md | 9 +- docs/resources/group.md | 127 +++ docs/resources/imaging.md | 9 +- docs/resources/lab-result.md | 248 ++--- docs/resources/medications.md | 17 +- docs/resources/patient.md | 153 +-- docs/resources/vital-sign.md | 204 ++-- docs/searching.md | 5 +- docs/structure-definitions.md | 16 +- mkdocs.yml | 2 + site/404.html | 106 ++- .../assets/javascripts/bundle.a877e258.min.js | 29 - .../javascripts/bundle.a877e258.min.js.map | 8 - .../assets/javascripts/bundle.fac441b0.min.js | 29 + .../javascripts/bundle.fac441b0.min.js.map | 8 + .../javascripts/lunr/min/lunr.ar.min.js | 2 +- .../javascripts/lunr/min/lunr.hy.min.js | 1 + .../javascripts/lunr/min/lunr.ko.min.js | 1 + .../javascripts/lunr/min/lunr.ta.min.js | 1 + .../javascripts/lunr/min/lunr.zh.min.js | 2 +- site/assets/javascripts/lunr/wordcut.js | 4 +- ...85cb4492.min.js => search.208ed371.min.js} | 24 +- ....min.js.map => search.208ed371.min.js.map} | 8 +- site/assets/stylesheets/main.4a0965b7.min.css | 1 - .../stylesheets/main.4a0965b7.min.css.map | 1 - site/assets/stylesheets/main.85bb2934.min.css | 1 + .../stylesheets/main.85bb2934.min.css.map | 1 + .../stylesheets/palette.a6bdf11c.min.css | 1 + .../stylesheets/palette.a6bdf11c.min.css.map | 1 + .../stylesheets/palette.cbb835fc.min.css | 1 - .../stylesheets/palette.cbb835fc.min.css.map | 1 - site/authentication/index.html | 188 ++-- site/coming-soon/response/index.html | 112 ++- site/contact-us/index.html | 137 +-- site/errors/index.html | 737 ++++++++++++++ site/index.html | 137 +-- site/pagination/index.html | 154 +-- site/release-notes/index.html | 155 +-- site/resources/adverse-event/index.html | 771 ++++++++------- site/resources/diagnostic-report/index.html | 683 ++++++------- site/resources/group/index.html | 897 ++++++++++++++++++ site/resources/imaging/index.html | 575 +++++------ site/resources/lab-result/index.html | 507 +++++----- site/resources/medications/index.html | 517 +++++----- site/resources/patient/index.html | 457 ++++----- site/resources/vital-sign/index.html | 448 +++++---- site/search/search_index.json | 2 +- site/searching/index.html | 174 ++-- site/sitemap.xml | 75 -- site/sitemap.xml.gz | Bin 207 -> 127 bytes site/structure-definitions/index.html | 204 ++-- 54 files changed, 5473 insertions(+), 3008 deletions(-) create mode 100644 docs/errors.md create mode 100644 docs/resources/group.md delete mode 100644 site/assets/javascripts/bundle.a877e258.min.js delete mode 100644 site/assets/javascripts/bundle.a877e258.min.js.map create mode 100644 site/assets/javascripts/bundle.fac441b0.min.js create mode 100644 site/assets/javascripts/bundle.fac441b0.min.js.map create mode 100644 site/assets/javascripts/lunr/min/lunr.hy.min.js create mode 100644 site/assets/javascripts/lunr/min/lunr.ko.min.js create mode 100644 site/assets/javascripts/lunr/min/lunr.ta.min.js rename site/assets/javascripts/workers/{search.85cb4492.min.js => search.208ed371.min.js} (57%) rename site/assets/javascripts/workers/{search.85cb4492.min.js.map => search.208ed371.min.js.map} (51%) delete mode 100644 site/assets/stylesheets/main.4a0965b7.min.css delete mode 100644 site/assets/stylesheets/main.4a0965b7.min.css.map create mode 100644 site/assets/stylesheets/main.85bb2934.min.css create mode 100644 site/assets/stylesheets/main.85bb2934.min.css.map create mode 100644 site/assets/stylesheets/palette.a6bdf11c.min.css create mode 100644 site/assets/stylesheets/palette.a6bdf11c.min.css.map delete mode 100644 site/assets/stylesheets/palette.cbb835fc.min.css delete mode 100644 site/assets/stylesheets/palette.cbb835fc.min.css.map create mode 100644 site/errors/index.html create mode 100644 site/resources/group/index.html diff --git a/docs/errors.md b/docs/errors.md new file mode 100644 index 00000000000..147a4deba27 --- /dev/null +++ b/docs/errors.md @@ -0,0 +1,34 @@ +When things go wrong, the API would respond with an error code and a human readable description to describe the incorrect submission. Currently the error code is given in the form of Operation Outcome and can have different options as given below. If you need more information, please reach out to [ctdata@mskcc.org](mailto:ctdata@mskcc.org). + +## Response + +??? Error "Error Payload Example" + ```json + { + "resourceType": "OperationOutcome", + "issue": [ + { + "severity": "error", + "code": "value", + "details": { + "text": "Unable to find sponsor with partner id" + } + } + ] + } + + ``` + + ### Error Codes + +| Error Code | Issue Type | Description | +| ----------- | ------- | ---------------------------------- | +| 403 - Access to sponsor denied | Security | The partner ID does not have access to the Sponsor id provided. | +| 403 - Access to protocol denied. | Security | The partner ID doesn't have access to the Research Study/Protocol provided. | +| 403 - Access to sponsor and protocol denied | Security | The partner Id does not have access to the Sponsor and Protocol/Research Study given. | +| 401 - Incorrect Partnerid name. | Error | The header should contain `x-partnerid` with provided Partner Id parameter. | +| 401 - Api Key was not provided. | Error | Missing Partner Id parameter value in the request header. | +| 400 - Missing required query parameter. | Error | The required parameter Research Study or Sponsor Id is not provided. | +| 404 - Unable to find sponsor with partner id | Error | The sponsor is not associated with the given Partner Id. | +| 404 - Internal Error. | Exception | Internal Error occured while executing the request. | +| 404 - No records found. | Information | No records were found for the given request | diff --git a/docs/release-notes.md b/docs/release-notes.md index 89e83d34f1e..bb7b9cdec00 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -4,6 +4,7 @@ - Release of new resources - Diagnostic Report (Response data) - Observation (Response Imaging - lesion measurements) + - Group ## Version 2.0.0 August 2022 diff --git a/docs/resources/adverse-event.md b/docs/resources/adverse-event.md index 270b7718bf3..56d11aa7622 100644 --- a/docs/resources/adverse-event.md +++ b/docs/resources/adverse-event.md @@ -6,6 +6,7 @@ Adverse event data are mapped to FHIR's [Adverse Event](http://hl7.org/fhir/adve ``` GET /msk-apim/external/v2/crit/blaze/api/AdverseEvent -H Authorization: Bearer {access_token} +-H x-partnerid: {partnerId} ``` ### Query Parameters | Parameters | Type | Is Required | Description | @@ -19,10 +20,11 @@ For a list of optional filtering parameters visit the [Searching page](/searchin === "C# " ``` c# linenums="1" - var client = new RestClient("BASE_URL_PLUS_API_PATH?researchstudy={A1}&x-partnerid={A2}"); + var client = new RestClient("BASE_URL_PLUS_API_PATH?researchstudy={A1}"); client.Timeout = -1; var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer {ACCESS_TOKEN}"); + request.AddHeader("x-partnerid", "{partnerId}"); IRestResponse response = client.Execute(request); Console.WriteLine(response.Content); ``` @@ -35,9 +37,10 @@ For a list of optional filtering parameters visit the [Searching page](/searchin conn = http.client.HTTPSConnection("BASE_URL") payload = '' headers = { - 'Authorization': 'Bearer {ACCESS_TOKEN}' + 'Authorization': 'Bearer {ACCESS_TOKEN}', + 'x-partnerid': '{partnerId}' } - conn.request("GET", "API_PATH?researchstudy={A1}&x-partnerid={A2}", payload, headers) + conn.request("GET", "API_PATH?researchstudy={A1}", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8")) @@ -51,269 +54,293 @@ For a list of optional filtering parameters visit the [Searching page](/searchin { "resourceType": "Bundle", "identifier": { - "system": "https://mskcc.github.io/critfhirdeveloper/structure-definitions/#IDB.Protocol", + "system": "https://fhir.mskcc.org/structure-definitions/#IDB.Protocol", "value": "FHIR-T" }, "type": "searchset", "total": 1041, "link": [ { - "relation": "self", - "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/adverseevent?researchstudy=FHIR-T&_count=3&page=1" + "relation": "self", + "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/adverseevent?researchstudy=FHIR-T&_count=3&page=1" }, { - "relation": "first", - "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/adverseevent?researchstudy=FHIR-T&_count=3&page=1" + "relation": "first", + "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/adverseevent?researchstudy=FHIR-T&_count=3&page=1" }, { - "relation": "last", - "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/adverseevent?researchstudy=FHIR-T&_count=3&page=347" + "relation": "last", + "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/adverseevent?researchstudy=FHIR-T&_count=3&page=347" }, { - "relation": "previous", - "url": "null" + "relation": "previous", + "url": "null" }, { - "relation": "next", - "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/adverseevent?researchstudy=FHIR-T&_count=3&page=2" + "relation": "next", + "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/adverseevent?researchstudy=FHIR-T&_count=3&page=2" } ], "entry": [ { - "fullUrl": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/adverseevent?researchstudy=FHIR-T&Id=10081004", + "fullUrl": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/adverseevent?researchstudy=FHIR-T&page=1&_count=3&Id=10081004", "resource": { - "resourceType": "AdverseEvent", - "id": "10081004", - "extension": [ - { - "url": "https://mskcc.github.io/critfhirdeveloper/structure-definitions/#SponsorID", - "valueCode": "C3861001" - }, - { - "url": "https://mskcc.github.io/critfhirdeveloper/structure-definitions/#StartDate", - "valueCode": "07/05/2021" - }, - { - "url": "https://mskcc.github.io/critfhirdeveloper/structure-definitions/#EventSequenceNo", - "valueCode": "1" - }, - { - "url": "https://mskcc.github.io/critfhirdeveloper/structure-definitions/#Verified", - "valueCode": "0" - } - ], - "identifier": { - "system": "https://msk-blaze-docs.readthedocs.io/en/latest/", - "value": "MSK Revenue Management System (RMS) via Clinical Research Database (CRDB) integration" + "resourceType": "AdverseEvent", + "id": "10081004", + "extension": [ + { + "url": "https://fhir.mskcc.org/structure-definitions/#SponsorID", + "valueString": "C3861001" }, - "actuality": "actual", - "event": { - "coding": [ - { - "system": "https://msk-blaze-docs.readthedocs.io/en/latest/", - "display": "Abdominal pain" - } - ] + { + "url": "https://fhir.mskcc.org/structure-definitions/#StartDate", + "valueString": "07/05/2021" }, - "subject": { - "reference": "Patient/10081004", - "display": "10081004" + { + "url": "https://fhir.mskcc.org/structure-definitions/#AdverseEventSequenceNumber", + "valueInteger": 1 }, - "date": "2021-07-05", - "outcome": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/adverse-event-outcome", - "code": "ongoing", - "display": "Ongoing" - } - ] + { + "url": "https://fhir.mskcc.org/structure-definitions/#VerifiedIndicator", + "valueInteger": 0 }, - "suspectEntity": [ + { + "url": "https://ctep.cancer.gov/protocoldevelopment/electronic_applications/ctc.htm#Grade", + "valueInteger": 1 + }, + { + "url": "https://ctep.cancer.gov/protocoldevelopment/electronic_applications/ctc.htm", + "valueDecimal": 5.0 + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#AEOngoing", + "valueInteger": 0 + } + ], + "identifier": { + "system": "https://fhir.mskcc.org/structure-definitions/", + "value": "FHIR-T-FHIR-00002-41-1" + }, + "actuality": "actual", + "event": { + "coding": [ + { + "system": "https://www.meddra.org", + "display": "Abdominal pain" + } + ] + }, + "subject": { + "reference": "Patient/10081004", + "display": "10081004" + }, + "date": "2021-07-05T00:00:00", + "outcome": { + "coding": [ + { + "system": "http://hl7.org/fhir/2021Mar/valueset-adverse-event-outcome.html", + "code": "ongoing", + "display": "Ongoing" + } + ] + }, + "suspectEntity": [ + { + "causality": [ { - "causality": [ - { - "assessment": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/adverse-event-causality-assess", - "display": "Possible" - } - ] - }, - "productRelatedness": "PF-06801591" - } + "assessment": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/adverse-event-causality-assess", + "display": "Possible" + } ] - } - ], - "study": [ - { - "reference": "Study/FHIR-T", - "identifier": { - "value": "10000081" - }, - "display": "AdverseEvent" + }, + "productRelatedness": "PF-06801591" } ] + } + ], + "study": [ + { + "reference": "Study/FHIR-T" + } + ] } }, { - "fullUrl": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/adverseevent?researchstudy=FHIR-T&Id=10081004", + "fullUrl": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/adverseevent?researchstudy=fhir-t&page=1&_count=3&Id=10081004", "resource": { - "resourceType": "AdverseEvent", - "id": "10081004", - "extension": [ - { - "url": "https://mskcc.github.io/critfhirdeveloper/structure-definitions/#SponsorID", - "valueCode": "C3861001" - }, - { - "url": "https://mskcc.github.io/critfhirdeveloper/structure-definitions/#StartDate", - "valueCode": "07/05/2021" - }, - { - "url": "https://mskcc.github.io/critfhirdeveloper/structure-definitions/#EventSequenceNo", - "valueCode": "1" - }, - { - "url": "https://mskcc.github.io/critfhirdeveloper/structure-definitions/#Verified", - "valueCode": "0" - } - ], - "identifier": { - "system": "https://msk-blaze-docs.readthedocs.io/en/latest/", - "value": "MSK Revenue Management System (RMS) via Clinical Research Database (CRDB) integration" - }, - "actuality": "actual", - "event": { - "coding": [ + "resourceType": "AdverseEvent", + "id": "10081004", + "extension": [ + { + "url": "https://fhir.mskcc.org/structure-definitions/#SponsorID", + "valueString": "C3861001" + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#StartDate", + "valueString": "07/05/2021" + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#AdverseEventSequenceNumber", + "valueInteger": 1 + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#VerifiedIndicator", + "valueInteger": 0 + }, + { + "url": "https://ctep.cancer.gov/protocoldevelopment/electronic_applications/ctc.htm#Grade", + "valueInteger": 1 + }, + { + "url": "https://ctep.cancer.gov/protocoldevelopment/electronic_applications/ctc.htm", + "valueDecimal": 5.0 + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#AEOngoing", + "valueInteger": 0 + } + ], + "identifier": { + "system": "https://fhir.mskcc.org/structure-definitions/", + "value": "FHIR-T-FHIR-00002-41-1" + }, + "actuality": "actual", + "event": { + "coding": [ + { + "system": "https://www.meddra.org", + "display": "Abdominal pain" + } + ] + }, + "subject": { + "reference": "Patient/10081004", + "display": "10081004" + }, + "date": "2021-07-05T00:00:00", + "outcome": { + "coding": [ + { + "system": "http://hl7.org/fhir/2021Mar/valueset-adverse-event-outcome.html", + "code": "ongoing", + "display": "Ongoing" + } + ] + }, + "suspectEntity": [ + { + "causality": [ + { + "assessment": { + "coding": [ { - "system": "https://msk-blaze-docs.readthedocs.io/en/latest/", - "display": "Abdominal pain" + "system": "http://terminology.hl7.org/CodeSystem/adverse-event-causality-assess", + "display": "Possible" } - ] - }, - "subject": { - "reference": "Patient/10081004", - "display": "10081004" - }, - "date": "2021-07-05", - "outcome": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/adverse-event-outcome", - "code": "ongoing", - "display": "Ongoing" - } - ] - }, - "suspectEntity": [ - { - "causality": [ - { - "assessment": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/adverse-event-causality-assess", - "display": "Possible" - } - ] - }, - "productRelatedness": "PF-06801591" - } - ] - } - ], - "study": [ - { - "reference": "Study/FHIR-T", - "identifier": { - "value": "10000081" - }, - "display": "AdverseEvent" - } + ] + }, + "productRelatedness": "PF-06801591" + } ] - } + } + ], + "study": [ + { + "reference": "Study/FHIR-T" + } + ] + } }, { - "fullUrl": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/adverseevent?researchstudy=FHIR-T&Id=10081004", + "fullUrl": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/adverseevent?researchstudy=fhir-t&page=1&_count=3&Id=10081004", "resource": { - "resourceType": "AdverseEvent", - "id": "10081004", - "extension": [ - { - "url": "https://mskcc.github.io/critfhirdeveloper/structure-definitions/#SponsorID", - "valueCode": "C3861001" - }, - { - "url": "https://mskcc.github.io/critfhirdeveloper/structure-definitions/#StartDate", - "valueCode": "07/05/2021" - }, - { - "url": "https://mskcc.github.io/critfhirdeveloper/structure-definitions/#EventSequenceNo", - "valueCode": "1" - }, - { - "url": "https://mskcc.github.io/critfhirdeveloper/structure-definitions/#Verified", - "valueCode": "0" - } - ], - "identifier": { - "system": "https://msk-blaze-docs.readthedocs.io/en/latest/", - "value": "MSK Revenue Management System (RMS) via Clinical Research Database (CRDB) integration" - }, - "actuality": "actual", - "event": { - "coding": [ - { - "system": "https://msk-blaze-docs.readthedocs.io/en/latest/", - "display": "Abdominal pain" - } - ] - }, - "subject": { - "reference": "Patient/10081004", - "display": "10081004" - }, - "date": "2021-07-05", - "outcome": { - "coding": [ + "resourceType": "AdverseEvent", + "id": "10081004", + "extension": [ + { + "url": "https://fhir.mskcc.org/structure-definitions/#SponsorID", + "valueString": "C3861001" + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#StartDate", + "valueString": "07/05/2021" + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#AdverseEventSequenceNumber", + "valueInteger": 1 + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#VerifiedIndicator", + "valueInteger": 0 + }, + { + "url": "https://ctep.cancer.gov/protocoldevelopment/electronic_applications/ctc.htm#Grade", + "valueInteger": 1 + }, + { + "url": "https://ctep.cancer.gov/protocoldevelopment/electronic_applications/ctc.htm", + "valueDecimal": 5.0 + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#AEOngoing", + "valueInteger": 0 + } + ], + "identifier": { + "system": "https://fhir.mskcc.org/structure-definitions/", + "value": "FHIR-T-FHIR-00002-41-1" + }, + "actuality": "actual", + "event": { + "coding": [ + { + "system": "https://www.meddra.org", + "display": "Abdominal pain" + } + ] + }, + "subject": { + "reference": "Patient/10081004", + "display": "10081004" + }, + "date": "2021-07-05T00:00:00", + "outcome": { + "coding": [ + { + "system": "http://hl7.org/fhir/2021Mar/valueset-adverse-event-outcome.html", + "code": "ongoing", + "display": "Ongoing" + } + ] + }, + "suspectEntity": [ + { + "causality": [ + { + "assessment": { + "coding": [ { - "system": "http://terminology.hl7.org/CodeSystem/adverse-event-outcome", - "code": "ongoing", - "display": "Ongoing" + "system": "http://terminology.hl7.org/CodeSystem/adverse-event-causality-assess", + "display": "Possible" } - ] - }, - "suspectEntity": [ - { - "causality": [ - { - "assessment": { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/adverse-event-causality-assess", - "display": "Possible" - } - ] - }, - "productRelatedness": "PF-06801591" - } - ] - } - ], - "study": [ - { - "reference": "Study/FHIR-T", - "identifier": { - "value": "10000081" - }, - "display": "AdverseEvent" - } + ] + }, + "productRelatedness": "PF-06801591" + } ] - } + } + ], + "study": [ + { + "reference": "Study/FHIR-T" + } + ] + } } - ] + ] } ``` @@ -333,11 +360,17 @@ For a list of optional filtering parameters visit the [Searching page](/searchin | `extension[3].valueCode` | System generated sequential sub number of an adverse event | | `extension[4].url` | MSK identifiers documentation | | `extension[4].valueCode` | Whether or not an event was verified in the source system | -| `identifier.system` | | -| `identifier.value` | Data Source | -| `actuality` | | -| `event.coding.system` | | -| `event.coding.display` | | +| `extension[5].url` | Common Terminology Criteria for Adverse Events (CTCAE) | +| `extension[5].valueCode` | Grade of the Adverse Event | +| `extension[6].url` | Common Terminology Criteria for Adverse Events (CTCAE) | +| `extension[6].valueCode` | Adverse Event Version | +| `extension[7].url` | MSK identifiers documentation | +| `extension[7].valueCode` | Whether or not an event is Ongoing | +| `identifier.system` | MSK Structural Definitions documentation | +| `identifier.value` | Protocol Number - MRN - Adverse Event No - Sequence No | +| `actuality` | hardcoded to `Actual` | +| `event.coding.system` | MedDRA documentation | +| `event.coding.display` | Adverse Event Toxicity | | `subject.reference` | Patient/ + Sponsor assigned subject ID | | `subject.display` | Sponsor assigned subject ID | | `date` | Adverse Event Start Date | @@ -346,7 +379,7 @@ For a list of optional filtering parameters visit the [Searching page](/searchin | `outcome.coding.display` | | | `suspectEntity.causality.assessment.coding.system` | FHIR Adverse Event Causality documentation | | `suspectEntity.causality.assessment.coding.display` | | -| `suspectEntity.causality.productRelatedness` | | +| `suspectEntity.causality.productRelatedness` | Investigational agent | | `study.reference` | Study/ + MSK unique study number | | `study.identifier.value` | | | `study.display` | hardcoded to `AdverseEvent` | \ No newline at end of file diff --git a/docs/resources/diagnostic-report.md b/docs/resources/diagnostic-report.md index 564d44a05e6..fd55587a56b 100644 --- a/docs/resources/diagnostic-report.md +++ b/docs/resources/diagnostic-report.md @@ -6,6 +6,7 @@ Response assessments are available through FHIR's [Diagnostic Report](https://hl ``` GET /msk-apim/external/v2/crit/blaze/api/DiagnosticReport -H Authorization: Bearer {access_token} +-H x-partnerid: {partnerId} ``` ### Query Parameters | Parameters | Type | Is Required | Description | @@ -20,10 +21,11 @@ For a list of optional filtering parameters visit the [Searching page](/searchin === "C# " ``` c# linenums="1" - var client = new RestClient("BASE_URL_PLUS_API_PATH?researchstudy={A1}&x-partnerid={A2}"); + var client = new RestClient("BASE_URL_PLUS_API_PATH?researchstudy={A1}"); client.Timeout = -1; var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer {ACCESS_TOKEN}"); + request.AddHeader("x-partnerid", "{partnerId}"); IRestResponse response = client.Execute(request); Console.WriteLine(response.Content); ``` @@ -36,9 +38,10 @@ For a list of optional filtering parameters visit the [Searching page](/searchin conn = http.client.HTTPSConnection("BASE_URL") payload = '' headers = { - 'Authorization': 'Bearer {ACCESS_TOKEN}' + 'Authorization': 'Bearer {ACCESS_TOKEN}', + 'x-partnerid': '{partnerId}' } - conn.request("GET", "API_PATH?researchstudy={A1}&x-partnerid={A2}", payload, headers) + conn.request("GET", "API_PATH?researchstudy={A1}", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8")) diff --git a/docs/resources/group.md b/docs/resources/group.md new file mode 100644 index 00000000000..046fda22e6c --- /dev/null +++ b/docs/resources/group.md @@ -0,0 +1,127 @@ +Response assessments are available through FHIR's [Group]( https://hl7.org/fhir/R4/group.html){:target="blank"}. + +## Request +``` +GET /msk-apim/external/v2/crit/blaze/api/Group +-H Authorization: Bearer {access_token} +-H x-partnerid: {partnerId} +``` +### Query Parameters +| Parameters | Type | Is Required | Description | +| --------------- | ------ | ----------- | ----------------------------- | +| `researchstudy` | string | true | MSK unique study number | +| `x-partnerid` | string | true | MSK provided partner ID | + +For a list of optional filtering parameters visit the [Searching page](/searching). + +### Example Code + +=== "C# " + + ``` c# linenums="1" + var client = new RestClient("BASE_URL_PLUS_API_PATH?researchstudy={A1}"); + client.Timeout = -1; + var request = new RestRequest(Method.GET); + request.AddHeader("Authorization", "Bearer {ACCESS_TOKEN}"); + request.AddHeader("x-partnerid", "{partnerId}"); + IRestResponse response = client.Execute(request); + Console.WriteLine(response.Content); + ``` + +=== "Python" + + ``` python linenums="1" + import http.client + + conn = http.client.HTTPSConnection("BASE_URL") + payload = '' + headers = { + 'Authorization': 'Bearer {ACCESS_TOKEN}', + 'x-partnerid': '{partnerId}' + } + conn.request("GET", "API_PATH?researchstudy={A1}", payload, headers) + res = conn.getresponse() + data = res.read() + print(data.decode("utf-8")) + ``` + + +## Response + +??? success "Successful Payload Example" + ```json + { + "resourceType": "Bundle", + "identifier": { + "system": "https://fhir.mskcc.org/structure-definitions/#IDB.Protocol", + "value": "fhir-t" + }, + "type": "searchset", + "total": 3, + "link": [ + { + "relation": "self", + "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/group?researchstudy=fhir-t&page=1" + }, + { + "relation": "first", + "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/group?researchstudy=fhir-t&page=1" + }, + { + "relation": "last", + "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/group?researchstudy=fhir-t&page=1" + }, + { + "relation": "previous", + "url": "null" + }, + { + "relation": "next", + "url": "null" + } + ], + "entry": [ + { + "fullUrl": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/group?researchstudy=fhir-t", + "resource": { + "resourceType": "Group", + "identifier": [ + { + "use": "usual", + "system": "https://fhir.mskcc.org/structure-definitions/#IDB.Protocol", + "value": "FHIR-T" + } + ], + "type": "person", + "member": [ + { + "entity": { + "reference": "Patient/10081001" + } + }, + { + "entity": { + "reference": "Patient/10081004" + } + }, + { + "entity": { + "reference": "Patient/10081007" + } + } + ] + } + } + ] + } + ``` + +### Field Definitions + +| Field | Description | +| -------------------------------------------| ------------------------------------------- | +| `identifier.use` | always `Usual ` | +| `identifier.system` | Reference to structure definition | +| `identifier.value` | Unique research study number | +| `type` | always `person` | +| `member[x].entity.reference` | `Patient/` + subject study ID | \ No newline at end of file diff --git a/docs/resources/imaging.md b/docs/resources/imaging.md index f309c7d3d6f..2e44e17b103 100644 --- a/docs/resources/imaging.md +++ b/docs/resources/imaging.md @@ -4,6 +4,7 @@ Lesions measured as part of a response assessment are mapped to FHIR's [Observat ``` GET /msk-apim/external/v2/crit/blaze/api/observation -H Authorization: Bearer {access_token} +-H x-partnerid: {partnerId} ``` ### Query Parameters | Parameters | Type | Is Required | Description | @@ -19,10 +20,11 @@ For a list of optional filtering parameters visit the [Searching page](/searchin === "C# " ``` c# linenums="1" - var client = new RestClient("BASE_URL_PLUS_API_PATH?researchstudy={A1}&x-partnerid={A2}"); + var client = new RestClient("BASE_URL_PLUS_API_PATH?researchstudy={A1}"); client.Timeout = -1; var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer {ACCESS_TOKEN}"); + request.AddHeader("x-partnerid", "{partnerId}"); IRestResponse response = client.Execute(request); Console.WriteLine(response.Content); ``` @@ -35,9 +37,10 @@ For a list of optional filtering parameters visit the [Searching page](/searchin conn = http.client.HTTPSConnection("BASE_URL") payload = '' headers = { - 'Authorization': 'Bearer {ACCESS_TOKEN}' + 'Authorization': 'Bearer {ACCESS_TOKEN}', + 'x-partnerid': '{partnerId}' } - conn.request("GET", "API_PATH?researchstudy={A1}&x-partnerid={A2}", payload, headers) + conn.request("GET", "API_PATH?researchstudy={A1}", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8")) diff --git a/docs/resources/lab-result.md b/docs/resources/lab-result.md index 6e38a4634de..c8ce229827c 100644 --- a/docs/resources/lab-result.md +++ b/docs/resources/lab-result.md @@ -9,6 +9,7 @@ For guidance on mapping [LOINC](https://www.cdisc.org/kb/articles/loinc-and-sdtm ``` GET /msk-apim/external/v2/crit/blaze/api/observation -H Authorization: Bearer {access_token} +-H x-partnerid: {partnerId} ``` ### Query Parameters | Parameters | Type | Is Required | Description | @@ -24,10 +25,11 @@ For a list of optional filtering parameters visit the [Searching page](/searchin === "C# " ``` c# linenums="1" - var client = new RestClient("BASE_URL_PLUS_API_PATH?category={A2}&x-partnerid={A3}&researchstudy={A1}"); + var client = new RestClient("BASE_URL_PLUS_API_PATH?category={A2}&researchstudy={A1}"); client.Timeout = -1; var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer {ACCESS_TOKEN}"); + request.AddHeader("x-partnerid", "{partnerId}"); IRestResponse response = client.Execute(request); Console.WriteLine(response.Content); ``` @@ -40,9 +42,10 @@ For a list of optional filtering parameters visit the [Searching page](/searchin conn = http.client.HTTPSConnection("BASE_URL") payload = '' headers = { - 'Authorization': 'Bearer {ACCESS_TOKEN}' + 'Authorization': 'Bearer {ACCESS_TOKEN}', + 'x-partnerid': '{partnerId}' } - conn.request("GET", "API_PATH?category={A2}&x-partnerid={A3}&researchstudy={A1}", payload, headers) + conn.request("GET", "API_PATH?category={A2}&researchstudy={A1}", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8")) @@ -55,145 +58,171 @@ For a list of optional filtering parameters visit the [Searching page](/searchin { "resourceType": "Bundle", "identifier": { - "system": "https://datapedia.mskcc.org/index.php/IDB.PROTOCOL", + "system": "https://fhir.mskcc.org/structure-definitions/#IDB.Protocol", "value": "FHIR-T" }, "type": "searchset", - "total": 2, + "total": 103, "link": [ { - "relation": "self", - "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/observation?category=laboratory&researchstudy=FHIR-T&x-partnerid={A3}&page=1" + "relation": "self", + "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/Observation?category=laboratory&researchstudy=FHIR-T&page=1" }, - { - "relation": "first", - "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/observation?category=laboratory&researchstudy=FHIR-T&x-partnerid={A3}&page=1" + { + "relation": "first", + "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/Observation?category=laboratory&researchstudy=FHIR-T&page=1" }, { - "relation": "last", - "url": null + "relation": "last", + "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/Observation?category=laboratory&researchstudy=FHIR-T&page=3" }, { - "relation": "previous", - "url": null + "relation": "previous", + "url": "null" }, { - "relation": "next", - "url": null + "relation": "next", + "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/Observation?category=laboratory&researchstudy=FHIR-T&page=2" } ], "entry": [ { - "id": 500009814, - "fullUrl": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/observation/500009814", - "resource": { - "id": 500009814, + "fullUrl": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/Observation?category=laboratory&researchstudy=FHIR-T&Id=500009866", + "resource": { "resourceType": "Observation", + "id": "500009866", "extension": [ - { - "valueCode": "FHIR-T", - "url": "http://hl7.org/fhir/StructureDefinition/workflow-researchStudy" - } + { + "url": "https://fhir.mskcc.org/structure-definitions/#IDB.Protocol", + "valueString": "FHIR-T" + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#SponsorID", + "valueString": "C3861001" + } ], "identifier": [ - { - "system": "https://datapedia.mskcc.org/index.php/LAB_RESULTS.LR_RESULT_GUID", - "value": 500009814 - } + { + "system": "https://fhir.mskcc.org/structure-definitions/#LAB_RESULTS.LR_RESULT_GUID", + "value": "500009866" + } ], "status": "final", "category": [ - { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory", - "display": "Laboratory" - } - ], - "text": "Laboratory" - } - ], - "code": { + { "coding": [ - { - "system": "http://loinc.org", - "code": "704-7", - "display": "ABAS" - } + { + "system": "http://hl7.org/fhir/2021Mar/valueset-observation-category.html", + "code": "laboratory", + "display": "Laboratory" + } ], - "text": "ABAS" - }, - "subject": { - "reference": "Patient/10081007" - }, - "effectiveDateTime": "2021-12-07T08:06:00+00:00", - "issued": "2021-12-07T08:06:00+00:00", - "referenceRange": [ - { - "text": "0.0-0.2" - } - ] - } - }, - { - "id": 500009863, - "fullUrl": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/observation/500009863", - "resource": { - "id": 500009863, - "resourceType": "Observation", - "extension": [ - { - "valueCode": "FHIR-T", - "url": "http://hl7.org/fhir/StructureDefinition/workflow-researchStudy" - } - ], - "identifier": [ - { - "system": "https://datapedia.mskcc.org/index.php/LAB_RESULTS.LR_RESULT_GUID", - "value": 500009863 - } + "text": "Laboratory" + } ], - "status": "final", - "category": [ + "code": { + "coding": [ { - "coding": [ - { - "system": "http://terminology.hl7.org/CodeSystem/observation-category", - "code": "laboratory", - "display": "Laboratory" - } - ], - "text": "Laboratory" + "system": "https://loinc.org", + "code": "704-7", + "display": "ABAS" } - ], - "code": { - "coding": [ - { - "system": "http://loinc.org", - "code": "13945-1", - "display": "URBC" - } - ], - "text": "URBC" + ], + "text": "ABAS" }, "subject": { - "reference": "Patient/10081007" + "reference": "Patient/10081007" + }, + "encounter": { + "display": "CYCLE1_DAY1" }, - "effectiveDateTime": "2021-12-07T08:18:00+00:00", - "issued": "2021-12-07T08:18:00+00:00", + "effectiveDateTime": "2021-12-14T02:03:00", + "issued": "2022-02-15T09:47:08+05:30", + "performer": [ + { + "display": "Practitioner/YAN" + } + ], "valueQuantity": { - "value": 4, - "unit": "/HPF" + "value": 0, + "unit": "K/mcL" }, "referenceRange": [ + { + "text": "0.0-0.2" + } + ] + } + }, + { + "fullUrl": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/Observation?category=laboratory&researchstudy=FHIR-T&Id=500009867", + "resource": { + "resourceType": "Observation", + "id": "500009867", + "extension": [ + { + "url": "https://fhir.mskcc.org/structure-definitions/#IDB.Protocol", + "valueString": "FHIR-T" + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#SponsorID", + "valueString": "C3861001" + } + ], + "identifier": [ + { + "system": "https://fhir.mskcc.org/structure-definitions/#LAB_RESULTS.LR_RESULT_GUID", + "value": "500009867" + } + ], + "status": "final", + "category": [ + { + "coding": [ { - "text": "0-3" + "system": "http://hl7.org/fhir/2021Mar/valueset-observation-category.html", + "code": "laboratory", + "display": "Laboratory" } - ] - } + ], + "text": "Laboratory" + } + ], + "code": { + "coding": [ + { + "system": "https://loinc.org", + "code": "711-2", + "display": "AEOS" + } + ], + "text": "AEOS" + }, + "subject": { + "reference": "Patient/10081007" + }, + "encounter": { + "display": "CYCLE1_DAY1" + }, + "effectiveDateTime": "2021-12-14T02:03:00", + "issued": "2022-02-15T09:47:08+05:30", + "performer": [ + { + "display": "Practitioner/YAN" + } + ], + "valueQuantity": { + "value": 0.3, + "unit": "K/mcL" + }, + "referenceRange": [ + { + "text": "0.0-0.7" + } + ] + } } - ] + ] } ``` @@ -202,11 +231,11 @@ For a list of optional filtering parameters visit the [Searching page](/searchin | Field | Description | | -------------------------- | ------------------------------------------ | | `id` | MSK Unique Identifier | -| `extension[0].url` | FHIR researchStudy extension documentation | +| `extension[0].url` | FHIR Structure Definition documentation | | `extension[0].valueCode` | MSK IRB Protocol Number | -| `extension[1].url` | | +| `extension[1].url` | FHIR Structure Definition documentation | | `extension[1].valueCode` | Sponsor Study Number | -| `identifier.system` | | +| `identifier.system` | FHIR Structure Definition documentation | | `identifier.value` | MSK Unique Identifier | | `status` | Hardcoded to `final` | | `category.coding.system` | FHIR Observation category documentation | @@ -218,10 +247,11 @@ For a list of optional filtering parameters visit the [Searching page](/searchin | `code.coding.display` | MSK test code | | `code.text` | MSK test code | | `subject.reference` | `Patient/` + Sponsor assigned subject ID | -| `encounter.display` | Protocol visit | | `effectiveDateTime` | Specimen collection datetime | | `issued` | Specimen datetime | | `valueQuantity.value` | Numeric result | | `valueQuantity.unit` | Test Unit | | `valueString` | Text result | | `referenceRange.text` | Reference range | +| `encounter.display` | Protocol visit | +| `performer.display` | `Practitioner/` + Practitioner (CRT) ID | diff --git a/docs/resources/medications.md b/docs/resources/medications.md index 88d905af3c4..582c3be5a57 100644 --- a/docs/resources/medications.md +++ b/docs/resources/medications.md @@ -6,6 +6,7 @@ This is not a visit specific data element and does not require any adjudication ``` GET /msk-apim/external/v2/crit/blaze/api/MedicationStatement -H Authorization: Bearer {access_token} +-H x-partnerid: {partnerId} ``` ### Query Parameters @@ -20,10 +21,11 @@ For a list of optional filtering parameters visit the [Searching page](/searchin === "C# " ``` c# linenums="1" - var client = new RestClient("BASE_URL_PLUS_API_PATH?researchstudy={A1}&x-partnerid={A2}"); + var client = new RestClient("BASE_URL_PLUS_API_PATH?researchstudy={A1}"); client.Timeout = -1; var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer {ACCESS_TOKEN}"); + request.AddHeader("x-partnerid", "{partnerId}"); IRestResponse response = client.Execute(request); Console.WriteLine(response.Content); ``` @@ -36,9 +38,10 @@ For a list of optional filtering parameters visit the [Searching page](/searchin conn = http.client.HTTPSConnection("BASE_URL") payload = '' headers = { - 'Authorization': 'Bearer {ACCESS_TOKEN}' + 'Authorization': 'Bearer {ACCESS_TOKEN}', + 'x-partnerid': '{partnerId}' } - conn.request("GET", "API_PATH?researchstudy={A1}&x-partnerid={A2}", payload, headers) + conn.request("GET", "API_PATH?researchstudy={A1}", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8")) @@ -90,11 +93,11 @@ For a list of optional filtering parameters visit the [Searching page](/searchin "valueCode": "FHIR-T" }, { - "url": "https://fhir.mskcc.org/structure-definitions/#SponsorID", + "url": "https://mskcc.github.io/critfhirdeveloper/identifiers/", "valueCode": "C3861001" }, { - "url": "https://fhir.mskcc.org/structure-definitions/#SponsorID", + "url": "https://mskcc.github.io/critfhirdeveloper/identifiers/", "valueCode": "40: end datetime derived: populated with idb.hml_client_prescription_hx.hcpx_hx_discontinued_dt when hcpr_status_type = 3 (Discontinued),18: days_supply derived: calculated by formula idb.hml_client_prescription.hcpr_duration_amt * (idb.hml_client_prescri" } ], @@ -163,11 +166,11 @@ For a list of optional filtering parameters visit the [Searching page](/searchin "valueCode": "FHIR-T" }, { - "url": "https://fhir.mskcc.org/structure-definitions/#SponsorID", + "url": "https://mskcc.github.io/critfhirdeveloper/identifiers/", "valueCode": "C3861001" }, { - "url": "https://fhir.mskcc.org/structure-definitions/#SponsorID", + "url": "https://mskcc.github.io/critfhirdeveloper/identifiers/", "valueCode": "18: days_supply derived: calculated by formula idb.hml_client_prescription.hcpr_duration_amt * (idb.hml_client_prescription.hcpr_refills + 1)" } ], diff --git a/docs/resources/patient.md b/docs/resources/patient.md index d202c354d22..fe9d0f2b42f 100644 --- a/docs/resources/patient.md +++ b/docs/resources/patient.md @@ -5,6 +5,7 @@ Demographics data are mapped to FHIR's [Patient](http://hl7.org/fhir/patient.htm ``` GET /msk-apim/external/v2/crit/blaze/api/Patient -H Authorization: Bearer {access_token} +-H x-partnerid: {partnerId} ``` ### Query Parameters | Parameters | Type | Is Required | Description | @@ -19,10 +20,11 @@ GET /msk-apim/external/v2/crit/blaze/api/Patient === "C# " ``` c# linenums="1" - var client = new RestClient("BASE_URL_PLUS_API_PATH?researchstudy={A1}&x-partnerid={A2}"); + var client = new RestClient("BASE_URL_PLUS_API_PATH?researchstudy={A1}"); client.Timeout = -1; var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer {ACCESS_TOKEN}"); + request.AddHeader("x-partnerid", "{partnerId}"); IRestResponse response = client.Execute(request); Console.WriteLine(response.Content); ``` @@ -35,9 +37,10 @@ GET /msk-apim/external/v2/crit/blaze/api/Patient conn = http.client.HTTPSConnection("BASE_URL") payload = '' headers = { - 'Authorization': 'Bearer {ACCESS_TOKEN}' + 'Authorization': 'Bearer {ACCESS_TOKEN}', + 'x-partnerid': '{partnerId}' } - conn.request("GET", "API_PATH?researchstudy={A1}&x-partnerid={A2}", payload, headers) + conn.request("GET", "API_PATH?researchstudy={A1}", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8")) @@ -50,7 +53,7 @@ GET /msk-apim/external/v2/crit/blaze/api/Patient { "resourceType": "Bundle", "identifier": { - "system": "https://mskcc.github.io/critfhirdeveloper/structure-definitions/#IDB.Protocol", + "system": "https://fhir.mskcc.org/structure-definitions/#IDB.Protocol", "value": "FHIR-T" }, "type": "searchset", @@ -58,15 +61,15 @@ GET /msk-apim/external/v2/crit/blaze/api/Patient "link": [ { "relation": "self", - "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/patients?researchstudy=FHIR-T&page=1" + "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/patient?researchstudy=FHIR-T&page=1" }, { "relation": "first", - "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/patients?researchstudy=FHIR-T&page=1" + "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/patient?researchstudy=FHIR-T&page=1" }, { "relation": "last", - "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/patients?researchstudy=FHIR-T&page=1" + "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/patient?researchstudy=FHIR-T&page=1" }, { "relation": "previous", @@ -84,28 +87,28 @@ GET /msk-apim/external/v2/crit/blaze/api/Patient "resourceType": "Patient", "id": "10081001", "extension": [ - { - "url": "https://www.hl7.org/fhir/patient.html", - "valueCode": "FHIR-T" - }, - { - "url": "http://terminology.hl7.org/CodeSystem/v3-Race", - "valueCode": "White" - }, - { - "url": "http://terminology.hl7.org/ValueSet/v3-Ethnicity", - "valueCode": "NON" - }, - { - "url": "https://mskcc.github.io/critfhirdeveloper/structure-definitions/#SponsorID", - "valueCode": "C3861001" - } + { + "url": "https://fhir.mskcc.org/structure-definitions/#IDB.Protocol", + "valueString": "FHIR-T" + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#Race", + "valueString": "White" + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#Ethnicity", + "valueString": "NON" + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#SponsorID", + "valueString": "C3861001" + } ], "identifier": [ - { - "system": "https://msk-blaze-docs.readthedocs.io/en/latest/", - "value": "MSK Revenue Management System (RMS) via Clinical Research Database (CRDB) integration" - } + { + "system": "https://fhir.mskcc.org/structure-definitions/#SubjectStudyId", + "value": "10081001" + } ], "gender": "male", "birthDate": "1988" @@ -117,28 +120,28 @@ GET /msk-apim/external/v2/crit/blaze/api/Patient "resourceType": "Patient", "id": "10081004", "extension": [ - { - "url": "https://www.hl7.org/fhir/patient.html", - "valueCode": "FHIR-T" - }, - { - "url": "http://terminology.hl7.org/CodeSystem/v3-Race", - "valueCode": "White" - }, - { - "url": "http://terminology.hl7.org/ValueSet/v3-Ethnicity", - "valueCode": "NON" - }, - { - "url": "https://mskcc.github.io/critfhirdeveloper/structure-definitions/#SponsorID", - "valueCode": "C3861001" - } + { + "url": "https://fhir.mskcc.org/structure-definitions/#IDB.Protocol", + "valueString": "FHIR-T" + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#Race", + "valueString": "White" + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#Ethnicity", + "valueString": "NON" + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#SponsorID", + "valueString": "C3861001" + } ], "identifier": [ - { - "system": "https://msk-blaze-docs.readthedocs.io/en/latest/", - "value": "MSK Revenue Management System (RMS) via Clinical Research Database (CRDB) integration" - } + { + "system": "https://fhir.mskcc.org/structure-definitions/#SubjectStudyId", + "value": "10081004" + } ], "gender": "male", "birthDate": "1976" @@ -150,28 +153,28 @@ GET /msk-apim/external/v2/crit/blaze/api/Patient "resourceType": "Patient", "id": "10081007", "extension": [ - { - "url": "https://www.hl7.org/fhir/patient.html", - "valueCode": "FHIR-T" - }, - { - "url": "http://terminology.hl7.org/CodeSystem/v3-Race", - "valueCode": "White" - }, - { - "url": "http://terminology.hl7.org/ValueSet/v3-Ethnicity", - "valueCode": "NON" - }, - { - "url": "https://mskcc.github.io/critfhirdeveloper/structure-definitions/#SponsorID", - "valueCode": "C3861001" - } + { + "url": "https://fhir.mskcc.org/structure-definitions/#IDB.Protocol", + "valueString": "FHIR-T" + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#Race", + "valueString": "White" + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#Ethnicity", + "valueString": "NON" + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#SponsorID", + "valueString": "C3861001" + } ], "identifier": [ - { - "system": "https://msk-blaze-docs.readthedocs.io/en/latest/", - "value": "MSK Revenue Management System (RMS) via Clinical Research Database (CRDB) integration" - } + { + "system": "https://fhir.mskcc.org/structure-definitions/#SubjectStudyId", + "value": "10081007" + } ], "gender": "male", "birthDate": "1948" @@ -187,15 +190,15 @@ GET /msk-apim/external/v2/crit/blaze/api/Patient | Field | Description | | ----------------------------- | ---------------------------- | | `id` | Sponsor assigned subject ID | -| `extension[0].url` | FHIR Patient documentation | -| `extension[0].valueCode` | MSK unique study number | -| `extension[1].url` | FHIR Race documentation | -| `extension[1].valueCode` | FHIR Race code | -| `extension[2].url` | FHIR Ethnicity documentation | -| `extension[2].valueCode` | FHIR Ethnicity code | +| `extension[0].url` | MSK Patient documentation | +| `extension[0].valueCode` | MSK Protocol number | +| `extension[1].url` | MSK Race documentation | +| `extension[1].valueCode` | MSK Race code | +| `extension[2].url` | MSK Ethnicity documentation | +| `extension[2].valueCode` | MSK Ethnicity code | | `extension[3].url` | MSK identifiers documentation | | `extension[3].valueCode` | Sponsor Study Number | -| `identifier.system` | -| `identifier.value` | Data Source | +| `identifier.system` | MSK Subject Study Number Documentation | +| `identifier.value` | Subject Study Number | | `gender` | Gender | | `birthDate` | Year of birth | \ No newline at end of file diff --git a/docs/resources/vital-sign.md b/docs/resources/vital-sign.md index 4381bb85a36..c7f4fa1272e 100644 --- a/docs/resources/vital-sign.md +++ b/docs/resources/vital-sign.md @@ -7,6 +7,7 @@ Vital signs data are mapped to FHIR's [Observation](https://hl7.org/fhir/2021Mar ``` GET /msk-apim/external/v2/crit/blaze/api/observation -H Authorization: Bearer {access_token} +-H x-partnerid: {partnerId} ``` ### Query Parameters | Parameters | Type | Is Required | Description | @@ -22,10 +23,11 @@ For a list of optional filtering parameters visit the [Searching page](/searchin === "C# " ``` c# linenums="1" - var client = new RestClient("BASE_URL_PLUS_API_PATH?category={A2}&x-partnerid={A3}&researchstudy={A1}"); + var client = new RestClient("BASE_URL_PLUS_API_PATH?category={A2}&researchstudy={A1}"); client.Timeout = -1; var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer {ACCESS_TOKEN}"); + request.AddHeader("x-partnerid", "{partnerId}"); IRestResponse response = client.Execute(request); Console.WriteLine(response.Content); ``` @@ -38,9 +40,10 @@ For a list of optional filtering parameters visit the [Searching page](/searchin conn = http.client.HTTPSConnection("BASE_URL") payload = '' headers = { - 'Authorization': 'Bearer {ACCESS_TOKEN}' + 'Authorization': 'Bearer {ACCESS_TOKEN}', + 'x-partnerid': '{partnerId}' } - conn.request("GET", "API_PATH?category={A2}&x-partnerid={A3}&researchstudy={A1}", payload, headers) + conn.request("GET", "API_PATH?category={A2}&researchstudy={A1}", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8")) @@ -57,86 +60,157 @@ For a list of optional filtering parameters visit the [Searching page](/searchin "value": "FHIR-T" }, "type": "searchset", - "total": 1, + "total": 13, "link": [ { - "relation": "self", - "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/observation?category=vital-signs&researchstudy=FHIR-T&x-partnerid={A3}&page=1" + "relation": "self", + "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/observation?category=vital-signs&researchstudy=FHIR-T&page=1" }, - { - "relation": "first", - "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/observation?category=vital-signs&researchstudy=FHIR-T&x-partnerid={A3}&page=1" + { + "relation": "first", + "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/observation?category=vital-signs&researchstudy=FHIR-T&page=1" }, { - "relation": "last", - "url": null + "relation": "last", + "url": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/observation?category=vital-signs&researchstudy=FHIR-T&page=1" }, { - "relation": "previous", - "url": null + "relation": "previous", + "url": "null" }, { - "relation": "next", - "url": null + "relation": "next", + "url": "null" } ], "entry": [ { - "id": 500009814, - "fullUrl": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/Observation?category=vital-signs&researchStudy=FHIR-T&subject=10081007&Id=500009814", + "fullUrl": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/Observation?category=vital-signs&researchstudy=FHIR-T&Id=500000832", "resource": { - "id": 500009814, - "resourceType": "Observation", - "extension": [ - { - "url": "https://fhir.mskcc.org/structure-definitions/#IDB.Protocol" - "valueCode": "FHIR-T", - }, - { - "url": "https://fhir.mskcc.org/structure-definitions/#SponsorID" - "valueCode": "C75326", - }, - ], - "identifier": [ + "resourceType": "Observation", + "id": "500000832", + "extension": [ + { + "url": "https://fhir.mskcc.org/structure-definitions/#IDB.Protocol", + "valueString": "FHIR-T" + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#SponsorID", + "valueString": "C3861001" + } + ], + "identifier": [ + { + "system": "https://fhir.mskcc.org/structure-definitions/#LAB_RESULTS.LR_RESULT_GUID", + "value": "500000832" + } + ], + "status": "final", + "category": [ + { + "coding": [ { - "system": "https://fhir.mskcc.org/structure-definitions/#LAB_RESULTS.LR_RESULT_GUID", - "value": 500009814 + "system": "http://hl7.org/fhir/2021Mar/valueset-observation-category.html", + "code": "vital-signs", + "display": "Vital Signs" } ], - "status": "final", - "category": [ + "text": "Vital Signs" + } + ], + "code": { + "coding": [ + { + "system": "https://fhir.mskcc.org/resources/vital-sign/#value-set", + "code": "", + "display": "Pulse/Heart Rate" + } + ], + "text": "Pulse/Heart Rate" + }, + "subject": { + "reference": "Patient/10081004" + }, + "encounter": { + "display": "CYCLE1_DAY1" + }, + "effectiveDateTime": "2021-11-29T07:08:00", + "issued": "2023-03-11T16:42:17+05:30", + "performer": [ + { + "display": "Practitioner/SHEINTUM" + } + ], + "valueQuantity": { + "value": 93, + "unit": "bpm", + "system": "https://ucum.org/" + } + } + }, + { + "fullUrl": "https://apigateway.apps.stageapi.mskcc.org/msk-apim/external/v2/crit/blaze/api/Observation?category=vital-signs&researchstudy=FHIR-T&Id=500000833", + "resource": { + "resourceType": "Observation", + "id": "500000833", + "extension": [ + { + "url": "https://fhir.mskcc.org/structure-definitions/#IDB.Protocol", + "valueString": "FHIR-T" + }, + { + "url": "https://fhir.mskcc.org/structure-definitions/#SponsorID", + "valueString": "C3861001" + } + ], + "identifier": [ + { + "system": "https://fhir.mskcc.org/structure-definitions/#LAB_RESULTS.LR_RESULT_GUID", + "value": "500000833" + } + ], + "status": "final", + "category": [ + { + "coding": [ { - "coding": [ - { - "system": "http://hl7.org/fhir/2021Mar/valueset-observation-category.html", - "code": "vital-signs", - "display": "Vital Signs" - } - ], - "text": "Vital Signs" + "system": "http://hl7.org/fhir/2021Mar/valueset-observation-category.html", + "code": "vital-signs", + "display": "Vital Signs" } ], - "code": { - "coding": [ - { - "system": "https://fhir.mskcc.org/resources/vital-sign/#value-set", - "display": "Pulse/Heart Rate" - } - ], - "text": "Pulse/Heart Rate" - }, - "subject": { - "reference": "Patient/10081007" - }, - "encounter": { - "display": "CYCLE1_DAY1" - }, - "effectiveDateTime": "2021-12-07T08:06:00+00:00", - "issued": "2021-12-07T08:06:00+00:00", - "valueQuantity": { - "value": 93 + "text": "Vital Signs" + } + ], + "code": { + "coding": [ + { + "system": "https://fhir.mskcc.org/resources/vital-sign/#value-set", + "code": "", + "display": "Pulse Ox (SpO2)" } + ], + "text": "Pulse Ox (SpO2)" + }, + "subject": { + "reference": "Patient/10081004" + }, + "encounter": { + "display": "CYCLE1_DAY1" + }, + "effectiveDateTime": "2021-11-29T07:08:00", + "issued": "2023-03-11T16:42:17+05:30", + "performer": [ + { + "display": "Practitioner/SHEINTUM" + } + ], + "valueQuantity": { + "value": 100, + "unit": "SpO2", + "system": "https://ucum.org/" } + } } ] } @@ -148,7 +222,7 @@ For a list of optional filtering parameters visit the [Searching page](/searchin | ------------------------- | ------------------------------------------ | | `id` | MSK Unique Identifier | | `extension[0].url` | Reference to structure definition | -| `extension[0].valueCode` | MSK unique study number | +| `extension[0].valueCode` | MSK unique Protocol number | | `extension[1].url` | Reference to structure definition | | `extension[1].valueCode` | Sponsor Study Number | | `identifier.system` | Reference to structure definition | @@ -159,13 +233,17 @@ For a list of optional filtering parameters visit the [Searching page](/searchin | `category.coding.display` | Always `Vital Signs` | | `category.text` | Always `Vital Signs` | | `code.coding.system` | | +| `code.coding.code` | Loinc Code | | `code.coding.display` | Vital Sign Item Type | | `code.text` | Vital Sign Item Type | | `subject.reference` | `Patient/` + Sponsor assigned subject ID | | `encounter.display` | Protocol visit | | `effectiveDateTime` | Collection datetime | -| `issued` | Collection datetime | +| `issued` | CRT datetime | +| `performer.display` | `Practitioner/` + Practitioner (CRT) ID | | `valueQuantity.value` | Vital sign value | +| `valueQuantity.unit` | Vital sign unit | +| `valueQuantity.system` | UCUM Reference | ## Value Set diff --git a/docs/searching.md b/docs/searching.md index e6f899872ac..1805ecf32fe 100644 --- a/docs/searching.md +++ b/docs/searching.md @@ -4,8 +4,11 @@ Most parameters are optional and some combinations might not return a payload. I | Parameter | Type | Is Required | Description | | ----------- | ------- | ----------- | ---------------------------------- | | _count | integer | false | Controls the number of records returned in the bundle. The default is `50` records. Use this parameter wisely to avoid timeout errors. | -| date | date | false | Must follow the format `&date=OpMM/DD/YYYY` where OP is the Operator for that date. Acceptable values include: | +| code | string | false | Returns the records for the given LOINC Code. Must follow the format `&code=http://loinc.org|777-3,http://loinc.org|751-8` | +| component-code | string | false | Returns the records for the given LOINC Code. Must follow the format `&component-code=http://loinc.org|777-3,http://loinc.org|751-8` | +| date | date | false | Must follow the format `&date=OpMM/DD/YYYY` or date range as `&date=OpMM/DD/YYYY&date=OpMM/DD/YYYY` where OP is the Operator for that date. Acceptable values include: | | id | string | false | Returns the record for a given ID | +| issued | date | false | Returns the records for the issued CRT Date. Must follow the format `&issued=OpMM/DD/YYYY` where OP is the Operator for that date. Acceptable values include: | | page | integer | false | Used to retrieve data on a particular page. Refer to [pagination](pagination.md) for more details. | | researchstudy | string | true* | MSK unique study number | | studyid | string | ** | Sponsor study ID | diff --git a/docs/structure-definitions.md b/docs/structure-definitions.md index aecf35eb29a..d984f3b2f8d 100644 --- a/docs/structure-definitions.md +++ b/docs/structure-definitions.md @@ -1,6 +1,9 @@ | Name | Description | | ------------------------------ | --------------------------------------------------------- | +|[AdverseEventSequenceNumber](#AdverseEventSequenceNumber) | Adverse Event Sequence number assigned in source system | +|[AEBaseline](#AEBaseline) | Adverse Event Baseline Value | +|[AEOngoing](#AEOngoing) | Whether or not Adverse Event is Ongoing | |[AssessmentId](#AssessmentId) | Unique response assessment ID | |[CaseId](#CaseId) | Unique response case ID | |[Category](#Category) | Lesion measurement category `New lesion | Non-target | Target` | @@ -8,29 +11,38 @@ |[ChangeFromBaseline](#ChangeFromBaseline) | Measurement change from baseline `+/- {value} mm` | |[ChangeFromNadir](#ChangeFromNadir) | Measurement change from nadir `+/- {value} mm` | |[ChangeFromPrevious](#ChangeFromPrevious) | Measurement change from previous `+/- {value} mm` | +|[Comments](#Comments) | Adverse Event Comments | |[CRDB](#CRDB) | Clinical Research Database | |[CumulativeQuantityId](#CumulativeQuantityId) | Measurement type
Currently only supporting `targetsum` | |[CurrentValue](#CurrentValue) | Result at given timepoint | +|[Ethnicity](#Ethnicity) | Patient Ethnicity | |[EventSequenceNo](#EventSequenceNo) | System generated sequential sub number of an adverse event | +|[ExpectedToxicity](#ExpectedToxicity) | Expected Toxicity of an adverse event | |[Label](#Label) | Measurement type `Long axis | Short axis | Long ? short axis` | |[LAB_RESULTS.LR_RESULT_GUID](#LAB_RESULTS.LR_RESULT_GUID) | MSK unique lab record number | |[LesionIdentifier](#LesionIdentifier) | Unique lesion identifier | |[IDB.Protocol](#IDB.Protocol) | MSK unique study number | |[InstanceNumber](#InstanceNumber) | ** | +|[Intervention](#Intervention) | Adverse Event Intervention | |[Modality](#Modality) | Type of scan `OT | MR | PT | CT` | |[Name](#Name) | Assessment name `Baseline | Follow-up {1-25}` | -|[Organ](#Organ) | Free text organ | +|[Organ](#Organ) | Free text organ | +|[Race](#Race) | Patient Race | |[RevisionNumber](#RevisionNumber) | Case revision number
Only the highest revision number is available at any given time | |[RevisionDate](#RevisionDate) | Assessment revision date | |[SeriesDescription](#SeriesDescription) | | |[SeriesNumber](#SeriesNumber) | | |[SponsorID](#SponsorID) | Sponsor Study Number | |[StartDate](#StartDate) | Adverse event start date as it appears in the source system | +|[StopDate](#StopDate) | Adverse event stop date as it appears in the source system | |[State](#State) | | +|[SubjectStudyId](#SubjectStudyId) | MSK unique study number | |[Timepoint](#Timepoint) | | |[TrialArmName](#TrialArmName) | Assessment criteria
Currently only supporting `RECIST 1.1` | |[TrialName](#TrialName) | MSK unique study number as entered in source system | |[Unit](#Unit) | Unit of measurement | -|[Verified](#Verified) | Whether or not an event was verified in the source system | +|[UpdatedBy](#UpdatedBy) | Updated By as recorded in the source system | +|[UpdatedDate](#UpdatedDate) | Updated Date as recorded in the source system | +|[VerifiedIndicator](#VerifiedIndicator) | Whether or not an event was verified in the source system | diff --git a/mkdocs.yml b/mkdocs.yml index 742a60f385e..8d7205e1edb 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -27,12 +27,14 @@ nav: - "Available Resources": - "Adverse Event": resources/adverse-event.md - "Diagnostic Report (Response)": resources/diagnostic-report.md + - "Group": resources/group.md - "Patient (Demographics)": resources/patient.md - "Medication Statement": resources/medications.md - "Observation (Labs)": resources/lab-result.md - "Observation (Vitals)": resources/vital-sign.md - "Observation (Response Imaging)": resources/imaging.md - Structure Definitions: structure-definitions.md + - Errors: errors.md - "Release Notes": release-notes.md - "Contact Us": contact-us.md markdown_extensions: diff --git a/site/404.html b/site/404.html index f394dc8ad2a..20dce143dc8 100644 --- a/site/404.html +++ b/site/404.html @@ -8,8 +8,10 @@ + + - + @@ -17,13 +19,10 @@ - - - - - + + @@ -38,24 +37,22 @@ - + + - - - - - - + + + @@ -69,7 +66,9 @@ -
+ + +