-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Production Clinical View #110
Comments
Hi @Brian-Asahi. The docs say that dataset_type can be regular or raw, not environment:
so to pull from production environment (assuming its called "PROD" then):
That said, it's been a while since I have used this. When you talk about "production clinical views", there is an option in the core configuration (as I recall) to create separate Clinical Views for Production. If I recall correctly this just means that the definition of the clinical view (what columns it contains) is created only from Versions in production. Since there is a 144 column limit on Clinical Views this can be important (e.g. if you have a TEST environment for the same study and you've been adding a lot of columns that aren't in production you don't want your production data truncated just because it shares a clinical view definition with TEST). But having a separate "production clinical view" should not change how you access the CV data - you just give it the PROD environment name rather than the TEST or DEV or AUX and it works out which CV it should pull from. |
Hi @iansparks, Thank you so much for the explanation, and for this incredibly useful library! Apologies for conflating environment_name and dataset_type. I am indeed able to pull data from the 'PROD' environment and the 'raw/regular' dataset types, no problem. However the issue appears to be apart from these selections, and probably has more to do with what you are discussing in terms of core configurations on the database programming side. In interacting with our database programmers, they have provided me the following background from medidata:
In my specific case, it appears that a field that is available in production has been dropped in a development version of a form, which has been published in the Dev environment. For that reason, the field is available to me only in Production Views and not in Regular Views. I have confirmed this by pulling the form via data listing using the two different View types from the front end. I couldn't find anything in the docs regarding these options for the data request. If you have any ideas it would be incredibly helpful, but it sounds like it may be a database configuration issue? Thanks again! |
Well, don't quote me @Brian-Asahi but what I believe happens is that if separate production views are set up for the Clinical Views (a global setting) then when you ask for data from "PROD" it comes from the production clinical views. Data from any other environment, AUX, TEST, DEV etc comes from the other versions. Here's that setting in an example URL. You can see in this instance it IS checked (build separate production views): (Earlier version of this comment I said was not checked, I can see clearly it is, facepalm.) I believe once you have separate production views, that's it, you can only get the production version of the views for PROD and you can't ask for PROD data in the context of the other views, it's no longer even (I think) available in those views. If you want to access that field (which presumably doesn't have any data in any other TEST, AUX, DEV environment) in the views other than PROD you will need someone to publish a version containing that field to one of these environments - it should then at least turn up in the columns (might have to force regeneration of clinical views to make this happen). But I am a bit confused as to why you want access to a column that only exists in non-PROD views? It's not being collected by the study so what is the value? (That's your business but just trying to understand the full scenario) |
Hi @iansparks, Thanks for the quick response! I think all of this context is coloring in my lack of understanding on the Database configuration side, so thank you. Sorry for the confusion, but I think you are thinking I want the inverse of what I actually want: The field that I am interested in pulling exists only in the PROD environment. It was deleted in some other environment (say DEV) by the database programmer. Because that form version with the field removed was published in DEV, it is missing from the Regular View. (According to my understanding, Regular Clinical Views only contain fields that exist in the latest published version of the form for the project, for all environments). Therefore the only way to get the field would be to pull the Production Clinical View. What I know for sure is that pulling from the 'PROD' environment and either dataset_type using FormDataRequest from biostats_gateway, I am pulling the equivalent of the Regular Clinical View and not the Production Clinical View. I confirmed this by comparing the datasets with data listings pulled from each clinical view on the front end, through the data listings tool. If you can't imagine why this would be the case from the point of view of this library, I suspect it must be on the database configuration side? It sounds like, ultimately, the FormDataRequest should only be pulling the Production Clinical View when the environment specified 'Prod'. |
Hi @Brian-Asahi, it could be the programming of the RWS endpoint itself. The learn.mdol.com page website doesn't make it any clearer than the rwslib docs and don't mention PROD vs Regular clinical views. They do have a tantalizing hint which may or may not help us: They say these URLs are deprecated. GET https://{host}/RaveWebServices/datasets/{clinical view name}.csv Deprecated but not removed? We need to know the clinical view names. Lets find out:
should give you a listing of clinical view names and their structure like this. One row per field in each view. We should see there are some views prefixed with "prod." these are the prod only views. If there aren't any then maybe not separate prod views?
So we know the view names. Not sure if we can get the data from them. We need a request formatted in that deprecated format: GET https://{host}/RaveWebServices/datasets/prod.{clinical view name}.csv
I got output like:
So looks like to me that access to these prod. views is deprecated but not removed? Maybe it helps you - you might find that they changed the implementation and you're still getting the same data. I wasn't able to set things up so that I was sure that I had different fields/columns in Dev and Prod environments and I only had access to Prod data not test environments so I couldn't see a mix of data. Maybe the listing of the views and their columns helps you to prove that the prod views do or do not exist and what their columns are? |
Hi @iansparks, Aha, wonderful! Indeed the deprecated "prod." views were still available for my study, and the custom request for the deprecated format was successful. I was able to pull what appears to be knows as the Production Clinical View, I confirmed that the previously missing fields are now included in the new dataset pulled using the above request format. Thanks again for your quick and knowledgeable assistance with this issue! This library has greatly increased the efficiency and effectiveness of a lot of our processes, I can't thank you enough! |
Is it somehow possible to pull 'Production Clinical Views' when using biostats_gateway FormDataRequest?
FormDataRequest(project_name, environment_name, dataset_type, form_oid)
environment_name is limited to 'regular' and 'raw', so from my understanding this pulls 'Clinical Views' and 'Clinical Views Raw'. I would like to pull 'Production Clinical Views'. Is this possible?
The text was updated successfully, but these errors were encountered: