Giter Club home page Giter Club logo

sagerx's Introduction

๐ŸŒฟ SageRx

SageRx is a medication ontology and medication-related data aggregator created from many different public sources of data.

Including data from DailyMed, FDA, RxNorm, Orange Book, and more!

SageRx uses Airflow to schedule jobs to extract, load, and transform (using dbt) open drug data.

Airflow

Data ends up in a PostgreSQL database and can be queried using pgAdmin (included with SageRx) or via any SQL editor of your choice.

Postgre

Additional Documentation

We will be moving documentation over to Github, but additional documentation exists on the SageRx Website.

Subscribe to our newsletter to keep ontop of updates.

License

Contributing

We would love to see you contribute to SageRx. Join our Slack channel to get involved.

Style Guide: How we think about the structure and naming conventions of SageRx.

Development Quickstart

Prerequisites

  • Install Docker.
    • Windows users will also install WSL 2 (a Linux subsystem that runs on Windows) as part of this process.

Installation

  1. Clone the repo.
  2. Add a .env file at the root of the repo.
  3. Add ENV vars to the .env file.
    • AIRFLOW_UID=<uid> - UID can be found by running id -u on linux systems, typically the first user on the system is 1000 or 1001.
      • Windows users following the Docker Desktop install guide should have WSL 2 installed. You can open up command line, type wsl and then within WSL 2, you can enter id -u to see your UID.
    • UMLS_API=<umls_api_key> - if you want to use RxNorm, you need an API key from UMLS.
  4. Make sure Docker is installed
  5. Run docker-compose up airflow-init.
  6. Run docker-compose up.

NOTE: if you have an M1 Mac export DOCKER_DEFAULT_PLATFORM=linux/amd64, and re-build your images

NOTE 2: if you're running WSL1/2 you may need to use docker compose rather than docker-compose per this

Server URLs

  • Airflow UI is hosted on localhost:8001 or 0.0.0.0:8001
    • Username/password = airflow / airflow
  • PgAdmin is hosted on localhost:8002 or 0.0.0.0:8002
    • Username/password = sagerx / sagerx

Using dbt

On docker-compose up a dbt container will be created to be used for cli commands. To enter commands run docker exec -it dbt /bin/bash. This will place you into a bash session in the dbt container. Then you can run dbt commands as you normally would.

To serve dbt documentation locally, enter the commands in the dbt container dbt docs generate then dbt docs serve --port 8081. They should generate on http://localhost:8081

Integrating with AWS

The export_marts DAG is implemented to allow users to push .csv versions of the marts-layer tables to an AWS S3 bucket of their choosing. The DAG is currently configured to export 2 tables from the sagerx_dev schema: all_ndc_descriptions and atc_codes_to_rxnorm_products. Future iterations may allow for more schemas/tables as demand dictates. If a user wishes to get .csv copies of those tables pushed to an AWS S3 bucket, they will need to add an additional 3 variables to their .env file (continuing from the Installation instructions):

  • ACCESS_KEY = 'your-aws-access-key-id'
  • SECRET_ACCESS_KEY = 'your-aws-secret-access-key-id'
  • DEST_BUCKET = 'the-name-of-your-aws-bucket'

The access and secret-access keys can be found in 2 ways:

  1. If the user has the AWS CLI tools installed, simply type from Mac/Linux command prompt OR Windows Powershell:
  • cat ~/.aws/credentials
  1. If the user does not have AWS CLI tool installed or is unfamiliar with such, it is possible you would have saved your credentials in a location on your local machine - the file will be named after the IAM User in your AWS account, something like 'username_accessKeys.csv'. If you can't find that file, simply create a new set by following this procedure:
  • Log in to the AWS console
  • Search 'IAM' in the search bar and select the IAM Service --> the IAM Dashboard is displayed
  • In the 'IAM resources' box, click on the number beneath 'Users' --> all IAM users are displayed
  • choose the user with permissions in accordance with your needs (this will typically be the user with administrator access, but the only IAM User permission that is required is Read/Write permissions on your S3 bucket)
  • Within the user page, click on 'Security Credentials', and scroll down to the box titled 'Access Keys'
    • NOTE: A single user can only have 2 valid sets of login credentials at any one time. If you already have 2, you will need to either delete one or create a new user for this application
    • NOTE: Once you have created a set of credentials, you only have 1 opportunity to view/save those credentials from the AWS UI. you should therefore be sure to save the .csv file in safe place.
  • Click 'Create access key', select the 'Command Line Interface' option, click Next, fill in a name for the keys, click 'Create access keys', then download the .csv file and save it in safe place
  • Open the .csv file, then paste the access key and secret access key into the .env file as described above

Troubleshooting

If you get issues on folder permissions:

sudo chmod -R 777 postgres,data,extracts,logs,plugins

If you get trouble from the postgres container with errors such as password authentication failed for user "airflow" or role "airflow" does not exist, these are all from the same issue that postgres is not setting itself up correctly. This is because of a file permission issue solved by running chmod +x ./postgres/0_pg_stat_statement.sh. You might need to remove any existing database configuration with rm -rf airflow/data and docker-compose down --volumes.

sagerx's People

Contributors

bridg109 avatar jrlegrand avatar komal77rao avatar leemlb06pmi avatar lprzychodzien avatar riverspharmd avatar yevgenybulochnik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

sagerx's Issues

Get DailyMed other mapping files - RxNorm

Problem Statement

Need mapping files to map SPLs to RxNorm RXCUIs. Also could be beneficial to get the other mapping files as well.

  • RxNorm mappings
  • Pharmacologic class mappings
  • DM zip files metadata

Criteria for Success

Success if we can map SCD RXCUI to all SPLs for that SCD. Bonus points if we can map an IN or MIN RXCUI to SCD to SPL ID.

Additional Information

image
File info: https://dailymed.nlm.nih.gov/dailymed/app-support-mapping-files.cfm
Actual downloadable files: https://dailymed.nlm.nih.gov/dailymed/spl-resources-all-mapping-files.cfm

DAGs not scheduling

Problem Statement

Dags are currently not scheduling for future runs. This is an issue as it means data sets will not update

Criteria for Success

get dags to run at schedule intervals

Additional Information

See comments below for thoughts

Issues not auto-closing with PR merge

Problem Statement

PR template needs to be adjusted so that linked issues auto-close when PR is merged

Criteria for Success

Issues auto-close when PR is merged

Additional Information

None reviewed as only minor word adjustment is required for fix

Trigger DAG / Task based on completion of two different DAGs / Tasks

Problem Statement

In situations where we want to create a table or view view that combines two data sources, we need to know if and when both of those data sources complete updating. They could either be completely missing, or recently updated. We need a way to trigger the creation of that table or view only when the dependent tables exist, and in the case of creating a table, we want to re-create that table every time the dependent data sources are updated.

Criteria for Success

For a view, it is only created when both dependent data sources exist.
For a table, it is only created when both dependent data sources exist, and it is automatically updated after any of its dependent data sources are updated.

Additional Information

๐Ÿ‘‰ This looks helpful: https://airflow.apache.org/docs/apache-airflow/stable/howto/operator/external_task_sensor.html

This is the closest thing I've found to a clue for this: https://airflow.apache.org/docs/apache-airflow/stable/concepts/dags.html#dag-dependencies

ExternalTaskSensor
https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/sensors/external_task/index.html?highlight=externaltasksensor#airflow.sensors.external_task.ExternalTaskSensor

TriggerDagRunOperator
https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/operators/trigger_dagrun/index.html#airflow.operators.trigger_dagrun.TriggerDagRunOperator

Connect to SageRx to query from Azure Data Studio (or SSMS)

Proposal

Would like to be able to connect to the Postgres DB directly from something like Azure Data Studio so I can write queries outside of PGAdmin.

Rationale

I would like to be able to save files on my computer so they don't get lost every time I docker-compose down and back up again. Also, I think I would use some of the SQL Notebook functionality with Azure Data Studio for analysis I'm doing.

default_arg replacer function

Proposal

Create a function to replace or add key-value pairs to the default_arg dict in dynamic_ds_dag.

Rationale

This will allow overriding of the common set args (or use of additional default args) by adding matching keys in the data_set_list dictionaries, which should add more features we can adjust per data set in this dynamic dag

dailymed

Proposal

incorporate dailymed into sagerx

Rationale

dailymed is a trove of drug data. Parsing this will be super helpful and add a lot of information to sagerx

Things to extract

  • Package Image to SPL/NDC mapping
  • Product Identification marks
  • Package Size
  • box warnings
  • mfg by mfg for
  • inactive ingredients

NPPES NPI Data

Proposal

Obtain the NPPES NPI Dataset

Rationale

Contains lots of information on NPIs

Integrate Apache Superset for visualizations and dashboards

Proposal

Integrate a docker container for Apache Superset. This will allow us to create dashboards and visualizations - not only for medication data but also for business metadata if we want to also capture that using Airflow and store it in a database and visualize it on some sort of admin dashboard (i.e. Google Analytics info / Slack channel info / idk)

Rationale

Good to have dashboards. Not huge hurry.

Configure pgAdmin server by default

Problem Statement

I have to set up the server in pgAdmin every time I spin up the container.

Criteria for Success

This would be done automatically.

Additional Information

This worked at one point, but I think a change happened and broke it.

SQL sorter (selection method)

Proposal

Build a function to sort SQL statements based on table dependency. This should use objects to manage sql data.

Rationale

This should be used to simplify the code in dynamic dag. It will easy the development of future data sets by handling the sql run order instead of devs managing this.

Convert FDA marketingdates to actual dates

Problem Statement

When trying to find startmarketingdates in the past 90 days, you have to convert the string date YYYYMMDD to a working date. Perhaps it would be easier if we did that as part of staging.

Criteria for Success

Make a (separate? or replace?) column for each date in the FDA files that is the correct DATETIME format for Postgres.

Additional Information

Alternatively, we just convert this with each query.

RxNorm to complete NDC HCPCS walk

Proposal

CMS quarterly HCPCS does not contain all NDC available for a specific HCPCS code. Use RxNorm mapping to complete CMS mapping

Rationale

assessment of NDC level claims data will has potential for missing values if CMS quarterly file alone is used. Completing the mapping using similarity test in RxNorm will improve analysis from this data set

Create some RxNorm views

Problem Statement

I have found it annoying to write RxNorm queries still - even with the reconfiguration. Would be nice to have some views for the more common pathways through the data.

Criteria for Success

Example views:

  • clinical product to ingredient
  • clinical product to ingredient strengths
  • brand products with generics

Additional Information

These would be in the public schema.

Postgres Flat file Volume permissions

Problem Statement

Currently we are binding a volume in the postgres container for flat file creation. This volume is created using the airflow-init command and has permissions set with chmod o+rw. We should explore adjusting this to have more specific permissions.

Criteria for Success

Potentially set UID:GID in the postgres container, but need to explore this issue further

Additional Information

Random Reference

Review options to manage disk space

Proposal

With all of these datasets our data storage will be rather large. Even more so if we plan to archive old data sets. Review and consider options to reduce the storage space required
-Downloaded dataset storage

  • conversion to parquet or other super compressed file size
  • deleting datasets after load to DB
  • archiving datasets on separate storage device after load
  • delete unused parts of downloaded dataset (ie dailymed pics)

-Database Storage options

  • column storage database implementation
  • column data type management to reduce size

Rationale

Storage costs money

Include RxNorm legalese somewhere

Problem Statement

RxNorm asks that this statement be included in any product that uses its data.

RXNORM SPECIFIC TERMS

A free UMLS License is required to download the full RxNorm releases.
We request that any product that makes use of RxNorm data include the following statement:
"This product uses publicly available data courtesy of the U.S. National Library of Medicine (NLM), National Institutes of Health, Department of Health and Human Services; NLM is not responsible for the product and does not endorse or recommend this or any other product."

Criteria for Success

Figure out where to put this.

Additional Information

RxNorm Terms of Service

Hosting Sagerx

Proposal

Topic discussion around hosting.

Questions:

  1. Should we self host?
  2. If its going with a cloud provider which one?
    • AWS
    • GCP
    • AZURE
    • Digital Ocean
  3. What do we want to actually expose publicly?
    • Postgres directly
    • PG Admin directly
    • Airflow UI
  4. Should we actually not host anything initially and just setup a site for flat files?
  5. Do we need a separate SagerX website vs connecting to everything listed in 3?

CMS MUE files

Proposal

Digest CMS MUE files. Store historical context for historical assessment

Rationale

MUE determine drug administration limits for Medicare part b plans. These can be used to quickly review and assess drug admins for payments

Postgres and pgadmin logging

Proposal

Set up docker so postgres and pgadmin logs to the logs volume

Rationale

So we can monitor what is happening in postgres and pgadmin as we open this to users

Add more staging to rxnorm

Proposal

  • Consider clinical_product_rxcui to datasource.rxnorm_brand_product table. So a search on brand name can be joined to get all related clinical ndcs

Rationale

improves mapping

Adoption of Pendulum package for datetime management

Proposal

Review and consider using the Pendulum package for all airflow datetime management functions. This is currently what airflow has in stock macros as class for datetime (the other options are strings).

Rationale

This seems to be the most native way to doing datetime things in airflow since the pendulum objects are used as standard macro/template elements. Pendulum community is not nearly as robust as datetime and might result in us having to develop more of our own code to do things. If we go this route could consider some blog post to add to the pendulum community as well as help cover a gap in airflow documentation.

Convert FDA deaschedule to numbers

Problem Statement

Right now, FDA stores DEA CS schedule as roman numerals. Might be value-added to convert to numbers in case an application wants to calculate something based on CS schedule.

Criteria for Success

CII -> 2
CIII -> 3
CIV -> 4
CV -> 5

Would probably create a separate column for this.

Additional Information

I think RxNorm stores this information as well - not sure if it is numeric.

Hosting Frontend

Problem Statement

We need to decide what we are going to use for a front end. Part of this will hinge on if we want to collect information from users right off the bat.

Questions:

  • Do we want user logins?
  • Do we care about SEO?
  • Do we want to have other content beyond flat files and an API?
  • If we create the api part later should that actually drive user auth?

Criteria for Success

No measurable outcome yet, open discussion about pros and cons

Additional Information

Possible front ends:

Incorrect schedule showing in airflow

Problem Statement

The schedule interval that is showing in airflow is not correct. It always shows 1 day

Criteria for Success

Schedule interval shows what is in ds_dict

Additional Information

set schedule_interval in dag construction

Add RxNorm indicators for obsolete and prescribable

Problem Statement

Sometimes products seem to be missing info but when I check RxNav, they are obsolete. We need an indicator for this in our data.

Criteria for Success

Filtering by obsolete or prescribable is possible using just our data source.

Additional Information

4096 in some column indicates prescribable - I think an attribute indicates obsolete.

Get DailyMed indexing and REMS files

Problem Statement

DailyMed has lots of other files that could be useful.

These all seem to be like 3 zip files nested each.

Criteria for Success

We have all these files in SageRx:

Billing unit
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="http://www.accessdata.fda.gov/spl/stylesheet/spl.xsl" type="text/xsl"?>
  <document xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:hl7-org:v3 http://www.accessdata.fda.gov/spl/schema/spl.xsd">
     <id root="0a0ae7ff-6406-41ac-86a5-c508201187a0"/>
     <code code="71446-9" codeSystem="2.16.840.1.113883.6.1" displayName="Indexing - Billing Unit"/>
     <title/>
     <effectiveTime value="20120724"/>
     <setId root="0a0ae7ff-6406-41ac-86a5-c508201187a0"/>
     <versionNumber value="1"/>
     <author>
        <assignedEntity>
           <representedOrganization>
              <id root="1.3.6.1.4.1.519.1" extension="021660014"/>
              <name>National Council for Prescription Drug Programs</name>
           </representedOrganization>
        </assignedEntity>
     </author>
     <component>
        <structuredBody>
           <component>
              <section>
                 <id root="4defbb41-3bf7-4e87-a9f7-1930c9df8bd2"/>
                 <code code="48779-3" codeSystem="2.16.840.1.113883.6.1" displayName="SPL indexing data elements section"/>
                 <title/>
                 <text/>
                 <effectiveTime value="20120724"/>
                 <subject>
                    <manufacturedProduct>
                       <manufacturedProduct>
                          <asContent>
                             <containerPackagedProduct>
                                <code code="0069-3150-83" codeSystem="2.16.840.1.113883.6.69"/>
                             </containerPackagedProduct>
                             <subjectOf>
                                <characteristic>
                                   <code code="NCPDPBILLINGUNIT" codeSystem="2.16.840.1.113883.1.11.19255"/>
                                   <value code="EA" codeSystem="2.16.840.1.113883.2.13" xsi:type="CE"/>
                                </characteristic>
                             </subjectOf>
                          </asContent>
                       </manufacturedProduct>
                    </manufacturedProduct>
                 </subject>
              </section>
           </component>
        </structuredBody>
     </component>
  </document>
Biologic or drug substance
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="http://www.accessdata.fda.gov/spl/stylesheet/spl.xsl" type="text/xsl"?>
<document xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:hl7-org:v3 http://www.accessdata.fda.gov/spl/schema/spl.xsd">
   <id root="d24e4006-037b-4046-8604-e902a0e6c22f"/>
   <code code="77648-4" codeSystem="2.16.840.1.113883.6.1" displayName="INDEXING - BIOLOGIC OR DRUG SUBSTANCE"/>
   <title/>
   <effectiveTime value="20150803"/>
   <setId root="7a9f41b5-2f8c-450f-80cb-613747eda56a"/>
   <versionNumber value="2"/>
   <author>
      <assignedEntity>
         <representedOrganization>
            <id root="1.3.6.1.4.1.519.1" extension="927645523"/>
            <name>Food and Drug Administration</name>
         </representedOrganization>
      </assignedEntity>
   </author>
   <relatedDocument typeCode="XCRPT">
      <relatedDocument>
         <setId root="fe707775-a0ae-41b5-a744-28c41889fce8"/>
      </relatedDocument>
   </relatedDocument>
   <component>
      <structuredBody>
         <component>
            <section>
               <id root="e107eb55-77e4-4fe1-afe0-b495e5929251"/>
               <code code="48779-3" codeSystem="2.16.840.1.113883.6.1" displayName="SPL indexing data elements section"/>
               <title/>
               <text/>
               <effectiveTime>
                  <low value="20150803"/>
               </effectiveTime>
               <subject>
                  <manufacturedProduct>
                     <manufacturedProduct>
                        <name>ZARXIO</name>
                        <ingredient classCode="ACTIB">
                           <ingredientSubstance>
                              <code code="PVI5M0M1GW" codeSystem="2.16.840.1.113883.4.9"/>
                              <name>filgrastim</name>
                           </ingredientSubstance>
                           <subjectOf>
                              <substanceSpecification>
                                 <code code="PVI5M0M1GW-SNDZ-1" codeSystem="2.16.840.1.113883.3.6277" displayName="filgrastim-SNDZ"/>
                              </substanceSpecification>
                           </subjectOf>
                        </ingredient>
                     </manufacturedProduct>
                     <subjectOf>
                        <approval>
                           <id extension="BLA125553" root="2.16.840.1.113883.3.150"/>
                           <code code="C73585" codeSystem="2.16.840.1.113883.3.26.1.1" displayName="BLA"/>
                           <author>
                              <territorialAuthority>
                                 <territory>
                                    <code code="USA" codeSystem="2.16.840.1.113883.5.28"/>
                                 </territory>
                              </territorialAuthority>
                           </author>
                        </approval>
                     </subjectOf>
                  </manufacturedProduct>
               </subject>
            </section>
         </component>
      </structuredBody>
   </component>
</document>
- FDA-initiated compliance action - drug listing
Pharmacologic class

NOTE: Is this the same as FDA info? EPC, etc? Anything value added here?

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="http://www.accessdata.fda.gov/spl/stylesheet/spl.xsl" type="text/xsl"?>
<document xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:hl7-org:v3 http://www.accessdata.fda.gov/spl/schema/spl.xsd">
   <id root="adb5537a-3c3c-4fde-8012-0794e772ed61"/>
   <code code="60685-5" codeSystem="2.16.840.1.113883.6.1" displayName="Indexing - Pharmacologic Class"/>
   <title>NORETHINDRONE Pharmacologic Class Indexing</title>
   <effectiveTime value="20101101"/>
   <setId root="0b0509d0-6594-4336-9424-5115d3b194d7"/>
   <versionNumber value="1"/>
   <author>
      <time/>
      <assignedEntity>
         <representedOrganization>
            <id root="1.3.6.1.4.1.519.1" extension="927645523"/>
            <name>Food and Drug Administration</name>
         </representedOrganization>
      </assignedEntity>
   </author>
   <component>
      <structuredBody>
         <component>
            <section>
               <id root="bc738ab8-97bd-4a13-8be1-f1458dab4882"/>
               <code code="48779-3" codeSystem="2.16.840.1.113883.6.1" displayName="SPL indexing data elements section"/>
               <title/>
               <text/>
               <effectiveTime value="20101101"/>
               <subject>
                  <identifiedSubstance>
                     <id extension="T18F433X4S" root="2.16.840.1.113883.4.9"/>
                     <identifiedSubstance>
                        <code code="T18F433X4S" codeSystem="2.16.840.1.113883.4.9"/>
                        <name use="L">NORETHINDRONE</name>
                        <asSpecializedKind>
                           <generalizedMaterialKind>
                              <code code="N0000011301" codeSystem="2.16.840.1.113883.3.26.1.5" displayName="Progesterone Congeners [Chemical/Ingredient]"/>
                           </generalizedMaterialKind>
                        </asSpecializedKind>
                        <asSpecializedKind>
                           <generalizedMaterialKind>
                              <code code="N0000175602" codeSystem="2.16.840.1.113883.3.26.1.5" displayName="Progestin [EPC]"/>
                              <name use="L">progestin</name>
                           </generalizedMaterialKind>
                        </asSpecializedKind>
                     </identifiedSubstance>
                  </identifiedSubstance>
               </subject>
            </section>
         </component>
      </structuredBody>
   </component>
</document>
  • Product concept
REMS and REMS indexing

NOTE: also comes with PDF files (see attached example for suboxone-subutex)
suboxone-subutex-2016-07-07-dear-pharmacist-letter.pdf
suboxone-subutex-2016-07-07-dear-prescriber-letter.pdf
suboxone-subutex-2016-07-07-pharmacist-brochure-office-based.pdf
suboxone-subutex-2016-07-07-prescriber-brochure-office-based.pdf
suboxone-subutex-2016-07-07-appropriate-use-checklist.pdf

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="http://www.accessdata.fda.gov/spl/stylesheet/spl.xsl" type="text/xsl"?>
<document xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:hl7-org:v3 http://www.accessdata.fda.gov/spl/schema/spl.xsd">
   <id root="39878815-10aa-405c-a9d4-c9d6feb241b9"/>
   <code code="82351-8" codeSystem="2.16.840.1.113883.6.1" displayName="Risk Evaluation &amp; Mitigation Strategies"/>
   <title>Risk Evaluation and Mitigation Strategy (REMS) Document SUBOXONE and SUBUTEX (buprenorphine and naloxone/buprenorphine) REMS Program</title>
   <effectiveTime value="20160707"/>
   <setId root="3b158d87-d733-4ee3-8c31-5ba8b51545a8"/>
   <versionNumber value="2"/>
   <author>
      <assignedEntity>
         <representedOrganization>
            <id root="1.3.6.1.4.1.519.1" extension="797408549"/>
            <name>INDIVIOR Inc.</name>
         </representedOrganization>
      </assignedEntity>
   </author>
   <relatedDocument typeCode="SUBJ">
      <relatedDocument>
         <setId root="8a5edcf9-828c-4f97-b671-268ab13a8ecd"/>
      </relatedDocument>
   </relatedDocument>
   <relatedDocument typeCode="SUBJ">
      <relatedDocument>
         <setId root="4b9b43c4-293e-4323-a1a1-9a2f6a16ac39"/>
      </relatedDocument>
   </relatedDocument>
   <relatedDocument typeCode="SUBJ">
      <relatedDocument>
         <setId root="27677612-2c5a-4bbe-893f-6bb9e1205239"/>
      </relatedDocument>
   </relatedDocument>
   <component>
      <structuredBody>
         <component>
            <section>
               <id root="93684578-b36b-4b7b-8926-0f357e530a2a"/>
               <code code="48780-1" codeSystem="2.16.840.1.113883.6.1" displayName="SPL PRODUCT DATA ELEMENTS SECTION"/>
               <effectiveTime value="20170601"/>
               <subject>
                  <manufacturedProduct>
                     <manufacturedProduct>
                        <name>Suboxone</name>
                        <formCode code="C42984" codeSystem="2.16.840.1.113883.3.26.1.1" displayName="FILM, SOLUBLE"/>
                        <asEntityWithGeneric>
                           <genericMedicine>
                              <name>buprenorphine hydrochloride, naloxone hydrochloride</name>
                           </genericMedicine>
                        </asEntityWithGeneric>
                     </manufacturedProduct>
                     <subjectOf>
                        <approval>
                           <id extension="NDA022410" root="2.16.840.1.113883.3.150"/>
                           <code code="C73594" codeSystem="2.16.840.1.113883.3.26.1.1" displayName="NDA"/>
                           <holder>
                              <role>
                                 <playingOrganization>
                                    <id root="1.3.6.1.4.1.519.1" extension="797408549"/>
                                    <name>INDIVIOR Inc.</name>
                                 </playingOrganization>
                              </role>
                           </holder>
                           <author>
                              <territorialAuthority>
                                 <territory>
                                    <code code="USA" codeSystem="2.16.840.1.113883.5.28"/>
                                 </territory>
                              </territorialAuthority>
                           </author>
                        </approval>
                     </subjectOf>
                  </manufacturedProduct>
               </subject>
               <subject>
                  <manufacturedProduct>
                     <manufacturedProduct>
                        <name>Suboxone</name>
                        <asEntityWithGeneric>
                           <genericMedicine>
                              <name>buprenorphine hydrochloride, naloxone hydrochloride</name>
                           </genericMedicine>
                        </asEntityWithGeneric>
                     </manufacturedProduct>
                     <subjectOf>
                        <approval>
                           <id extension="NDA020733" root="2.16.840.1.113883.3.150"/>
                           <code code="C73594" codeSystem="2.16.840.1.113883.3.26.1.1" displayName="NDA"/>
                           <holder>
                              <role>
                                 <playingOrganization>
                                    <id root="1.3.6.1.4.1.519.1" extension="797408549"/>
                                    <name>INDIVIOR Inc.</name>
                                 </playingOrganization>
                              </role>
                           </holder>
                           <author>
                              <territorialAuthority>
                                 <territory>
                                    <code code="USA" codeSystem="2.16.840.1.113883.5.28"/>
                                 </territory>
                              </territorialAuthority>
                           </author>
                        </approval>
                     </subjectOf>
                  </manufacturedProduct>
               </subject>
               <subject>
                  <manufacturedProduct>
                     <manufacturedProduct>
                        <name>Subutex</name>
                        <asEntityWithGeneric>
                           <genericMedicine>
                              <name>buprenorphine hydrochloride</name>
                           </genericMedicine>
                        </asEntityWithGeneric>
                     </manufacturedProduct>
                     <subjectOf>
                        <approval>
                           <id extension="NDA020732" root="2.16.840.1.113883.3.150"/>
                           <code code="C73594" codeSystem="2.16.840.1.113883.3.26.1.1" displayName="NDA"/>
                           <holder>
                              <role>
                                 <playingOrganization>
                                    <id root="1.3.6.1.4.1.519.1" extension="797408549"/>
                                    <name>INDIVIOR Inc.</name>
                                 </playingOrganization>
                              </role>
                           </holder>
                           <author>
                              <territorialAuthority>
                                 <territory>
                                    <code code="USA" codeSystem="2.16.840.1.113883.5.28"/>
                                 </territory>
                              </territorialAuthority>
                           </author>
                        </approval>
                     </subjectOf>
                  </manufacturedProduct>
               </subject>
            </section>
         </component>
         <component>
            <section ID="s1">
               <id root="d3b77d11-4d4d-4a9a-9f5b-59d91a0b583c"/>
               <code code="42229-5" codeSystem="2.16.840.1.113883.6.1" displayName="SPL UNCLASSIFIED SECTION"/>
               <title/>
               <text>
                  <paragraph>
                     <content styleCode="bold">Initial REMS Approval: 08/2010</content>
                     <br/>
                     <br/>
                     <content styleCode="bold">Most Recent Modification: 07/2016</content>
                     <br/>
                     <br/>
                     <content styleCode="bold">NDA 022410, NDA 020733, NDA020732</content>
                     <br/>
                     <br/>
                     <content styleCode="bold">SUBOXONE<sup>ยฎ</sup> (buprenorphine and naloxone) sublingual film CIII</content>
                     <br/>
                     <content styleCode="bold">SUBOXONE<sup>ยฎ</sup> (buprenorphine and naloxone) sublingual tablet CIII</content>
                     <br/>
                     <content styleCode="bold">SUBUTEX<sup>ยฎ</sup> (buprenorphine) sublingual tablet CIII</content>
                     <br/>
                     <br/>INDIVIOR Inc.<br/>
                     <br/>
                     <content styleCode="bold">Risk Evaluation and Mitigation Strategy (REMS)</content>
                  </paragraph>
               </text>
               <effectiveTime value="20170601"/>
            </section>
         </component>
         <component>
            <section ID="s2">
               <id root="494c42b2-e996-474f-91f0-d2ee5613654f"/>
               <code code="82349-2" codeSystem="2.16.840.1.113883.6.1" displayName="REMS Goals"/>
               <title>I. GOALS</title>
               <text>
                  <paragraph>The goals  of  the  REMS  for  SUBOXONE  sublingual  film,  SUBOXONE  sublingual  tablets  and   SUBUTEX  sublingual  tablets  are  to:</paragraph>
                  <list listType="unordered" styleCode="Disc">
                     <item>Mitigate the risks  of  accidental  overdose,  misuse  and  abuse</item>
                     <item>Inform prescribers, pharmacists, and patients  of  the  serious  risks  associated  with  SUBOXONE  sublingual  film,  SUBOXONE  sublingual  tablets  and  SUBUTEX  sublingual  tablets</item>
                  </list>
               </text>
               <effectiveTime value="20170601"/>
            </section>
         </component>
         <component>
            <section ID="s3">
               <id root="2cfe6406-075d-4a9e-bdd0-4110e2523854"/>
               <code code="82348-4" codeSystem="2.16.840.1.113883.6.1" displayName="REMS Elements"/>
               <title>II. REMS ELEMENTS</title>
               <effectiveTime value="20170601"/>
               <component>
                  <section ID="s4">
                     <id root="28d70d4f-5219-4a84-a1f5-8188986c434c"/>
                     <code code="82598-4" codeSystem="2.16.840.1.113883.6.1" displayName="REMS MEDICATION GUIDE"/>
                     <title>A. Medication Guide</title>
                     <text>
                        <paragraph>A  Medication  Guide  will  be  dispensed  with  each  SUBOXONE  sublingual  film,  SUBOXONE  sublingual  tablets  and  SUBUTEX  sublingual  tablets  prescription  in  accordance  with  21  CFR  208.24.</paragraph>
                        <paragraph>The  Medication  Guides  for  buprenorphine-containing  products  are  part  of  the SUBOXONE  sublingual  film,  SUBOXONE  sublingual  tablets  and  SUBUTEX  sublingual  tablets  REMS  and  will  be  provided  with  the  product  and   is also  available  by  going  online  to  www.suboxoneREMS.com  or  calling  1-866-463-4846</paragraph>
                     </text>
                     <effectiveTime value="20170601"/>
                  </section>
               </component>
               <component>
                  <section ID="s5">
                     <id root="7b664d6e-f1bd-4c9d-a12f-73cd5b53f725"/>
                     <code code="82345-0" codeSystem="2.16.840.1.113883.6.1" displayName="REMS ELEMENTS TO ASSURE SAFE USE"/>
                     <title>B. Elements to Assure Safe Use</title>
                     <text>
                        <list listType="ordered" styleCode="Arabic">
                           <item>
                              <content styleCode="bold">Safe  use  conditions</content>
                              <list listType="ordered" styleCode="LittleAlpha">
                                 <item>SUBOXONE  sublingual  film,  SUBOXONE  sublingual  tablets  and  SUBUTEX  sublingual  tablets  will  only  be  dispensed  by  the  prescriber  or  prescribed  to  patients  with  documentation  of  the  following  safe  use  conditions:
                                                                                        <list listType="ordered" styleCode="LittleRoman">
                                       <item>Verification  that  the  patient  meets  the  diagnostic  criteria  for  opioid  dependence.</item>
                                       <item>Risks  described  in  the  professional  labeling  and  the  Medication  Guide  have  been  discussed  with  the  patient.</item>
                                       <item>Safe  storage  of  the  medication  has  been  explained  and  reviewed  with  the  patient.</item>
                                       <item>After  appropriate  induction,  the  patient   is prescribed   a limited  amount  of  medication  at  the  first  visit.</item>
                                    </list>
                                 </item>
                                 <item>Prescribers  will  document  safe  use  conditions  for  each  patient  by  using  the  'Appropriate  Use  Checklist,'  or  by  using  another  method  (e.g.  electronic  health  record)  specific  to  the  prescriber's  office  practice.</item>
                                 <item>Indivior  Inc.  will  ensure  that  within  30  days  of  FDA  approval  of  the  SUBOXONE  sublingual  film,  SUBOXONE  sublingual  tablets  and  SUBUTEX  sublingual  tablets  REMS,   a Dear  Prescriber  Letter  will  be  mailed  to  all  physicians  certified  to  treat  opioid  dependence  under  the  Drug  Addiction  Treatment  Act  of  2000  (DATA  2000).  This  letter   is designed  to  convey  and  reinforce  the  risks  of  accidental  overdose,  misuse,  and  abuse  of  SUBOXONE  sublingual  film,  SUBOXONE  sublingual  tablets  and  SUBUTEX  sublingual  tablets,  as  well  as  the  need  to  appropriately  monitor  patients  and  document  safe  use  conditions.  The  prescriber  brochure,  Office-Based  Buprenorphine  Therapy  for  Opioid  Dependence:  Important  Information  for  Prescribers,  and  the  Appropriate  Use  Checklist  will  be  appended  to  the  Dear  Prescriber  Letter.  The  letter  will  provide  instructions  on  where  to  obtain  copies  of  the  Full  Prescribing  Information  and  Medication  Guide.   Mailings  will  occur  annually  thereafter.</item>
                                 <item>Indivior  Inc.  will,  on   a monthly  basis,  identify  any  newly  DATA 2000-certified  physicians  and  mail  the  applicable  documents  to  them.  The  prescriber  brochure,  Office-Based  Buprenorphine  Therapy  for  Opioid  Dependence:  Important  Information  for  Prescribers  will  be  appended  to  the  Dear Prescriber  Letter  as  well  as  the  Medication  Guide,  Full  Prescribing Information,  and  the  Appropriate  Use  Checklist.</item>
                                 <item>To  further  reinforce  safe  use  conditions,  Indivior  Inc.  will  ensure  that  within  30  days  of  FDA  approval  of  the  SUBOXONE  sublingual  film,  SUBOXONE  sublingual  tablets  and  SUBUTEX  sublingual  tablets  REMS,   a Dear  Pharmacist  Letter  will  be  mailed  to  all  pharmacists  on   a national  mailing  list  of  all  retail  pharmacies  authorized  by  DEA  to  handle  schedule   3 controlled  substances  on  a  national  mailing  list  from  the  National  Technical  Information  Service.  The  pharmacist  brochure,  Office-Based  Buprenorphine  Therapy  for  Opioid  Dependence:  Important  Information  for  Pharmacists  will  be  appended  to  the Dear  Pharmacist  Letter  as  well  as  the  Medication  Guide,  and  Full  Prescribing   Information.   Mailings  will  occur  annually  thereafter.</item>
                                 <item>Indivior  Inc.  will  make  the  letters  and  all  materials  that  are  appended  to  the  letters  available  through  its  toll-free  information  line,  through  its  field  personnel,  and  on  the  SUBOXONE  and  SUBUTEX  REMS  website.</item>
                              </list>
                           </item>
                           <item>
                              <content styleCode="bold">Monitoring</content>
                              <list listType="ordered" styleCode="LittleAlpha">
                                 <item>Each  patient  using  SUBOXONE  sublingual  film,  SUBOXONE  sublingual  tablets  and  SUBUTEX  sublingual  tablets  will  be  subject  to  the  following  monitoring:
                                                                                           <list listType="ordered" styleCode="LittleRoman">
                                       <item>Return  visits  are  scheduled  at  intervals  commensurate  with  patient  stability.   Weekly,  or  more  frequent,  visits  are  recommended  for  the  first  month.</item>
                                       <item>Assessment  and  reinforcement  of  patient's  compliance  with  the  prescribed  medication.</item>
                                       <item>Assessment  of  appropriateness  of  dosage  prescribed.</item>
                                       <item>Assessment  of  whether  patient   is receiving  the  necessary  psychosocial  support.</item>
                                       <item>Assessment  of  whether  patient   is making  adequate  progress  towards  treatment  goals.</item>
                                    </list>
                                 </item>
                                 <item>Prescribers  will  document  that  each  patient  has  received  the  required  clinical  monitoring  using  the  'Appropriate  Use  Checklist,'  or  by  using  another  method/system  (e.g.  electronic  health  record)  specific  to  the  prescriber's  office  practice.</item>
                              </list>
                              <paragraph>The  following  materials  are  part  of  the  REMS  and  are  appended  to  the  REMS  document:</paragraph>
                              <list listType="unordered" styleCode="Disc">
                                 <item>Dear  Prescriber  Letter</item>
                                 <item>Dear  Pharmacist  Letter</item>
                                 <item>Appropriate  Use  Checklist</item>
                                 <item>Prescriber  Brochure,  "Office-Based  Buprenorphine  Therapy  for  Opioid Dependence:  Important  Information  for  Prescribers"</item>
                                 <item>Pharmacist  Brochure,  "Office-Based  Buprenorphine  Therapy  for  Opioid Dependence:  Important  Information  for  Pharmacists"</item>
                                 <item>SUBOXONE  and  SUBUTEX  REMS  website  (www.suboxoneREMS.com)</item>
                              </list>
                           </item>
                        </list>
                     </text>
                     <effectiveTime value="20170601"/>
                  </section>
               </component>
               <component>
                  <section ID="s6">
                     <id root="5cb697e0-7b62-4ae4-8f64-eb7627cbacd4"/>
                     <code code="82350-0" codeSystem="2.16.840.1.113883.6.1" displayName="REMS IMPLEMENTATION SYSTEM"/>
                     <title>C. Implementation System:</title>
                     <text>
                        <paragraph>The  Implementation  System  includes  the  following:</paragraph>
                        <list listType="ordered" styleCode="Arabic">
                           <item>Indivior  Inc.  will  ensure  that  all  DATA  2000-certified  physicians  receive  the  Dear  Prescriber  Letter  with  the  appended  materials.</item>
                           <item>Indivior  Inc.  will  monitor  compliance  with  the  requirements  to  document  prescribing  and  dispensing  with  documentation  of  safe  use  conditions  through  surveys  of  patients  and  prescribers,  evaluations  of  health  care  utilization  databases,  and  ongoing  surveillance  (sources  including,  but  not  limited  to,  internet,  street  ethnography,  national  databases,  and  surveys  conducted  at  substance  abuse  treatment  programs).</item>
                           <item>Indivior  Inc.  will  monitor  and  evaluate  the  implementation  of  the  elements  to  assure  safe  use  provided  for  under  Sections  B1,  above,  and  in  the  manner  described  in  the  REMS  supporting  document,  and  will  take  reasonable  steps  to  improve  implementation  of  these  elements  to  meet  the  goals  of  the  REMS.</item>
                        </list>
                     </text>
                     <effectiveTime value="20170601"/>
                  </section>
               </component>
               <component>
                  <section ID="s7">
                     <id root="13d4d4b4-2599-4865-bb83-88bb40255780"/>
                     <code code="82352-6" codeSystem="2.16.840.1.113883.6.1" displayName="REMS TIMETABLE FOR SUBMISSION ASSESSMENTS"/>
                     <title>D. Timetable for Submission of Assessments</title>
                     <text>
                        <paragraph>Indivior  Inc.  will  submit  REMS  Assessments  to  FDA  at   6 months  and  at  12  months  for  the  first  year  from  the  date  of  approval  of  the  REMS,  then  annually  thereafter.   To  facilitate  inclusion  of  as  much  information  as  possible,  while  allowing  reasonable  time  to  prepare  the  submission,  the  reporting  interval  covered  by  each  assessment  will  conclude  no  earlier  than  60  days  before  the  submission  date  for  that  assessment.   Indivior  Inc.  will  submit  each  assessment  so   it will  be  received  by  the  FDA  on  or  before  the  due  date.</paragraph>
                     </text>
                     <effectiveTime value="20170601"/>
                  </section>
               </component>
               <component>
                  <section ID="s8">
                     <id root="3fcb95cf-4e92-484a-8145-0b94ccd65a8a"/>
                     <code code="82347-6" codeSystem="2.16.840.1.113883.6.1" displayName="REMS Summary"/>
                     <title>REMS Summary</title>
                     <text>
                        <paragraph/>
                     </text>
                     <effectiveTime value="20170601"/>
                     <component>
                        <section ID="s9">
                           <id root="9fc735e7-7fec-4e08-80e9-c1b984a922bc"/>
                           <code code="42229-5" codeSystem="2.16.840.1.113883.6.1" displayName="SPL UNCLASSIFIED SECTION"/>
                           <title>1.	Health Care Providers who prescribe or dispense Suboxone/Subutex  must: </title>
                           <text>
                              <table width="100%">
                                 <caption/>
                                 <tbody>
                                    <tr>
                                       <td styleCode="Botrule">Before treatment initiation (first dose)</td>
                                       <td styleCode="Botrule">
                                          <content ID="R001">1.	Assess the patient's condition to verify the patient meets the diagnostic criteria for opioid dependence.</content>
                                          <br/>
                                          <content ID="R002">2.	Counsel the patient on the risks described in the professional information and Medication Guide and safe storage of the medication.</content>
                                          <br/>
                                          <content ID="R003">3.	Complete the Appropriate Use Checklist. Retain a completed copy in the patient's record or by using another method (e.g. electronic health record) specific to the prescriber's office practice.</content>
                                       </td>
                                    </tr>
                                    <tr>
                                       <td styleCode="Botrule">During treatment; at the first visit following induction</td>
                                       <td styleCode="Botrule">
                                          <content ID="R004">4.	Prescribe a limited amount of medication</content>
                                       </td>
                                    </tr>
                                    <tr>
                                       <td styleCode="Botrule">During treatment; at a return visit scheduled at intervals commensurate with patient stability.</td>
                                       <td styleCode="Botrule">
                                          <content ID="R005">5.	Assess the patient's compliance with the prescribed medication, appropriateness of the dosage prescribed, whether patient is receiving the necessary psychosocial support, and whether patient is making adequate progress towards treatment goals.</content>
                                          <br/>
                                          <content ID="R006">6.	Complete the Appropriate Use Checklist. Retain a completed copy in the patient's record or by using another method (e.g. electronic health record) specific to the prescriber's office practice.</content>
                                       </td>
                                    </tr>
                                 </tbody>
                              </table>
                           </text>
                           <effectiveTime value="20170601"/>
                           <subject2>
                              <substanceAdministration>
                                 <componentOf>
                                    <sequenceNumber value="2"/>
                                    <protocol>
                                       <code code="C128530" codeSystem="2.16.840.1.113883.3.26.1.1" displayName="Pharmacotherapy Initiation"/>
                                       <component>
                                          <sequenceNumber value="1"/>
                                          <requirement>
                                             <code code="C128507" displayName="Assess Patient Condition or Health Status" codeSystem="2.16.840.1.113883.3.26.1.1">
                                                <originalText>
                                                   <reference value="#R001"/>
                                                </originalText>
                                             </code>
                                             <participation typeCode="PPRF">
                                                <stakeholder>
                                                   <code code="C128538" displayName="Medication Prescriber" codeSystem="2.16.840.1.113883.3.26.1.1"/>
                                                </stakeholder>
                                             </participation>
                                             <subject>
                                                <documentReference>
                                                   <id root="00000000-0000-0000-0000-000000000001"/>
                                                </documentReference>
                                             </subject>
                                          </requirement>
                                       </component>
                                       <component>
                                          <sequenceNumber value="1"/>
                                          <requirement>
                                             <code code="C128505" displayName="Counsel Patient" codeSystem="2.16.840.1.113883.3.26.1.1">
                                                <originalText>
                                                   <reference value="#R002"/>
                                                </originalText>
                                             </code>
                                             <participation typeCode="PPRF">
                                                <stakeholder>
                                                   <code code="C128538" displayName="Medication Prescriber" codeSystem="2.16.840.1.113883.3.26.1.1"/>
                                                </stakeholder>
                                             </participation>
                                             <subject>
                                                <documentReference>
                                                   <id root="00000000-0000-0000-0000-000000000001"/>
                                                </documentReference>
                                             </subject>
                                          </requirement>
                                       </component>
                                       <component>
                                          <sequenceNumber value="1"/>
                                          <requirement>
                                             <code code="C128508" displayName="Complete Patient Form" codeSystem="2.16.840.1.113883.3.26.1.1">
                                                <originalText>
                                                   <reference value="#R003"/>
                                                </originalText>
                                             </code>
                                             <participation typeCode="PPRF">
                                                <stakeholder>
                                                   <code code="C128538" displayName="Medication Prescriber" codeSystem="2.16.840.1.113883.3.26.1.1"/>
                                                </stakeholder>
                                             </participation>
                                             <subject>
                                                <documentReference>
                                                   <id root="00000000-0000-0000-0000-000000000006"/>
                                                </documentReference>
                                             </subject>
                                          </requirement>
                                       </component>
                                       <component>
                                          <sequenceNumber value="2"/>
                                          <requirement>
                                             <code code="C135015" displayName="Prescribe Limited Quantity" codeSystem="2.16.840.1.113883.3.26.1.1">
                                                <originalText>
                                                   <reference value="#R004"/>
                                                </originalText>
                                             </code>
                                             <participation typeCode="PPRF">
                                                <stakeholder>
                                                   <code code="C128538" displayName="Medication Prescriber" codeSystem="2.16.840.1.113883.3.26.1.1"/>
                                                </stakeholder>
                                             </participation>
                                             <subject>
                                                <documentReference>
                                                   <id root="00000000-0000-0000-0000-000000000001"/>
                                                </documentReference>
                                             </subject>
                                          </requirement>
                                       </component>
                                       <component>
                                          <sequenceNumber value="2"/>
                                          <requirement>
                                             <code code="C128507" displayName="Assess Patient Condition or Health Status " codeSystem="2.16.840.1.113883.3.26.1.1">
                                                <originalText>
                                                   <reference value="#R005"/>
                                                </originalText>
                                             </code>
                                             <participation typeCode="PPRF">
                                                <stakeholder>
                                                   <code code="C128538" displayName="Medication Prescriber" codeSystem="2.16.840.1.113883.3.26.1.1"/>
                                                </stakeholder>
                                             </participation>
                                             <subject>
                                                <documentReference>
                                                   <id root="00000000-0000-0000-0000-000000000001"/>
                                                </documentReference>
                                             </subject>
                                          </requirement>
                                       </component>
                                       <component>
                                          <sequenceNumber value="2"/>
                                          <requirement>
                                             <code code="C128508" displayName="Complete Patient Form" codeSystem="2.16.840.1.113883.3.26.1.1">
                                                <originalText>
                                                   <reference value="#R006"/>
                                                </originalText>
                                             </code>
                                             <participation typeCode="PPRF">
                                                <stakeholder>
                                                   <code code="C128538" displayName="Medication Prescriber" codeSystem="2.16.840.1.113883.3.26.1.1"/>
                                                </stakeholder>
                                             </participation>
                                             <subject>
                                                <documentReference>
                                                   <id root="00000000-0000-0000-0000-000000000006"/>
                                                </documentReference>
                                             </subject>
                                          </requirement>
                                       </component>
                                    </protocol>
                                 </componentOf>
                                 <subjectOf>
                                    <approval>
                                       <code code="C128899" codeSystem="2.16.840.1.113883.3.26.1.1" displayName="REMS Approval"/>
                                       <effectiveTime>
                                          <low value="20100830"/>
                                       </effectiveTime>
                                       <author>
                                          <territorialAuthority>
                                             <territory>
                                                <code code="USA" codeSystem="2.16.840.1.113883.5.28"/>
                                             </territory>
                                          </territorialAuthority>
                                       </author>
                                    </approval>
                                 </subjectOf>
                              </substanceAdministration>
                           </subject2>
                        </section>
                     </component>
                     <component>
                        <section ID="s10">
                           <id root="237710bd-3acb-423c-a571-f7fe286998d4"/>
                           <code code="42229-5" codeSystem="2.16.840.1.113883.6.1" displayName="SPL UNCLASSIFIED SECTION"/>
                           <title>2. Patients who are prescribed Suboxone/Subutex :</title>
                           <text>
                              <table width="100%">
                                 <caption/>
                                 <tbody>
                                    <tr>
                                       <td styleCode="Botrule">Before the first prescription</td>
                                       <td styleCode="Botrule">
                                          <content ID="R007">1.	Receive counseling from the prescriber on the risks and safe storage of the medication.</content>
                                       </td>
                                    </tr>
                                    <tr>
                                       <td styleCode="Botrule">During treatment; at a time interval determined by your prescriber</td>
                                       <td styleCode="Botrule">
                                          <content ID="R008">2.	Be monitored for compliance with the prescribed medication, appropriateness of the dosage prescribed, assessment of whether receiving the necessary psychosocial support, and whether making adequate progress towards treatment goals.</content>
                                       </td>
                                    </tr>
                                 </tbody>
                              </table>
                           </text>
                           <effectiveTime value="20170601"/>
                           <subject2>
                              <substanceAdministration>
                                 <componentOf>
                                    <sequenceNumber value="2"/>
                                    <protocol>
                                       <code code="C128530" codeSystem="2.16.840.1.113883.3.26.1.1" displayName="Pharmacotherapy Initiation"/>
                                       <component>
                                          <sequenceNumber value="1"/>
                                          <requirement>
                                             <code code="C128524" displayName="Receive Counseling" codeSystem="2.16.840.1.113883.3.26.1.1">
                                                <originalText>
                                                   <reference value="#R007"/>
                                                </originalText>
                                             </code>
                                             <participation typeCode="PPRF">
                                                <stakeholder>
                                                   <code code="C128541" displayName="Medication-Taking Patient" codeSystem="2.16.840.1.113883.3.26.1.1"/>
                                                </stakeholder>
                                             </participation>
                                             <subject>
                                                <documentReference>
                                                   <id root="00000000-0000-0000-0000-000000000001"/>
                                                </documentReference>
                                             </subject>
                                          </requirement>
                                       </component>
                                       <component>
                                          <sequenceNumber value="2"/>
                                          <requirement>
                                             <code code="C128523" displayName="Get Lab Test or Monitoring" codeSystem="2.16.840.1.113883.3.26.1.1">
                                                <originalText>
                                                   <reference value="#R008"/>
                                                </originalText>
                                             </code>
                                             <participation typeCode="PPRF">
                                                <stakeholder>
                                                   <code code="C128541" displayName="Medication-Taking Patient" codeSystem="2.16.840.1.113883.3.26.1.1"/>
                                                </stakeholder>
                                             </participation>
                                             <subject>
                                                <documentReference>
                                                   <id root="00000000-0000-0000-0000-000000000006"/>
                                                </documentReference>
                                             </subject>
                                          </requirement>
                                       </component>
                                    </protocol>
                                 </componentOf>
                              </substanceAdministration>
                           </subject2>
                        </section>
                     </component>
                  </section>
               </component>
               <component>
                  <section ID="s11">
                     <id root="e196599f-f685-4afb-958f-14c36c8266b3"/>
                     <code code="82346-8" codeSystem="2.16.840.1.113883.6.1" displayName="REMS Material"/>
                     <title>REMS Materials</title>
                     <text>
                        <paragraph>The following materials are part of the SUBOXONE/SUBUTEX REMS Program and are appended:</paragraph>
                        <list listType="unordered" styleCode="Disc">
                           <item>
                              <content ID="T001">Prescriber Instruction Letter</content>
                           </item>
                           <item>
                              <content ID="T002">Physician Brochure</content>
                           </item>
                           <item>
                              <content ID="T003">Pharmacist Brochure</content>
                           </item>
                           <item>
                              <content ID="T004">Introductory Pharmacist Letter</content>
                           </item>
                           <item>
                              <content ID="T006">Appropriate Use Checklist</content>
                           </item>
                        </list>
                     </text>
                     <effectiveTime value="20170601"/>
                     <subject>
                        <manufacturedProduct>
                           <manufacturedProduct/>
                           <subjectOf>
                              <document>
                                 <id root="00000000-0000-0000-0000-000000000001"/>
                                 <title>Prescriber Instruction Letter<reference value="#T001"/>
                                 </title>
                                 <text>
                                    <reference value="suboxone-subutex-2016-07-07-dear-prescriber-letter.pdf"/>
                                 </text>
                              </document>
                           </subjectOf>
                           <subjectOf>
                              <document>
                                 <id root="00000000-0000-0000-0000-000000000002"/>
                                 <title>Physician Brochure<reference value="#T002"/>
                                 </title>
                                 <text>
                                    <reference value="suboxone-subutex-2016-07-07-prescriber-brochure-office-based.pdf"/>
                                 </text>
                              </document>
                           </subjectOf>
                           <subjectOf>
                              <document>
                                 <id root="00000000-0000-0000-0000-000000000003"/>
                                 <title>Pharmacist Brochure<reference value="#T003"/>
                                 </title>
                                 <text>
                                    <reference value="suboxone-subutex-2016-07-07-pharmacist-brochure-office-based.pdf"/>
                                 </text>
                              </document>
                           </subjectOf>
                           <subjectOf>
                              <document>
                                 <id root="00000000-0000-0000-0000-000000000004"/>
                                 <title>Introductory Pharmacist Letter<reference value="#T004"/>
                                 </title>
                                 <text>
                                    <reference value="suboxone-subutex-2016-07-07-dear-pharmacist-letter.pdf"/>
                                 </text>
                              </document>
                           </subjectOf>
                           <subjectOf>
                              <document>
                                 <id root="00000000-0000-0000-0000-000000000006"/>
                                 <title>Appropriate Use Checklist <reference value="#T006"/>
                                 </title>
                                 <text>
                                    <reference value="suboxone-subutex-2016-07-07-appropriate-use-checklist.pdf"/>
                                 </text>
                              </document>
                           </subjectOf>
                        </manufacturedProduct>
                     </subject>
                  </section>
               </component>
            </section>
         </component>
      </structuredBody>
   </component>
</document>
Substance
<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="http://www.accessdata.fda.gov/spl/stylesheet/spl.xsl" type="text/xsl"?>
<document xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:hl7-org:v3 http://www.accessdata.fda.gov/spl/schema/spl.xsd">
   <id root="9fa860f8-41a8-caa8-93ae-a5bdc7b15db7"/>
   <code code="73815-3" codeSystem="2.16.840.1.113883.6.1" displayName="Indexing - Product Concept"/>
   <effectiveTime value="20140508"/>
   <setId root="9fa860f8-41a8-caa8-93ae-a5bdc7b15db7"/>
   <versionNumber value="1"/>
   <author>
      <assignedEntity>
         <representedOrganization>
            <id root="1.3.6.1.4.1.519.1" extension="927645523"/>
            <name>Food and Drug Administration</name>
         </representedOrganization>
      </assignedEntity>
   </author>
   <relatedDocument typeCode="DRIV">
      <relatedDocument>
         <setId root="f85a48d0-0407-4c50-b0fa-7673a160bf01"/>
      </relatedDocument>
   </relatedDocument>
   <component>
      <structuredBody>
         <component>
            <section>
               <id root="0861a18f-5349-74cb-7391-166bcf80ba0a"/>
               <code code="48779-3" codeSystem="2.16.840.1.113883.6.1" displayName="SPL Indexing Data Elements Section"/>
               <title/>
               <text/>
               <effectiveTime value="20140508"/>
               <subject>
                  <manufacturedProduct>
                     <manufacturedProduct>
                        <code code="1da0e3be-f3ef-e8ce-051e-577cab85c680" codeSystem="2.16.840.1.113883.3.3389"/>
                        <formCode code="C42998" displayName="TABLET" codeSystem="2.16.840.1.113883.3.26.1.1"/>
                        <ingredient classCode="ACTIM">
                           <quantity>
                              <numerator value="100" unit="mg"/>
                              <denominator value="1" unit="1"/>
                           </quantity>
                           <ingredientSubstance>
                              <code code="TS63EW8X6F" codeSystem="2.16.840.1.113883.4.9"/>
                              <name>SITAGLIPTIN PHOSPHATE</name>
                              <activeMoiety>
                                 <activeMoiety>
                                    <code code="QFP0P1DV7Z" codeSystem="2.16.840.1.113883.4.9"/>
                                    <name>SITAGLIPTIN</name>
                                 </activeMoiety>
                              </activeMoiety>
                           </ingredientSubstance>
                        </ingredient>
                     </manufacturedProduct>
                  </manufacturedProduct>
               </subject>
               <subject>
                  <manufacturedProduct>
                     <manufacturedProduct>
                        <code code="1ed488fa-287b-d266-5f93-0ea30a8243a2" codeSystem="2.16.840.1.113883.3.3389"/>
                        <asEquivalentEntity classCode="EQUIV">
                           <code code="N" codeSystem="2.16.840.1.113883.3.2964"/>
                           <definingMaterialKind>
                              <code code="1da0e3be-f3ef-e8ce-051e-577cab85c680" codeSystem="2.16.840.1.113883.3.3389"/>
                           </definingMaterialKind>
                        </asEquivalentEntity>
                     </manufacturedProduct>
                     <subjectOf>
                        <approval>
                           <id extension="NDA021995" root="2.16.840.1.113883.3.150"/>
                           <code code="C73594" displayName="NDA" codeSystem="2.16.840.1.113883.3.26.1.1"/>
                           <author>
                              <territorialAuthority>
                                 <territory>
                                    <code code="USA" codeSystem="2.16.840.1.113883.5.28"/>
                                 </territory>
                              </territorialAuthority>
                           </author>
                        </approval>
                     </subjectOf>
                  </manufacturedProduct>
               </subject>
               <subject>
                  <manufacturedProduct>
                     <manufacturedProduct>
                        <code code="26ff79cc-5894-0dc8-2c3f-1dd6548c0745" codeSystem="2.16.840.1.113883.3.3389"/>
                        <formCode code="C42998" displayName="TABLET" codeSystem="2.16.840.1.113883.3.26.1.1"/>
                        <ingredient classCode="ACTIM">
                           <quantity>
                              <numerator value="25" unit="mg"/>
                              <denominator value="1" unit="1"/>
                           </quantity>
                           <ingredientSubstance>
                              <code code="TS63EW8X6F" codeSystem="2.16.840.1.113883.4.9"/>
                              <name>SITAGLIPTIN PHOSPHATE</name>
                              <activeMoiety>
                                 <activeMoiety>
                                    <code code="QFP0P1DV7Z" codeSystem="2.16.840.1.113883.4.9"/>
                                    <name>SITAGLIPTIN</name>
                                 </activeMoiety>
                              </activeMoiety>
                           </ingredientSubstance>
                        </ingredient>
                     </manufacturedProduct>
                  </manufacturedProduct>
               </subject>
               <subject>
                  <manufacturedProduct>
                     <manufacturedProduct>
                        <code code="957a41e5-8c50-198a-349a-6ccf06b796b7" codeSystem="2.16.840.1.113883.3.3389"/>
                        <asEquivalentEntity classCode="EQUIV">
                           <code code="N" codeSystem="2.16.840.1.113883.3.2964"/>
                           <definingMaterialKind>
                              <code code="26ff79cc-5894-0dc8-2c3f-1dd6548c0745" codeSystem="2.16.840.1.113883.3.3389"/>
                           </definingMaterialKind>
                        </asEquivalentEntity>
                     </manufacturedProduct>
                     <subjectOf>
                        <approval>
                           <id extension="NDA021995" root="2.16.840.1.113883.3.150"/>
                           <code code="C73594" displayName="NDA" codeSystem="2.16.840.1.113883.3.26.1.1"/>
                           <author>
                              <territorialAuthority>
                                 <territory>
                                    <code code="USA" codeSystem="2.16.840.1.113883.5.28"/>
                                 </territory>
                              </territorialAuthority>
                           </author>
                        </approval>
                     </subjectOf>
                  </manufacturedProduct>
               </subject>
               <subject>
                  <manufacturedProduct>
                     <manufacturedProduct>
                        <code code="3cc9c17e-a000-e242-72c0-73d511fcf2c4" codeSystem="2.16.840.1.113883.3.3389"/>
                        <formCode code="C42998" displayName="TABLET" codeSystem="2.16.840.1.113883.3.26.1.1"/>
                        <ingredient classCode="ACTIM">
                           <quantity>
                              <numerator value="50" unit="mg"/>
                              <denominator value="1" unit="1"/>
                           </quantity>
                           <ingredientSubstance>
                              <code code="TS63EW8X6F" codeSystem="2.16.840.1.113883.4.9"/>
                              <name>SITAGLIPTIN PHOSPHATE</name>
                              <activeMoiety>
                                 <activeMoiety>
                                    <code code="QFP0P1DV7Z" codeSystem="2.16.840.1.113883.4.9"/>
                                    <name>SITAGLIPTIN</name>
                                 </activeMoiety>
                              </activeMoiety>
                           </ingredientSubstance>
                        </ingredient>
                     </manufacturedProduct>
                  </manufacturedProduct>
               </subject>
               <subject>
                  <manufacturedProduct>
                     <manufacturedProduct>
                        <code code="2d2232df-867e-7fbf-7183-fead6d91e242" codeSystem="2.16.840.1.113883.3.3389"/>
                        <asEquivalentEntity classCode="EQUIV">
                           <code code="N" codeSystem="2.16.840.1.113883.3.2964"/>
                           <definingMaterialKind>
                              <code code="3cc9c17e-a000-e242-72c0-73d511fcf2c4" codeSystem="2.16.840.1.113883.3.3389"/>
                           </definingMaterialKind>
                        </asEquivalentEntity>
                     </manufacturedProduct>
                     <subjectOf>
                        <approval>
                           <id extension="NDA021995" root="2.16.840.1.113883.3.150"/>
                           <code code="C73594" displayName="NDA" codeSystem="2.16.840.1.113883.3.26.1.1"/>
                           <author>
                              <territorialAuthority>
                                 <territory>
                                    <code code="USA" codeSystem="2.16.840.1.113883.5.28"/>
                                 </territory>
                              </territorialAuthority>
                           </author>
                        </approval>
                     </subjectOf>
                  </manufacturedProduct>
               </subject>
            </section>
         </component>
      </structuredBody>
   </component>
</document>
  • Warning letter alert

Additional Information

https://dailymed.nlm.nih.gov/dailymed/spl-resources-all-indexing-files.cfm

Create main NDC staging table (or view?)

Problem Statement

One giant table that contains all NDCs in SageRx.

Criteria for Success

LEFT JOINing any data source that has NDCs with this table will never return NULL. Also, perhaps there are columns that have flags for where that NDC is available - i.e. RxNorm, FDA, CMS, etc.

Additional Information

Might be easier as a view because otherwise would have to update it with every DAG run that contains NDCs.

Filename assignement

Problem Statement

The current filename assignment method uses the url...this can lead to issues with complex urls

Criteria for Success

Implement additional methods for assigning filename to downloaded dataset

Additional Information

Extract filename from request response

Medicaid rebate files

Proposal

Download Medicaid Rebate files

Rationale

Shows Medicaid coverage of drugs. The Coverage indicator is a helpful tool to determine drug coverage in the US

DS Dict

Problem Statement

The DS (data source) dictionary is starting to get large. We had discussed moving this into the data source folders themselves. Not sure we want to do this at the moment but wanted to start a discussion.

Questions:

  • What data structure should we move to? (json or yaml)
  • Do we want to keep all the sources that use the dynamic dag together, 1 file vs multiple files each in their own ds folder?

Criteria for Success

Move the large dictionary out of the dynamic dag. We need to pay close attention to what the dependencies are for each DS. Kent i think you already thought about this to some degree with name spacing the user defined macros

Additional Information

  • Yaml
  • caveat with yaml is we ill have to install an additional dependency

DAG failures messages/alerts

Problem Statement

DAGs fail due to changes in public data source structure or URLs. Need a notification system to help alert us so we can resolve them quickly.

Criteria for Success

Alert works for a failed DAG

Additional Information

web hooks to sagerx slack
Or set up email functionality of airflow

CMS Dataset updates

Problem Statement

Some CMS datasets use quarter month name in url these currently will only run if during the first month of each quarter. We need to add a user defined macro to allow running anytime during a quarter

Criteria for Success

Successful running of CMS datasets in a non-quarter start month

Additional Information

Building a separate function to build urls or requiring the correct run dates of these data sets in airflow

Add NDC11 to FDA staging table

Problem Statement

FDA stupidly doesn't store data in NDC11 format. Let's fix that.

Criteria for Success

Can JOIN FDA with RxNorm using NDC.

Additional Information

Use Kent's NDC functions.

LOINC

Proposal

Download Loinc

Rationale

LOINC codes are the codes used in dailymed. Downloading loinc will allow us to merge code names with codes in Sagerx

RxNorm historical NDCs

Proposal

Per advice from colleague, RxNorm does not store historical NDCs in any downloadable file format - even the UMLS licensed content. We should verify this.

This information IS available via RxNorm's API. We could periodically hit the API to pull down all historical NDCs and store in a table.
https://lhncbc.nlm.nih.gov/RxNav/APIs/api-RxNorm.getAllHistoricalNDCs.html

Considerations should be taken for changing RxNorm data over time and changing NDCs over time. I noticed this API endpoint, which might also have similar content in the downloadable files. Not sure, and not a requirement for this issue.
https://lhncbc.nlm.nih.gov/RxNav/APIs/api-RxNorm.getRxcuiHistoryStatus.html

Rationale

This information is critical to researchers looking for historical NDC information for meds that aren't currently on the market.

Split FDA strengths into their own rows

Problem Statement

FDA has better human-understandable strengths than RxNorm at an NDC level.

example:
FDA infant's ibuprofen = 50 mg / 1.25 mL
RxNorm for same thing = 40 mg / 1 mL

Criteria for Success

Split the 3 columns below by semicolon and put them in their own table(s) that can link back to the original NDC product/package. Ideally, it would be one table with a column for product_id, substance_name, strength_numerator, strength_denominator - as opposed to like 3 separate tables for all that info. But not sure what is technically possible with unnest.

image

Additional Information

Should be similar to the fda_class work.

RxNorm Prescribable DAG still showing up

Problem Statement

RxNorm Prescribable DAG still showing up

Criteria for Success

rxnorm does not show up in the Airflow DAG list.

Additional Information

Remove the rxnorm node from the dynamic dag file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.